From d14703b8c5b570766ce8286baff6ad96ab94ca56 Mon Sep 17 00:00:00 2001 From: AuroraHuang22 Date: Sat, 19 Jun 2021 11:54:23 +0800 Subject: [PATCH 1/3] Refactor Entrance & Landing page --- .firebase/hosting.YnVpbGQ.cache | 1242 +++++++++++++---- package.json | 3 +- src/App.js | 7 +- src/App.test.js | 1 + ...\210\227\350\273\212\347\253\231-02 2.svg" | 1 - ...\233\206\344\271\263\345\256\244-02 2.svg" | 1 - .../Labels/\345\225\206\345\272\227-02 2.svg" | 1 - ...\244\220\346\234\215\345\213\231-02 2.svg" | 1 - ...\244\205\347\247\237\347\224\250-02 2.svg" | 1 - ...\257\204\347\211\251\346\253\203-02 2.svg" | 1 - .../Labels/\345\273\201\346\211\200-02 2.svg" | 1 - ...\234\215\345\213\231\345\217\260-02 2.svg" | 1 - ...\217\220\346\254\276\346\251\237-02 2.svg" | 1 - .../Labels/\346\266\274\344\272\255-02 2.svg" | 1 - ...\255\267\347\220\206\347\253\231-02 2.svg" | 1 - ...\262\251\350\263\243\346\251\237-02 2.svg" | 1 - ...\213\231\344\270\255\345\277\203-02 2.svg" | 1 - ...\243\262\346\260\264\346\251\237-02 2.svg" | 1 - .../Labels/\351\244\220\351\243\262-02 2.svg" | 1 - src/Icons/buyton-07 2.svg | 1 - src/Icons/stamp-02 2.svg | 1 - src/Pages/All/AllAniamls/DetailsPopup.js | 224 --- .../{ => Informance}/EnteranceFee.js | 0 .../Information/{ => Informance}/Index.js | 4 +- .../{ => Informance}/Informance.js | 4 +- .../Information/{ => Informance}/Notice.js | 1 + .../Information/{ => Informance}/Open.js | 0 .../{ => Informance}/RentalService.js | 0 .../Information/{ => Informance}/Traffic.js | 1 - .../Information/Traffic/ParkingStatus.js | 87 ++ .../Information/Traffic/ParkingStatusPopup.js | 81 ++ .../Entrance/Information/Traffic/index.js | 130 ++ .../Entrance/Information/Traffic/style.js | 124 ++ src/Pages/Entrance/Traffic.js | 416 ------ src/Pages/Entrance/index.js | 6 +- src/Pages/Landing/index.js | 24 +- src/Pages/Map/Animal/AnimalsData.js | 214 ++- src/Pages/Map/Animal/FacilitySelector.js | 9 +- src/Pages/Map/Animal/Select.js | 196 +++ src/Pages/Map/Animal/index.js | 1 - src/Pages/Map/MapComponent/MapInformation.js | 6 +- .../MapComponent/Markers/AnimalsPosition.js | 13 +- .../MapComponent/Markers/FacilitiesMarkers.js | 12 +- .../MapComponent/Markers/PavilionsMarker.js | 8 +- src/Pages/Map/MapComponent/RouteMaching.js | 17 +- src/Pages/Map/MapComponent/index.js | 37 +- src/Pages/Map/index.js | 3 +- src/Pages/Member/Explore/Visited.js | 3 +- src/Pages/Member/Explore/index.js | 79 +- src/Pages/Member/MemberInfo/index.js | 8 +- src/Pages/Member/Saved/index.js | 5 +- src/Pages/Member/index.js | 13 +- .../AllAniamls/Carousel.js | 20 +- .../ShowAllAnimals/AllAniamls/ClickBar.js | 148 ++ .../ShowAllAnimals/AllAniamls/DetailsPopup.js | 95 ++ .../AllAniamls/Filter.js | 49 +- .../AllAniamls/Popup-style.js | 0 .../AllAniamls/RenderAnimals.js | 31 +- .../AllAniamls/index.js | 14 +- src/Pages/{All => ShowAllAnimals}/index.js | 1 - src/Redux/Action/index.js | 29 +- src/Redux/Reducer/filterAnimals.js | 7 - src/Utils/FilterAnimals.js | 37 + src/Utils/Header-sm.js | 10 +- src/Utils/Header.js | 9 +- src/Utils/animals.json | 484 +++---- src/Utils/firebase.js | 2 +- src/Utils/toast.js | 17 +- 68 files changed, 2331 insertions(+), 1618 deletions(-) create mode 100644 src/App.test.js delete mode 100755 "src/Icons/Labels/\345\210\227\350\273\212\347\253\231-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\223\272\351\233\206\344\271\263\345\256\244-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\225\206\345\272\227-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\234\230\351\244\220\346\234\215\345\213\231-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\250\203\345\250\203\350\273\212\357\274\217\350\274\252\346\244\205\347\247\237\347\224\250-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\257\204\347\211\251\346\253\203-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\273\201\346\211\200-02 2.svg" delete mode 100755 "src/Icons/Labels/\345\277\227\345\267\245\346\234\215\345\213\231\345\217\260-02 2.svg" delete mode 100755 "src/Icons/Labels/\346\217\220\346\254\276\346\251\237-02 2.svg" delete mode 100755 "src/Icons/Labels/\346\266\274\344\272\255-02 2.svg" delete mode 100755 "src/Icons/Labels/\350\255\267\347\220\206\347\253\231-02 2.svg" delete mode 100755 "src/Icons/Labels/\350\262\251\350\263\243\346\251\237-02 2.svg" delete mode 100755 "src/Icons/Labels/\351\201\212\345\256\242\346\234\215\345\213\231\344\270\255\345\277\203-02 2.svg" delete mode 100755 "src/Icons/Labels/\351\243\262\346\260\264\346\251\237-02 2.svg" delete mode 100755 "src/Icons/Labels/\351\244\220\351\243\262-02 2.svg" delete mode 100755 src/Icons/buyton-07 2.svg delete mode 100644 src/Icons/stamp-02 2.svg delete mode 100644 src/Pages/All/AllAniamls/DetailsPopup.js rename src/Pages/Entrance/Information/{ => Informance}/EnteranceFee.js (100%) rename src/Pages/Entrance/Information/{ => Informance}/Index.js (98%) rename src/Pages/Entrance/Information/{ => Informance}/Informance.js (98%) rename src/Pages/Entrance/Information/{ => Informance}/Notice.js (99%) rename src/Pages/Entrance/Information/{ => Informance}/Open.js (100%) rename src/Pages/Entrance/Information/{ => Informance}/RentalService.js (100%) rename src/Pages/Entrance/Information/{ => Informance}/Traffic.js (99%) create mode 100644 src/Pages/Entrance/Information/Traffic/ParkingStatus.js create mode 100644 src/Pages/Entrance/Information/Traffic/ParkingStatusPopup.js create mode 100644 src/Pages/Entrance/Information/Traffic/index.js create mode 100644 src/Pages/Entrance/Information/Traffic/style.js delete mode 100644 src/Pages/Entrance/Traffic.js create mode 100644 src/Pages/Map/Animal/Select.js rename src/Pages/{All => ShowAllAnimals}/AllAniamls/Carousel.js (93%) create mode 100644 src/Pages/ShowAllAnimals/AllAniamls/ClickBar.js create mode 100644 src/Pages/ShowAllAnimals/AllAniamls/DetailsPopup.js rename src/Pages/{All => ShowAllAnimals}/AllAniamls/Filter.js (88%) rename src/Pages/{All => ShowAllAnimals}/AllAniamls/Popup-style.js (100%) rename src/Pages/{All => ShowAllAnimals}/AllAniamls/RenderAnimals.js (88%) rename src/Pages/{All => ShowAllAnimals}/AllAniamls/index.js (50%) rename src/Pages/{All => ShowAllAnimals}/index.js (90%) create mode 100644 src/Utils/FilterAnimals.js diff --git a/.firebase/hosting.YnVpbGQ.cache b/.firebase/hosting.YnVpbGQ.cache index 16e739d..6933e6e 100644 --- a/.firebase/hosting.YnVpbGQ.cache +++ b/.firebase/hosting.YnVpbGQ.cache @@ -1,302 +1,940 @@ -index.html,1623122812369,32c2ce44f594be0dac4664c77568da501d85ec715628f72ac8567c2173d4dc92 -favicon.ico,1623122789062,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955 -asset-manifest.json,1623122812369,ca7ae0f35605ac1d7d822cbfb57ab3195b78ac09c478710daddc3ae7b2d5432d -logo192.png,1623122789063,caff018b7f1e8fd481eb1c50d75b0ef236bcd5078b1d15c8bb348453fee30293 -manifest.json,1623122789063,d7e352dee178ad0fcd977b570657ff4be71cf1efb57a20a098064bba6f0bacd8 -logo512.png,1623122789063,191fc21360b4ccfb1cda11a1efb97f489ed22672ca83f4064316802bbfdd750e -robots.txt,1623122789064,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2 -Icons/buyton-04 2.svg,1623122788996,548143b6a721ebdb5154eb534b51f92f0127c00fc69e92668883f8ae48b4dbd4 -Icons/buyton-05 2.svg,1623122788997,d6b46978424a4ac4346fcfc615075d625b3e11827da7c40f0a7e2bc95b6a4922 -Icons/buyton-04.svg,1623122788996,548143b6a721ebdb5154eb534b51f92f0127c00fc69e92668883f8ae48b4dbd4 -Icons/buyton-05.svg,1623122788997,d6b46978424a4ac4346fcfc615075d625b3e11827da7c40f0a7e2bc95b6a4922 -logo.svg,1623122789063,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 -Icons/buyton-06 2.svg,1623122788997,4df37e099728ba2e4c62cc7b03233f7fd5fb6253495d64d02549a0aac9a4c25f -logo 2.svg,1623122789063,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 -Icons/buyton-06.svg,1623122788997,4df37e099728ba2e4c62cc7b03233f7fd5fb6253495d64d02549a0aac9a4c25f -Icons/buyton-07.svg,1623122788998,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a -Icons/diet-14 2.svg,1623122788998,53c7fd69ae38eacfb0504478d75c0b2d7515a1ffd654233891fe88063be76e45 -Icons/buyton-07 2.svg,1623122788998,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a -Icons/diet-14.svg,1623122788999,53c7fd69ae38eacfb0504478d75c0b2d7515a1ffd654233891fe88063be76e45 -Icons/funfact-14.svg,1623122788999,6f92b706b7d98d8176e9629b0020a449c925ba75d41467b5d1e337283c8d8a5b -Icons/like-02 2.svg,1623122789010,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 -Icons/feature-14.svg,1623122788999,3d0d4133abf57e7e5c57a7f37acc4125136fe322340bfbb59c0bd92efeda0e5f -Icons/feature-14 2.svg,1623122788999,3d0d4133abf57e7e5c57a7f37acc4125136fe322340bfbb59c0bd92efeda0e5f -Icons/like-03 2.svg,1623122789010,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 -Icons/like-03.svg,1623122789010,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 -stamp-02.svg,1623122789064,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 -Icons/funfact-14 2.svg,1623122788999,6f92b706b7d98d8176e9629b0020a449c925ba75d41467b5d1e337283c8d8a5b -Icons/popup 2.svg,1623122789011,6734ad6e29b65cb145ea2a853bd433be51841942623cee723e3a6c10f8bc7cdf -Icons/popup-02.svg,1623122789012,c61a455c1a658ddec56ef2db9a2ff0282c46df5bfe346010b5100b982f034cd3 -Icons/habitat-14.svg,1623122789000,44d83cae98a5d2cf9eb7d525e70cf395946dcf4291d9858c5af8bbfad10b98bf -Icons/like-02.svg,1623122789010,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 -Icons/popup-02 2.svg,1623122789011,c61a455c1a658ddec56ef2db9a2ff0282c46df5bfe346010b5100b982f034cd3 -Icons/habitat-14 2.svg,1623122789000,44d83cae98a5d2cf9eb7d525e70cf395946dcf4291d9858c5af8bbfad10b98bf -Icons/popup.svg,1623122789013,6734ad6e29b65cb145ea2a853bd433be51841942623cee723e3a6c10f8bc7cdf -Icons/企鵝館-32 2.svg,1623122789013,02c8fcd3b7eb652dc985752ef4b7a1d5e44bfeb0c00aa929b154e868411e2365 -Icons/threat-14.svg,1623122789013,49a7b532f682ccaada99baf42ab429f635ad2f68fef19101504078321937dc77 -Icons/threat-14 2.svg,1623122789013,49a7b532f682ccaada99baf42ab429f635ad2f68fef19101504078321937dc77 -Icons/企鵝館-32.svg,1623122789014,02c8fcd3b7eb652dc985752ef4b7a1d5e44bfeb0c00aa929b154e868411e2365 -Icons/兒童動物區-32.svg,1623122789014,da6571eaabf20445cef8f820ce4d065a12ed59a28bce6a8d10445eb42ad7aaa9 -Icons/兩棲爬蟲動物館-32 2.svg,1623122789014,a46a31da95af12cc19c9bc7a75522071b6e6a151e0ee72398cdbfe06d79ffa12 -Icons/兩棲爬蟲動物館-32.svg,1623122789014,a46a31da95af12cc19c9bc7a75522071b6e6a151e0ee72398cdbfe06d79ffa12 -Icons/兒童動物區-32 2.svg,1623122789014,da6571eaabf20445cef8f820ce4d065a12ed59a28bce6a8d10445eb42ad7aaa9 -Icons/新光特展館(大貓熊館)-32.svg,1623122789015,47d3ff14b24e0946e26aed634427741a427606c1db92fa1b7203714537666d27 -Icons/新光特展館(大貓熊館)-32 2.svg,1623122789015,47d3ff14b24e0946e26aed634427741a427606c1db92fa1b7203714537666d27 -Icons/昆蟲館-32 2.svg,1623122789015,48b59e50af6a79c1f59e5b72d7325fc3fca07bb7377251795beb256624a4b532 -Icons/沙漠動物區-32 2.svg,1623122789015,deba06f0823265b8820fb0b91c8760ad19cffd44da56adc7a6ebb6026ada7bf5 -Icons/昆蟲館-32.svg,1623122789015,48b59e50af6a79c1f59e5b72d7325fc3fca07bb7377251795beb256624a4b532 -Icons/popup-03.svg,1623122789012,eb981b2d06f6761b7234f21b92265938eaa9e0f3868cb9559fbb8cc98be60078 -Icons/popup-03 2.svg,1623122789012,eb981b2d06f6761b7234f21b92265938eaa9e0f3868cb9559fbb8cc98be60078 -Icons/沙漠動物區-32.svg,1623122789016,deba06f0823265b8820fb0b91c8760ad19cffd44da56adc7a6ebb6026ada7bf5 -Icons/溫帶動物區-32.svg,1623122789016,fa01a4e332f363ef61220b053aa5ec71fe2f826800eb1fa171e9bc8d2ec7b9f7 -Icons/澳洲動物區-32.svg,1623122789016,a0e447c878f6c8b5dfd2e4104e97a6e935aa08bef049b5bc30287e89c3cdf249 -Icons/澳洲動物區-32 2.svg,1623122789016,a0e447c878f6c8b5dfd2e4104e97a6e935aa08bef049b5bc30287e89c3cdf249 -Icons/溫帶動物區-32 2.svg,1623122789016,fa01a4e332f363ef61220b053aa5ec71fe2f826800eb1fa171e9bc8d2ec7b9f7 -Icons/無尾熊館-32 2.svg,1623122789017,e994cf0d55a66713af4f5245c68c2f6b9d67252a5ce75b9af2cd5e6f8e738bc3 -Icons/無尾熊館-32.svg,1623122789017,e994cf0d55a66713af4f5245c68c2f6b9d67252a5ce75b9af2cd5e6f8e738bc3 -Icons/熱帶雨林區-32.svg,1623122789017,6ed24083d31695fc459083bd1ea4359a7670501788afac6b867154190ea591f3 -Icons/熱帶雨林區-32 2.svg,1623122789017,6ed24083d31695fc459083bd1ea4359a7670501788afac6b867154190ea591f3 -Icons/臺灣動物區-32 2.svg,1623122789018,643f2fe541bca3b1efb4a707c19b5a985f9f432dbefb6984459dbbda1a06115c -Icons/臺灣動物區-32.svg,1623122789018,643f2fe541bca3b1efb4a707c19b5a985f9f432dbefb6984459dbbda1a06115c -Icons/非洲動物區-32 2.svg,1623122789019,ad9603e5ad00112da2d62251817d89dc4412f514d2bd9953d30555b065472cc0 -Icons/非洲動物區-32.svg,1623122789019,ad9603e5ad00112da2d62251817d89dc4412f514d2bd9953d30555b065472cc0 -Icons/鳥園區-32.svg,1623122789019,ffb3cbff89cb48c12df13866186b9720c7944c1947a33bf084064c7957b53397 -Icons/熱帶雨林室內館(穿山甲館)-32 2.svg,1623122789018,8111c5150958deb50b011639c169fb307d9f6ee89aa5da95bb2eb39906233634 -Icons/鳥園區-32 2.svg,1623122789019,ffb3cbff89cb48c12df13866186b9720c7944c1947a33bf084064c7957b53397 -Icons/label/企鵝館-33 2.svg,1623122789001,31970c27d2b046105f415357bd171f24a4ba0c2eec293b5d0afa6370b56c960c -Icons/label/兒童動物區-33 2.svg,1623122789001,222f673e7d70e795c72e61e29721b5b47ceb9a929eb409875d565a95d1c0660b -Icons/label/兩棲爬蟲動物館-33 2.svg,1623122789002,cf1c0e9d28fad8b1efb9735f5a0247525ed8916960c694d2195a9a2699f32671 -Icons/熱帶雨林室內館(穿山甲館)-32.svg,1623122789018,8111c5150958deb50b011639c169fb307d9f6ee89aa5da95bb2eb39906233634 -Icons/label/企鵝館-33.svg,1623122789001,31970c27d2b046105f415357bd171f24a4ba0c2eec293b5d0afa6370b56c960c -Icons/label/兒童動物區-33.svg,1623122789001,222f673e7d70e795c72e61e29721b5b47ceb9a929eb409875d565a95d1c0660b -Icons/label/兩棲爬蟲動物館-33.svg,1623122789002,cf1c0e9d28fad8b1efb9735f5a0247525ed8916960c694d2195a9a2699f32671 -Icons/label/新光特展館(大貓熊館)-33 2.svg,1623122789002,44d6380057ba90edf6c336eae6ca377d833e6dd9752377ec68d040969e807af9 -Icons/label/昆蟲館-33 2.svg,1623122789003,cf7f77de205ffd62c41de9b3b6f99d7361ab4cd2f0b04c085db8a359c5bc676c -Icons/label/新光特展館(大貓熊館)-33.svg,1623122789002,44d6380057ba90edf6c336eae6ca377d833e6dd9752377ec68d040969e807af9 -Icons/label/沙漠動物區-33.svg,1623122789003,750ba40480ddc5b5281c31af56f2f9ea9fc47bda70d80f9af002aa0d21c66fe4 -Icons/label/昆蟲館-33.svg,1623122789003,cf7f77de205ffd62c41de9b3b6f99d7361ab4cd2f0b04c085db8a359c5bc676c -Icons/label/溫帶動物區-33 2.svg,1623122789004,b048ec633cbe827882a49448d8b0181043fa60fd82edbc39ce4ae3d97a63295a -Icons/label/溫帶動物區-33.svg,1623122789004,b048ec633cbe827882a49448d8b0181043fa60fd82edbc39ce4ae3d97a63295a -Icons/label/澳洲動物區-33 2.svg,1623122789006,ff174dd9addaf037f7d8625bc58d1c1817957f45c8a27c680e12c77a8eb807b0 -Icons/label/澳洲動物區-33.svg,1623122789006,ff174dd9addaf037f7d8625bc58d1c1817957f45c8a27c680e12c77a8eb807b0 -Icons/label/無尾熊館-33 2.svg,1623122789007,0158eae549e1ebeae3acaf5edc96317fb5742eac40819e29cba7a7c227b7cbfd -Icons/label/無尾熊館-33.svg,1623122789007,0158eae549e1ebeae3acaf5edc96317fb5742eac40819e29cba7a7c227b7cbfd -Icons/label/熱帶雨林區-33.svg,1623122789007,fa4d09970ac34f243b0e3f4918c5df6a681fd0996db3fbf4a68d676c5a10b5e8 -Icons/label/熱帶雨林室內館(穿山甲館)-33 2.svg,1623122789008,946e5c2d5a81c78029d58be0dc1324d535ea4d42c5cf13a9a432c8d978e28900 -Icons/label/熱帶雨林室內館(穿山甲館)-33.svg,1623122789008,946e5c2d5a81c78029d58be0dc1324d535ea4d42c5cf13a9a432c8d978e28900 -Icons/label/熱帶雨林區-33 2.svg,1623122789007,fa4d09970ac34f243b0e3f4918c5df6a681fd0996db3fbf4a68d676c5a10b5e8 -Icons/label/沙漠動物區-33 2.svg,1623122789003,750ba40480ddc5b5281c31af56f2f9ea9fc47bda70d80f9af002aa0d21c66fe4 -Icons/label/臺灣動物區-33 2.svg,1623122789008,ad7a3318d9f254c5b3c775fc8ff7ee5d8587427861f3ea1881baafba2ba8384e -Icons/label/非洲動物區-33 2.svg,1623122789009,3960818b644d9df99572fa5d7b869de58e84a0e39bc2c7ae4f156e1f3cf7fd21 -Icons/label/非洲動物區-33.svg,1623122789009,3960818b644d9df99572fa5d7b869de58e84a0e39bc2c7ae4f156e1f3cf7fd21 -Icons/label/鳥園區-33 2.svg,1623122789009,0d24b4846ef6c16ad9420a5368abcd3afb09b4b74747d0c8e95cc8df08499907 -Icons/label/臺灣動物區-33.svg,1623122789008,ad7a3318d9f254c5b3c775fc8ff7ee5d8587427861f3ea1881baafba2ba8384e -Icons/label/鳥園區-33.svg,1623122789009,0d24b4846ef6c16ad9420a5368abcd3afb09b4b74747d0c8e95cc8df08499907 -Imgs/arrow-17 2.svg,1623122789020,db8d6dbfa67eababcd67ee24d599cee6799ac9ee970c67955bd4a2c8d3cef25f -Imgs/arrow-17.svg,1623122789020,db8d6dbfa67eababcd67ee24d599cee6799ac9ee970c67955bd4a2c8d3cef25f -Imgs/caret-down 2.svg,1623122789021,4809d9456b299295182feb57d5a7cf35c03fdf5bd59ae4a0cd52695f8e7499c1 -Imgs/caret-down.svg,1623122789021,4809d9456b299295182feb57d5a7cf35c03fdf5bd59ae4a0cd52695f8e7499c1 -Imgs/filter-bg-07.svg,1623122789023,34cf43ea7020d0b6ad50a9e7efcba7d0fe091af8840b3e06e3967830d7b8828e -Imgs/hippo-08.svg,1623122789023,a3ae7e3ae749efb75746e30d14cb03f01c4de68175989855301530566e46512c -Imgs/hero-02.svg,1623122789023,8616710040949958946102c9a6193eeb60fb42c7ed2c48f277e34ca6973969c2 -Imgs/land-35.svg,1623122789025,da80019c76b9313ec1daf8d9a338f30802f6f6886a4ad0c9eb0b625cebc9e55e -Imgs/land-35 2.svg,1623122789025,da80019c76b9313ec1daf8d9a338f30802f6f6886a4ad0c9eb0b625cebc9e55e -Imgs/land-36 2.svg,1623122789025,8c9ace0e96b5f4c5f606434ed534a165daef511cfc2a7762d3f9b5766a624c3d -Imgs/land-36.svg,1623122789026,8c9ace0e96b5f4c5f606434ed534a165daef511cfc2a7762d3f9b5766a624c3d -Imgs/leaf-left-21 2.svg,1623122789031,1aec43cf4a000e6a9fc7e956dc601643728b66f765ff124f5b9032bf3e6adec3 -Imgs/leaf-right-20.svg,1623122789032,5b6498becef60012752f1fd84708b360771f4dab0b9c932505b1813fe1b60200 -Imgs/leaf-right-20 2.svg,1623122789032,5b6498becef60012752f1fd84708b360771f4dab0b9c932505b1813fe1b60200 -Imgs/loupe 2.svg,1623122789033,dbfccca592a157efb296cef15d27128554b3e155c45c0e70fbf28f8ee82cd49d -Imgs/loupe.svg,1623122789033,dbfccca592a157efb296cef15d27128554b3e155c45c0e70fbf28f8ee82cd49d -Imgs/logo-09.svg,1623122789032,dbb6f1a97c3258ae253b73dc60e09fddc8c5556261e838a461d8f0994ed74562 -Imgs/logo-19 2.svg,1623122789032,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 -Imgs/logo-19.svg,1623122789033,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 -Imgs/leaf-left-21.svg,1623122789031,1aec43cf4a000e6a9fc7e956dc601643728b66f765ff124f5b9032bf3e6adec3 -Imgs/passport-titlebg-30 2.svg,1623122789038,f47ca875a8e571f3f5310994a4afc14395286adf2d0e9850c94c53d1ab64e9b2 -Imgs/saved-title-30 2.svg,1623122789038,b206acae1a96ef1ea32d8e848d89218b1b2f142278d55dad5caada37e1ad5a91 -Imgs/saved-title-30.svg,1623122789039,b206acae1a96ef1ea32d8e848d89218b1b2f142278d55dad5caada37e1ad5a91 -Imgs/passport-titlebg-30.svg,1623122789038,f47ca875a8e571f3f5310994a4afc14395286adf2d0e9850c94c53d1ab64e9b2 -Imgs/select-hippo-26 2.svg,1623122789039,d01f90abb039abb6691ccfe1e716e25bad8349e77c91fcef43637383e7c48e2a -Imgs/select-hippo-26.svg,1623122789040,d01f90abb039abb6691ccfe1e716e25bad8349e77c91fcef43637383e7c48e2a -Imgs/select-line-24 2.svg,1623122789040,9f015beff1d53edfe64faa20ca866849d57072ad28d77df8bc3387cd8220f6ed -Imgs/select-line-24.svg,1623122789040,9f015beff1d53edfe64faa20ca866849d57072ad28d77df8bc3387cd8220f6ed -Imgs/select-line-25 2.svg,1623122789041,ab827c996fb80b453c32b643d99c9ed95a917a2183823d08515f8d34f8643ecf -Imgs/select-left-23 2.svg,1623122789040,174e2cd97717be11d73673086006335b04eb03e78c5df429b5df2dcde3cfd7cc -Imgs/duck.jpeg,1623122789021,716b1c36d54d5d1868fce1f69160cb3e6d91b4375f3611c953668b5609ef8f07 -Imgs/select-left-23.svg,1623122789040,174e2cd97717be11d73673086006335b04eb03e78c5df429b5df2dcde3cfd7cc -Imgs/select-line-25.svg,1623122789041,ab827c996fb80b453c32b643d99c9ed95a917a2183823d08515f8d34f8643ecf -Imgs/duck 2.jpeg,1623122789021,716b1c36d54d5d1868fce1f69160cb3e6d91b4375f3611c953668b5609ef8f07 -Imgs/select-right-23 2.svg,1623122789041,3bf5611fb275ae83a309d8101d1a9a2053bd47e76a2d55596cb334c9008dad72 -Imgs/select-right-23.svg,1623122789041,3bf5611fb275ae83a309d8101d1a9a2053bd47e76a2d55596cb334c9008dad72 -Imgs/ticket-18 2.svg,1623122789049,33e874374403b989df61e39e2ad89b08bea74903750884d923e7f24f82f057f6 -Imgs/land-01-34 2.svg,1623122789024,f578cf433614585a0a26adfe111a2687d1cf5316269b1ac86e6f422879485bff -Imgs/land-01-34.svg,1623122789024,f578cf433614585a0a26adfe111a2687d1cf5316269b1ac86e6f422879485bff -Imgs/select-bg-22 2.svg,1623122789039,9044c80481267132e486945c27295b361ced7122f8c7ad33619ff8d709b6eadd -Imgs/select-bg-22.svg,1623122789039,9044c80481267132e486945c27295b361ced7122f8c7ad33619ff8d709b6eadd -Imgs/land-37 2.svg,1623122789026,4ee0fc79038f6742f5d414823e28136a2f38f58d47c56b76256a880851593e4f -Imgs/land-37.svg,1623122789027,4ee0fc79038f6742f5d414823e28136a2f38f58d47c56b76256a880851593e4f -Imgs/land-38 2.svg,1623122789030,22989a3b3a8da7679a14b96d441c79b66597c01f994c0d2c3a451b4098dc70bc -Imgs/land-38.svg,1623122789031,22989a3b3a8da7679a14b96d441c79b66597c01f994c0d2c3a451b4098dc70bc -Imgs/ducks-15.svg,1623122789023,3a3e0c88199902a0c30a41a1fb0ab744b23fecd3abeb587cacb3c2f4d2b0fe8e -Imgs/ducks-15 2.svg,1623122789022,3a3e0c88199902a0c30a41a1fb0ab744b23fecd3abeb587cacb3c2f4d2b0fe8e -Imgs/ticket-18.svg,1623122789050,33e874374403b989df61e39e2ad89b08bea74903750884d923e7f24f82f057f6 -Imgs/易危 2.png,1623122789050,d6a29f190729f6222806a8d711223766d79a896be514ed80f563de8fad08a8ab -Imgs/易危.png,1623122789051,d6a29f190729f6222806a8d711223766d79a896be514ed80f563de8fad08a8ab -Imgs/未評估.png,1623122789051,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a -Imgs/未評估 2.png,1623122789051,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a -Imgs/極危 2.png,1623122789051,7dfd0cfe1c2403801d6075c8d6901a967bdafe41c064a980920591489b2b4c2b -Imgs/passport-right-27 2.svg,1623122789037,7133d067e36bd9a6d820a21ef9b15bb63214437833bb090b4ab515dbd8d7e6e7 -Imgs/passport-right-27.svg,1623122789038,7133d067e36bd9a6d820a21ef9b15bb63214437833bb090b4ab515dbd8d7e6e7 -Imgs/極危.png,1623122789052,7dfd0cfe1c2403801d6075c8d6901a967bdafe41c064a980920591489b2b4c2b -Imgs/瀕危 2.png,1623122789052,3cc19c4e5fba55042c0e44437740dfd11bd4a00dd222a590462f834c7065dfd7 -Imgs/無危 2.png,1623122789052,a692d3a60048bb6916f3c97234a3a626b4d7ca49ee46307784323beffb932615 -Imgs/無危.png,1623122789053,a692d3a60048bb6916f3c97234a3a626b4d7ca49ee46307784323beffb932615 -Imgs/瀕危.png,1623122789052,3cc19c4e5fba55042c0e44437740dfd11bd4a00dd222a590462f834c7065dfd7 -Imgs/資料不足 2.png,1623122789053,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a -Imgs/資料不足.png,1623122789053,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a -Imgs/近危 2.png,1623122789053,43be826c28a1e54d16e23e09595b4d88facba8dea9b786e314473f8d16862791 -Imgs/近危.png,1623122789054,43be826c28a1e54d16e23e09595b4d88facba8dea9b786e314473f8d16862791 -Imgs/野外滅絕.png,1623122789054,d089ddcf24853340af4eb04061c8e3f7a1d89e67c7425565c6a0234daa2b9f69 -Imgs/野外滅絕 2.png,1623122789054,d089ddcf24853340af4eb04061c8e3f7a1d89e67c7425565c6a0234daa2b9f69 -Imgs/stamp/兒童動物區 2.png,1623122789043,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/兒童動物區.png,1623122789043,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/兩棲爬蟲動物館.png,1623122789044,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/新光特展館(大貓熊館) 2.png,1623122789044,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/新光特展館(大貓熊館).png,1623122789044,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/昆蟲館.png,1623122789045,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/沙漠動物區 2.png,1623122789045,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/昆蟲館 2.png,1623122789045,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/沙漠動物區.png,1623122789045,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/兩棲爬蟲動物館 2.png,1623122789044,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/澳洲動物區 2.png,1623122789046,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/澳洲動物區.png,1623122789046,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/無尾熊館 2.png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/無尾熊館.png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/企鵝館 2.png,1623122789050,e0a2fb4d3db46eb938f8f5415af72eb901e1320b1bbe18ec327ebdf04313ebb4 -Imgs/stamp/熱帶雨林區.png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/熱帶雨林區 2.png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/企鵝館.png,1623122789050,e0a2fb4d3db46eb938f8f5415af72eb901e1320b1bbe18ec327ebdf04313ebb4 -Imgs/stamp/企鵝館 2.png,1623122789042,e0a2fb4d3db46eb938f8f5415af72eb901e1320b1bbe18ec327ebdf04313ebb4 -Imgs/stamp/企鵝館.png,1623122789042,e0a2fb4d3db46eb938f8f5415af72eb901e1320b1bbe18ec327ebdf04313ebb4 -Imgs/stamp/熱帶雨林室內館(穿山甲館) 2.png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/熱帶雨林室內館(穿山甲館).png,1623122789047,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/非洲動物區 2.png,1623122789049,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/非洲動物區.png,1623122789049,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Imgs/stamp/鳥園區 2.png,1623122789049,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Labels/列車站-02 2.svg,1623122789055,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 -Labels/列車站-02.svg,1623122789055,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 -Labels/哺集乳室-02 2.svg,1623122789055,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d -Imgs/stamp/鳥園區.png,1623122789049,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 -Labels/哺集乳室-02.svg,1623122789056,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d -Labels/哺集乳室01.svg,1623122789056,b7551618b02bd7128b080a380d80b55627f26b18263aa5836b9520d36e5afce7 -Labels/商店-02.svg,1623122789056,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 -Labels/商店-02 2.svg,1623122789056,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 -Labels/哺集乳室01 2.svg,1623122789056,b7551618b02bd7128b080a380d80b55627f26b18263aa5836b9520d36e5afce7 -Labels/團餐服務-02 2.svg,1623122789056,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -Labels/團餐服務-02.svg,1623122789056,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -Labels/娃娃車/輪椅租用-02 2.svg,1623122789057,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 -Imgs/passport-bg-29.svg,1623122789035,89a958c56debbeaebad893e9fa147a7db348a5d8419816af2f1d3acace6d1581 -Labels/寄物櫃-02 2.svg,1623122789057,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 -Labels/娃娃車/輪椅租用-02.svg,1623122789057,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 -Labels/寄物櫃-02.svg,1623122789057,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 -Imgs/passport-bg-29 2.svg,1623122789034,89a958c56debbeaebad893e9fa147a7db348a5d8419816af2f1d3acace6d1581 -Labels/廁所-02 2.svg,1623122789057,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 -Labels/廁所-02.svg,1623122789057,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 -Labels/志工服務台-02 2.svg,1623122789057,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 -Labels/志工服務台-02.svg,1623122789058,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 -Labels/提款機-02 2.svg,1623122789058,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 -Labels/提款機-02.svg,1623122789058,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 -Labels/涼亭-02.svg,1623122789059,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e -Labels/涼亭-02 2.svg,1623122789058,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e -Labels/護理站-02 2.svg,1623122789059,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 -Labels/販賣機-02 2.svg,1623122789059,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 -Labels/護理站-02.svg,1623122789059,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 -Labels/販賣機-02.svg,1623122789059,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 -Labels/遊客服務中心-02 2.svg,1623122789060,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 -Labels/遊客服務中心-02.svg,1623122789060,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 -Labels/飲水機-02.svg,1623122789060,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 -Labels/飲水機-02 2.svg,1623122789060,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 -Imgs/stamp/溫帶動物區 2.png,1623122789045,08ce91a69b4d6aca9d5fc52efa798ae979a83f68ae1db4db807896005ee80523 -Imgs/stamp/溫帶動物區.png,1623122789046,08ce91a69b4d6aca9d5fc52efa798ae979a83f68ae1db4db807896005ee80523 -Labels/餐飲-02.svg,1623122789062,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -Labels/餐飲-02 2.svg,1623122789062,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -static/css/2.7409c726.chunk.css,1623122812353,89d9681e68d4cb6cb2aa3a74602443969a6e21cac90fd8557f237de6a436d360 -static/css/main.18ae45b3.chunk.css,1623122812351,b5c0c1a99846c83a3501e09d8f02c606dd48c3121b49c6f26a1ebf369b3352ee -static/css/2.7409c726.chunk.css.map,1623122812354,807878cbd2d84fcdb0b9cd6a6564389d2d7651c57d6499d37e50a02828af657a -static/css/main.18ae45b3.chunk.css.map,1623122812354,8222621b519ced42fd83b79c6a3677383efdf868a578cb3c56f8697b495dead8 -static/js/2.c48b27fe.chunk.js.LICENSE.txt,1623122812353,fe746f26d625e50095f6e810064c1e8e4e80af3e968edfb7739c65ddb5e5fd90 -static/js/runtime-main.11f320ca.js,1623122812353,8de8bfcca510efa1831af5576def15243d74bb7722488fcc8a634632ef67d524 -static/js/runtime-main.11f320ca.js.map,1623122812369,96204fb015fd0ccc7dba3523be381d0904e48e8e6c93e971ee5d8d8d2315925e -static/media/000.525ffa0d.svg,1623122812343,3ee00074c4b28f28d83e769fc4fb4852558b153381c7bdbe72bfe2818549e57e -static/media/buyton-07 2.31869ee4.svg,1623122812343,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a -static/media/buyton-07.31869ee4.svg,1623122812343,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a -static/media/like-02.f941cad5.svg,1623122812343,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 -static/media/like-03.3674cf15.svg,1623122812343,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 -static/media/park 2.8332c61d.svg,1623122812343,ee2324f5606ff6b9655a9b0ca27b46669f0e037dd366202db84a4d67ad2a36e1 -static/media/position-02 2.5dc29ccc.svg,1623122812343,569ddb95951e1eac0404bb4e8f06dfb0ff22fea2425a99ccc8bb6ce80eb2fdcf -static/media/park.8332c61d.svg,1623122812343,ee2324f5606ff6b9655a9b0ca27b46669f0e037dd366202db84a4d67ad2a36e1 -static/media/position-02.5dc29ccc.svg,1623122812343,569ddb95951e1eac0404bb4e8f06dfb0ff22fea2425a99ccc8bb6ce80eb2fdcf -static/media/revicons.57fd05d4.ttf,1623122812351,1c12324ddcdff078ce4636f64ba2dcee91ff136da751e5efcd93e7dfa6d4d68b -static/media/revicons.e8746a62.woff,1623122812351,f0215fad6e81dd82e09ec1f294e3a38800c59504c22f03e43aba53ddd3def8a4 -static/media/revicons.a77de540.eot,1623122812351,c70318dfd47d7dfe495f14048cfd723dd18b8c8005fa6326c0f0a273278b4469 -static/media/star.a7feaef7.svg,1623122812349,202eaf427c4e73342cea0e278016925644a86cfccc3446f3725e24f75e8658db -static/media/stamp-02 2.a228e9e3.svg,1623122812349,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 -static/media/企鵝館.2650b87b.svg,1623122812349,bec378a229f010fcf0abace31071dde123bf8c51fdfc43afe933fb41e2c5e144 -static/media/兒童動物區.1993f649.svg,1623122812349,8a325a469356d78eafe05bbbb995ea0ae8e2def09b2cba5df9decf91846215f5 -static/media/入口.dc62f3de.svg,1623122812342,621081435283df38381e0c088679562fcb63b728cf209b1231d30f1759c1ff4f -static/media/兩棲爬蟲動物館.835d4971.svg,1623122812349,b4a3df3069237072230a99969a6637c54d5dbfad7301ca0d316ae8f496512541 -static/media/出口.9c04f8a4.svg,1623122812342,fce8b8aa1feb7e4028e473a2d6327e642354188ccd98a3c0cf2cea61541b91d0 -static/media/列車站-02 2.6791a308.svg,1623122812343,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 -static/media/列車站-02.6791a308.svg,1623122812342,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 -static/media/哺集乳室-02 2.035e3557.svg,1623122812343,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d -static/media/哺集乳室-02.035e3557.svg,1623122812341,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d -static/media/商店-02 2.8437d910.svg,1623122812343,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 -static/media/商店-02.8437d910.svg,1623122812342,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 -static/media/stamp-02.a228e9e3.svg,1623122812349,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 -static/media/團餐服務-02 2.c7a63107.svg,1623122812343,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -222.png,1623122788995,aa6a282ec027aa65dfcb2781fd9ba53c971b0da72dfa4ac051761db9b04f393d -static/media/團餐服務-02.c7a63107.svg,1623122812342,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -static/media/娃娃車/輪椅租用-02 2.424d38aa.svg,1623122812343,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 -static/media/娃娃車/輪椅租用-02.424d38aa.svg,1623122812341,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 -static/media/寄物櫃-02 2.3479121d.svg,1623122812343,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 -Imgs/stamp/臺灣動物區.png,1623122789049,e146596ef7b9a2ce9c02b07f53bf2345c348f4288d1c3a147982ca910d60defb -Imgs/stamp/臺灣動物區 2.png,1623122789048,e146596ef7b9a2ce9c02b07f53bf2345c348f4288d1c3a147982ca910d60defb -static/media/寄物櫃-02.3479121d.svg,1623122812341,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 -static/media/廁所-02 2.f4f26456.svg,1623122812343,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 -static/media/廁所-02.f4f26456.svg,1623122812342,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 -static/media/志工服務台-02 2.5cbaf1f4.svg,1623122812343,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 -static/media/志工服務台-02.5cbaf1f4.svg,1623122812341,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 -static/media/提款機-02 2.18765dae.svg,1623122812343,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 -static/media/提款機-02.18765dae.svg,1623122812341,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 -static/media/教育中心.af59693a.svg,1623122812349,98e92ca7fa6673c14c36c6849a2ab0a7110ffa81f73fc3be452dd42296db7c4b -static/media/昆蟲館.dd028ca5.svg,1623122812349,7c4b26112936aac05908b3775132b1252181a3a3b7070552bdac4b81cd14cc99 -static/media/新光特展館(大貓熊館).126914a8.svg,1623122812349,0fe2910f8188f9784d1ccfaa7ea7e2f2c113709eff8971fa05c330d6fc0b2fbf -static/media/沙漠動物區.5a33b851.svg,1623122812349,ccafb12a2df771e551743646c3e64bfe2a23f549a53a01f4f4d47a00ee3b68d7 -static/media/涼亭-02 2.1a3deb80.svg,1623122812343,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e -static/media/溫帶動物區.024057e2.svg,1623122812349,aa793d03dea42f94effa484d5dcc79d97b3bdf63853a71448fcb878864884d94 -static/media/澳洲動物區.1231bce7.svg,1623122812349,8499f29b7c536562f3b3395f373936dee41a168f6313ee12c802d3564747dd3f -static/media/無尾熊館.3e13cc23.svg,1623122812349,0b8730fbd27a195c963847d6057effe4dd10b73a895e82e433d9be4fedb61eee -static/media/涼亭-02.1a3deb80.svg,1623122812341,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e -static/media/熱帶雨林室內館(穿山甲館).bdea2552.svg,1623122812349,c3b90d8c754f89a99da09507e916b551b4c1c3e5237b051891f5f15678f1619b -static/media/熱帶雨林區.c5d8b263.svg,1623122812349,57d7871c47faedabe79cb733531a4628a05af30a76031bf738b1ddc9d49d6d0c -static/media/臺灣動物區.78fd4e22.svg,1623122812349,a0cd5d6e9452bf8c2436a64359ca1e03406a27d1f3e3e15cb626c98bdf0987a0 -static/media/護理站-02 2.b036c923.svg,1623122812343,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 -static/media/護理站-02.b036c923.svg,1623122812341,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 -static/media/販賣機-02 2.d16861e3.svg,1623122812343,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 -static/media/販賣機-02.d16861e3.svg,1623122812341,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 -static/media/遊客服務中心-02 2.9dbb6978.svg,1623122812343,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 -static/media/遊客服務中心-02.9dbb6978.svg,1623122812341,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 -static/media/飲水機-02 2.8b54af73.svg,1623122812343,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 -static/media/餐飲-02 2.c7a63107.svg,1623122812343,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -static/media/餐飲-02.c7a63107.svg,1623122812341,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 -static/media/飲水機-02.8b54af73.svg,1623122812341,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 -static/media/非洲動物區.46b9b18d.svg,1623122812350,b9727f192e075b7c2c793fff20fa01b4bcdff8fadc48f56f7ea4675ece3a26d1 -static/media/鸚鵡屋.61f0fe76.svg,1623122812351,ae5871ea7d884345ff2c51b8ccbbac1dbdfec4d94b3e2edaf1b411b8b0408300 -static/media/鳥園區.0e99caa4.svg,1623122812350,d37ebb4641d9db34fd095619331cbb154e86bcb87277691bcd8e4946d81901b7 -Imgs/passport-left-28.svg,1623122789037,f5a1cf4a3f766fd4a0d5f33650d29ee9c53b15962b1bd87efab701f257793e26 -Imgs/passport-left-28 2.svg,1623122789036,f5a1cf4a3f766fd4a0d5f33650d29ee9c53b15962b1bd87efab701f257793e26 -static/media/223.ed1e5024.png,1623122812353,bbc97607c74ce06da3394fac37d04b186a5e44ebbbfb77f7ed0e4df981e9c84b -static/js/main.aaebc76d.chunk.js.map,1623122812354,c6481694fa98bdb283318a6ce41f78a976e96131a94d1aadc3df46a95c904958 -static/js/main.aaebc76d.chunk.js,1623122812351,06422487924ca24db5912845289797f2b12301dadb0a8f7a2eff320b155e85ea -static/js/2.c48b27fe.chunk.js,1623122812353,57d7cf595a5bbc79ace9ebe0e65309d44e5cf74b8daba201e144862043f51f8d -static/js/2.c48b27fe.chunk.js.map,1623122812371,1672cf9301bdc92c2f673f3b0330575ea0439f8881980d907b731ae077912a18 +favicon 2.ico,1623688206424,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955 +asset-manifest.json,1623688230553,d309932c2694005477834c795d5531ad710f009007f309f38c68e398024387a6 +index 2.html,1623688206425,d0cc794a300b6b9725047808cc01769fee2233c8765c9b7dd7a0551efa65d2cb +logo192.png,1623688206426,caff018b7f1e8fd481eb1c50d75b0ef236bcd5078b1d15c8bb348453fee30293 +favicon.ico,1623688206424,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955 +logo192 2.png,1623688206425,caff018b7f1e8fd481eb1c50d75b0ef236bcd5078b1d15c8bb348453fee30293 +manifest 2.json,1623688206426,d7e352dee178ad0fcd977b570657ff4be71cf1efb57a20a098064bba6f0bacd8 +index.html,1623688230533,0d1150fe6525aea4bb65e85599e6b1857145c0a394c49fb0b0e146f585dc3d0d +logo512 2.png,1623688206426,191fc21360b4ccfb1cda11a1efb97f489ed22672ca83f4064316802bbfdd750e +robots 2.txt,1623688206427,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2 +robots.txt,1623688206427,391d14b3c2f8c9143a27a28c7399585142228d4d1bdbe2c87ac946de411fa9a2 +logo512.png,1623688206426,191fc21360b4ccfb1cda11a1efb97f489ed22672ca83f4064316802bbfdd750e +Icons/buyton-04.svg,1623688205916,548143b6a721ebdb5154eb534b51f92f0127c00fc69e92668883f8ae48b4dbd4 +logo 2.svg,1623688206425,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 +Icons/buyton-04 2.svg,1623688205916,548143b6a721ebdb5154eb534b51f92f0127c00fc69e92668883f8ae48b4dbd4 +Icons/buyton-05 2.svg,1623688205917,d6b46978424a4ac4346fcfc615075d625b3e11827da7c40f0a7e2bc95b6a4922 +Icons/buyton-05.svg,1623688205917,d6b46978424a4ac4346fcfc615075d625b3e11827da7c40f0a7e2bc95b6a4922 +manifest.json,1623688206426,d7e352dee178ad0fcd977b570657ff4be71cf1efb57a20a098064bba6f0bacd8 +Icons/buyton-06 2.svg,1623688205917,4df37e099728ba2e4c62cc7b03233f7fd5fb6253495d64d02549a0aac9a4c25f +Icons/buyton-06.svg,1623688205917,4df37e099728ba2e4c62cc7b03233f7fd5fb6253495d64d02549a0aac9a4c25f +Icons/buyton-07.svg,1623688205918,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a +Icons/diet-14.svg,1623688205919,53c7fd69ae38eacfb0504478d75c0b2d7515a1ffd654233891fe88063be76e45 +Icons/feature-14 2.svg,1623688205919,3d0d4133abf57e7e5c57a7f37acc4125136fe322340bfbb59c0bd92efeda0e5f +Icons/feature-14.svg,1623688205919,3d0d4133abf57e7e5c57a7f37acc4125136fe322340bfbb59c0bd92efeda0e5f +stamp-02.svg,1623688206427,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +Icons/funfact-14 2.svg,1623688205920,6f92b706b7d98d8176e9629b0020a449c925ba75d41467b5d1e337283c8d8a5b +Icons/like-02 2.svg,1623688205921,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 +Icons/funfact-14.svg,1623688205920,6f92b706b7d98d8176e9629b0020a449c925ba75d41467b5d1e337283c8d8a5b +Icons/like-03.svg,1623688205922,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 +logo.svg,1623688206425,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 +Icons/like-03 2.svg,1623688205922,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 +Icons/like-02.svg,1623688205921,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 +Icons/nav-home-06.svg,1623688205924,014cf621d5aaaf0b14bc8421930bc4fbec3878a9f32a6f961c1d68d70c2c6c6a +Icons/habitat-14 2.svg,1623688205920,44d83cae98a5d2cf9eb7d525e70cf395946dcf4291d9858c5af8bbfad10b98bf +Icons/habitat-14.svg,1623688205921,44d83cae98a5d2cf9eb7d525e70cf395946dcf4291d9858c5af8bbfad10b98bf +Icons/nav-all-s-06 2.svg,1623688205923,5486f0dc049eb78088c8e4bca9cc72d81cb54e9633d191a18ff86fcff52dad0a +Icons/nav-home-06 2.svg,1623688205924,014cf621d5aaaf0b14bc8421930bc4fbec3878a9f32a6f961c1d68d70c2c6c6a +Icons/nav-home-s-06.svg,1623688205925,c6bc8f6db9d886f41edb7500d982f88565f0d5726f7ade51808a12e0d609f3af +Icons/nav-all-s-06.svg,1623688205924,5486f0dc049eb78088c8e4bca9cc72d81cb54e9633d191a18ff86fcff52dad0a +Icons/nav-all-06.svg,1623688205923,1f191dfdb943ffba6f89e2796688809f4c00a655cb3c160b4e1637ee45d87a1b +Icons/nav-info-06 2.svg,1623688205925,60641e8f47d39b739d2ff9553981758f5ba2f5dab33c586bd0eb954928d94143 +Icons/nav-info-06.svg,1623688205925,60641e8f47d39b739d2ff9553981758f5ba2f5dab33c586bd0eb954928d94143 +Icons/nav-info-s-06 2.svg,1623688205926,1423a87e8e18396b3ba8c6cc491d2bd810858076cb88180dffbf1f9ef0ac19e5 +Icons/nav-info-s-06.svg,1623688205926,1423a87e8e18396b3ba8c6cc491d2bd810858076cb88180dffbf1f9ef0ac19e5 +Icons/nav-map-06.svg,1623688205927,065eefbc84b4994d5a34340a92f24e4770cd8e4c83ef99bbc125d7762a9eb6bf +Icons/nav-map-06 2.svg,1623688205926,065eefbc84b4994d5a34340a92f24e4770cd8e4c83ef99bbc125d7762a9eb6bf +stamp-02 2.svg,1623688206427,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +Icons/nav-map-s-06 2.svg,1623688205927,8fec0103f04d968dd78001f1371bea5c4387bf0983580cfa527002b36b7f9c30 +Icons/nav-member-06.svg,1623688205928,3014191015f46f5eb3df063e71b48469edeb09965e2c36baf368c371baaaced2 +Icons/nav-map-s-06.svg,1623688205927,8fec0103f04d968dd78001f1371bea5c4387bf0983580cfa527002b36b7f9c30 +Icons/nav-member-s-06.svg,1623688205928,35e411719aa606901f9ed832b6d6b7f6234d35e73cfe246f9dd1f38a04685d86 +Icons/popup 2.svg,1623688205928,6734ad6e29b65cb145ea2a853bd433be51841942623cee723e3a6c10f8bc7cdf +Icons/popup-02 2.svg,1623688205929,c61a455c1a658ddec56ef2db9a2ff0282c46df5bfe346010b5100b982f034cd3 +Icons/popup.svg,1623688205930,6734ad6e29b65cb145ea2a853bd433be51841942623cee723e3a6c10f8bc7cdf +Icons/popup-02.svg,1623688205929,c61a455c1a658ddec56ef2db9a2ff0282c46df5bfe346010b5100b982f034cd3 +Icons/threat-14 2.svg,1623688205930,49a7b532f682ccaada99baf42ab429f635ad2f68fef19101504078321937dc77 +Icons/企鵝館-32 2.svg,1623688205931,02c8fcd3b7eb652dc985752ef4b7a1d5e44bfeb0c00aa929b154e868411e2365 +Icons/企鵝館-32.svg,1623688205931,02c8fcd3b7eb652dc985752ef4b7a1d5e44bfeb0c00aa929b154e868411e2365 +Icons/threat-14.svg,1623688205930,49a7b532f682ccaada99baf42ab429f635ad2f68fef19101504078321937dc77 +Icons/企鵝館-33.svg,1623688205931,31970c27d2b046105f415357bd171f24a4ba0c2eec293b5d0afa6370b56c960c +Icons/兒童動物區-32.svg,1623688205932,da6571eaabf20445cef8f820ce4d065a12ed59a28bce6a8d10445eb42ad7aaa9 +Icons/企鵝館-33 2.svg,1623688205931,31970c27d2b046105f415357bd171f24a4ba0c2eec293b5d0afa6370b56c960c +Icons/兒童動物區-33 2.svg,1623688205932,222f673e7d70e795c72e61e29721b5b47ceb9a929eb409875d565a95d1c0660b +Icons/兒童動物區-33.svg,1623688205932,222f673e7d70e795c72e61e29721b5b47ceb9a929eb409875d565a95d1c0660b +Icons/兩棲爬蟲動物館-32 2.svg,1623688205933,a46a31da95af12cc19c9bc7a75522071b6e6a151e0ee72398cdbfe06d79ffa12 +Icons/兩棲爬蟲動物館-32.svg,1623688205933,a46a31da95af12cc19c9bc7a75522071b6e6a151e0ee72398cdbfe06d79ffa12 +Icons/popup-03.svg,1623688205930,eb981b2d06f6761b7234f21b92265938eaa9e0f3868cb9559fbb8cc98be60078 +Icons/兩棲爬蟲動物館-33.svg,1623688205933,cf1c0e9d28fad8b1efb9735f5a0247525ed8916960c694d2195a9a2699f32671 +Icons/popup-03 2.svg,1623688205929,eb981b2d06f6761b7234f21b92265938eaa9e0f3868cb9559fbb8cc98be60078 +Icons/新光特展館(大貓熊館)-32 2.svg,1623688205934,47d3ff14b24e0946e26aed634427741a427606c1db92fa1b7203714537666d27 +Icons/新光特展館(大貓熊館)-32.svg,1623688205934,47d3ff14b24e0946e26aed634427741a427606c1db92fa1b7203714537666d27 +Icons/新光特展館(大貓熊館)-33 2.svg,1623688205934,44d6380057ba90edf6c336eae6ca377d833e6dd9752377ec68d040969e807af9 +Icons/昆蟲館-32.svg,1623688205935,48b59e50af6a79c1f59e5b72d7325fc3fca07bb7377251795beb256624a4b532 +Icons/新光特展館(大貓熊館)-33.svg,1623688205934,44d6380057ba90edf6c336eae6ca377d833e6dd9752377ec68d040969e807af9 +Icons/昆蟲館-32 2.svg,1623688205935,48b59e50af6a79c1f59e5b72d7325fc3fca07bb7377251795beb256624a4b532 +Icons/昆蟲館-33 2.svg,1623688205935,cf7f77de205ffd62c41de9b3b6f99d7361ab4cd2f0b04c085db8a359c5bc676c +Icons/兩棲爬蟲動物館-33 2.svg,1623688205933,cf1c0e9d28fad8b1efb9735f5a0247525ed8916960c694d2195a9a2699f32671 +Icons/昆蟲館-33.svg,1623688205935,cf7f77de205ffd62c41de9b3b6f99d7361ab4cd2f0b04c085db8a359c5bc676c +Icons/沙漠動物區-32.svg,1623688205936,deba06f0823265b8820fb0b91c8760ad19cffd44da56adc7a6ebb6026ada7bf5 +Icons/沙漠動物區-33 2.svg,1623688205936,750ba40480ddc5b5281c31af56f2f9ea9fc47bda70d80f9af002aa0d21c66fe4 +Icons/沙漠動物區-33.svg,1623688205936,750ba40480ddc5b5281c31af56f2f9ea9fc47bda70d80f9af002aa0d21c66fe4 +Icons/溫帶動物區-32 2.svg,1623688205936,fa01a4e332f363ef61220b053aa5ec71fe2f826800eb1fa171e9bc8d2ec7b9f7 +Icons/溫帶動物區-32.svg,1623688205937,fa01a4e332f363ef61220b053aa5ec71fe2f826800eb1fa171e9bc8d2ec7b9f7 +Icons/溫帶動物區-33 2.svg,1623688205937,b048ec633cbe827882a49448d8b0181043fa60fd82edbc39ce4ae3d97a63295a +Icons/澳洲動物區-32 2.svg,1623688205937,a0e447c878f6c8b5dfd2e4104e97a6e935aa08bef049b5bc30287e89c3cdf249 +Icons/溫帶動物區-33.svg,1623688205937,b048ec633cbe827882a49448d8b0181043fa60fd82edbc39ce4ae3d97a63295a +Icons/澳洲動物區-33 2.svg,1623688205938,ff174dd9addaf037f7d8625bc58d1c1817957f45c8a27c680e12c77a8eb807b0 +Icons/澳洲動物區-33.svg,1623688205938,ff174dd9addaf037f7d8625bc58d1c1817957f45c8a27c680e12c77a8eb807b0 +Icons/澳洲動物區-32.svg,1623688205938,a0e447c878f6c8b5dfd2e4104e97a6e935aa08bef049b5bc30287e89c3cdf249 +Icons/無尾熊館-33 2.svg,1623688205939,0158eae549e1ebeae3acaf5edc96317fb5742eac40819e29cba7a7c227b7cbfd +Icons/無尾熊館-32 2.svg,1623688205938,e994cf0d55a66713af4f5245c68c2f6b9d67252a5ce75b9af2cd5e6f8e738bc3 +Icons/無尾熊館-33.svg,1623688205939,0158eae549e1ebeae3acaf5edc96317fb5742eac40819e29cba7a7c227b7cbfd +Icons/無尾熊館-32.svg,1623688205938,e994cf0d55a66713af4f5245c68c2f6b9d67252a5ce75b9af2cd5e6f8e738bc3 +Icons/熱帶雨林區-32 2.svg,1623688205939,6ed24083d31695fc459083bd1ea4359a7670501788afac6b867154190ea591f3 +Icons/熱帶雨林區-32.svg,1623688205939,6ed24083d31695fc459083bd1ea4359a7670501788afac6b867154190ea591f3 +Icons/熱帶雨林區-33 2.svg,1623688205940,fa4d09970ac34f243b0e3f4918c5df6a681fd0996db3fbf4a68d676c5a10b5e8 +Icons/熱帶雨林區-33.svg,1623688205940,fa4d09970ac34f243b0e3f4918c5df6a681fd0996db3fbf4a68d676c5a10b5e8 +Icons/熱帶雨林室內館(穿山甲館)-33 2.svg,1623688205941,946e5c2d5a81c78029d58be0dc1324d535ea4d42c5cf13a9a432c8d978e28900 +Icons/熱帶雨林室內館(穿山甲館)-33.svg,1623688205941,946e5c2d5a81c78029d58be0dc1324d535ea4d42c5cf13a9a432c8d978e28900 +Icons/臺灣動物區-32 2.svg,1623688205941,643f2fe541bca3b1efb4a707c19b5a985f9f432dbefb6984459dbbda1a06115c +Icons/臺灣動物區-32.svg,1623688205941,643f2fe541bca3b1efb4a707c19b5a985f9f432dbefb6984459dbbda1a06115c +Icons/臺灣動物區-33 2.svg,1623688205942,ad7a3318d9f254c5b3c775fc8ff7ee5d8587427861f3ea1881baafba2ba8384e +Icons/臺灣動物區-33.svg,1623688205942,ad7a3318d9f254c5b3c775fc8ff7ee5d8587427861f3ea1881baafba2ba8384e +Icons/非洲動物區-32 2.svg,1623688205942,ad9603e5ad00112da2d62251817d89dc4412f514d2bd9953d30555b065472cc0 +Icons/非洲動物區-32.svg,1623688205942,ad9603e5ad00112da2d62251817d89dc4412f514d2bd9953d30555b065472cc0 +Icons/非洲動物區-33 2.svg,1623688205942,3960818b644d9df99572fa5d7b869de58e84a0e39bc2c7ae4f156e1f3cf7fd21 +Icons/非洲動物區-33.svg,1623688205943,3960818b644d9df99572fa5d7b869de58e84a0e39bc2c7ae4f156e1f3cf7fd21 +Icons/鳥園區-32.svg,1623688205943,ffb3cbff89cb48c12df13866186b9720c7944c1947a33bf084064c7957b53397 +Icons/鳥園區-33 2.svg,1623688205943,0d24b4846ef6c16ad9420a5368abcd3afb09b4b74747d0c8e95cc8df08499907 +Icons/鳥園區-32 2.svg,1623688205943,ffb3cbff89cb48c12df13866186b9720c7944c1947a33bf084064c7957b53397 +Icons/鳥園區-33.svg,1623688205944,0d24b4846ef6c16ad9420a5368abcd3afb09b4b74747d0c8e95cc8df08499907 +Imgs/arrow-17 2.svg,1623688205945,db8d6dbfa67eababcd67ee24d599cee6799ac9ee970c67955bd4a2c8d3cef25f +Imgs/arrow-17.svg,1623688205945,db8d6dbfa67eababcd67ee24d599cee6799ac9ee970c67955bd4a2c8d3cef25f +Imgs/caret-down.svg,1623688205945,4809d9456b299295182feb57d5a7cf35c03fdf5bd59ae4a0cd52695f8e7499c1 +Imgs/caret-down 2.svg,1623688205945,4809d9456b299295182feb57d5a7cf35c03fdf5bd59ae4a0cd52695f8e7499c1 +Icons/熱帶雨林室內館(穿山甲館)-32 2.svg,1623688205940,8111c5150958deb50b011639c169fb307d9f6ee89aa5da95bb2eb39906233634 +Icons/熱帶雨林室內館(穿山甲館)-32.svg,1623688205940,8111c5150958deb50b011639c169fb307d9f6ee89aa5da95bb2eb39906233634 +Imgs/draw-11 2.svg,1623688205947,bc4d37e3a5ac2ab33c4d6a4ec4b757c030d2b52e79a439b1ab555fd98995a9ca +Imgs/draw-11.svg,1623688205947,bc4d37e3a5ac2ab33c4d6a4ec4b757c030d2b52e79a439b1ab555fd98995a9ca +Imgs/draw-10 2.svg,1623688205946,0ad0e1470a97138fbc5f33176ba0b7ce839b7d7a46e1390ea2a9476297e8de89 +Imgs/draw-13 2.svg,1623688205948,10448172da8f3739909ed3c559516b059d41d29a4a1bb590107de447d1aa1918 +Imgs/draw-10.svg,1623688205946,0ad0e1470a97138fbc5f33176ba0b7ce839b7d7a46e1390ea2a9476297e8de89 +Imgs/draw-13.svg,1623688205948,10448172da8f3739909ed3c559516b059d41d29a4a1bb590107de447d1aa1918 +Imgs/draw-14 2.svg,1623688205948,38fb63fef9adeea643320a7c61a805ae07e9de69e413cc48cc86b4c01511a043 +Imgs/draw-14.svg,1623688205949,38fb63fef9adeea643320a7c61a805ae07e9de69e413cc48cc86b4c01511a043 +Imgs/filter-bg-07.svg,1623688205951,34cf43ea7020d0b6ad50a9e7efcba7d0fe091af8840b3e06e3967830d7b8828e +Imgs/filter-bg-07 2.svg,1623688205951,34cf43ea7020d0b6ad50a9e7efcba7d0fe091af8840b3e06e3967830d7b8828e +Imgs/hero-02 2.svg,1623688205951,8616710040949958946102c9a6193eeb60fb42c7ed2c48f277e34ca6973969c2 +Imgs/hero-02.svg,1623688205952,8616710040949958946102c9a6193eeb60fb42c7ed2c48f277e34ca6973969c2 +Imgs/hippo-08 2.svg,1623688205953,a3ae7e3ae749efb75746e30d14cb03f01c4de68175989855301530566e46512c +Imgs/hippo-08.svg,1623688205954,a3ae7e3ae749efb75746e30d14cb03f01c4de68175989855301530566e46512c +Imgs/land-35 2.svg,1623688205955,da80019c76b9313ec1daf8d9a338f30802f6f6886a4ad0c9eb0b625cebc9e55e +Imgs/land-35.svg,1623688205955,da80019c76b9313ec1daf8d9a338f30802f6f6886a4ad0c9eb0b625cebc9e55e +Imgs/land-36 2.svg,1623688205955,8c9ace0e96b5f4c5f606434ed534a165daef511cfc2a7762d3f9b5766a624c3d +Imgs/duck 2.jpeg,1623688205949,716b1c36d54d5d1868fce1f69160cb3e6d91b4375f3611c953668b5609ef8f07 +Imgs/duck.jpeg,1623688205949,716b1c36d54d5d1868fce1f69160cb3e6d91b4375f3611c953668b5609ef8f07 +Imgs/explore-09 2.svg,1623688205950,adbb3d03ef9d0c372d650f95a048bca1830f02e15124a27e6f1efd1c9dd23663 +Imgs/draw-12 2.svg,1623688205947,7547217520e27b8bf04cf0f139ac8093b24041255b5896e1d249f0fe46c6017a +Imgs/draw-12.svg,1623688205948,7547217520e27b8bf04cf0f139ac8093b24041255b5896e1d249f0fe46c6017a +Imgs/explore-09.svg,1623688205951,adbb3d03ef9d0c372d650f95a048bca1830f02e15124a27e6f1efd1c9dd23663 +Imgs/land-01-34 2.svg,1623688205954,f578cf433614585a0a26adfe111a2687d1cf5316269b1ac86e6f422879485bff +Imgs/land-01-34.svg,1623688205955,f578cf433614585a0a26adfe111a2687d1cf5316269b1ac86e6f422879485bff +Imgs/land-36.svg,1623688205955,8c9ace0e96b5f4c5f606434ed534a165daef511cfc2a7762d3f9b5766a624c3d +Imgs/leaf-right-20 2.svg,1623688205959,5b6498becef60012752f1fd84708b360771f4dab0b9c932505b1813fe1b60200 +Imgs/leaf-left-21 2.svg,1623688205959,1aec43cf4a000e6a9fc7e956dc601643728b66f765ff124f5b9032bf3e6adec3 +Imgs/leaf-right-20.svg,1623688205959,5b6498becef60012752f1fd84708b360771f4dab0b9c932505b1813fe1b60200 +Imgs/logo-09 2.svg,1623688205959,dbb6f1a97c3258ae253b73dc60e09fddc8c5556261e838a461d8f0994ed74562 +Imgs/logo-09.svg,1623688205960,dbb6f1a97c3258ae253b73dc60e09fddc8c5556261e838a461d8f0994ed74562 +Imgs/loupe.svg,1623688205961,dbfccca592a157efb296cef15d27128554b3e155c45c0e70fbf28f8ee82cd49d +Imgs/ducks-15.svg,1623688205950,3a3e0c88199902a0c30a41a1fb0ab744b23fecd3abeb587cacb3c2f4d2b0fe8e +Imgs/logo-19 2.svg,1623688205960,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 +Imgs/leaf-left-21.svg,1623688205959,1aec43cf4a000e6a9fc7e956dc601643728b66f765ff124f5b9032bf3e6adec3 +Imgs/logo-19.svg,1623688205960,baa7e7d14e30e46fa9e22661d9a40ab79e8a774fdbf64a4846e8cf3c47759021 +Imgs/passport-titlebg-30.svg,1623688205968,f47ca875a8e571f3f5310994a4afc14395286adf2d0e9850c94c53d1ab64e9b2 +Imgs/saved-title-30 2.svg,1623688205968,b206acae1a96ef1ea32d8e848d89218b1b2f142278d55dad5caada37e1ad5a91 +Imgs/saved-title-30.svg,1623688205968,b206acae1a96ef1ea32d8e848d89218b1b2f142278d55dad5caada37e1ad5a91 +Imgs/ducks-15 2.svg,1623688205949,3a3e0c88199902a0c30a41a1fb0ab744b23fecd3abeb587cacb3c2f4d2b0fe8e +Imgs/select-hippo-26 2.svg,1623688205969,d01f90abb039abb6691ccfe1e716e25bad8349e77c91fcef43637383e7c48e2a +Imgs/select-hippo-26.svg,1623688205969,d01f90abb039abb6691ccfe1e716e25bad8349e77c91fcef43637383e7c48e2a +Imgs/select-left-23 2.svg,1623688205971,174e2cd97717be11d73673086006335b04eb03e78c5df429b5df2dcde3cfd7cc +Imgs/select-left-23.svg,1623688205972,174e2cd97717be11d73673086006335b04eb03e78c5df429b5df2dcde3cfd7cc +Imgs/select-line-24 2.svg,1623688205972,9f015beff1d53edfe64faa20ca866849d57072ad28d77df8bc3387cd8220f6ed +Imgs/select-line-24.svg,1623688205972,9f015beff1d53edfe64faa20ca866849d57072ad28d77df8bc3387cd8220f6ed +Imgs/select-line-25 2.svg,1623688205972,ab827c996fb80b453c32b643d99c9ed95a917a2183823d08515f8d34f8643ecf +Imgs/select-line-25.svg,1623688205972,ab827c996fb80b453c32b643d99c9ed95a917a2183823d08515f8d34f8643ecf +Imgs/select-right-23 2.svg,1623688205972,3bf5611fb275ae83a309d8101d1a9a2053bd47e76a2d55596cb334c9008dad72 +Imgs/select-right-23.svg,1623688205973,3bf5611fb275ae83a309d8101d1a9a2053bd47e76a2d55596cb334c9008dad72 +Imgs/ticket-18 2.svg,1623688205991,33e874374403b989df61e39e2ad89b08bea74903750884d923e7f24f82f057f6 +Imgs/易危 2.png,1623688205991,d6a29f190729f6222806a8d711223766d79a896be514ed80f563de8fad08a8ab +Imgs/易危.png,1623688205991,d6a29f190729f6222806a8d711223766d79a896be514ed80f563de8fad08a8ab +Imgs/ticket-18.svg,1623688205991,33e874374403b989df61e39e2ad89b08bea74903750884d923e7f24f82f057f6 +Imgs/未評估 2.png,1623688205992,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a +Imgs/未評估.png,1623688205992,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a +Imgs/select-bg-22 2.svg,1623688205968,9044c80481267132e486945c27295b361ced7122f8c7ad33619ff8d709b6eadd +Imgs/極危 2.png,1623688205994,7dfd0cfe1c2403801d6075c8d6901a967bdafe41c064a980920591489b2b4c2b +Imgs/極危.png,1623688205994,7dfd0cfe1c2403801d6075c8d6901a967bdafe41c064a980920591489b2b4c2b +Imgs/land-37 2.svg,1623688205956,4ee0fc79038f6742f5d414823e28136a2f38f58d47c56b76256a880851593e4f +Imgs/land-37.svg,1623688205956,4ee0fc79038f6742f5d414823e28136a2f38f58d47c56b76256a880851593e4f +Imgs/select-bg-22.svg,1623688205969,9044c80481267132e486945c27295b361ced7122f8c7ad33619ff8d709b6eadd +Imgs/瀕危 2.png,1623688205994,3cc19c4e5fba55042c0e44437740dfd11bd4a00dd222a590462f834c7065dfd7 +Imgs/land-38 2.svg,1623688205957,22989a3b3a8da7679a14b96d441c79b66597c01f994c0d2c3a451b4098dc70bc +Imgs/land-38.svg,1623688205957,22989a3b3a8da7679a14b96d441c79b66597c01f994c0d2c3a451b4098dc70bc +Imgs/land-sm-39.svg,1623688205958,aa7caf783a03f94b563ba0ded32b7c88564ee11a6fef5a2fbd36d95d88643f6c +Imgs/land-sm-39 2.svg,1623688205958,aa7caf783a03f94b563ba0ded32b7c88564ee11a6fef5a2fbd36d95d88643f6c +Imgs/瀕危.png,1623688205995,3cc19c4e5fba55042c0e44437740dfd11bd4a00dd222a590462f834c7065dfd7 +Imgs/無危 2.png,1623688205995,a692d3a60048bb6916f3c97234a3a626b4d7ca49ee46307784323beffb932615 +Imgs/資料不足 2.png,1623688205996,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a +Imgs/無危.png,1623688205995,a692d3a60048bb6916f3c97234a3a626b4d7ca49ee46307784323beffb932615 +Imgs/資料不足.png,1623688205996,f3c4a63fc6e1ff96ed489334de6488bd00aea339673a2a12b06f7469dcffc52a +Imgs/野外滅絕 2.png,1623688205997,d089ddcf24853340af4eb04061c8e3f7a1d89e67c7425565c6a0234daa2b9f69 +Imgs/近危.png,1623688205996,43be826c28a1e54d16e23e09595b4d88facba8dea9b786e314473f8d16862791 +Imgs/野外滅絕.png,1623688205997,d089ddcf24853340af4eb04061c8e3f7a1d89e67c7425565c6a0234daa2b9f69 +Imgs/近危 2.png,1623688205996,43be826c28a1e54d16e23e09595b4d88facba8dea9b786e314473f8d16862791 +Imgs/passport-right-27.svg,1623688205967,7133d067e36bd9a6d820a21ef9b15bb63214437833bb090b4ab515dbd8d7e6e7 +Imgs/passport-right-27 2.svg,1623688205966,7133d067e36bd9a6d820a21ef9b15bb63214437833bb090b4ab515dbd8d7e6e7 +Imgs/stamp/澳洲動物區 2.png,1623688205982,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 +Imgs/stamp/澳洲動物區.png,1623688205984,0fc4c8ee630c35cde757df4fad67d43a4c86ee4a7db7d322d054ed67380f2207 +Imgs/stamp/企鵝館.png,1623688205974,fb58df03e0513f3488a849b7c9958ff109e8a64bc4fbd1c60527af2cd5abe122 +Imgs/stamp/企鵝館 2.png,1623688205974,fb58df03e0513f3488a849b7c9958ff109e8a64bc4fbd1c60527af2cd5abe122 +Labels/列車站-02 2.svg,1623688205998,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +Labels/列車站-02.svg,1623688205999,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +Labels/哺集乳室-02 2.svg,1623688205999,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +Labels/哺集乳室-02.svg,1623688205999,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +Labels/哺集乳室01 2.svg,1623688205999,b7551618b02bd7128b080a380d80b55627f26b18263aa5836b9520d36e5afce7 +Imgs/stamp/兩棲爬蟲動物館 2.png,1623688205975,da76727d04fd830746c5b1ec24b8171faa6ed17ef30459b382eb33a69f4db82e +Imgs/stamp/兩棲爬蟲動物館.png,1623688205976,da76727d04fd830746c5b1ec24b8171faa6ed17ef30459b382eb33a69f4db82e +Imgs/passport-bg-29 2.svg,1623688205961,89a958c56debbeaebad893e9fa147a7db348a5d8419816af2f1d3acace6d1581 +Labels/哺集乳室01.svg,1623688206000,b7551618b02bd7128b080a380d80b55627f26b18263aa5836b9520d36e5afce7 +Labels/商店-02 2.svg,1623688206000,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +Labels/商店-02.svg,1623688206000,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +Labels/團餐服務-02 2.svg,1623688206000,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +Labels/團餐服務-02.svg,1623688206001,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +Labels/娃娃車/輪椅租用-02.svg,1623688206001,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +Labels/寄物櫃-02 2.svg,1623688206002,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +Labels/寄物櫃-02.svg,1623688206002,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +Labels/廁所-02 2.svg,1623688206002,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +Labels/廁所-02.svg,1623688206002,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +Labels/娃娃車/輪椅租用-02 2.svg,1623688206001,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +222 2.png,1623688205913,aa6a282ec027aa65dfcb2781fd9ba53c971b0da72dfa4ac051761db9b04f393d +Labels/志工服務台-02 2.svg,1623688206003,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +Labels/志工服務台-02.svg,1623688206003,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +Imgs/passport-bg-29.svg,1623688205964,89a958c56debbeaebad893e9fa147a7db348a5d8419816af2f1d3acace6d1581 +Imgs/stamp/鳥園區 2.png,1623688205990,f7308dd27128749f79615269af5128f70106002dbef50c3aed3372e94581639f +Imgs/stamp/兒童動物區.png,1623688205975,58f4cf49bf1d5b23868a3f6ea696e01ecb8c0be294d7d920386b94b2194b037f +Imgs/stamp/兒童動物區 2.png,1623688205975,58f4cf49bf1d5b23868a3f6ea696e01ecb8c0be294d7d920386b94b2194b037f +222.png,1623688205914,aa6a282ec027aa65dfcb2781fd9ba53c971b0da72dfa4ac051761db9b04f393d +Imgs/stamp/新光特展館(大貓熊館) 2.png,1623688205977,79200251b03db1100875bbb7616acbc2a8e80e4da0e4d5fb078ce6aee00c0b05 +Imgs/stamp/鳥園區.png,1623688205990,f7308dd27128749f79615269af5128f70106002dbef50c3aed3372e94581639f +Imgs/stamp/新光特展館(大貓熊館).png,1623688205977,79200251b03db1100875bbb7616acbc2a8e80e4da0e4d5fb078ce6aee00c0b05 +Imgs/stamp/沙漠動物區 2.png,1623688205979,2ee3c029b594d1afcb5e159deaf84dfb81c5d6e754e7c604b203be92961d9931 +Imgs/stamp/溫帶動物區 2.png,1623688205980,08ce91a69b4d6aca9d5fc52efa798ae979a83f68ae1db4db807896005ee80523 +Imgs/stamp/沙漠動物區.png,1623688205980,2ee3c029b594d1afcb5e159deaf84dfb81c5d6e754e7c604b203be92961d9931 +Imgs/stamp/溫帶動物區.png,1623688205982,08ce91a69b4d6aca9d5fc52efa798ae979a83f68ae1db4db807896005ee80523 +Labels/提款機-02 2.svg,1623688206003,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +Labels/提款機-02.svg,1623688206003,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +Imgs/stamp/無尾熊館 2.png,1623688205985,2d854641e25c4d95874ecda82b56a68fa6e1312a3d6ae17cabf132ab36c81bf4 +Imgs/stamp/無尾熊館.png,1623688205985,2d854641e25c4d95874ecda82b56a68fa6e1312a3d6ae17cabf132ab36c81bf4 +Labels/涼亭-02 2.svg,1623688206004,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +Imgs/stamp/熱帶雨林區 2.png,1623688205986,c27b4c381cd301ac81e2949f36b55db034ffdfb008afead3b341762a75eb31f6 +Imgs/stamp/熱帶雨林區.png,1623688205986,c27b4c381cd301ac81e2949f36b55db034ffdfb008afead3b341762a75eb31f6 +Labels/涼亭-02.svg,1623688206004,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +Labels/護理站-02 2.svg,1623688206004,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +Labels/護理站-02.svg,1623688206004,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +Labels/販賣機-02 2.svg,1623688206005,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +Labels/販賣機-02.svg,1623688206005,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +Labels/遊客服務中心-02 2.svg,1623688206005,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +Labels/遊客服務中心-02.svg,1623688206005,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +Imgs/stamp/熱帶雨林室內館(穿山甲館) 2.png,1623688205987,4a2d74960c6fb54bc0d28c1e032d0ab946b7aba955e4bf0310b359e10020fce7 +Labels/飲水機-02 2.svg,1623688206006,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +Labels/飲水機-02.svg,1623688206006,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +Labels/餐飲-02 2.svg,1623688206006,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +Labels/餐飲-02.svg,1623688206006,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +Imgs/stamp/昆蟲館 2.png,1623688205978,1f9a540d9ac6598f822843cd2df4c5630a89446c7dfda4d92cea1f4f5808b4eb +Imgs/stamp/熱帶雨林室內館(穿山甲館).png,1623688205988,4a2d74960c6fb54bc0d28c1e032d0ab946b7aba955e4bf0310b359e10020fce7 +Imgs/stamp/昆蟲館.png,1623688205979,1f9a540d9ac6598f822843cd2df4c5630a89446c7dfda4d92cea1f4f5808b4eb +Imgs/stamp/臺灣動物區 2.png,1623688205988,e146596ef7b9a2ce9c02b07f53bf2345c348f4288d1c3a147982ca910d60defb +Imgs/stamp/臺灣動物區.png,1623688205989,e146596ef7b9a2ce9c02b07f53bf2345c348f4288d1c3a147982ca910d60defb +Imgs/stamp/非洲動物區 2.png,1623688205989,23127631ecc87906086c99cb36d0fa54989256041c472d63203b6872ee29f0f2 +Imgs/stamp/非洲動物區.png,1623688205990,23127631ecc87906086c99cb36d0fa54989256041c472d63203b6872ee29f0f2 +animals/中國鱷蜥 2.jpeg,1623688206009,80855a95bf37ff4cd10d69e6a651dd180ff2ccf7eadaf1e3ff6c067b91f1e9f6 +animals/中國鱷蜥.jpeg,1623688206010,80855a95bf37ff4cd10d69e6a651dd180ff2ccf7eadaf1e3ff6c067b91f1e9f6 +animals/侏儒河馬 2.jpeg,1623688206026,e5bc93391bbf357e57cb3a2a595220799960d152faf49032032bbee6bdac593c +animals/侏儒河馬.jpeg,1623688206026,e5bc93391bbf357e57cb3a2a595220799960d152faf49032032bbee6bdac593c +animals/中部鬍鬚蜥.jpeg,1623688206011,93e5b74d19637dc7d9f5fe95032ce8c773c548809f203a337117d08060d723d7 +animals/中部鬍鬚蜥 2.jpeg,1623688206010,93e5b74d19637dc7d9f5fe95032ce8c773c548809f203a337117d08060d723d7 +animals/亞洲象 2.jpeg,1623688206019,8ea995b6ae1ec8825e184188b50ef2f3f7367ccc75f5a0a918ffcaec1242f899 +animals/亞洲象.jpeg,1623688206019,8ea995b6ae1ec8825e184188b50ef2f3f7367ccc75f5a0a918ffcaec1242f899 +animals/亞達伯拉象龜.jpeg,1623688206024,5aaf22d6e71647ecfa4a7e4b6a17bcdde9bb4ca3b83339344438fc92814d51dd +animals/亞達伯拉象龜 2.jpeg,1623688206023,5aaf22d6e71647ecfa4a7e4b6a17bcdde9bb4ca3b83339344438fc92814d51dd +animals/北美灰狼.jpeg,1623688206037,f31ad7854cfd8cd18d16563eec1e0f88d8b20387e5501cb2ae9407428e00bbc1 +animals/北美灰狼 2.jpeg,1623688206036,f31ad7854cfd8cd18d16563eec1e0f88d8b20387e5501cb2ae9407428e00bbc1 +animals/加州王蛇 2.jpeg,1623688206033,51aa2f0d4e93e7355b028fad20f78c8bc8f67821f1e787c8082f7fbfeca49fd4 +animals/加州王蛇.jpeg,1623688206033,51aa2f0d4e93e7355b028fad20f78c8bc8f67821f1e787c8082f7fbfeca49fd4 +Imgs/passport-left-28 2.svg,1623688205965,f5a1cf4a3f766fd4a0d5f33650d29ee9c53b15962b1bd87efab701f257793e26 +Imgs/passport-left-28.svg,1623688205966,f5a1cf4a3f766fd4a0d5f33650d29ee9c53b15962b1bd87efab701f257793e26 +animals/北非髯羊 2.jpeg,1623688206037,bb5ca9d46a3afe7144e7d5b9ec6a14cec9d5a9bc949b32f7b293553b1b13241b +animals/北非髯羊.jpeg,1623688206038,bb5ca9d46a3afe7144e7d5b9ec6a14cec9d5a9bc949b32f7b293553b1b13241b +animals/卡羅萊納箱龜 2.jpeg,1623688206043,15456f0b7c7e24ce9430088d2a64b04fe96ced14b981e0db95c681f3632ed888 +animals/印度星龜 2.jpeg,1623688206044,c437b431ba6e8373561245995a3fb5c975301c0852a9124603b5f98c10b9855b +animals/卡羅萊納箱龜.jpeg,1623688206044,15456f0b7c7e24ce9430088d2a64b04fe96ced14b981e0db95c681f3632ed888 +animals/印度星龜.jpeg,1623688206044,c437b431ba6e8373561245995a3fb5c975301c0852a9124603b5f98c10b9855b +animals/台灣小紫蛺蝶 2.jpeg,1623688206045,b6c0a31542916b98fd4380ebc34cfd64a40379a48f140b4f9599082f8562ff7a +animals/台灣小紫蛺蝶.jpeg,1623688206045,b6c0a31542916b98fd4380ebc34cfd64a40379a48f140b4f9599082f8562ff7a +animals/單峰駱駝.jpeg,1623688206048,f99aff9a80fddf455ec61ab49fc0601309e21356803d542dcb289558e7cadbdb +animals/單峰駱駝 2.jpeg,1623688206047,f99aff9a80fddf455ec61ab49fc0601309e21356803d542dcb289558e7cadbdb +animals/伊蘭羚羊.jpeg,1623688206025,2bbc61c53074c61c1b33e80641195a40e05254dcc36b948bf736be40c357ed63 +animals/伊蘭羚羊 2.jpeg,1623688206025,2bbc61c53074c61c1b33e80641195a40e05254dcc36b948bf736be40c357ed63 +animals/南方食火雞 2.jpeg,1623688206038,ffea0dbccdedd8b998232908ed5f9b630ec60621b4a1be1b645c4a5db71adc4e +animals/南方食火雞.jpeg,1623688206039,ffea0dbccdedd8b998232908ed5f9b630ec60621b4a1be1b645c4a5db71adc4e +animals/國王企鵝 2.jpeg,1623688206049,58de5773711be0bd64040fe86fada1df5448daaf36d13e2d07f82a7445823939 +animals/國王企鵝.jpeg,1623688206049,58de5773711be0bd64040fe86fada1df5448daaf36d13e2d07f82a7445823939 +animals/墨西哥紅膝頭蜘蛛 2.jpeg,1623688206052,d4370a27894a853722c17b934dd2c2fc6d46f527ba661507372b80c68ad0480f +animals/墨西哥紅膝頭蜘蛛.jpeg,1623688206056,d4370a27894a853722c17b934dd2c2fc6d46f527ba661507372b80c68ad0480f +animals/埃及聖鹮 2.jpeg,1623688206050,4d1422961c874e6d4065601b6394af82280b414203356a1c4178d24de6997f79 +animals/埃及聖鹮.jpeg,1623688206050,4d1422961c874e6d4065601b6394af82280b414203356a1c4178d24de6997f79 +animals/加拿大河狸 2.jpeg,1623688206034,6bb4e6ceaa228fa643c95c9f07fc1543fe17ad50b561133dc7a2ec721ea2ea78 +animals/大巨嘴鳥 2.jpeg,1623688206062,1fb0092d9133195ed2ebcaee269c6de9571e2331b5240aaa8f9f7a5a796cf9a4 +animals/大巨嘴鳥.jpeg,1623688206062,1fb0092d9133195ed2ebcaee269c6de9571e2331b5240aaa8f9f7a5a796cf9a4 +animals/加拿大河狸.jpeg,1623688206035,6bb4e6ceaa228fa643c95c9f07fc1543fe17ad50b561133dc7a2ec721ea2ea78 +animals/四爪陸龜 2.jpeg,1623688206048,c39bf58045490a9e194a2a28f8d077b3257e3731bde1f6fcffd637c027ca3813 +animals/四爪陸龜.jpeg,1623688206048,c39bf58045490a9e194a2a28f8d077b3257e3731bde1f6fcffd637c027ca3813 +animals/埃及雁 2.jpeg,1623688206051,9d4b77f090ce430c8e6ddb868a32b656e0fc37c793e4578f9f4c6625ea8a993a +animals/埃及雁.jpeg,1623688206051,9d4b77f090ce430c8e6ddb868a32b656e0fc37c793e4578f9f4c6625ea8a993a +animals/丹頂鶴 2.jpeg,1623688206012,feba694ec04c1c195b0b7e85eaada3b30822b9c948fe7c33875c3ff904d4181b +animals/大冠鷲 2.jpeg,1623688206056,b1970eac34da0f63f038bbe5a64ce62fad0a361aefa3fa545935bb33177a3001 +animals/丹頂鶴.jpeg,1623688206013,feba694ec04c1c195b0b7e85eaada3b30822b9c948fe7c33875c3ff904d4181b +animals/大冠鷲.jpeg,1623688206056,b1970eac34da0f63f038bbe5a64ce62fad0a361aefa3fa545935bb33177a3001 +animals/南美小食蟻獸 2.jpeg,1623688206039,07e764154519cf38e28e335ee461750e2c9cbc632438d88ad6fbd2bb77717200 +animals/南美小食蟻獸.jpeg,1623688206042,07e764154519cf38e28e335ee461750e2c9cbc632438d88ad6fbd2bb77717200 +animals/大琉璃紋鳳蝶 2.jpeg,1623688206068,e057ef11b1bb1cdda3e4469b23bc4eec5c840cf57a249c99aab04dd944424a74 +animals/大琉璃紋鳳蝶.jpeg,1623688206068,e057ef11b1bb1cdda3e4469b23bc4eec5c840cf57a249c99aab04dd944424a74 +animals/大寶冠鳥 2.jpeg,1623688206061,55db17b30240851bc4c34dd72f61f640d68687d115ab712d47a15a291c3ec3af +animals/大紅娘華 2.jpeg,1623688206069,6db4d0c6cae35693717899369459e013f5aae8bc6b48dfe4833118976819f029 +animals/大紅娘華.jpeg,1623688206069,6db4d0c6cae35693717899369459e013f5aae8bc6b48dfe4833118976819f029 +animals/大寶冠鳥.jpeg,1623688206062,55db17b30240851bc4c34dd72f61f640d68687d115ab712d47a15a291c3ec3af +animals/亞洲棕龜 2.jpeg,1623688206016,717a4b2bd1bb2e6e3e997cb41396446c18116f4b6dd33461f6daf8378fe04946 +animals/亞洲棕龜.jpeg,1623688206018,717a4b2bd1bb2e6e3e997cb41396446c18116f4b6dd33461f6daf8378fe04946 +animals/六點瘤胸竹節蟲 2.jpeg,1623688206027,98f1ac5860a695a9eedb5d54356e54f17e022b967e8393d072b8f74069a79153 +animals/六點瘤胸竹節蟲.jpeg,1623688206027,98f1ac5860a695a9eedb5d54356e54f17e022b967e8393d072b8f74069a79153 +animals/堅硬雙針家蟻.jpeg,1623688206052,3662ba80acc1679a0218bb5df71a239df6a127f1ae122cd0a5618091a967ee71 +animals/大鱗脂鯉 2.jpeg,1623688206075,23428f54811e3d4a707fdf7025d6f4a627793fe4a32d4e281d790a5bd7c6523c +animals/大鱗脂鯉.jpeg,1623688206075,23428f54811e3d4a707fdf7025d6f4a627793fe4a32d4e281d790a5bd7c6523c +animals/堅硬雙針家蟻 2.jpeg,1623688206052,3662ba80acc1679a0218bb5df71a239df6a127f1ae122cd0a5618091a967ee71 +animals/北美浣熊 2.jpeg,1623688206035,ad470e5bcd79f7231004595a7ed8f09bd24d089efe4581731ba9959d9a594b16 +animals/北美浣熊.jpeg,1623688206036,ad470e5bcd79f7231004595a7ed8f09bd24d089efe4581731ba9959d9a594b16 +animals/大長臂猿 2.jpeg,1623688206072,afd4d27932a5389131815990cf81e113013f0124cff1e863a62de8e26bbf71dd +animals/大長臂猿.jpeg,1623688206072,afd4d27932a5389131815990cf81e113013f0124cff1e863a62de8e26bbf71dd +animals/大頭家蟻 2.jpeg,1623688206073,9d2a776d4e40ebf81c2957bc2445514461abbf333196ae210f853342690ba03b +animals/大頭家蟻.jpeg,1623688206073,9d2a776d4e40ebf81c2957bc2445514461abbf333196ae210f853342690ba03b +animals/善變蜻蜓 2.jpeg,1623688206046,85c52e1b9447670a62a0e72a238e48b44b9915c8ad28a344838c612fb62735bd +animals/大紅鶴 2.jpeg,1623688206070,a03004da409f1f3554283849f04308f8025137d27d21cb922ed03e7b3eef0119 +animals/大紅鶴.jpeg,1623688206070,a03004da409f1f3554283849f04308f8025137d27d21cb922ed03e7b3eef0119 +animals/善變蜻蜓.jpeg,1623688206047,85c52e1b9447670a62a0e72a238e48b44b9915c8ad28a344838c612fb62735bd +animals/二趾樹獺.jpeg,1623688206015,442f60eef653f150caaf726aae4ca46e6019611b6b8bb316d3b3fe272da41f18 +animals/二趾樹獺 2.jpeg,1623688206014,442f60eef653f150caaf726aae4ca46e6019611b6b8bb316d3b3fe272da41f18 +animals/大鳳蝶 2.jpeg,1623688206075,28dabc1b313b6e443268f9b925c28ce8506eb4addb1ac13ddfcbef39baa78f2c +animals/大鳳蝶.jpeg,1623688206079,28dabc1b313b6e443268f9b925c28ce8506eb4addb1ac13ddfcbef39baa78f2c +animals/小懶猴 2.jpeg,1623688206092,5f16f5bdac0cbb18f17c5869cb1f750b0d0802bc6cabf3c448708e72b77dd603 +animals/孟加拉虎 2.jpeg,1623688206080,ca77ecf5969a937804e1e813036e9ddb15dd8c2f75281b05541a378ca68d55c0 +animals/孟加拉虎.jpeg,1623688206081,ca77ecf5969a937804e1e813036e9ddb15dd8c2f75281b05541a378ca68d55c0 +animals/小懶猴.jpeg,1623688206093,5f16f5bdac0cbb18f17c5869cb1f750b0d0802bc6cabf3c448708e72b77dd603 +animals/小扁竹節蟲 2.jpeg,1623688206093,a31b871040ce7f10e2d759b08ed82ac0169d263d5a3146b1749b3645555ac1e4 +animals/小扁竹節蟲.jpeg,1623688206093,a31b871040ce7f10e2d759b08ed82ac0169d263d5a3146b1749b3645555ac1e4 +animals/家驢 2.jpeg,1623688206085,570d4d0bb917b50917e59cfba423109c491a01403e243a57379b773d7071941f +animals/家驢.jpeg,1623688206086,570d4d0bb917b50917e59cfba423109c491a01403e243a57379b773d7071941f +animals/婆羅洲人猿 2.jpeg,1623688206080,1ef458a29c881b90a9a7804bf7d3a0c86742357020ce2a9eddf4818e6124486c +animals/婆羅洲人猿.jpeg,1623688206080,1ef458a29c881b90a9a7804bf7d3a0c86742357020ce2a9eddf4818e6124486c +animals/小爪水獺 2.jpeg,1623688206094,ff70f3f34f7ef2693045300e587f62d8437519a1710769f058817ee3be026b8c +animals/小爪水獺.jpeg,1623688206094,ff70f3f34f7ef2693045300e587f62d8437519a1710769f058817ee3be026b8c +animals/尖刺足刺竹節蟲.jpeg,1623688206100,68128cb67914439d05166ba651b2abb18814b2a90b0d1d6e1b0dc398297607e0 +animals/大壁虎 2.jpeg,1623688206060,b43157c826243802c8ba8823552be753459c6623d28f9d800548763fc635970f +animals/大壁虎.jpeg,1623688206061,b43157c826243802c8ba8823552be753459c6623d28f9d800548763fc635970f +animals/尖刺足刺竹節蟲 2.jpeg,1623688206100,68128cb67914439d05166ba651b2abb18814b2a90b0d1d6e1b0dc398297607e0 +animals/巨嘴鴉 2.jpeg,1623688206106,d6885d59da8b1954a869ca70cf57df3ed91f5b374da97325e99343ccba902c27 +animals/巨嘴鴉.jpeg,1623688206106,d6885d59da8b1954a869ca70cf57df3ed91f5b374da97325e99343ccba902c27 +animals/六點金翼蟑螂 2.jpeg,1623688206029,a97233c0f2213b35d1df76e0bb33018304a7f10670da19a76af2352e98afecf3 +animals/巨板蜥 2.jpeg,1623688206106,1082bd8503ee34ada4245fc8a97c866e7c167b3eb61655238a898c55b9b9c1b9 +animals/亞洲黑熊 2.jpeg,1623688206021,0205d51a5a89bfc99010572dab586fb4325ab1d8f50e967330bd5c360762a9e8 +animals/六點金翼蟑螂.jpeg,1623688206032,a97233c0f2213b35d1df76e0bb33018304a7f10670da19a76af2352e98afecf3 +animals/巨板蜥.jpeg,1623688206107,1082bd8503ee34ada4245fc8a97c866e7c167b3eb61655238a898c55b9b9c1b9 +animals/家八哥 2.jpeg,1623688206084,ed3097d4d79e182b53c112337c7aef1e83ab2d6b6f936ea586dd69efc9e48970 +animals/家八哥.jpeg,1623688206085,ed3097d4d79e182b53c112337c7aef1e83ab2d6b6f936ea586dd69efc9e48970 +animals/亞洲黑熊.jpeg,1623688206021,0205d51a5a89bfc99010572dab586fb4325ab1d8f50e967330bd5c360762a9e8 +animals/大圓斑球背象鼻蟲 2.jpeg,1623688206057,37292e8f753eada99a8be062cd4b705fc460f4107c0e7ab9ce950900636ac653 +animals/巴西亞金三間 2.jpeg,1623688206108,53e4f3d6453c08bf85dd439a052bc08dff10966f4361eb894f81f5f554142bdb +animals/大圓斑球背象鼻蟲.jpeg,1623688206059,37292e8f753eada99a8be062cd4b705fc460f4107c0e7ab9ce950900636ac653 +animals/弓角羚羊.jpeg,1623688206111,ae98b4254696bbae2ab23a22809df6faa0d21c76730994b67522f7248098e5d9 +animals/弓角羚羊 2.jpeg,1623688206111,ae98b4254696bbae2ab23a22809df6faa0d21c76730994b67522f7248098e5d9 +animals/巴西亞金三間.jpeg,1623688206109,53e4f3d6453c08bf85dd439a052bc08dff10966f4361eb894f81f5f554142bdb +animals/彩虹蚺 2.jpeg,1623688206112,f8ee49e2f4628aa931af0f6e7c80ccb2a79c13d582995e660596e81c6b75f73b +animals/彩虹蚺.jpeg,1623688206112,f8ee49e2f4628aa931af0f6e7c80ccb2a79c13d582995e660596e81c6b75f73b +animals/巨人葉䗛.jpeg,1623688206105,0f836a31fcb09a890c79a2a851752fa0e0bb1b76f07e2297079fea655a7e76a7 +animals/巨人葉䗛 2.jpeg,1623688206102,0f836a31fcb09a890c79a2a851752fa0e0bb1b76f07e2297079fea655a7e76a7 +animals/大食蟻獸 2.jpeg,1623688206074,bfadca19810cae0685809cfce16bd8c79e256a76a198e1550c60eff0ccd2af8a +animals/巨棘竹節蟲 2.jpeg,1623688206107,5a52c96c7d62dcc46a57993def0d20d140efa6cf1a2395fdd371dc1010563f8e +animals/大食蟻獸.jpeg,1623688206074,bfadca19810cae0685809cfce16bd8c79e256a76a198e1550c60eff0ccd2af8a +animals/折衷鸚鵡 2.jpeg,1623688206114,908d7445759c05781bdedbd280638b2e4d074313eb576e40b9ec7c89546f85e3 +animals/巨棘竹節蟲.jpeg,1623688206108,5a52c96c7d62dcc46a57993def0d20d140efa6cf1a2395fdd371dc1010563f8e +animals/折衷鸚鵡.jpeg,1623688206114,908d7445759c05781bdedbd280638b2e4d074313eb576e40b9ec7c89546f85e3 +animals/小貓熊.jpeg,1623688206097,3982a6d323cdcdb435098b4730afbc7d29979055dc0f364b454a8c1d3d86e0fa +animals/大猩猩 2.jpeg,1623688206064,b263ebc828a8ac293c591b34ce0cd329c7e96de21fcdbb91ae24f2952fe1e384 +animals/小貓熊 2.jpeg,1623688206096,3982a6d323cdcdb435098b4730afbc7d29979055dc0f364b454a8c1d3d86e0fa +animals/大猩猩.jpeg,1623688206068,b263ebc828a8ac293c591b34ce0cd329c7e96de21fcdbb91ae24f2952fe1e384 +animals/小單帶蛺蝶.jpeg,1623688206092,fcd46bc3c6d15fbe7a24c1eead73d0ecd12d07c53446af6753000d5fe9cc4b5b +animals/小單帶蛺蝶 2.jpeg,1623688206091,fcd46bc3c6d15fbe7a24c1eead73d0ecd12d07c53446af6753000d5fe9cc4b5b +animals/斯文豪氏赤蛙 2.jpeg,1623688206130,5554bb99244537c9a9e6f21f06f49b3de798bdf50776159b997e584b30bbc4e2 +animals/斯文豪氏赤蛙.jpeg,1623688206130,5554bb99244537c9a9e6f21f06f49b3de798bdf50776159b997e584b30bbc4e2 +animals/斑龜.jpeg,1623688206127,35998e939a659e7e00b41168697ea2f63f9ecf85964e01d5b40bda37ed04ff12 +animals/大貓熊 2.jpeg,1623688206070,07642a646de07d1b3a2932a04f2b63c5e1637f4d42900271bc5efb3ab9a94690 +animals/斑龜 2.jpeg,1623688206127,35998e939a659e7e00b41168697ea2f63f9ecf85964e01d5b40bda37ed04ff12 +animals/斯文豪氏攀蜥.jpeg,1623688206129,377820142fd81a834251e792a6c5f2df897ee321601f0ab1bfea49eb767dc7d5 +animals/斯文豪氏攀蜥 2.jpeg,1623688206129,377820142fd81a834251e792a6c5f2df897ee321601f0ab1bfea49eb767dc7d5 +animals/大貓熊.jpeg,1623688206071,07642a646de07d1b3a2932a04f2b63c5e1637f4d42900271bc5efb3ab9a94690 +animals/扁竹節蟲 2.jpeg,1623688206113,c36073732915d4a0fc921d1e7df9b4896364c68c84f80f7448f04b53e0b5a987 +animals/扁竹節蟲.jpeg,1623688206113,c36073732915d4a0fc921d1e7df9b4896364c68c84f80f7448f04b53e0b5a987 +animals/小葵花鳳頭鸚鵡 2.jpeg,1623688206095,8069e9f5a8626f540e4019174222a94d27ac79beb0b4182e3d8c1b549956fa94 +animals/小葵花鳳頭鸚鵡.jpeg,1623688206095,8069e9f5a8626f540e4019174222a94d27ac79beb0b4182e3d8c1b549956fa94 +animals/少棘蜈蚣.jpeg,1623688206099,81e322ab6f403d722104561a5b04e53838d15d3c0e19cd65bb63f5fc89ea1470 +animals/少棘蜈蚣 2.jpeg,1623688206098,81e322ab6f403d722104561a5b04e53838d15d3c0e19cd65bb63f5fc89ea1470 +animals/帝王蠍 2.jpeg,1623688206110,06d71151f021e3b17d7259e27f8eaa1fcf7e1722fd7a96687a529ea78dfea63e +animals/帝王蠍.jpeg,1623688206110,06d71151f021e3b17d7259e27f8eaa1fcf7e1722fd7a96687a529ea78dfea63e +animals/栗鳶 2.jpeg,1623688206144,b12dc60f537d06608282b258f5d890ad253f29c39192aa54e399c7f976703c8c +animals/東非狒狒 2.jpeg,1623688206138,b29eca444bfb64f95fc8ee39767fd6ca104bac3707b7ac87597721a81af023b3 +animals/栗鳶.jpeg,1623688206145,b12dc60f537d06608282b258f5d890ad253f29c39192aa54e399c7f976703c8c +animals/東非狒狒.jpeg,1623688206139,b29eca444bfb64f95fc8ee39767fd6ca104bac3707b7ac87597721a81af023b3 +animals/斑點鬣狗.jpeg,1623688206126,23aa2c1ded87c4f66303d65d77b1e2a156b4a2b814bff50c739160f51e1dd235 +animals/安南龜.jpeg,1623688206084,2d73420dc5242811206f6636dd7b6a61bb4ae84c23e1c7e05186d6e2d6b148b2 +animals/安南龜 2.jpeg,1623688206082,2d73420dc5242811206f6636dd7b6a61bb4ae84c23e1c7e05186d6e2d6b148b2 +animals/斑點鬣狗 2.jpeg,1623688206126,23aa2c1ded87c4f66303d65d77b1e2a156b4a2b814bff50c739160f51e1dd235 +animals/栗喉蜂虎 2.jpeg,1623688206144,3abcdba54ab8aee26853ac5e414e3b1514991702088074fe79a4304224850f9d +animals/栗喉蜂虎.jpeg,1623688206144,3abcdba54ab8aee26853ac5e414e3b1514991702088074fe79a4304224850f9d +animals/智利紅鶴 2.jpeg,1623688206132,97e7e0cf9a41d941186a78cbb40a11470cf7a097b12b89c574cd1c2dd111d86d +animals/智利紅鶴.jpeg,1623688206132,97e7e0cf9a41d941186a78cbb40a11470cf7a097b12b89c574cd1c2dd111d86d +animals/晏蜓水蠆 2.jpeg,1623688206131,80ea6b12429982b49b4f35014a65c71b1affdedf9ad8dcb8554485a5605f4fb4 +animals/晏蜓水蠆.jpeg,1623688206131,80ea6b12429982b49b4f35014a65c71b1affdedf9ad8dcb8554485a5605f4fb4 +animals/查普曼斑馬.jpeg,1623688206141,131c94208210d54a1d72fe2a4f4e7ae9a274a009fb9cf419b2568d2d667d80e9 +animals/查普曼斑馬 2.jpeg,1623688206141,131c94208210d54a1d72fe2a4f4e7ae9a274a009fb9cf419b2568d2d667d80e9 +animals/樺斑蝶 2.jpeg,1623688206158,7a1ec837abd5b637ef5bd5672c481cf0099308b749e054e26864fb9e2c867e8d +animals/樺斑蝶.jpeg,1623688206158,7a1ec837abd5b637ef5bd5672c481cf0099308b749e054e26864fb9e2c867e8d +animals/格利威斑馬 2.jpeg,1623688206145,78e2d4c25065bb05f10d2efe7a20d368e517c6cffb84ef6c9d7576b240d23117 +animals/射紋陸龜.jpeg,1623688206090,090aeef5245b947d369a33781d58e3ffa52f807d589ba6c5c707298b71bb4925 +animals/格利威斑馬.jpeg,1623688206146,78e2d4c25065bb05f10d2efe7a20d368e517c6cffb84ef6c9d7576b240d23117 +animals/射紋陸龜 2.jpeg,1623688206087,090aeef5245b947d369a33781d58e3ffa52f807d589ba6c5c707298b71bb4925 +animals/泰國小紅翅竹節蟲 2.jpeg,1623688206177,54144b753b7043a9ed7700941406a32d7489d65582078ccc2e376100edb54817 +animals/淡小紋青斑蝶 2.jpeg,1623688206179,eb8467105051df228530ae173d7cb776a9bf013ba7b6136ea2450c75473eb3b3 +animals/淡小紋青斑蝶.jpeg,1623688206179,eb8467105051df228530ae173d7cb776a9bf013ba7b6136ea2450c75473eb3b3 +animals/泰國小紅翅竹節蟲.jpeg,1623688206177,54144b753b7043a9ed7700941406a32d7489d65582078ccc2e376100edb54817 +animals/棕頭蜘蛛猴.jpeg,1623688206157,0db51e073cd0fd2023bedb0cce2ace7abb5a5a505f519ebe5b4bab968581ec93 +animals/棕頭蜘蛛猴 2.jpeg,1623688206156,0db51e073cd0fd2023bedb0cce2ace7abb5a5a505f519ebe5b4bab968581ec93 +animals/河馬 2.jpeg,1623688206176,5d32fd9b6d88eed8456ea21aba26e60831756ad8106548f201a005d01c48f4b0 +animals/河馬.jpeg,1623688206176,5d32fd9b6d88eed8456ea21aba26e60831756ad8106548f201a005d01c48f4b0 +animals/棉頭絹猴 2.jpeg,1623688206151,42189b9b4eb9103eb3f21e9ec4c18e5821f6078481c89d983e4fd3a9ee10444f +animals/棉頭絹猴.jpeg,1623688206152,42189b9b4eb9103eb3f21e9ec4c18e5821f6078481c89d983e4fd3a9ee10444f +animals/澳洲冠鳩 2.jpeg,1623688206180,1ad2e697ce64d023a153363891bb176d61b26deb8ad309d799b2c071edfe4064 +animals/澳洲冠鳩.jpeg,1623688206180,1ad2e697ce64d023a153363891bb176d61b26deb8ad309d799b2c071edfe4064 +animals/山獅 2.jpeg,1623688206101,70005a9d65e8f7e4bcb6cae22fef1c1b0129b877243b3771cd03fe074bc1bbe1 +animals/山獅.jpeg,1623688206102,70005a9d65e8f7e4bcb6cae22fef1c1b0129b877243b3771cd03fe074bc1bbe1 +animals/揚子鱷 2.jpeg,1623688206121,9294ada8decdca4955344a3a6aa2735614c6bc949e0346c522929b8fd4ad8ef1 +animals/揚子鱷.jpeg,1623688206122,9294ada8decdca4955344a3a6aa2735614c6bc949e0346c522929b8fd4ad8ef1 +animals/灰林鴿 2.jpeg,1623688206181,b28629448f01f694855e7327f4de62db399503fb32f4497dc2f404b5f97119af +animals/灰林鴿.jpeg,1623688206181,b28629448f01f694855e7327f4de62db399503fb32f4497dc2f404b5f97119af +animals/棕蜘蛛猴.jpeg,1623688206155,5c09efd3cbb54b3141bea262e7896829129673bf7714b6c36882e56e2d90213e +animals/棕蜘蛛猴 2.jpeg,1623688206154,5c09efd3cbb54b3141bea262e7896829129673bf7714b6c36882e56e2d90213e +animals/灰野雞 2.jpeg,1623688206184,df40cb063db7058a7a480578e87dfdf4ddb4249c7d9debaf30c2892a6aaea17b +animals/灰野雞.jpeg,1623688206187,df40cb063db7058a7a480578e87dfdf4ddb4249c7d9debaf30c2892a6aaea17b +animals/指猴.jpeg,1623688206116,8916417572083c88c01ef10f854d3e82b857a1d98cc2cbb0aa4f9f165e7fcae9 +animals/指猴 2.jpeg,1623688206115,8916417572083c88c01ef10f854d3e82b857a1d98cc2cbb0aa4f9f165e7fcae9 +animals/無尾鳳蝶 2.jpeg,1623688206191,f55dd00e41d533965570419fba4f044b6ecaeb7dbf1b34d4eb721be7ab5272cd +animals/無尾鳳蝶 2.jpg,1623688206192,7a0381f8b97240e75d3d6ed2a95fe526402859021cf03845491bad36aa2d416c +animals/無尾鳳蝶.jpeg,1623688206192,f55dd00e41d533965570419fba4f044b6ecaeb7dbf1b34d4eb721be7ab5272cd +animals/灰頸冠鶴 2.jpeg,1623688206188,931f705ec05fd2f58f5ed871aba47e7798ed8389c723cfa30e5aaf91c907513e +animals/無尾鳳蝶.jpg,1623688206193,7a0381f8b97240e75d3d6ed2a95fe526402859021cf03845491bad36aa2d416c +animals/棕櫚鳳頭鸚鵡 2.jpeg,1623688206153,b1dfaa80a4e61be26948f515b0518350a4822b0206549248f8c22db43eba4e6e +animals/灰頸冠鶴.jpeg,1623688206189,931f705ec05fd2f58f5ed871aba47e7798ed8389c723cfa30e5aaf91c907513e +animals/棕櫚鳳頭鸚鵡.jpeg,1623688206154,b1dfaa80a4e61be26948f515b0518350a4822b0206549248f8c22db43eba4e6e +animals/歐洲蛇蜥.jpeg,1623688206167,6f2e9e0d3920d22eca80d737b5dcd1cdd05bb423fbd00fca79585931ec874e3a +animals/烏鴉鳳蝶 2.jpeg,1623688206190,36d1d478452151c48bdff4d614d938480980ef1a48cc6fc91baebbdfc630954c +animals/烏鴉鳳蝶.jpeg,1623688206190,36d1d478452151c48bdff4d614d938480980ef1a48cc6fc91baebbdfc630954c +animals/歐洲蛇蜥 2.jpeg,1623688206166,6f2e9e0d3920d22eca80d737b5dcd1cdd05bb423fbd00fca79585931ec874e3a +animals/水鹿 2.jpeg,1623688206172,cb5f60b22a66ab015ae177b8e735a5fce38cada59f8895bdcf0c8ec1eb379c6e +animals/水鹿.jpeg,1623688206175,cb5f60b22a66ab015ae177b8e735a5fce38cada59f8895bdcf0c8ec1eb379c6e +animals/枯葉蝶 2.jpeg,1623688206139,87aeda4d842dabf7ec264e3529e4839300aa4b400cb62fda10320219b735b5e2 +animals/歐亞水獺 2.jpeg,1623688206164,8e293648d3a420efa70366b96f1827f3caf8d0f218412a189fe3a6fbe7b7c060 +animals/歐亞水獺.jpeg,1623688206165,8e293648d3a420efa70366b96f1827f3caf8d0f218412a189fe3a6fbe7b7c060 +animals/柴棺龜 2.jpeg,1623688206142,f04f85b88f072a7149b27d1d46dee0624fd30d05858415f53abaca563aed7975 +animals/柴棺龜.jpeg,1623688206143,f04f85b88f072a7149b27d1d46dee0624fd30d05858415f53abaca563aed7975 +animals/枯葉蝶.jpeg,1623688206140,87aeda4d842dabf7ec264e3529e4839300aa4b400cb62fda10320219b735b5e2 +animals/水豚 2.jpeg,1623688206167,348d1d3745a127d3a3244e415e2d9fa5a2fade39384eee88608d82a194d60d1e +animals/水豚.jpeg,1623688206171,348d1d3745a127d3a3244e415e2d9fa5a2fade39384eee88608d82a194d60d1e +animals/灰鶴 2.jpeg,1623688206189,1c0cc1f14f90d1f284e513f099bdb449ba9a2d9e4a3b52dfc994fcdce26b5cec +animals/灰鶴.jpeg,1623688206189,1c0cc1f14f90d1f284e513f099bdb449ba9a2d9e4a3b52dfc994fcdce26b5cec +animals/無尾熊.jpeg,1623688206191,46487139d81726d6d1433ee70ba41f7168bfb56748c380869e6d34796d627a11 +animals/猩紅蜻蜓 2.jpeg,1623688206198,94aae28d9263d01d6befa3ea9f3975dbabab97efc3d1dee04d3f64d81c4a3932 +animals/猩紅蜻蜓.jpeg,1623688206198,94aae28d9263d01d6befa3ea9f3975dbabab97efc3d1dee04d3f64d81c4a3932 +animals/無尾熊 2.jpeg,1623688206191,46487139d81726d6d1433ee70ba41f7168bfb56748c380869e6d34796d627a11 +animals/白尾八哥 2.jpeg,1623688206205,5b1a85d267ba0f8f83fedc2638ce0f593f4c666c1f0def8125a760cd2d64c8a3 +animals/白尾八哥.jpeg,1623688206206,5b1a85d267ba0f8f83fedc2638ce0f593f4c666c1f0def8125a760cd2d64c8a3 +animals/球蟒 2.jpeg,1623688206200,05060700982401dc8572a67dd66ca410e0bb7091f17666b3a5b3292be8740497 +animals/球蟒.jpeg,1623688206200,05060700982401dc8572a67dd66ca410e0bb7091f17666b3a5b3292be8740497 +animals/環頸雉.jpeg,1623688206205,ee37d71e288f88a01ebfa3b0c04221d060707f53aeaf02db728497c0457e54a5 +animals/環頸雉 2.jpeg,1623688206204,ee37d71e288f88a01ebfa3b0c04221d060707f53aeaf02db728497c0457e54a5 +animals/白手長臂猿 2.jpeg,1623688206207,c8dff4cbd8b1e86aec4db1d5c272eb4baff3b4fcc58777e0f23e04feaa3d73d1 +animals/白手長臂猿.jpeg,1623688206207,c8dff4cbd8b1e86aec4db1d5c272eb4baff3b4fcc58777e0f23e04feaa3d73d1 +animals/狐獴 2.jpeg,1623688206197,203226000b6de848ed25a5b38b6bc05fee39c8aa41129b3847cca1f08d373274 +animals/狐獴.jpeg,1623688206197,203226000b6de848ed25a5b38b6bc05fee39c8aa41129b3847cca1f08d373274 +animals/環尾狐猴 2.jpeg,1623688206201,92a6e459c2d11cdf96666d62f3b0799c74134ab2b0a8992309e1b2528af1d5da +animals/琉球青斑蝶.jpeg,1623688206201,08f4a648a0afb3a8e5b0e6d8244e1c20b68ad1c2eb68a740a74e27c5ddd8b2da +animals/琉球青斑蝶 2.jpeg,1623688206201,08f4a648a0afb3a8e5b0e6d8244e1c20b68ad1c2eb68a740a74e27c5ddd8b2da +animals/白面捲尾猴 2.jpeg,1623688206210,da2f12a9a95f8527ae3acd3d9e58b7fa71a00cc462f7d4821f661e09cb22217b +animals/環尾狐猴.jpeg,1623688206204,92a6e459c2d11cdf96666d62f3b0799c74134ab2b0a8992309e1b2528af1d5da +animals/白面捲尾猴.jpeg,1623688206211,da2f12a9a95f8527ae3acd3d9e58b7fa71a00cc462f7d4821f661e09cb22217b +animals/犀牛圓尾鬣蜥 2.jpeg,1623688206196,3c4c16571aec4a7c19596b92d3ab8458f4c878e0e0a7ee3e429858faf6858407 +animals/斑哥羚羊 2.jpeg,1623688206123,13b40232cbb70059fbe569d59425761d762aa7d15e467cd32ca4b56afed06da2 +animals/犀牛圓尾鬣蜥.jpeg,1623688206196,3c4c16571aec4a7c19596b92d3ab8458f4c878e0e0a7ee3e429858faf6858407 +animals/白犀牛 2.jpeg,1623688206209,8b87a84ce35c5fa642fdf2da14b11f88eb23eebaa29c7d56c17a03dc31b37889 +animals/斑哥羚羊.jpeg,1623688206125,13b40232cbb70059fbe569d59425761d762aa7d15e467cd32ca4b56afed06da2 +animals/白犀牛.jpeg,1623688206210,8b87a84ce35c5fa642fdf2da14b11f88eb23eebaa29c7d56c17a03dc31b37889 +animals/白頸狐猴 2.jpeg,1623688206212,bc4d5634979f6c14c77576dd0db12bc27fee5fd0e29437eee3553198b3a65261 +animals/梅花鹿.jpeg,1623688206150,ec1f6d1b442be4009682844d4de56c8293177ed3ed93c3c7b45c9bc601de1a24 +animals/梅花鹿 2.jpeg,1623688206147,ec1f6d1b442be4009682844d4de56c8293177ed3ed93c3c7b45c9bc601de1a24 +animals/白頸狐猴.jpeg,1623688206214,bc4d5634979f6c14c77576dd0db12bc27fee5fd0e29437eee3553198b3a65261 +animals/津田氏大頭竹節蟲 2.jpeg,1623688206178,fd7ee530681185cf16f7bf9b0334c97b59ef2d53a2e04cc214aafc1c96e2459f +animals/白鼻心 2.jpeg,1623688206218,52a0f3b2c3783a46bee36be14c4463daaeeec517edd23eca0fd1a11d692885a5 +animals/白鼻心.jpeg,1623688206219,52a0f3b2c3783a46bee36be14c4463daaeeec517edd23eca0fd1a11d692885a5 +animals/津田氏大頭竹節蟲.jpeg,1623688206179,fd7ee530681185cf16f7bf9b0334c97b59ef2d53a2e04cc214aafc1c96e2459f +animals/猴尾蜥 2.jpeg,1623688206199,0f7b67647e82ace2ec1222c2623b1e699146561adb18997870e4d8e717fe888f +animals/猴尾蜥.jpeg,1623688206199,0f7b67647e82ace2ec1222c2623b1e699146561adb18997870e4d8e717fe888f +animals/短蓋肥脂鯉 2.jpeg,1623688206224,bbe5b5f34c34829a8c5b4b4b9f42bd46df5cef77eaf86128a82cdc8501afc2b7 +animals/短蓋肥脂鯉.jpeg,1623688206224,bbe5b5f34c34829a8c5b4b4b9f42bd46df5cef77eaf86128a82cdc8501afc2b7 +animals/白鵜鶘 2.jpeg,1623688206217,09dde845fa532ff8ebc951f8fe394592f4c0dabc4abbc864c8551d00b88c8e2c +animals/禿鸛 2.jpeg,1623688206226,6959a0432f665d0eab1f39fd572808b3c7a8670770d294f7cb24c0fa38d921ba +animals/白鵜鶘.jpeg,1623688206218,09dde845fa532ff8ebc951f8fe394592f4c0dabc4abbc864c8551d00b88c8e2c +animals/禿鸛.jpeg,1623688206227,6959a0432f665d0eab1f39fd572808b3c7a8670770d294f7cb24c0fa38d921ba +animals/熊鷹.jpeg,1623688206195,65cf6c5ea4378994a3fed098e9ae72be14234736d16781280c7418477ae12025 +animals/端紅蝶 2.jpeg,1623688206228,16a23b8cec5fd95bcc1f326aafb7b3a906e570b9c4e8d441b1e252c03326bc1f +animals/端紅蝶.jpeg,1623688206229,16a23b8cec5fd95bcc1f326aafb7b3a906e570b9c4e8d441b1e252c03326bc1f +animals/熊鷹 2.jpeg,1623688206193,65cf6c5ea4378994a3fed098e9ae72be14234736d16781280c7418477ae12025 +animals/竹雞 2.jpeg,1623688206230,0a20558b580b06cb04b0444690c345efa05205b8ffe3e2c26e9890affb36e1a0 +animals/竹雞.jpeg,1623688206230,0a20558b580b06cb04b0444690c345efa05205b8ffe3e2c26e9890affb36e1a0 +animals/白頭鶴.jpeg,1623688206212,33a28c7f0be447513b968710c6b6dc4effaa6b231944ab80b0365ce40822a4e5 +animals/白頭鶴 2.jpeg,1623688206211,33a28c7f0be447513b968710c6b6dc4effaa6b231944ab80b0365ce40822a4e5 +animals/百步蛇 2.jpeg,1623688206220,b0a67fcad1c74da0dc5fbfe7d71bffb00031356209248c9666778caa5742374a +animals/眼斑銅蜥.jpeg,1623688206223,f3cdff9c808ea79995d9aa7b218ccf98bac4b921ab23a67e1da7a25ec09cca08 +animals/眼斑銅蜥 2.jpeg,1623688206220,f3cdff9c808ea79995d9aa7b218ccf98bac4b921ab23a67e1da7a25ec09cca08 +animals/百步蛇.jpeg,1623688206220,b0a67fcad1c74da0dc5fbfe7d71bffb00031356209248c9666778caa5742374a +animals/簑羽鶴.jpeg,1623688206233,7a630afcdf146d9baddf16ebcd904479f8f34fcdd2a52aec112d2430c9ad6a8f +animals/簑羽鶴 2.jpeg,1623688206232,7a630afcdf146d9baddf16ebcd904479f8f34fcdd2a52aec112d2430c9ad6a8f +animals/粗尾侏儒狐猴 2.jpeg,1623688206239,894ef1e9feda2dc08b2c3c6840bb9afb55f85234fb6b6139152c9ee47a80e4c6 +animals/粗尾侏儒狐猴.jpeg,1623688206240,894ef1e9feda2dc08b2c3c6840bb9afb55f85234fb6b6139152c9ee47a80e4c6 +animals/東非劍羚.jpeg,1623688206135,f8da5244fa5fedfc5aa53b939c27deb2bffb6ad6361d1e9118116fb37f3c75ec +animals/東非劍羚 2.jpeg,1623688206133,f8da5244fa5fedfc5aa53b939c27deb2bffb6ad6361d1e9118116fb37f3c75ec +animals/眼鏡蛇 2.jpeg,1623688206223,722e182bb5f9b5a80b2799a25f83342f299a17a8d266b8a4b643f9629ce3c160 +animals/眼鏡蛇.jpeg,1623688206224,722e182bb5f9b5a80b2799a25f83342f299a17a8d266b8a4b643f9629ce3c160 +animals/紅冠水雞 2.jpeg,1623688206240,23d7712ca96d2bac2ce9f86746b7e507ee2602e847ff4bed2d281e4107b39081 +animals/紅冠水雞.jpeg,1623688206240,23d7712ca96d2bac2ce9f86746b7e507ee2602e847ff4bed2d281e4107b39081 +animals/紅領綠鸚鵡 2.jpeg,1623688206248,978f3c394943fcb46421e7cb48ae8277501d182f33dc17eac5c537f3527a2bd9 +animals/紅領綠鸚鵡.jpeg,1623688206248,978f3c394943fcb46421e7cb48ae8277501d182f33dc17eac5c537f3527a2bd9 +animals/紅鹮.jpeg,1623688206249,93eee1cb2359400c935b5ef9d93a5b9ebaa96ebf8333034f9d97d913e1f73443 +animals/紅鹮 2.jpeg,1623688206249,93eee1cb2359400c935b5ef9d93a5b9ebaa96ebf8333034f9d97d913e1f73443 +animals/粉紅鳳頭鸚鵡 2.jpeg,1623688206235,bcdb12e84b853b404c1625121afeee0f3a93c6458623d778d3b3a7c87e0b093a +animals/紫蕉鵑 2.jpeg,1623688206249,bd31de5574dae72c3c5b0d657c21c9178f1b8161ff1a9e9429903201a42fc4e5 +animals/粉紅鳳頭鸚鵡.jpeg,1623688206238,bcdb12e84b853b404c1625121afeee0f3a93c6458623d778d3b3a7c87e0b093a +animals/紅鳩 2.jpeg,1623688206248,161714a64664122b529e968024500e0a91b6016e2f82eac451f572df9c14e9c7 +animals/穗鬚原鯉.jpeg,1623688206228,3cb91fcb493b22bb0f7b77256bfc34016585720447c245e0c0d36cf7254481cb +animals/穗鬚原鯉 2.jpeg,1623688206227,3cb91fcb493b22bb0f7b77256bfc34016585720447c245e0c0d36cf7254481cb +animals/紅鳩.jpeg,1623688206249,161714a64664122b529e968024500e0a91b6016e2f82eac451f572df9c14e9c7 +animals/紫蕉鵑.jpeg,1623688206249,bd31de5574dae72c3c5b0d657c21c9178f1b8161ff1a9e9429903201a42fc4e5 +animals/綠簑鴿.jpeg,1623688206252,da412e2c2a501e0ebd2544f106542761fe8222e5e3105979f5f96f542882aa04 +animals/綠絲冠僧帽鳥 2.jpeg,1623688206253,d7a86f2e64c82d2b0e4b66e69f4f9820d13d3b816a8da362e35a37fc22924e0e +animals/綠簑鴿 2.jpeg,1623688206251,da412e2c2a501e0ebd2544f106542761fe8222e5e3105979f5f96f542882aa04 +animals/綠絲冠僧帽鳥.jpeg,1623688206253,d7a86f2e64c82d2b0e4b66e69f4f9820d13d3b816a8da362e35a37fc22924e0e +animals/紅猴 2.jpeg,1623688206242,2fd78f1c6df590a8eab521189e12844bde1ca6336bcef4c03eacb91a9346fbe4 +animals/綠簑鷺 2.jpeg,1623688206252,52702d314146a69ade62890874b5173645a512d42b1e31504782b682b5082ec3 +animals/綠簑鷺.jpeg,1623688206252,52702d314146a69ade62890874b5173645a512d42b1e31504782b682b5082ec3 +animals/紅猴.jpeg,1623688206242,2fd78f1c6df590a8eab521189e12844bde1ca6336bcef4c03eacb91a9346fbe4 +animals/綠翼金剛鸚鵡 2.jpeg,1623688206253,0e39b88936445dc7f30502476e194c16229a11ba87b873776a530f089d3405e5 +animals/綠翼金剛鸚鵡.jpeg,1623688206253,0e39b88936445dc7f30502476e194c16229a11ba87b873776a530f089d3405e5 +animals/綠野雞 2.jpeg,1623688206254,a3f54747ae9b23467e917a9c038425fe9b3bbe5f6b4b46d8d73174af49660ffa +animals/綠野雞.jpeg,1623688206254,a3f54747ae9b23467e917a9c038425fe9b3bbe5f6b4b46d8d73174af49660ffa +animals/紅藍吸蜜鸚鵡.jpeg,1623688206248,56fc55df6f98ea7005c9956b5a57918a42eff95ab75b261f81acb55ae46d8f06 +animals/紅藍吸蜜鸚鵡 2.jpeg,1623688206245,56fc55df6f98ea7005c9956b5a57918a42eff95ab75b261f81acb55ae46d8f06 +animals/粉紅背鵜鶘 2.jpeg,1623688206234,939518a524bb17aaccbd6061d267c528b36f95b18fc526fdf22029d3751f9194 +animals/粉紅背鵜鶘.jpeg,1623688206235,939518a524bb17aaccbd6061d267c528b36f95b18fc526fdf22029d3751f9194 +animals/綠頭鴨 2.jpeg,1623688206255,906cbd8e1c3a18dc692b00fb98bf442c73cd79124a5b608ed1186c1e46b2702e +animals/綠頭鴨.jpeg,1623688206255,906cbd8e1c3a18dc692b00fb98bf442c73cd79124a5b608ed1186c1e46b2702e +animals/灰袋鼠 2.jpeg,1623688206182,bfe24601eec7d4248da35484efc45e56f41059c24689918f56243dc54424b6af +animals/紅腿象龜 2.jpeg,1623688206244,d7b0b4aea21bebf7f6ba9cb1f4734d1cf0bfff469fa53fa407b49d2f305d1235 +animals/灰袋鼠.jpeg,1623688206183,bfe24601eec7d4248da35484efc45e56f41059c24689918f56243dc54424b6af +animals/紅腿象龜.jpeg,1623688206244,d7b0b4aea21bebf7f6ba9cb1f4734d1cf0bfff469fa53fa407b49d2f305d1235 +animals/綠長鬣蜥 2.jpeg,1623688206254,607fbfb5d4c5ec8ab56380a06fb6dcb929b5e44e064163cc32ca02a456a74fbc +animals/綠長鬣蜥.jpeg,1623688206255,607fbfb5d4c5ec8ab56380a06fb6dcb929b5e44e064163cc32ca02a456a74fbc +animals/歐亞大山貓 2.jpeg,1623688206159,ea5312ccd827f83679ea08b50cc0b8fe5b13681655ff995d49f23fbeec86773a +animals/歐亞大山貓.jpeg,1623688206161,ea5312ccd827f83679ea08b50cc0b8fe5b13681655ff995d49f23fbeec86773a +animals/網紋蟒 2.jpeg,1623688206262,574849b101456f1377e9574c7a74f9e56e0b731b666952621d0530a1ea221b1e +animals/網紋蟒.jpeg,1623688206263,574849b101456f1377e9574c7a74f9e56e0b731b666952621d0530a1ea221b1e +animals/白枕鶴 2.jpeg,1623688206208,a702b2648d303a2a8ce67acb5b77841814990ee89af70c9b13dbed06f0b3b460 +animals/緬甸星龜 2.jpeg,1623688206269,2c223d21e0b8cb085c4e94bec917ccabcef0bbed49e1ab3683c2a7d01beb6402 +animals/紅紋鳳蝶.jpeg,1623688206244,0fcd583ac6982804dfae5275f3cc30b52441ccb5c9c02e0f395d6fe08f42daf8 +animals/緬甸星龜.jpeg,1623688206269,2c223d21e0b8cb085c4e94bec917ccabcef0bbed49e1ab3683c2a7d01beb6402 +animals/紅紋鳳蝶 2.jpeg,1623688206243,0fcd583ac6982804dfae5275f3cc30b52441ccb5c9c02e0f395d6fe08f42daf8 +animals/白枕鶴.jpeg,1623688206209,a702b2648d303a2a8ce67acb5b77841814990ee89af70c9b13dbed06f0b3b460 +animals/石虎 2.jpeg,1623688206225,bb04a06dc070fddd3399e7f8bf587947c1af794ab6c9d6ef4188ae1aeefa317a +animals/翡翠樹蛙 2.jpeg,1623688206279,21079cec3b01a0dc259b68b7c69389063db54db34e1a6b461406789f752a657c +animals/石虎.jpeg,1623688206226,bb04a06dc070fddd3399e7f8bf587947c1af794ab6c9d6ef4188ae1aeefa317a +animals/翡翠樹蛙.jpeg,1623688206279,21079cec3b01a0dc259b68b7c69389063db54db34e1a6b461406789f752a657c +animals/紅尾蚺 2.jpeg,1623688206241,9639d0b11eb61b53c8e4009a3708786d864a0070105505f24ed4dbaa79a612e4 +animals/維多利亞冠鴿 2.jpeg,1623688206261,fdb46c8145a6b88918cc413ca62691cabaf98ebe7dc622fbc8504bd61c6d34f6 +animals/維多利亞冠鴿.jpeg,1623688206261,fdb46c8145a6b88918cc413ca62691cabaf98ebe7dc622fbc8504bd61c6d34f6 +animals/紅尾蚺.jpeg,1623688206242,9639d0b11eb61b53c8e4009a3708786d864a0070105505f24ed4dbaa79a612e4 +animals/美洲野牛 2.jpeg,1623688206277,5d81b35cc3bcb711e044dbe0491a8b27d5ef9fbb2d8a418d11132e1007269043 +animals/翠翼鳩 2.jpeg,1623688206278,c02b79f25a351541dc3c64065a8ee59c0a7d2ba5d52aa0b0aee83bd3e212c9eb +animals/翠翼鳩.jpeg,1623688206279,c02b79f25a351541dc3c64065a8ee59c0a7d2ba5d52aa0b0aee83bd3e212c9eb +animals/笑翠鳥.jpeg,1623688206232,53139dff5a32fcd8a42b31b67a31ac6e96298faa778c97319a23155190b25ebf +animals/笑翠鳥 2.jpeg,1623688206231,53139dff5a32fcd8a42b31b67a31ac6e96298faa778c97319a23155190b25ebf +animals/美洲野牛.jpeg,1623688206278,5d81b35cc3bcb711e044dbe0491a8b27d5ef9fbb2d8a418d11132e1007269043 +animals/美洲木鴨 2.jpeg,1623688206271,97cc22321171d400a9d21c8ddad2915adab0a11e7b9f7b3cc426ae243e0a0565 +animals/臭巨山蟻 2.jpeg,1623688206283,81efa226e4882c92d036eda24c5596394c05b1e06ef1c2bb6a2942770e4da40f +animals/臭巨山蟻.jpeg,1623688206283,81efa226e4882c92d036eda24c5596394c05b1e06ef1c2bb6a2942770e4da40f +animals/臺灣擬啄木 2.jpeg,1623688206287,5b182b583f616886447f5e0a898eef721ec451ccba994b2490f55d7e4a4c2eda +animals/臺灣擬啄木.jpeg,1623688206287,5b182b583f616886447f5e0a898eef721ec451ccba994b2490f55d7e4a4c2eda +animals/美洲木鴨.jpeg,1623688206272,97cc22321171d400a9d21c8ddad2915adab0a11e7b9f7b3cc426ae243e0a0565 +animals/臺灣山羌.jpeg,1623688206286,938ba69ff91341ad922ba7de35a91839746718fda9b12352752a8bc2fbbfd512 +animals/臺灣山羌 2.jpeg,1623688206286,938ba69ff91341ad922ba7de35a91839746718fda9b12352752a8bc2fbbfd512 +animals/臺灣獼猴 2.jpeg,1623688206288,8144d2228f8998bde2105ef22753634c412e7cdd84369cabdc71087d376a3e08 +animals/臺灣獼猴.jpeg,1623688206288,8144d2228f8998bde2105ef22753634c412e7cdd84369cabdc71087d376a3e08 +animals/白鳳頭鸚鵡 2.jpeg,1623688206216,3c1ee832130ec9726e5d283f5bf1b961d68736985884252d076e5d7153c33da0 +animals/白鳳頭鸚鵡.jpeg,1623688206217,3c1ee832130ec9726e5d283f5bf1b961d68736985884252d076e5d7153c33da0 +animals/葵花鳳頭鸚鵡 2.jpeg,1623688206305,5c5a32f559cdeaf4ecc728d6475b93478999cf06899f34d887c69ab17d1e09de +animals/葵花鳳頭鸚鵡.jpeg,1623688206306,5c5a32f559cdeaf4ecc728d6475b93478999cf06899f34d887c69ab17d1e09de +animals/臺灣騷斯 2.jpeg,1623688206299,19a2a19e293a86eaad9f2dc6d60111c1450676ba559b8c803f6faaf00cd7ceb0 +animals/臺灣騷斯.jpeg,1623688206302,19a2a19e293a86eaad9f2dc6d60111c1450676ba559b8c803f6faaf00cd7ceb0 +animals/絨鼠 2.jpeg,1623688206250,a9c24fb879fb348df60c98a72da021cc3e73a4d70ef85b063f6077113d9e27b7 +animals/絨鼠.jpeg,1623688206251,a9c24fb879fb348df60c98a72da021cc3e73a4d70ef85b063f6077113d9e27b7 +animals/藍腹鷴 2.jpeg,1623688206309,67ece84327fd2fb295d4d854437a06a1ad97fc87de8dac235666ebdbd6414373 +animals/藍腹鷴.jpeg,1623688206309,67ece84327fd2fb295d4d854437a06a1ad97fc87de8dac235666ebdbd6414373 +animals/苧麻珍蝶 2.jpeg,1623688206305,8427f9c0a9fe65cfceb7a493b55eb58a632935c0347bb272138340c26741d93c +animals/苧麻珍蝶.jpeg,1623688206305,8427f9c0a9fe65cfceb7a493b55eb58a632935c0347bb272138340c26741d93c +animals/臺灣穿山甲 2.jpeg,1623688206288,01e2404886e7affa0ab86fbe171785e200e71574b67eff83427af92b0362e049 +animals/臺灣穿山甲.jpeg,1623688206289,01e2404886e7affa0ab86fbe171785e200e71574b67eff83427af92b0362e049 +animals/蒙古野馬 2.jpeg,1623688206306,7c6c6d94a669b60c0a70a1c298f6a5f8047cfa2fcbcdfeed2af804db9fe63958 +animals/臺灣錦蛇 2.jpeg,1623688206299,67f0231e1d969c95b3b544757d80d4d1055bd77d1cc224af8323859be1b13cc4 +animals/蒙古野馬.jpeg,1623688206306,7c6c6d94a669b60c0a70a1c298f6a5f8047cfa2fcbcdfeed2af804db9fe63958 +animals/臺灣錦蛇.jpeg,1623688206299,67f0231e1d969c95b3b544757d80d4d1055bd77d1cc224af8323859be1b13cc4 +animals/蘭嶼大葉螽斯 2.jpeg,1623688206312,891db013f2d462796979755ea2309f5cd5968e66c80b6d4de9f9b86c80b73ba5 +animals/藍冠鴿.jpeg,1623688206307,3fe6b572ac975d1ead1d9b17fb701ad6ed8d9e04c972c92a8da45fecdcf5ea81 +animals/藍冠鴿 2.jpeg,1623688206307,3fe6b572ac975d1ead1d9b17fb701ad6ed8d9e04c972c92a8da45fecdcf5ea81 +animals/羊駝 2.jpeg,1623688206270,aae81005a1bd6db2e56d0a73f974922f2051a4e836516558eaf89d4509c5c30b +animals/花豹.jpeg,1623688206304,af60a514651b6f7ea8af109f552018763fa8fbf49ec92dffd02bd58a5da82f58 +animals/蘭嶼大葉螽斯.jpeg,1623688206312,891db013f2d462796979755ea2309f5cd5968e66c80b6d4de9f9b86c80b73ba5 +animals/花豹 2.jpeg,1623688206304,af60a514651b6f7ea8af109f552018763fa8fbf49ec92dffd02bd58a5da82f58 +animals/羊駝.jpeg,1623688206271,aae81005a1bd6db2e56d0a73f974922f2051a4e836516558eaf89d4509c5c30b +animals/臺灣黑熊 2.jpeg,1623688206303,2158a4092be3596131a7dee2187180a028b329193190d9f6b2eab2776e3ce3f7 +animals/腹斑蛙 2.jpeg,1623688206280,c97acf8e22ecfdc5b1f76161f4d48f416a981ec0ee4dc7cb71ee4e988bd255e9 +animals/臺灣黑熊.jpeg,1623688206304,2158a4092be3596131a7dee2187180a028b329193190d9f6b2eab2776e3ce3f7 +animals/腹斑蛙.jpeg,1623688206281,c97acf8e22ecfdc5b1f76161f4d48f416a981ec0ee4dc7cb71ee4e988bd255e9 +animals/蘇卡達象龜 2.jpeg,1623688206311,a6890bf5d9313778d576790dbf06326e976482eb3a792f67af1ad457d12dd3b4 +animals/蘇卡達象龜.jpeg,1623688206312,a6890bf5d9313778d576790dbf06326e976482eb3a792f67af1ad457d12dd3b4 +animals/緬甸岩蟒.jpeg,1623688206268,6b897c560fa4058ab3ddef9d710f49c98f7341f6d3beb4e1a5429450c055596f +animals/西德藍寶石 2.jpeg,1623688206320,9f6007b4741e7de7fa535cb9414100316a4c125483b2b917d7abef6117650a10 +animals/緬甸岩蟒 2.jpeg,1623688206267,6b897c560fa4058ab3ddef9d710f49c98f7341f6d3beb4e1a5429450c055596f +animals/褐林鴞.jpeg,1623688206317,2466b6c0275c70d85b880a82bf75368f06e33bae1eb5ebd36d64007750e598b6 +animals/褐林鴞 2.jpeg,1623688206317,2466b6c0275c70d85b880a82bf75368f06e33bae1eb5ebd36d64007750e598b6 +animals/西德藍寶石.jpeg,1623688206320,9f6007b4741e7de7fa535cb9414100316a4c125483b2b917d7abef6117650a10 +animals/藍孔雀 2.jpeg,1623688206307,55cab8f6f61c6ebaa872e9c788ec10a6acf565b17eb63baaf84837ae5bc9949e +animals/臺北赤蛙 2.jpeg,1623688206284,bd2bd5f92d175a80fb48fff007a0e7ec13aa2fdd7a3deeadc663a2c8677a01b3 +animals/藍孔雀.jpeg,1623688206308,55cab8f6f61c6ebaa872e9c788ec10a6acf565b17eb63baaf84837ae5bc9949e +animals/臺北赤蛙.jpeg,1623688206285,bd2bd5f92d175a80fb48fff007a0e7ec13aa2fdd7a3deeadc663a2c8677a01b3 +animals/褐狐猴 2.jpeg,1623688206318,286f6a6c274b16c63270189f3a4250390f34f54e6f1c71a01117b62554b87ac7 +animals/褐狐猴.jpeg,1623688206318,286f6a6c274b16c63270189f3a4250390f34f54e6f1c71a01117b62554b87ac7 +animals/蘭嶼豬.jpeg,1623688206314,9ae318665cf4545fc4181c1f28fe76ffb4dbb25d14bc4080abebbb1b8f3b13c2 +animals/蘭嶼豬 2.jpeg,1623688206314,9ae318665cf4545fc4181c1f28fe76ffb4dbb25d14bc4080abebbb1b8f3b13c2 +animals/西部豬鼻蛇.jpeg,1623688206321,39a5cfdaefdf99eaeaca44ce3c3b5877db033c81c0324b03fd6158c7208d7b58 +animals/西部豬鼻蛇 2.jpeg,1623688206320,39a5cfdaefdf99eaeaca44ce3c3b5877db033c81c0324b03fd6158c7208d7b58 +animals/臺灣藍鵲 2.jpeg,1623688206290,cf0aa327198b3ef1d9ee2245d6202036797e6f3103d4444c3337217e6bf219a2 +animals/美洲紅鹮 2.jpeg,1623688206273,4e73ccd8fb4d0a8d46fcaec8acf60d98579bc96c502c21e74b3598c3a51f49f6 +animals/美洲紅鹮.jpeg,1623688206276,4e73ccd8fb4d0a8d46fcaec8acf60d98579bc96c502c21e74b3598c3a51f49f6 +animals/臺灣藍鵲.jpeg,1623688206293,cf0aa327198b3ef1d9ee2245d6202036797e6f3103d4444c3337217e6bf219a2 +animals/藍額亞馬遜鸚鵡 2.jpeg,1623688206310,1f05361da3a07cf1dc98273a569c118a2b1dace4ff2d9cde3bd6a6a14c9d9bd5 +animals/藍額亞馬遜鸚鵡.jpeg,1623688206311,1f05361da3a07cf1dc98273a569c118a2b1dace4ff2d9cde3bd6a6a14c9d9bd5 +animals/豬鼻龜 2.jpeg,1623688206324,bc4dce126694b6782d236bcf05bc080db369bce5b0b5368faf09058c3f98a313 +animals/豬鼻龜.jpeg,1623688206325,bc4dce126694b6782d236bcf05bc080db369bce5b0b5368faf09058c3f98a313 +animals/赤耳龜 2.jpeg,1623688206325,e1e9937ff7f9cc2475a20475b3eed7348fc02fd6fca083e2b5d5f777acc9564d +animals/赤耳龜.jpeg,1623688206325,e1e9937ff7f9cc2475a20475b3eed7348fc02fd6fca083e2b5d5f777acc9564d +animals/綠鬣蜥 2.jpeg,1623688206256,94117a44b96de2a4fee54bbfc8e2a6741a0cdfe45f45ad2dfbaa09a655beb672 +animals/蜜熊 2.jpeg,1623688206315,9e75caf5c6014bba33e0c2504a9de109380ac4a3d9ce458403bc140b6e22f2a6 +animals/綠鬣蜥.jpeg,1623688206260,94117a44b96de2a4fee54bbfc8e2a6741a0cdfe45f45ad2dfbaa09a655beb672 +animals/蜜熊.jpeg,1623688206316,9e75caf5c6014bba33e0c2504a9de109380ac4a3d9ce458403bc140b6e22f2a6 +animals/蘭嶼筒胸竹節蟲 2.jpeg,1623688206313,0dc45c50b1224d3a2885e0623ed93039351cef5f2177a09dc9afca1ebfd097c6 +animals/象魚 2.jpeg,1623688206324,cd12c2f091eb385cafcbe166e9db9ea3eaff3f2363cbcbfacbfd8312ba25a355 +animals/蘭嶼筒胸竹節蟲.jpeg,1623688206314,0dc45c50b1224d3a2885e0623ed93039351cef5f2177a09dc9afca1ebfd097c6 +animals/象魚.jpeg,1623688206324,cd12c2f091eb385cafcbe166e9db9ea3eaff3f2363cbcbfacbfd8312ba25a355 +animals/褐負蝽 2.jpeg,1623688206319,eaf7d7986e683b4e7e443a6bf393181d52ed6bc13ec7c4acc0c58cb1cab2a300 +animals/褐負蝽.jpeg,1623688206319,eaf7d7986e683b4e7e443a6bf393181d52ed6bc13ec7c4acc0c58cb1cab2a300 +animals/迷你馬 2.jpeg,1623688206328,fb9a98f4ad98ce4177759e6436a11d32e7af29a32758be300a4421ce42ea154d +animals/迷你馬.jpeg,1623688206330,fb9a98f4ad98ce4177759e6436a11d32e7af29a32758be300a4421ce42ea154d +animals/金背鳩.jpeg,1623688206332,97f4b8329b5594e99ac2abbbc65c58c46ee1b60921393d55be113a4fca40956e +animals/金背鳩 2.jpeg,1623688206332,97f4b8329b5594e99ac2abbbc65c58c46ee1b60921393d55be113a4fca40956e +animals/長角大鍬形蟲 2.jpeg,1623688206342,3665931d7a9ee8cf5d7500a8d3d9836341c0c5dd33f940bb968f418b9c5997ec +animals/赤頸鶴 2.jpeg,1623688206326,79188198d9da2edca71720b249ed71936de26d351782267dd1beb07ddca16e87 +animals/長角大鍬形蟲.jpeg,1623688206344,3665931d7a9ee8cf5d7500a8d3d9836341c0c5dd33f940bb968f418b9c5997ec +animals/赤頸鶴.jpeg,1623688206327,79188198d9da2edca71720b249ed71936de26d351782267dd1beb07ddca16e87 +animals/長肛竹節蟲 2.jpeg,1623688206341,83dd8224a453b2f00fa6e6c2b4ca1663400857292a29ce48cf0f178044615713 +animals/網紋長頸鹿 2.jpeg,1623688206264,6c47fcb6ed64c5503e75ca48ffeec4f07c851a8191acd52bb184c647e493ad95 +animals/網紋長頸鹿.jpeg,1623688206265,6c47fcb6ed64c5503e75ca48ffeec4f07c851a8191acd52bb184c647e493ad95 +animals/長肛竹節蟲.jpeg,1623688206341,83dd8224a453b2f00fa6e6c2b4ca1663400857292a29ce48cf0f178044615713 +animals/迷彩箭毒蛙 2.jpeg,1623688206330,fb5e37f049dcb34cb81a85088792764b0cb379cbb7cdd8abefff2bba0de6c8b9 +animals/赫氏萎鰓麗魚 2.jpeg,1623688206327,bfb12f36d2bc18488c2407576e497ba9df070961e24d52e65d39cfa3def15b44 +animals/赫氏萎鰓麗魚.jpeg,1623688206328,bfb12f36d2bc18488c2407576e497ba9df070961e24d52e65d39cfa3def15b44 +animals/迷彩箭毒蛙.jpeg,1623688206331,fb5e37f049dcb34cb81a85088792764b0cb379cbb7cdd8abefff2bba0de6c8b9 +animals/雙峰駱駝 2.jpeg,1623688206352,e70aac393a2084ea02bf6ea40ee3928312daba431674922c81d2bbdef53a0c0c +animals/雙峰駱駝.jpeg,1623688206353,e70aac393a2084ea02bf6ea40ee3928312daba431674922c81d2bbdef53a0c0c +animals/鈍尾毒蜥 2.jpeg,1623688206337,a3e2eb62ff32c4d3251839692e87ea5f2ecfae6087044855adbd051bc8761d40 +animals/臺灣野豬 2.jpeg,1623688206297,b7e26468e100999141eb95833152ad04706354fb7271786e000928ac03615c54 +animals/鈍尾毒蜥.jpeg,1623688206338,a3e2eb62ff32c4d3251839692e87ea5f2ecfae6087044855adbd051bc8761d40 +animals/非洲獅 2.jpeg,1623688206360,f4acfd6c8e6886d5b4a801ddf8c0759d6f46f17241f567bfeaafb7e098f44dae +animals/非洲獅.jpeg,1623688206361,f4acfd6c8e6886d5b4a801ddf8c0759d6f46f17241f567bfeaafb7e098f44dae +animals/臺灣野豬.jpeg,1623688206298,b7e26468e100999141eb95833152ad04706354fb7271786e000928ac03615c54 +animals/雙鬚骨舌魚.jpeg,1623688206356,e9fd7fdda2d24925bc28c5101d7f74f1a953540d32d8e284225d1cedc86bf6c2 +animals/雙鬚骨舌魚 2.jpeg,1623688206356,e9fd7fdda2d24925bc28c5101d7f74f1a953540d32d8e284225d1cedc86bf6c2 +animals/雙脊冠蜥 2.jpeg,1623688206353,246ed1cb24d68560a4b831113f1f68f3b3c848758bf8a23e934e9423ce9f3439 +animals/雙脊冠蜥.jpeg,1623688206353,246ed1cb24d68560a4b831113f1f68f3b3c848758bf8a23e934e9423ce9f3439 +animals/金色箭毒蛙 2.jpeg,1623688206333,abb2575431d6abf2e7d062022276dab13fa81b55008e86146b4a2ed6d48a39c3 +animals/金色箭毒蛙.jpeg,1623688206333,abb2575431d6abf2e7d062022276dab13fa81b55008e86146b4a2ed6d48a39c3 +animals/非洲野驢 2.jpeg,1623688206362,2d73334f445b732f2a06ed9fb4e267bed908e6f407bb910461b392678794de92 +animals/雲豹 2.jpeg,1623688206357,3c5fa92aa15ecc80c05d73e70803989669fb1a0d3b7a04272774df9b1fc58b80 +animals/雲豹.jpeg,1623688206357,3c5fa92aa15ecc80c05d73e70803989669fb1a0d3b7a04272774df9b1fc58b80 +animals/領角鴞 2.jpeg,1623688206364,08931d3604c041f37f28e158e568950db4396d20cb9e4e1c7890c708e5beb314 +animals/領角鴞.jpeg,1623688206364,08931d3604c041f37f28e158e568950db4396d20cb9e4e1c7890c708e5beb314 +animals/非洲野驢.jpeg,1623688206362,2d73334f445b732f2a06ed9fb4e267bed908e6f407bb910461b392678794de92 +animals/馬來熊 2.jpeg,1623688206372,baf04dee968a4f00ef395af96633ef4c828d79e5f2cf43e4c5b14900fda3a4be +animals/馬來熊.jpeg,1623688206372,baf04dee968a4f00ef395af96633ef4c828d79e5f2cf43e4c5b14900fda3a4be +animals/高冠變色龍 2.jpeg,1623688206375,14edfe8a2d6f69a195d3c92054a12497188dcbadda45c1e5e20c0b06ff6c2ba8 +animals/高冠變色龍.jpeg,1623688206377,14edfe8a2d6f69a195d3c92054a12497188dcbadda45c1e5e20c0b06ff6c2ba8 +animals/食蟹獴 2.jpeg,1623688206371,c5a2378fdc3b291e14c3cbb8df03921b53eeb61757346def7fa34294fae29fec +animals/食蟹獴.jpeg,1623688206372,c5a2378fdc3b291e14c3cbb8df03921b53eeb61757346def7fa34294fae29fec +animals/鈷藍箭毒蛙 2.jpeg,1623688206340,b5f5341852b9fb89fbd9cc0056c13fefa71e7cfbd1c3755c643cdef0f15f626a +animals/鈷藍箭毒蛙.jpeg,1623688206340,b5f5341852b9fb89fbd9cc0056c13fefa71e7cfbd1c3755c643cdef0f15f626a +animals/長鼻浣熊 2.jpeg,1623688206344,e3d100b83c519a51e48df99c61f1d86ee52e0a98b538597fc40d56d4361f758d +animals/非洲象.jpeg,1623688206362,48b4b8f40a14c484ecce3afc8d026490f6dc5e27596349addcb6b98f6ed916cc +animals/長鼻浣熊.jpeg,1623688206345,e3d100b83c519a51e48df99c61f1d86ee52e0a98b538597fc40d56d4361f758d +animals/非洲象 2.jpeg,1623688206361,48b4b8f40a14c484ecce3afc8d026490f6dc5e27596349addcb6b98f6ed916cc +animals/青鸞 2.jpeg,1623688206357,6f48cba3b896d34f08624d680e43c2b7af2edd51e14ec25ae392d99733dfa47b +animals/高山巨針蟻 2.jpeg,1623688206377,717af772675d35926b15516f26075d98da831fb9ee9e3b973ac8ad457e5bb585 +animals/高山巨針蟻.jpeg,1623688206377,717af772675d35926b15516f26075d98da831fb9ee9e3b973ac8ad457e5bb585 +animals/鴛鴦 2.jpeg,1623688206380,33ea21cf19bfbbd6cbeaf6a454261e1934cbbfb2d6ec0506b29cd39d3bc598c8 +animals/阿氏夜猴 2.jpeg,1623688206350,7ea91447405b9df5704b8de8efb6477d1914a4df281804ee5ec7877f0df2b6fa +animals/鴛鴦.jpeg,1623688206380,33ea21cf19bfbbd6cbeaf6a454261e1934cbbfb2d6ec0506b29cd39d3bc598c8 +animals/韃靼沙蚺.jpeg,1623688206363,bfc87857973cbc900515dbdadb1aa96076ca4424bd25a0ba4958562c2909ae3a +animals/韃靼沙蚺 2.jpeg,1623688206363,bfc87857973cbc900515dbdadb1aa96076ca4424bd25a0ba4958562c2909ae3a +animals/青鸞.jpeg,1623688206359,6f48cba3b896d34f08624d680e43c2b7af2edd51e14ec25ae392d99733dfa47b +animals/馬來貘 2.jpeg,1623688206373,4ffc55d6a682d1da88ba1742eab24ca346e4a62ae9b4024ae1f601d1bc4bcb8e +animals/馬來貘.jpeg,1623688206373,4ffc55d6a682d1da88ba1742eab24ca346e4a62ae9b4024ae1f601d1bc4bcb8e +animals/阿氏夜猴.jpeg,1623688206351,7ea91447405b9df5704b8de8efb6477d1914a4df281804ee5ec7877f0df2b6fa +animals/黃緣螢 2.jpeg,1623688206388,47f39543040c37dd393c746fa338bc4311c6ec0e40f79eeff2a26afb47f979bd +animals/黃緣螢.jpeg,1623688206388,47f39543040c37dd393c746fa338bc4311c6ec0e40f79eeff2a26afb47f979bd +animals/黃帶箭毒蛙 2.jpeg,1623688206387,3e7c78a2f6e140804ade053370b2b074fe8ab8b6f469dae79f6682fe75ed7ea2 +animals/黃帶箭毒蛙.jpeg,1623688206387,3e7c78a2f6e140804ade053370b2b074fe8ab8b6f469dae79f6682fe75ed7ea2 +animals/高雄巨山蟻 2.jpeg,1623688206378,c1943939dd7c86776d988ecf1f7decfa6aa675fa18ad33fb49908a2dae67a658 +animals/高雄巨山蟻.jpeg,1623688206378,c1943939dd7c86776d988ecf1f7decfa6aa675fa18ad33fb49908a2dae67a658 +animals/鱷龜.jpeg,1623688206379,af1b44733936886ce0b5ba5ab81f4f5cd37852cc3a046c8b82a678c8dabcb67c +animals/鱷龜 2.jpeg,1623688206378,af1b44733936886ce0b5ba5ab81f4f5cd37852cc3a046c8b82a678c8dabcb67c +animals/鴕鳥 2.jpeg,1623688206379,79402ffc8e648732f829769cc7eb4eb45543be27abc82c9b20849ad9f6edc248 +animals/鴕鳥.jpeg,1623688206380,79402ffc8e648732f829769cc7eb4eb45543be27abc82c9b20849ad9f6edc248 +animals/麝香貓 2.jpeg,1623688206383,3eb423fd81dab01cad50cde5c68f7e5a512f9c7527bf16ca982a0bebe2bddd49 +animals/麝香貓.jpeg,1623688206386,3eb423fd81dab01cad50cde5c68f7e5a512f9c7527bf16ca982a0bebe2bddd49 +animals/臺灣野山羊 2.jpeg,1623688206294,cf2573e5cf77529d12b8605b090bf4caa3b18b4f98ac092176f12f3b29b5febc +animals/臺灣野山羊.jpeg,1623688206296,cf2573e5cf77529d12b8605b090bf4caa3b18b4f98ac092176f12f3b29b5febc +animals/黃腿象龜 2.jpeg,1623688206390,ba807296263f705093cb429bf90a597b368500ea9b58e7725b74bab3c54265aa +animals/黃腿象龜.jpeg,1623688206390,ba807296263f705093cb429bf90a597b368500ea9b58e7725b74bab3c54265aa +animals/麻斑晏蜓 2.jpeg,1623688206386,f5ef0303dc8f0012c115258ad116f89981b708442dc8066d9a1f34571b4c3fe8 +animals/麻斑晏蜓.jpeg,1623688206387,f5ef0303dc8f0012c115258ad116f89981b708442dc8066d9a1f34571b4c3fe8 +animals/馬來長吻鱷 2.jpeg,1623688206374,11cb9fc01200f3ca2a0d645bf12aa9a604a02dcfc1052576aa14fba34a05c9d5 +animals/黑猩猩 2.jpeg,1623688206404,4c52657774b0cf0113f8826b08e300746244b5844719ae95f9a9d4cc71b74d82 +animals/馬來長吻鱷.jpeg,1623688206375,11cb9fc01200f3ca2a0d645bf12aa9a604a02dcfc1052576aa14fba34a05c9d5 +animals/黑猩猩.jpeg,1623688206407,4c52657774b0cf0113f8826b08e300746244b5844719ae95f9a9d4cc71b74d82 +animals/黑袖鴿 2.jpeg,1623688206410,0056c67d9d5d7cbf0f92a6ad2279c3c814088bb3454982fce2e9ba998ab20031 +animals/黃魚鴞 2.jpeg,1623688206399,45b57fa4791eed761ab3f65e1466b8ee33c93c27c7d5025d2ae6a313e0089190 +animals/黃斑黑蟋蟀 2.jpeg,1623688206387,5d5d9747feb18a65b6beeba71c602d66e65bf221804cc5670c135c74b9e0656d +animals/黃斑黑蟋蟀.jpeg,1623688206388,5d5d9747feb18a65b6beeba71c602d66e65bf221804cc5670c135c74b9e0656d +animals/黑袖鴿.jpeg,1623688206411,0056c67d9d5d7cbf0f92a6ad2279c3c814088bb3454982fce2e9ba998ab20031 +animals/雙角犀鳥.jpeg,1623688206355,bcbae965a18058367ca847c2dd1962265815ce93298513dc1a825b40da3c799c +animals/黃魚鴞.jpeg,1623688206399,45b57fa4791eed761ab3f65e1466b8ee33c93c27c7d5025d2ae6a313e0089190 +animals/黃頭亞馬遜鸚鵡 2.jpeg,1623688206391,8f6b7019e8b70605afe4cf39beff3ca20b7f03631ea99db9a44cf8ae8dd59aab +animals/黑蜘蛛猴.jpeg,1623688206410,9ee4f349c04916f7794801521f47e2c211c2b48c6e16d5c4aef524237714ffcd +animals/黑蜘蛛猴 2.jpeg,1623688206409,9ee4f349c04916f7794801521f47e2c211c2b48c6e16d5c4aef524237714ffcd +animals/黃頭亞馬遜鸚鵡.jpeg,1623688206391,8f6b7019e8b70605afe4cf39beff3ca20b7f03631ea99db9a44cf8ae8dd59aab +animals/雙角犀鳥 2.jpeg,1623688206354,bcbae965a18058367ca847c2dd1962265815ce93298513dc1a825b40da3c799c +animals/黑冠松鼠猴.jpeg,1623688206400,f1e9e02476c76628074e250659ca991a4195ff08741422a31386df9370f682a1 +animals/黑冠松鼠猴 2.jpeg,1623688206399,f1e9e02476c76628074e250659ca991a4195ff08741422a31386df9370f682a1 +animals/黃頸亞馬遜鸚鵡 2.jpeg,1623688206398,87efb9b8e27259832d179be59ddfb93748c877a71c73492b3ea74fdfc75a6eda +animals/黃頸亞馬遜鸚鵡.jpeg,1623688206399,87efb9b8e27259832d179be59ddfb93748c877a71c73492b3ea74fdfc75a6eda +animals/黑脈樺斑蝶.jpeg,1623688206408,04ff8ab120ca1d877ff45ccaeb2e01d186cd5f35eed506cfb70faa0ed3f5dc48 +animals/黑脈樺斑蝶 2.jpeg,1623688206407,04ff8ab120ca1d877ff45ccaeb2e01d186cd5f35eed506cfb70faa0ed3f5dc48 +animals/黑腳企鵝 2.jpeg,1623688206409,32aea7c2c448da168c3904ef05a1b64ec858c0ab02123c7a74f486eee7c6eed4 +animals/黑腳企鵝.jpeg,1623688206409,32aea7c2c448da168c3904ef05a1b64ec858c0ab02123c7a74f486eee7c6eed4 +animals/金雞 2.jpeg,1623688206334,6453122635e02511d8d469b6200e6706360f8febd8c137a951256026d83ecc03 +animals/金雞.jpeg,1623688206337,6453122635e02511d8d469b6200e6706360f8febd8c137a951256026d83ecc03 +animals/阿拉斯加棕熊.jpeg,1623688206347,69334fcb9a5e3b9482048c415a1dac4b6b715ee3897479e937dca87354e21161 +animals/阿拉斯加棕熊 2.jpeg,1623688206346,69334fcb9a5e3b9482048c415a1dac4b6b715ee3897479e937dca87354e21161 +animals/黑眶蟾蜍 2.jpeg,1623688206407,68c7e9bc18f17e7c6332a7d8548498d1277ff8377c111c901ae4891dff97e7a8 +animals/黑帝王魟 2.jpeg,1623688206402,20362bcff321fce06ef8d8b6029799c6aeb3914dcf1d01ded0ba4086e640a303 +animals/黑帝王魟.jpeg,1623688206403,20362bcff321fce06ef8d8b6029799c6aeb3914dcf1d01ded0ba4086e640a303 +animals/黑眶蟾蜍.jpeg,1623688206407,68c7e9bc18f17e7c6332a7d8548498d1277ff8377c111c901ae4891dff97e7a8 +animals/點刻三線大龍蝨 2.jpeg,1623688206423,9f6d90a9deb15893c06ee4be1cf6c73146e96e7e43ee090103cf81bf10243702 +animals/點刻三線大龍蝨.jpeg,1623688206423,9f6d90a9deb15893c06ee4be1cf6c73146e96e7e43ee090103cf81bf10243702 +static/css/2.7409c726.chunk.css,1623688230532,89d9681e68d4cb6cb2aa3a74602443969a6e21cac90fd8557f237de6a436d360 +static/css/main.b6e0332d.chunk.css,1623688230525,cfc4cc189e8ff7a3f69216feb2f66074a94a73c13efe08f510df62169e2390d1 +static/css/main.b6e0332d.chunk.css.map,1623688230532,cfa7f83cdc61b5f280611c9f2f2db6009cdb3fcc630ea61742aa5ed128635a24 +animals/黑掌蜘蛛猴 2.jpeg,1623688206403,47207c4b1ed7c2d4795ef8724cf0b235fc31d2dcde78303683963e9f73ecfdd0 +static/css/2.7409c726.chunk.css.map,1623688230533,807878cbd2d84fcdb0b9cd6a6564389d2d7651c57d6499d37e50a02828af657a +static/js/2.26bbca8b.chunk.js.LICENSE.txt,1623688230532,fe746f26d625e50095f6e810064c1e8e4e80af3e968edfb7739c65ddb5e5fd90 +static/js/runtime-main.11f320ca.js,1623688230532,8de8bfcca510efa1831af5576def15243d74bb7722488fcc8a634632ef67d524 +animals/黑掌蜘蛛猴.jpeg,1623688206404,47207c4b1ed7c2d4795ef8724cf0b235fc31d2dcde78303683963e9f73ecfdd0 +static/js/runtime-main.11f320ca.js.map,1623688230553,96204fb015fd0ccc7dba3523be381d0904e48e8e6c93e971ee5d8d8d2315925e +static/media/000 2.525ffa0d.svg,1623688230520,3ee00074c4b28f28d83e769fc4fb4852558b153381c7bdbe72bfe2818549e57e +static/media/000.525ffa0d.svg,1623688230520,3ee00074c4b28f28d83e769fc4fb4852558b153381c7bdbe72bfe2818549e57e +static/media/buyton-07 2.31869ee4.svg,1623688230522,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a +static/media/buyton-07 3.31869ee4.svg,1623688230522,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a +static/media/buyton-07 4.31869ee4.svg,1623688230522,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a +static/media/buyton-07.31869ee4.svg,1623688230522,35931ccc375e667a3b5d59411a30ecd0aab3cf2c94cae16adfc387cc0dccb06a +animals/食蛇龜 2.jpeg,1623688206365,d80b672373dca3884f8dbd69573154d81d067883d122dbea51e7a0771a052855 +static/media/like-02 2.f941cad5.svg,1623688230522,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 +animals/黃腹藍琉璃金剛鸚鵡 2.jpeg,1623688206389,899aedf91591c4fd0ad24a427b3194e7c166545e3a6685c2cf894739a6dba41a +animals/食蛇龜.jpeg,1623688206371,d80b672373dca3884f8dbd69573154d81d067883d122dbea51e7a0771a052855 +animals/鼬獾 2.jpeg,1623688206423,070d3a55b3d56e1fac2a2d5b8cc0e0643ec2d165c4c008944a094c867eeca149 +static/media/like-02.f941cad5.svg,1623688230523,dab8734ddccf611ca2b37322349796eab2dd6f8636e7ba4ca73d73ac1c1b0e50 +static/media/like-03 2.3674cf15.svg,1623688230522,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 +static/media/like-03.3674cf15.svg,1623688230523,ebe00a2da28b7c2690d51a363a711c5213ca0b91b43b8541a91fa465d30c6c81 +static/media/park 2.8332c61d.svg,1623688230523,ee2324f5606ff6b9655a9b0ca27b46669f0e037dd366202db84a4d67ad2a36e1 +animals/黃腹藍琉璃金剛鸚鵡.jpeg,1623688206390,899aedf91591c4fd0ad24a427b3194e7c166545e3a6685c2cf894739a6dba41a +animals/鼬獾.jpeg,1623688206424,070d3a55b3d56e1fac2a2d5b8cc0e0643ec2d165c4c008944a094c867eeca149 +static/media/park.8332c61d.svg,1623688230520,ee2324f5606ff6b9655a9b0ca27b46669f0e037dd366202db84a4d67ad2a36e1 +static/media/position-02 2.d77bcc4c.svg,1623688230523,d2092886b9fd75b826e2e644acf8cdc7b3a5261e97485b675137c0916f2a1e55 +static/media/position-02.d77bcc4c.svg,1623688230520,d2092886b9fd75b826e2e644acf8cdc7b3a5261e97485b675137c0916f2a1e55 +animals/黑天鵝.jpeg,1623688206401,96bd68ac880aceee8b2b4e45c1f798daeb52c5c9b8aefb566b325875e7eb91d8 +animals/黑天鵝 2.jpeg,1623688206400,96bd68ac880aceee8b2b4e45c1f798daeb52c5c9b8aefb566b325875e7eb91d8 +static/media/revicons.e8746a62.woff,1623688230525,f0215fad6e81dd82e09ec1f294e3a38800c59504c22f03e43aba53ddd3def8a4 +static/media/revicons.a77de540.eot,1623688230526,c70318dfd47d7dfe495f14048cfd723dd18b8c8005fa6326c0f0a273278b4469 +static/media/revicons.57fd05d4.ttf,1623688230525,1c12324ddcdff078ce4636f64ba2dcee91ff136da751e5efcd93e7dfa6d4d68b +static/media/stamp-02 2.a228e9e3.svg,1623688230523,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +static/media/stamp-02 4.a228e9e3.svg,1623688230523,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +static/media/stamp-02 3.a228e9e3.svg,1623688230523,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +static/media/star 2.a7feaef7.svg,1623688230523,202eaf427c4e73342cea0e278016925644a86cfccc3446f3725e24f75e8658db +static/media/stamp-02.a228e9e3.svg,1623688230523,815ca966827f56e7f619626c6922110eac7e3d5fd6a8aaf3bd399e2399aac023 +static/media/star.a7feaef7.svg,1623688230523,202eaf427c4e73342cea0e278016925644a86cfccc3446f3725e24f75e8658db +animals/黑頸天鵝 2.jpeg,1623688206419,782e0946e96fc23e0a780ca3765356edd34c8b267defc52448dedad4d0a70a4f +static/media/企鵝館 2.2650b87b.svg,1623688230523,bec378a229f010fcf0abace31071dde123bf8c51fdfc43afe933fb41e2c5e144 +static/media/企鵝館.2650b87b.svg,1623688230523,bec378a229f010fcf0abace31071dde123bf8c51fdfc43afe933fb41e2c5e144 +animals/黑頸天鵝.jpeg,1623688206420,782e0946e96fc23e0a780ca3765356edd34c8b267defc52448dedad4d0a70a4f +static/media/兒童動物區 2.1993f649.svg,1623688230523,8a325a469356d78eafe05bbbb995ea0ae8e2def09b2cba5df9decf91846215f5 +static/media/兒童動物區.1993f649.svg,1623688230523,8a325a469356d78eafe05bbbb995ea0ae8e2def09b2cba5df9decf91846215f5 +static/media/入口 2.dc62f3de.svg,1623688230523,621081435283df38381e0c088679562fcb63b728cf209b1231d30f1759c1ff4f +static/media/入口.dc62f3de.svg,1623688230520,621081435283df38381e0c088679562fcb63b728cf209b1231d30f1759c1ff4f +animals/黑長尾雉 2.jpeg,1623688206412,dbde94ee5d408db61e1ba1af17dad6b5e8d1fa0e3497a5e641429e450c7701af +static/media/兩棲爬蟲動物館 2.835d4971.svg,1623688230523,b4a3df3069237072230a99969a6637c54d5dbfad7301ca0d316ae8f496512541 +static/media/兩棲爬蟲動物館.835d4971.svg,1623688230523,b4a3df3069237072230a99969a6637c54d5dbfad7301ca0d316ae8f496512541 +static/media/出口 2.9c04f8a4.svg,1623688230523,fce8b8aa1feb7e4028e473a2d6327e642354188ccd98a3c0cf2cea61541b91d0 +static/media/出口.9c04f8a4.svg,1623688230520,fce8b8aa1feb7e4028e473a2d6327e642354188ccd98a3c0cf2cea61541b91d0 +animals/黑長尾雉.jpeg,1623688206412,dbde94ee5d408db61e1ba1af17dad6b5e8d1fa0e3497a5e641429e450c7701af +static/media/列車站-02 2.6791a308.svg,1623688230520,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +static/media/列車站-02 3.6791a308.svg,1623688230520,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +static/media/列車站-02 4.6791a308.svg,1623688230520,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +static/media/列車站-02.6791a308.svg,1623688230518,ea41629b9aaa8baa4e6eac6dbd6fbcc4d73ae6e489d208e8d70075bc33348ae9 +static/media/哺集乳室-02 2.035e3557.svg,1623688230520,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +static/media/哺集乳室-02 3.035e3557.svg,1623688230520,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +static/media/哺集乳室-02 4.035e3557.svg,1623688230520,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +static/media/哺集乳室-02.035e3557.svg,1623688230519,ff90800a6bac7b0422b7c37ea543ca5e00d5e695f5fba69ffa0d5bc24847be8d +static/media/商店-02 2.8437d910.svg,1623688230521,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +static/media/商店-02 3.8437d910.svg,1623688230520,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +static/media/商店-02 4.8437d910.svg,1623688230520,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +static/media/商店-02.8437d910.svg,1623688230519,4c0973b609e64e66acbbc231445f780fc127d5b0afbe24cabb77012b2f5b0c24 +static/media/團餐服務-02 2.c7a63107.svg,1623688230520,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/團餐服務-02 3.c7a63107.svg,1623688230521,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/團餐服務-02 4.c7a63107.svg,1623688230521,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/團餐服務-02.c7a63107.svg,1623688230519,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/娃娃車/輪椅租用-02 2.424d38aa.svg,1623688230521,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +static/media/娃娃車/輪椅租用-02 3.424d38aa.svg,1623688230521,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +static/media/娃娃車/輪椅租用-02 4.424d38aa.svg,1623688230521,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +static/media/娃娃車/輪椅租用-02.424d38aa.svg,1623688230519,98da27c0f7506605e951d2a6267a6e5e3389da9fdc1e8904363c7d2a604ef3e9 +static/media/寄物櫃-02 2.3479121d.svg,1623688230521,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +static/media/寄物櫃-02 3.3479121d.svg,1623688230521,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +static/media/寄物櫃-02 4.3479121d.svg,1623688230521,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +animals/黑面琵鷺 2.jpeg,1623688206413,ca4d197e13592b58c53996a8b30749e5932d6f7f59affdea96d487fcbde3f3c1 +animals/黑面琵鷺.jpeg,1623688206414,ca4d197e13592b58c53996a8b30749e5932d6f7f59affdea96d487fcbde3f3c1 +static/media/寄物櫃-02.3479121d.svg,1623688230519,21146d410710e49caed539709a18f9081c9ffa7d2de5b42853981ecf4a1644a7 +static/media/廁所-02 2.f4f26456.svg,1623688230521,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +static/media/廁所-02 3.f4f26456.svg,1623688230521,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +static/media/廁所-02 4.f4f26456.svg,1623688230521,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +static/media/廁所-02.f4f26456.svg,1623688230518,2c44d72b832af8dab267ec25fa60d3ee5c3957ac60054e66ce916392884275d9 +static/media/志工服務台-02 2.5cbaf1f4.svg,1623688230521,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +animals/黑點大白斑蝶.jpeg,1623688206422,8e47979b6772998cb0887074c67b596a0ef3fbfac26eefb8fc314fd35d455010 +static/media/志工服務台-02 3.5cbaf1f4.svg,1623688230521,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +static/media/志工服務台-02 4.5cbaf1f4.svg,1623688230521,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +static/media/志工服務台-02.5cbaf1f4.svg,1623688230519,80ecef1e835b2afbe1e5c7d90acbd3f19e45dc8e689dddccac0f1143a03822a3 +animals/黑點大白斑蝶 2.jpeg,1623688206420,8e47979b6772998cb0887074c67b596a0ef3fbfac26eefb8fc314fd35d455010 +static/media/提款機-02 2.18765dae.svg,1623688230521,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +static/media/提款機-02 3.18765dae.svg,1623688230521,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +static/media/提款機-02 4.18765dae.svg,1623688230521,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +static/media/提款機-02.18765dae.svg,1623688230519,660c9d7b0b44a76cfbff57a7b427ff645183d673859da93257a942d39c253546 +static/media/教育中心 2.af59693a.svg,1623688230523,98e92ca7fa6673c14c36c6849a2ab0a7110ffa81f73fc3be452dd42296db7c4b +static/media/教育中心.af59693a.svg,1623688230523,98e92ca7fa6673c14c36c6849a2ab0a7110ffa81f73fc3be452dd42296db7c4b +static/media/新光特展館(大貓熊館) 2.126914a8.svg,1623688230523,0fe2910f8188f9784d1ccfaa7ea7e2f2c113709eff8971fa05c330d6fc0b2fbf +static/media/新光特展館(大貓熊館).126914a8.svg,1623688230523,0fe2910f8188f9784d1ccfaa7ea7e2f2c113709eff8971fa05c330d6fc0b2fbf +static/media/昆蟲館 2.dd028ca5.svg,1623688230523,7c4b26112936aac05908b3775132b1252181a3a3b7070552bdac4b81cd14cc99 +static/media/昆蟲館.dd028ca5.svg,1623688230523,7c4b26112936aac05908b3775132b1252181a3a3b7070552bdac4b81cd14cc99 +static/media/沙漠動物區 2.5a33b851.svg,1623688230523,ccafb12a2df771e551743646c3e64bfe2a23f549a53a01f4f4d47a00ee3b68d7 +static/media/沙漠動物區.5a33b851.svg,1623688230524,ccafb12a2df771e551743646c3e64bfe2a23f549a53a01f4f4d47a00ee3b68d7 +static/media/涼亭-02 2.1a3deb80.svg,1623688230521,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +static/media/223.ed1e5024.png,1623688230526,bbc97607c74ce06da3394fac37d04b186a5e44ebbbfb77f7ed0e4df981e9c84b +static/media/涼亭-02 3.1a3deb80.svg,1623688230521,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +static/media/涼亭-02 4.1a3deb80.svg,1623688230522,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +static/media/涼亭-02.1a3deb80.svg,1623688230519,24c013673f6b9428286e79717c8177df670d00efec0b7d6feb6fb106c1da2f4e +static/media/溫帶動物區.024057e2.svg,1623688230524,aa793d03dea42f94effa484d5dcc79d97b3bdf63853a71448fcb878864884d94 +static/media/澳洲動物區 2.1231bce7.svg,1623688230524,8499f29b7c536562f3b3395f373936dee41a168f6313ee12c802d3564747dd3f +static/media/溫帶動物區 2.024057e2.svg,1623688230524,aa793d03dea42f94effa484d5dcc79d97b3bdf63853a71448fcb878864884d94 +static/media/澳洲動物區.1231bce7.svg,1623688230524,8499f29b7c536562f3b3395f373936dee41a168f6313ee12c802d3564747dd3f +static/media/無尾熊館 2.3e13cc23.svg,1623688230524,0b8730fbd27a195c963847d6057effe4dd10b73a895e82e433d9be4fedb61eee +static/media/無尾熊館.3e13cc23.svg,1623688230524,0b8730fbd27a195c963847d6057effe4dd10b73a895e82e433d9be4fedb61eee +static/media/熱帶雨林區 2.c5d8b263.svg,1623688230524,57d7871c47faedabe79cb733531a4628a05af30a76031bf738b1ddc9d49d6d0c +static/js/main.6e1d0309.chunk.js.map,1623688230553,7337b1e6cf51132dc365191ef8224c9c016e0552685f1bfea80f4b55e1298933 +static/media/熱帶雨林區.c5d8b263.svg,1623688230524,57d7871c47faedabe79cb733531a4628a05af30a76031bf738b1ddc9d49d6d0c +static/media/熱帶雨林室內館(穿山甲館) 2.bdea2552.svg,1623688230524,c3b90d8c754f89a99da09507e916b551b4c1c3e5237b051891f5f15678f1619b +static/media/熱帶雨林室內館(穿山甲館).bdea2552.svg,1623688230524,c3b90d8c754f89a99da09507e916b551b4c1c3e5237b051891f5f15678f1619b +static/media/臺灣動物區 2.78fd4e22.svg,1623688230524,a0cd5d6e9452bf8c2436a64359ca1e03406a27d1f3e3e15cb626c98bdf0987a0 +static/media/臺灣動物區.78fd4e22.svg,1623688230524,a0cd5d6e9452bf8c2436a64359ca1e03406a27d1f3e3e15cb626c98bdf0987a0 +static/media/護理站-02 2.b036c923.svg,1623688230522,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +static/media/護理站-02 3.b036c923.svg,1623688230521,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +static/media/護理站-02.b036c923.svg,1623688230519,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +static/media/護理站-02 4.b036c923.svg,1623688230521,97ee11ef0ebd72244afeade65988e98876e20cd45022d38dac1727fcccf77376 +static/media/販賣機-02 2.d16861e3.svg,1623688230521,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +static/media/販賣機-02 3.d16861e3.svg,1623688230522,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +static/media/販賣機-02 4.d16861e3.svg,1623688230522,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +animals/鴯鶓 2.jpeg,1623688206381,ffd40c822e46da18a487a9c18f0ec58e89ad875a4def15bbd08657f793ea2299 +static/media/販賣機-02.d16861e3.svg,1623688230520,cd2cdc1266f3fc7e0719ea5eb6758cc77a85eef756d15eaffb85c1922327e855 +static/media/遊客服務中心-02 2.9dbb6978.svg,1623688230522,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +animals/鴯鶓.jpeg,1623688206383,ffd40c822e46da18a487a9c18f0ec58e89ad875a4def15bbd08657f793ea2299 +static/media/遊客服務中心-02 3.9dbb6978.svg,1623688230522,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +static/media/遊客服務中心-02.9dbb6978.svg,1623688230519,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +static/media/非洲動物區 2.46b9b18d.svg,1623688230524,b9727f192e075b7c2c793fff20fa01b4bcdff8fadc48f56f7ea4675ece3a26d1 +static/media/非洲動物區.46b9b18d.svg,1623688230524,b9727f192e075b7c2c793fff20fa01b4bcdff8fadc48f56f7ea4675ece3a26d1 +static/media/遊客服務中心-02 4.9dbb6978.svg,1623688230522,114e91ea0880867bc525632bbe682b14a2fe289e0cf38f3da0588ce46892da83 +static/media/飲水機-02 2.8b54af73.svg,1623688230522,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +static/media/飲水機-02 4.8b54af73.svg,1623688230522,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +static/media/飲水機-02 3.8b54af73.svg,1623688230522,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +static/media/飲水機-02.8b54af73.svg,1623688230519,160e4dae7c4a1a22f018a63419c805b53afd64a5f5837b719f65de6819948fd0 +static/media/餐飲-02 2.c7a63107.svg,1623688230522,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/餐飲-02 3.c7a63107.svg,1623688230522,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/餐飲-02 4.c7a63107.svg,1623688230522,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/餐飲-02.c7a63107.svg,1623688230520,c43caeae1e217306f66ab5c25c06825892f2d47fcb623af1498ac5d806f78ca3 +static/media/鳥園區 2.0e99caa4.svg,1623688230524,d37ebb4641d9db34fd095619331cbb154e86bcb87277691bcd8e4946d81901b7 +static/media/鳥園區.0e99caa4.svg,1623688230524,d37ebb4641d9db34fd095619331cbb154e86bcb87277691bcd8e4946d81901b7 +static/media/鸚鵡屋 2.61f0fe76.svg,1623688230525,ae5871ea7d884345ff2c51b8ccbbac1dbdfec4d94b3e2edaf1b411b8b0408300 +static/media/鸚鵡屋.61f0fe76.svg,1623688230524,ae5871ea7d884345ff2c51b8ccbbac1dbdfec4d94b3e2edaf1b411b8b0408300 +animals/黃頭陸龜 2.jpeg,1623688206392,036a953d41d09e4443190ec9007f6bfe53561497b575518f1e3cd40fa9b0bd6a +animals/黃頭陸龜.jpeg,1623688206397,036a953d41d09e4443190ec9007f6bfe53561497b575518f1e3cd40fa9b0bd6a +animals/黑頸冠鶴.jpeg,1623688206418,84d084ee9e974c7483f1f751c7bb95b01db29e04833faf4029e586646ce2462e +animals/黑頸冠鶴 2.jpeg,1623688206415,84d084ee9e974c7483f1f751c7bb95b01db29e04833faf4029e586646ce2462e +static/js/main.6e1d0309.chunk.js,1623688230532,0fa7954f9b665f6654708ef8fba5062814a1ee219225a847e5c6624e4aa0ae20 +static/js/2.26bbca8b.chunk.js,1623688230532,b41f05877acd3aa39a0c75196977aabe2ef69537ab0fc0bf08fac4241f72b3ee +static/js/2.26bbca8b.chunk.js.map,1623688230554,cd7fd7ce68cea601f8d35566917f099fc1ab382319b5b3e7926a32df2fb212e7 diff --git a/package.json b/package.json index ea6a022..f3a02eb 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,8 @@ "start": "BROWSER='microsoft edge' react-scripts start", "build": "react-scripts build", "test": "react-scripts test", - "eject": "react-scripts eject" + "eject": "react-scripts eject", + "lint": "eslint src" }, "eslintConfig": { "extends": [ diff --git a/src/App.js b/src/App.js index b74f12c..fb19416 100644 --- a/src/App.js +++ b/src/App.js @@ -4,12 +4,11 @@ import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; import Map from "./Pages/Map"; import store from "./Redux/Store"; import Header from "./Utils/Header"; -import Footer from "./Utils/Footer"; +// import Footer from "./Utils/Footer"; import Member from "./Pages/Member"; -import All from "./Pages/All"; +import ShowAllAnimals from "./Pages/ShowAllAnimals"; import Entrance from "./Pages/Entrance"; import Landing from "./Pages/Landing"; -import { ToastContainer } from "react-toastify"; function App() { return ( @@ -18,7 +17,7 @@ function App() {
- + diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..323cc9f --- /dev/null +++ b/src/App.test.js @@ -0,0 +1 @@ +import App from "./App"; diff --git "a/src/Icons/Labels/\345\210\227\350\273\212\347\253\231-02 2.svg" "b/src/Icons/Labels/\345\210\227\350\273\212\347\253\231-02 2.svg" deleted file mode 100755 index efef50b..0000000 --- "a/src/Icons/Labels/\345\210\227\350\273\212\347\253\231-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -列車站 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\223\272\351\233\206\344\271\263\345\256\244-02 2.svg" "b/src/Icons/Labels/\345\223\272\351\233\206\344\271\263\345\256\244-02 2.svg" deleted file mode 100755 index b73536a..0000000 --- "a/src/Icons/Labels/\345\223\272\351\233\206\344\271\263\345\256\244-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -哺集乳室 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\225\206\345\272\227-02 2.svg" "b/src/Icons/Labels/\345\225\206\345\272\227-02 2.svg" deleted file mode 100755 index 709ff71..0000000 --- "a/src/Icons/Labels/\345\225\206\345\272\227-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -商店 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\234\230\351\244\220\346\234\215\345\213\231-02 2.svg" "b/src/Icons/Labels/\345\234\230\351\244\220\346\234\215\345\213\231-02 2.svg" deleted file mode 100755 index 4cec389..0000000 --- "a/src/Icons/Labels/\345\234\230\351\244\220\346\234\215\345\213\231-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -餐飲-02 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\250\203\345\250\203\350\273\212\357\274\217\350\274\252\346\244\205\347\247\237\347\224\250-02 2.svg" "b/src/Icons/Labels/\345\250\203\345\250\203\350\273\212\357\274\217\350\274\252\346\244\205\347\247\237\347\224\250-02 2.svg" deleted file mode 100755 index c881817..0000000 --- "a/src/Icons/Labels/\345\250\203\345\250\203\350\273\212\357\274\217\350\274\252\346\244\205\347\247\237\347\224\250-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -娃娃車/輪椅租用 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\257\204\347\211\251\346\253\203-02 2.svg" "b/src/Icons/Labels/\345\257\204\347\211\251\346\253\203-02 2.svg" deleted file mode 100755 index 094ab5d..0000000 --- "a/src/Icons/Labels/\345\257\204\347\211\251\346\253\203-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -寄物櫃 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\273\201\346\211\200-02 2.svg" "b/src/Icons/Labels/\345\273\201\346\211\200-02 2.svg" deleted file mode 100755 index 448737e..0000000 --- "a/src/Icons/Labels/\345\273\201\346\211\200-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -廁所 \ No newline at end of file diff --git "a/src/Icons/Labels/\345\277\227\345\267\245\346\234\215\345\213\231\345\217\260-02 2.svg" "b/src/Icons/Labels/\345\277\227\345\267\245\346\234\215\345\213\231\345\217\260-02 2.svg" deleted file mode 100755 index d81dee2..0000000 --- "a/src/Icons/Labels/\345\277\227\345\267\245\346\234\215\345\213\231\345\217\260-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -志工服務台 \ No newline at end of file diff --git "a/src/Icons/Labels/\346\217\220\346\254\276\346\251\237-02 2.svg" "b/src/Icons/Labels/\346\217\220\346\254\276\346\251\237-02 2.svg" deleted file mode 100755 index 38860b8..0000000 --- "a/src/Icons/Labels/\346\217\220\346\254\276\346\251\237-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -提款機 \ No newline at end of file diff --git "a/src/Icons/Labels/\346\266\274\344\272\255-02 2.svg" "b/src/Icons/Labels/\346\266\274\344\272\255-02 2.svg" deleted file mode 100755 index 8fc7a2b..0000000 --- "a/src/Icons/Labels/\346\266\274\344\272\255-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -涼亭-02 \ No newline at end of file diff --git "a/src/Icons/Labels/\350\255\267\347\220\206\347\253\231-02 2.svg" "b/src/Icons/Labels/\350\255\267\347\220\206\347\253\231-02 2.svg" deleted file mode 100755 index c7f0fbd..0000000 --- "a/src/Icons/Labels/\350\255\267\347\220\206\347\253\231-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -護理站 \ No newline at end of file diff --git "a/src/Icons/Labels/\350\262\251\350\263\243\346\251\237-02 2.svg" "b/src/Icons/Labels/\350\262\251\350\263\243\346\251\237-02 2.svg" deleted file mode 100755 index 597d857..0000000 --- "a/src/Icons/Labels/\350\262\251\350\263\243\346\251\237-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -販賣機 \ No newline at end of file diff --git "a/src/Icons/Labels/\351\201\212\345\256\242\346\234\215\345\213\231\344\270\255\345\277\203-02 2.svg" "b/src/Icons/Labels/\351\201\212\345\256\242\346\234\215\345\213\231\344\270\255\345\277\203-02 2.svg" deleted file mode 100755 index 1034bd9..0000000 --- "a/src/Icons/Labels/\351\201\212\345\256\242\346\234\215\345\213\231\344\270\255\345\277\203-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -遊客服務中心 \ No newline at end of file diff --git "a/src/Icons/Labels/\351\243\262\346\260\264\346\251\237-02 2.svg" "b/src/Icons/Labels/\351\243\262\346\260\264\346\251\237-02 2.svg" deleted file mode 100755 index 12e644e..0000000 --- "a/src/Icons/Labels/\351\243\262\346\260\264\346\251\237-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -飲水機 \ No newline at end of file diff --git "a/src/Icons/Labels/\351\244\220\351\243\262-02 2.svg" "b/src/Icons/Labels/\351\244\220\351\243\262-02 2.svg" deleted file mode 100755 index 4cec389..0000000 --- "a/src/Icons/Labels/\351\244\220\351\243\262-02 2.svg" +++ /dev/null @@ -1 +0,0 @@ -餐飲-02 \ No newline at end of file diff --git a/src/Icons/buyton-07 2.svg b/src/Icons/buyton-07 2.svg deleted file mode 100755 index 598e4d1..0000000 --- a/src/Icons/buyton-07 2.svg +++ /dev/null @@ -1 +0,0 @@ -buyton \ No newline at end of file diff --git a/src/Icons/stamp-02 2.svg b/src/Icons/stamp-02 2.svg deleted file mode 100644 index 8774d32..0000000 --- a/src/Icons/stamp-02 2.svg +++ /dev/null @@ -1 +0,0 @@ -stamp \ No newline at end of file diff --git a/src/Pages/All/AllAniamls/DetailsPopup.js b/src/Pages/All/AllAniamls/DetailsPopup.js deleted file mode 100644 index 02d19d5..0000000 --- a/src/Pages/All/AllAniamls/DetailsPopup.js +++ /dev/null @@ -1,224 +0,0 @@ -import * as action from "../../../Redux/Action"; -import { useSelector, useDispatch } from "react-redux"; -import Popup from "reactjs-popup"; -import "reactjs-popup/dist/index.css"; -import * as firestore from "../../../Utils/firebase"; -import React, { useState } from "react"; -import { ToastContainer } from "react-toastify"; -import * as Toast from "../../../Utils/toast"; -import { - BrowserRouter as Switch, - Route, - Link, - useRouteMatch, -} from "react-router-dom"; - -import CarouselDiv from "./Carousel"; -import { Container } from "./Popup-style"; - -export default function DetailsPopup(props) { - const [addfavorite, setAddfavorite] = useState(""); - const [addvisited, setAddvisited] = useState(""); - const disPatch = useDispatch(); - const { open } = useSelector((state) => state.FilterAnimals); - const closeModal = () => disPatch(action.setClose()); - const isRowBased = window.matchMedia("(max-width: 800px)"); - - let uid = props.uid; - let favoritiesMember = props.favoritiesMember; - let visitedMember = props.visitedMember; - let popupAnimal = props.popupAnimal; - - return ( - - - {props.showAnimals.map((item) => - item.Name_Ch === popupAnimal ? ( - <> -
-
- img -
- img - img - img - -
- {item.Name_Ch} - {item.Name_En} -
-
- {item.Location} -
-
-
- {item.Class} - {item.Order} - {item.Family} -
-
- 保育分級:{item.Conservation} - {item.Taiwan ? ( - {`(${item.Taiwan})`} - ) : null} - {item.Name_Ch} -
-
- -
-
-
- {item.Name_Ch} - {item.Name_En} -
-
-
-
{ - if (uid) { - favoritiesMember.push(item.Name_Ch); - firestore.firebaseAddFavoriate(uid, favoritiesMember); - setAddfavorite(`加${item.Name_Ch}`); - Toast.success(({ closeToast }) => ( -
- 收藏成功!可至 - - 路線規劃頁面 - - 查看 -
- )); - } else { - Toast.alertMes("請先登入會員呦"); - } - }} - /> - {favoritiesMember.length - ? favoritiesMember.map((name) => - name === popupAnimal ? ( -
{ - e.target.style.backgroundImage = - "url(/Icons/like-02.svg)"; - let index = favoritiesMember.indexOf( - item.Name_Ch - ); - favoritiesMember.splice(index, 1); - firestore.firebaseAddFavoriate( - uid, - favoritiesMember - ); - setAddfavorite(`${item.Name_Latin}`); - Toast.remove("已移除造訪點"); - }} - /> - ) : null - ) - : null} -
加入收藏
-
-
-
{ - if (uid) { - visitedMember.push(item.Name_Ch); - firestore.firebaseAddVisited(uid, visitedMember); - setAddvisited(`add-${item.Name_Latin}`); - Toast.success(({ closeToast }) => ( -
- 加入成功!可至 - - 我的足跡 - - 查看 -
- )); - } else { - Toast.alertMes("請先登入會員呦"); - } - }} - /> - {visitedMember.length - ? visitedMember.map((name) => - name === popupAnimal ? ( -
{ - e.target.style.backgroundImage = - "url(/Icons/like-02.svg)"; - let index = visitedMember.indexOf(item.Name_Ch); - visitedMember.splice(index, 1); - firestore.firebaseAddVisited( - uid, - visitedMember - ); - setAddvisited(`remo-${item.Name_Latin}`); - Toast.remove("已抹除足跡"); - }} - /> - ) : null - ) - : null} -
探索足跡
-
-
-
- - ) : null - )} - -
-
- ); -} diff --git a/src/Pages/Entrance/Information/EnteranceFee.js b/src/Pages/Entrance/Information/Informance/EnteranceFee.js similarity index 100% rename from src/Pages/Entrance/Information/EnteranceFee.js rename to src/Pages/Entrance/Information/Informance/EnteranceFee.js diff --git a/src/Pages/Entrance/Information/Index.js b/src/Pages/Entrance/Information/Informance/Index.js similarity index 98% rename from src/Pages/Entrance/Information/Index.js rename to src/Pages/Entrance/Information/Informance/Index.js index 3c86d94..896b199 100644 --- a/src/Pages/Entrance/Information/Index.js +++ b/src/Pages/Entrance/Information/Informance/Index.js @@ -154,9 +154,7 @@ export default function Infomation() { -
- -
+
diff --git a/src/Pages/Entrance/Information/Informance.js b/src/Pages/Entrance/Information/Informance/Informance.js similarity index 98% rename from src/Pages/Entrance/Information/Informance.js rename to src/Pages/Entrance/Information/Informance/Informance.js index 346e1b9..0d8fea6 100644 --- a/src/Pages/Entrance/Information/Informance.js +++ b/src/Pages/Entrance/Information/Informance/Informance.js @@ -11,13 +11,13 @@ const Container = styled.div` width: 100%; .imgBox { position: absolute; - height: 408px; + height: 100%; top: 0; border-right: 2px solid #fce7e0; .img { max-width: 100%; height: 100%; - object-fit: cover; + object-fit: contain; object-position: left; } } diff --git a/src/Pages/Entrance/Information/Notice.js b/src/Pages/Entrance/Information/Informance/Notice.js similarity index 99% rename from src/Pages/Entrance/Information/Notice.js rename to src/Pages/Entrance/Information/Informance/Notice.js index 38a5ed3..bb26090 100644 --- a/src/Pages/Entrance/Information/Notice.js +++ b/src/Pages/Entrance/Information/Informance/Notice.js @@ -13,6 +13,7 @@ const Container = styled.div` justify-content: center; align-items: center; overflow: hidden; + z-index: 900; .notice { width: 100%; position: relative; diff --git a/src/Pages/Entrance/Information/Open.js b/src/Pages/Entrance/Information/Informance/Open.js similarity index 100% rename from src/Pages/Entrance/Information/Open.js rename to src/Pages/Entrance/Information/Informance/Open.js diff --git a/src/Pages/Entrance/Information/RentalService.js b/src/Pages/Entrance/Information/Informance/RentalService.js similarity index 100% rename from src/Pages/Entrance/Information/RentalService.js rename to src/Pages/Entrance/Information/Informance/RentalService.js diff --git a/src/Pages/Entrance/Information/Traffic.js b/src/Pages/Entrance/Information/Informance/Traffic.js similarity index 99% rename from src/Pages/Entrance/Information/Traffic.js rename to src/Pages/Entrance/Information/Informance/Traffic.js index 802ba43..781e1ab 100644 --- a/src/Pages/Entrance/Information/Traffic.js +++ b/src/Pages/Entrance/Information/Informance/Traffic.js @@ -90,7 +90,6 @@ export default function Traffic() { 請搭乘板南線,在市政府站下車,再轉乘綠 1、棕 18 或棕 21 公車
-
公車
diff --git a/src/Pages/Entrance/Information/Traffic/ParkingStatus.js b/src/Pages/Entrance/Information/Traffic/ParkingStatus.js new file mode 100644 index 0000000..e2208fe --- /dev/null +++ b/src/Pages/Entrance/Information/Traffic/ParkingStatus.js @@ -0,0 +1,87 @@ +import React from "react"; +import styled from "styled-components"; + +const InfoDiv = styled.div` + box-sizing: border-box; + padding: 20px 20px; + max-width: 300px; + max-height: 700px; + overflow-y: scroll; + background-color: #fff; + opacity: 0.8; + border-radius: 25px; + position: absolute; + top: 20px; + right: 20px; + z-index: 500; + white-space: pre-wrap; + .highLight { + color: #ea7a60; + } + @media (max-width: 1024px) { + display: none; + } +`; + +export default function ParkingStatus(props) { + const { parkId, status, parkName, parks, parkStatus } = props; + if (!parkId) { + return 滑鼠移項該停車場,顯示最新停車位資訊; + } + return ( + + {status.map((item) => + item.id === parkId ? ( +
+

{parkName}

+

+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 總停車位數:{nam.totalcar} +
+ + ) : null + )} + 剩餘停車位:{item.availablecar} +
+
+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 總機車停車位數:{nam.totalmotor} +
+ + ) : null + )} + {item.availablemotor === -9 ? ( + + 剩餘機車位:目前暫無提供機車停車位資訊 + + ) : ( + + 剩餘機車位:{item.availablemotor} + + )} +

+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 設有無障礙停車位:{nam.Handicap_First}個 +
+ 開放時間:{nam.serviceTime} +
+
+ 收費方式:{nam.payex} +
+
+ + ) : null + )} +

資料更新時間:{parkStatus.UPDATETIME}

+
+ ) : null + )} +
+ ); +} diff --git a/src/Pages/Entrance/Information/Traffic/ParkingStatusPopup.js b/src/Pages/Entrance/Information/Traffic/ParkingStatusPopup.js new file mode 100644 index 0000000..91f819e --- /dev/null +++ b/src/Pages/Entrance/Information/Traffic/ParkingStatusPopup.js @@ -0,0 +1,81 @@ +import React from "react"; +import styled from "styled-components"; + +const InfoDiv = styled.div` + box-sizing: border-box; + padding: 10px 20px; + h3 { + font-size: 24px; + color: #5f5c90; + font-weight: 500; + } + p { + font-size: 16px; + color: #6b6b6b; + font-weight: 400; + } + .highLight { + color: #ea7a60; + } +`; + +export default function ParkingStatusPopup(props) { + const { parkId, status, parkName, parks, parkStatus } = props; + + return ( + + {status.map((item) => + item.id === parkId ? ( +
+

{parkName}

+

+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 總停車位數:{nam.totalcar} +
+ + ) : null + )} + 剩餘停車位:{item.availablecar} +
+
+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 總機車停車位數:{nam.totalmotor} +
+ + ) : null + )} + {item.availablemotor === -9 ? ( + + 剩餘機車位:目前暫無提供機車停車位資訊 + + ) : ( + + 剩餘機車位:{item.availablemotor} + + )} +

+ {parks.map((nam) => + nam.id === parkId ? ( + <> + 設有無障礙停車位:{nam.Handicap_First}個 +
+ 開放時間:{nam.serviceTime} +
+
+ 收費方式:{nam.payex} +
+
+ + ) : null + )} +

資料更新時間:{parkStatus.UPDATETIME}

+
+ ) : null + )} +
+ ); +} diff --git a/src/Pages/Entrance/Information/Traffic/index.js b/src/Pages/Entrance/Information/Traffic/index.js new file mode 100644 index 0000000..5139472 --- /dev/null +++ b/src/Pages/Entrance/Information/Traffic/index.js @@ -0,0 +1,130 @@ +import React, { useState, useEffect } from "react"; +import Parks from "../../../../Utils/tcmsv_park.json"; +import * as api from "../../../../Utils/api"; +import Popup from "reactjs-popup"; +import L from "leaflet"; +import { MapContainer, TileLayer, Marker } from "react-leaflet"; +import ParkingStatus from "./ParkingStatus"; +import ParkingStatusPopup from "./ParkingStatusPopup"; +import { Container } from "./style"; + +export default function Traffic() { + const [parkStatus, setParkStatus] = useState(null); + const [parkName, setParkName] = useState(null); + const [parkId, setParkId] = useState(null); + const [open, setOpen] = useState(false); + const position = [24.99773326108165, 121.5834263898432]; + const parksId = ["115", "046", "101", "202"]; + const parks = Parks.data.park; + let status = []; + const isRowBased = window.matchMedia("(max-width: 1020px)").matches; + + useEffect(() => { + api.getParksStatus().then((data) => setParkStatus(data.data)); + }, [parkId]); + + if (!parkStatus) { + return null; + } + const getParkingData = () => { + parkStatus.park.forEach((element) => { + parksId.forEach((num) => { + if (element.id === num) { + status.push(element); + } + }); + }); + }; + getParkingData(); + return ( + <> + +
+
停車資訊
+
周邊停車資訊
+ 河川地停車場 + 動物園站地下停車場 + 捷運木柵機廠停車場 + 木柵站轉乘停車場 + 點擊地圖中停車場的位置,查看停車位資訊。 +
+
+ + + {parks.map((item) => ( + { + setParkId(item.id); + setParkName(item.name); + if (isRowBased) { + setOpen(true); + } + }, + }} + key={item.id} + position={item.EntrancecoordInfo} + icon={ + new L.Icon({ + iconUrl: require(`../../../../Icons/park.svg`).default, + iconSize: [40, 40], + iconAnchor: [20, 20], + }) + } + > + ))} + + +
+
+ { + setOpen(false); + }} + overlayStyle={{ background: "rgba(0, 0, 0, 0.8)", zIndex: 1200 }} + contentStyle={{ + position: "relative", + margin: "auto", + boxSizing: "border-box", + background: "#fff", + width: "680px", + maxWidth: isRowBased ? "85vw" : "95vw", + padding: 0, + borderRadius: "10px", + border: "none", + }} + > + + + + ); +} diff --git a/src/Pages/Entrance/Information/Traffic/style.js b/src/Pages/Entrance/Information/Traffic/style.js new file mode 100644 index 0000000..9e9c1b5 --- /dev/null +++ b/src/Pages/Entrance/Information/Traffic/style.js @@ -0,0 +1,124 @@ +import styled from "styled-components"; + +const Container = styled.div` + box-sizing: border-box; + display: flex; + position: relative; + flex-direction: row; + width: 100%; + padding: 0px 30px 0 0; + margin: 20px auto; + max-width: 1280px; + justify-content: center; + + .map-container { + box-sizing: border-box; + width: 70%; + } + .traffic-block { + padding-top: 50px; + box-sizing: border-box; + width: 30%; + .header { + font-size: 28px; + color: #5f73bd; + font-weight: 500; + } + .header-md-orange { + padding-left: 30px; + margin-top: 60px; + margin-bottom: 30px; + font-size: 24px; + color: #ea7a60; + font-weight: 500; + } + span { + position: relative; + padding-left: 30px; + display: block; + font-size: 20px; + color: #6b6b6b; + font-weight: 400; + margin-bottom: 15px; + } + .text { + padding: 30px 20px; + font-size: 16px; + } + } + .pd-30 { + padding-left: 30px; + } + @media (max-width: 1024px) { + flex-direction: column; + width: 100%; + padding: 0px 30px; + margin: 20px auto; + align-items: center; + justify-content: center; + .map-container { + box-sizing: border-box; + width: 100%; + } + .traffic-block { + padding-top: 50px; + box-sizing: border-box; + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + .header { + width: 80%; + font-size: 24px; + color: #5f73bd; + font-weight: 500; + } + .header-md-orange { + font-size: 20px; + width: 93%; + margin-top: 20px; + margin-bottom: 10px; + } + span { + font-size: 18px; + margin-bottom: 10px; + } + .text { + width: 90%; + padding: 30px 20px; + font-size: 16px; + } + } + } + @media (max-width: 768px) { + .traffic-block { + padding-top: 30px; + .header { + width: 80%; + font-size: 20px; + color: #5f73bd; + font-weight: 500; + } + .header-md-orange { + font-size: 16px; + width: 93%; + margin-top: 20px; + margin-bottom: 10px; + } + span { + font-size: 14px; + margin-bottom: 10px; + } + .text { + text-align: center; + width: 90%; + padding: 10px 20px 20px; + font-size: 14px; + } + } + } + @media (max-width: 576px) { + } +`; + +export { Container }; diff --git a/src/Pages/Entrance/Traffic.js b/src/Pages/Entrance/Traffic.js deleted file mode 100644 index 9d3960f..0000000 --- a/src/Pages/Entrance/Traffic.js +++ /dev/null @@ -1,416 +0,0 @@ -import React, { useState, useEffect } from "react"; -import styled from "styled-components"; -import Parks from "../../Utils/tcmsv_park.json"; -import * as api from "../../Utils/api"; -import L from "leaflet"; -import Popup from "reactjs-popup"; -import { MapContainer, TileLayer, useMapEvents, Marker } from "react-leaflet"; - -const Container = styled.div` - box-sizing: border-box; - display: flex; - position: relative; - flex-direction: row; - width: 100%; - padding: 0px 30px 0 0; - margin: 20px auto; - max-width: 1280px; - justify-content: center; - - .map-container { - box-sizing: border-box; - width: 70%; - } - .traffic-block { - padding-top: 50px; - box-sizing: border-box; - width: 30%; - .header { - font-size: 28px; - color: #5f73bd; - font-weight: 500; - } - .header-md-orange { - padding-left: 30px; - margin-top: 60px; - margin-bottom: 30px; - font-size: 24px; - color: #ea7a60; - font-weight: 500; - } - span { - position: relative; - padding-left: 30px; - display: block; - font-size: 20px; - color: #6b6b6b; - font-weight: 400; - margin-bottom: 15px; - } - .text { - padding: 30px 20px; - font-size: 16px; - } - } - .pd-30 { - padding-left: 30px; - } - @media (max-width: 1024px) { - flex-direction: column; - width: 100%; - padding: 0px 30px; - margin: 20px auto; - align-items: center; - justify-content: center; - .map-container { - box-sizing: border-box; - width: 100%; - } - .traffic-block { - padding-top: 50px; - box-sizing: border-box; - width: 100%; - display: flex; - flex-direction: row; - flex-wrap: wrap; - .header { - width: 80%; - font-size: 24px; - color: #5f73bd; - font-weight: 500; - } - .header-md-orange { - font-size: 20px; - width: 93%; - margin-top: 20px; - margin-bottom: 10px; - } - span { - font-size: 18px; - margin-bottom: 10px; - } - .text { - width: 90%; - padding: 30px 20px; - font-size: 16px; - } - } - } - @media (max-width: 768px) { - .traffic-block { - padding-top: 30px; - .header { - width: 80%; - font-size: 20px; - color: #5f73bd; - font-weight: 500; - } - .header-md-orange { - font-size: 16px; - width: 93%; - margin-top: 20px; - margin-bottom: 10px; - } - span { - font-size: 14px; - margin-bottom: 10px; - } - .text { - text-align: center; - width: 90%; - padding: 10px 20px 20px; - font-size: 14px; - } - } - } - @media (max-width: 576px) { - } -`; - -const InfoDiv = styled.div` - box-sizing: border-box; - padding: 20px 20px; - max-width: 300px; - max-height: 700px; - overflow-y: scroll; - background-color: #fff; - opacity: 0.8; - border-radius: 25px; - position: absolute; - top: 20px; - right: 20px; - z-index: 500; - white-space: pre-wrap; - @media (max-width: 1024px) { - display: none; - } -`; - -const InfoDivMd = styled.div` - box-sizing: border-box; - padding: 10px 20px; - h3 { - font-size: 24px; - color: #5f5c90; - font-weight: 500; - } - p { - font-size: 16px; - color: #6b6b6b; - font-weight: 400; - } - .highLight { - color: #ea7a60; - } -`; - -export default function Traffic() { - const [parkStatus, setParkStatus] = useState(null); - const [parkName, setParkName] = useState(null); - const [parkId, setParkId] = useState(null); - const [open, setOpen] = useState(false); - const setBounds = [ - [25.003615970747212, 121.5642151547959], - [24.991279127890376, 121.5948277740565], - ]; - const position = [24.99773326108165, 121.5834263898432]; - const parksId = ["115", "046", "101", "202"]; - const parks = Parks.data.park; - let status = []; - const isRowBased = window.matchMedia("(max-width: 1020px)").matches; - - useEffect(() => { - api.getParksStatus().then((data) => setParkStatus(data.data)); - }, [parkId]); - - if (!parkStatus) { - return null; - } - - parkStatus.park.forEach((element) => { - parksId.forEach((num) => { - if (element.id === num) { - status.push(element); - } - }); - }); - function ClickEvent() { - useMapEvents({ - click: (e) => { - console.log(e.latlng); - }, - }); - return null; - } - - function Infomation() { - if (parkId) { - return ( - - {status.map((item) => - item.id === parkId ? ( -
-

{parkName}

-

- {parks.map((nam) => - nam.id === parkId ? ( - <> - 總停車位數:{nam.totalcar} -
- - ) : null - )} - 剩餘停車位:{item.availablecar} -
-
- {parks.map((nam) => - nam.id === parkId ? ( - <> - 總機車停車位數:{nam.totalmotor} -
- - ) : null - )} - {item.availablemotor === -9 ? ( - <>剩餘機車位:目前暫無提供機車停車位資訊 - ) : ( - <>剩餘機車位:{item.availablemotor} - )} -

- {parks.map((nam) => - nam.id === parkId ? ( - <> - 設有無障礙停車位:{nam.Handicap_First}個 -
- 開放時間:{nam.serviceTime} -
-
- 收費方式:{nam.payex} -
-
- - ) : null - )} -

資料更新時間:{parkStatus.UPDATETIME}

-
- ) : null - )} -
- ); - } - return 滑鼠移項該停車場,顯示最新停車位資訊; - } - - function InfomationPopup() { - if (parkId) { - return ( - - {status.map((item) => - item.id === parkId ? ( -
-

{parkName}

-

- {parks.map((nam) => - nam.id === parkId ? ( - <> - 總停車位數: - {nam.totalcar} -
- - ) : null - )}{" "} - 剩餘停車位:{" "} - {item.availablecar} -
-
- {parks.map((nam) => - nam.id === parkId ? ( - <> - 總機車停車位數: - {nam.totalmotor} -
- - ) : null - )} - {item.availablemotor === -9 ? ( - <> - 剩餘機車位: - - 目前暫無提供機車停車位資訊 - - - ) : ( - <> - 剩餘機車位: - {item.availablemotor} - - )} -

- {parks.map((nam) => - nam.id === parkId ? ( -

- 設有無障礙停車位:{nam.Handicap_First}個 -
- 開放時間:{nam.serviceTime} -
-
- 收費方式:{nam.payex} -
-
-

- ) : null - )} -

- 資料更新時間:{parkStatus.UPDATETIME} -

-
- ) : null - )} -
- ); - } - return 滑鼠移項該停車場,顯示最新停車位資訊; - } - - return ( - <> - -
-
停車資訊
-
周邊停車資訊
- 河川地停車場 - 動物園站地下停車場 - 捷運木柵機廠停車場 - 木柵站轉乘停車場 - 點擊地圖中停車場的位置,查看停車位資訊。 -
-
- - - - {parks.map((item) => ( - { - setParkId(item.id); - setParkName(item.name); - if (isRowBased) { - setOpen(true); - } - }, - }} - key={item.id} - position={item.EntrancecoordInfo} - icon={ - new L.Icon({ - iconUrl: require(`../../Icons/park.svg`).default, - iconSize: [40, 40], - iconAnchor: [20, 20], - }) - } - > - ))} - - - -
-
- { - setOpen(false); - }} - overlayStyle={{ background: "rgba(0, 0, 0, 0.8)", zIndex: 1200 }} - contentStyle={{ - position: "relative", - margin: "auto", - boxSizing: "border-box", - background: "#fff", - width: "680px", - maxWidth: isRowBased ? "85vw" : "95vw", - padding: 0, - borderRadius: "10px", - border: "none", - }} - > - - - - ); -} diff --git a/src/Pages/Entrance/index.js b/src/Pages/Entrance/index.js index 5ffc0b5..2b25b9c 100644 --- a/src/Pages/Entrance/index.js +++ b/src/Pages/Entrance/index.js @@ -1,7 +1,7 @@ import React from "react"; import styled from "styled-components"; -import Traffic from "./Traffic"; -import Infomation from "./Information/Index"; +import Traffic from "./Information/Traffic"; +import Imformance from "./Information/Informance/Index.js"; const Container = styled.div` display: flex; @@ -16,7 +16,7 @@ const Container = styled.div` export default function Entrance() { return ( - + ); diff --git a/src/Pages/Landing/index.js b/src/Pages/Landing/index.js index c99b094..9bfd969 100644 --- a/src/Pages/Landing/index.js +++ b/src/Pages/Landing/index.js @@ -1,22 +1,14 @@ import React from "react"; import styled, { keyframes } from "styled-components"; -import { - BrowserRouter as Switch, - Route, - Link, - useRouteMatch, -} from "react-router-dom"; +import { Link } from "react-router-dom"; const float = keyframes` - 0% { - transform: translatey(0px); - } - 50% { - transform: translatey(-20px); - } - 100% { - transform: translatey(0px); - } + from { + transform: translatey(0px);; + } + to { + transform: translatey(-20px); + } `; const Container = styled.div` @@ -55,7 +47,7 @@ const Container = styled.div` height: 200px; margin-left: 180px; align-self: flex-start; - animation: ${float} 4s ease-in-out infinite; + animation: ${float} 3s ease-in-out infinite alternate; } .text { align-self: flex-start; diff --git a/src/Pages/Map/Animal/AnimalsData.js b/src/Pages/Map/Animal/AnimalsData.js index c166e1b..fa84bd1 100644 --- a/src/Pages/Map/Animal/AnimalsData.js +++ b/src/Pages/Map/Animal/AnimalsData.js @@ -5,7 +5,7 @@ import * as reduxAction from "../../../Redux/Action"; import * as firestore from "../../../Utils/firebase"; import * as Toast from "../../../Utils/toast"; import "react-toastify/dist/ReactToastify.css"; -import Select, { components } from "react-select"; +// import Select, { components } from "react-select"; const ContainerDiv = styled.div` width: 100%; @@ -189,20 +189,16 @@ const AnimalContent = styled.div` `; let flag = false; - -let nowAnimals = []; +// let nowAnimals = []; const AnimalsData = (prop) => { - const [open, setOpen] = useState(false); + // const [open, setOpen] = useState(false); const [animalsData, setAnimalsData] = useState(null); const [favorities, setFavorities] = useState("none"); const [savedData, setSaveData] = useState("none"); - const [selectPlace, setSelectPlace] = useState("全部動物"); - const [Input, setInput] = useState("今天我想看..."); - const [foucs, setFoucs] = useState(false); - + // const [selectPlace, setSelectPlace] = useState("全部動物"); const [dispalyContainer, setDispalyContainer] = useState("block"); - const disPatch = useDispatch(); + const dispatch = useDispatch(); const displayStore = useSelector( (state) => state.AnimalsReducer.displayforAnimalSelect @@ -216,61 +212,59 @@ const AnimalsData = (prop) => { let routeData = prop.route; let uid = prop.uid; - let showAnimals = []; - let option = []; - const { Option } = components; - - const handleChange = (value, { action }) => { - switch (action) { - case "select-option": - setSelectPlace(value.value); - setOpen(true); - return; - default: - return; - } - }; - - const handleInputChange = (inputValue, { action }) => { - switch (action) { - case "select-option": - let index = inputValue.length - 1; - animalsData.forEach((item) => { - if (item.Name_Ch === inputValue[index].value) { - disPatch( - reduxAction.addAnimal([item.Geo[1], item.Geo[0]], item.CID) - ); - } - }); - - nowAnimals = inputValue; - return; - case "remove-value": - let removedAnimals = nowAnimals.filter( - (i) => inputValue.findIndex((j) => j.value === i.value) === -1 - ); - nowAnimals = inputValue; - animalsData.forEach((item) => { - if (item.Name_Ch === removedAnimals[0].value) { - disPatch( - reduxAction.removeAnimal([item.Geo[1], item.Geo[0]], item.CID) - ); - } - }); - - return; - case "clear": - window.location.reload(); - return; - default: - return; - } - }; + // const { Option } = components; + + // const handleChange = (value, { action }) => { + // switch (action) { + // case "select-option": + // setSelectPlace(value.value); + // setOpen(true); + // return; + // default: + // return; + // } + // }; + + // const handleInputChange = (inputValue, { action }) => { + // switch (action) { + // case "select-option": + // let index = inputValue.length - 1; + // animalsData.forEach((item) => { + // if (item.Name_Ch === inputValue[index].value) { + // dispatch( + // reduxAction.addAnimal([item.Geo[1], item.Geo[0]], item.CID) + // ); + // } + // }); + + // nowAnimals = inputValue; + // return; + // case "remove-value": + // let removedAnimals = nowAnimals.filter( + // (i) => inputValue.findIndex((j) => j.value === i.value) === -1 + // ); + // nowAnimals = inputValue; + // animalsData.forEach((item) => { + // if (item.Name_Ch === removedAnimals[0].value) { + // dispatch( + // reduxAction.removeAnimal([item.Geo[1], item.Geo[0]], item.CID) + // ); + // } + // }); + + // return; + // case "clear": + // window.location.reload(); + // return; + // default: + // return; + // } + // }; const showMyGeo = (e) => { if (e.target.style.backgroundColor !== "lightgrey") { e.target.style.backgroundColor = "lightgrey"; - disPatch( + dispatch( reduxAction.addAnimal( [Number(e.target.dataset.lat), Number(e.target.dataset.lng)], Number(e.target.dataset.num) @@ -278,7 +272,7 @@ const AnimalsData = (prop) => { ); } else { e.target.style.backgroundColor = "white"; - disPatch( + dispatch( reduxAction.removeAnimal( [Number(e.target.dataset.lat), Number(e.target.dataset.lng)], Number(e.target.dataset.num) @@ -320,9 +314,9 @@ const AnimalsData = (prop) => { item.Location === pav[0] ? result.push(...item.Route) : null ) ); - disPatch(reduxAction.addRecommend(pavilionsSort)); - disPatch(reduxAction.addRoute(result)); - disPatch(reduxAction.gotoNextStep()); + dispatch(reduxAction.addRecommend(pavilionsSort)); + dispatch(reduxAction.addRoute(result)); + dispatch(reduxAction.gotoNextStep()); setDispalyContainer("none"); } else { Toast.alertMes("請先選擇至少一種想看的動物喔!"); @@ -338,13 +332,13 @@ const AnimalsData = (prop) => { } else { setFavorities(false); } - }, []); + }, [prop.animal, uid]); useEffect(() => { if (uid) { return firestore.firebaseGetSavedData(uid, (data) => setSaveData(data)); } - }, []); + }, [uid]); useEffect(() => { if (displayStore) { @@ -367,70 +361,42 @@ const AnimalsData = (prop) => { numArray.push(Number(item)); }); - disPatch(reduxAction.removeAllAnimal()); + dispatch(reduxAction.removeAllAnimal()); geoArray.forEach((item, index) => - disPatch(reduxAction.addAnimal(item, numArray[index])) + dispatch(reduxAction.addAnimal(item, numArray[index])) ); flag = true; } - }, [savedData]); + }, [dispatch, idValue, savedData]); - useEffect(() => { - if (flag) { - submit(); - } - }, [flag]); + if (flag) { + submit(); + } if (!animalsData || favorities === undefined || favorities === "none") { return null; } - const set = new Set(); - const catalogs = animalsData - .filter((item) => - !set.has(item.Location) ? set.add(item.Location) : false - ) - .map((item) => item.Location); - - catalogs.forEach((item) => { - let arr5 = []; - animalsData.forEach((animal) => { - if (item === animal.Location) { - arr5.push(animal.Name_Ch); - } - }); - option.push({ value: item, label: item, num: arr5.length }); - }); - option.push({ value: "全部動物", label: "全部動物", num: 270 }); - - if (selectPlace !== "全部動物") { - let arr = animalsData - .filter((item) => item.Location.includes(selectPlace)) - .map((item) => item.Name_Ch); - arr.forEach((item) => showAnimals.push({ value: item, label: item })); - } else { - animalsData.forEach((item) => - showAnimals.push({ value: item.Name_Ch, label: item.Name_Ch }) - ); - } - - const spanOption = (props) => ( - - ); + // const option = FilterAnimals.getAllLabel(); + // const showAnimals = FilterAnimals.filterAnimalsOfPlace(selectPlace); + + // const groupLabel = (props) => ( + // + // ); return ( <> @@ -468,13 +434,13 @@ const AnimalsData = (prop) => { ) : null}
用關鍵字來搜尋想造訪的動物吧!
-
+ {/*
({ + ...provided, + borderBottom: "1px solid #ffeae4", + color: "#6b6b6b", + padding: 10, + backgroundColor: state.isSelected ? "#f5c2b4" : "white", + "&:hover": { + backgroundColor: "#f7e2dc", + }, + }), + indicatorSeparator: (provided, state) => ({ + ...provided, + opacity: 0, + }), + menu: (provided, state) => ({ + ...provided, + zIndex: 980, + }), + control: (provided, state) => ({ + ...provided, + padding: "10px 20px 10px 10px", + border: state.isFocused ? "1px solid #dba99e" : "1px solid #dba99e", + boxShadow: "none", + borderRadius: "15px", + "&:hover": { + backgroundColor: "#f7e2dc", + }, + }), + }} + /> +
+ ({ - ...provided, - borderBottom: "1px solid #ffeae4", - color: "#6b6b6b", - padding: 10, - backgroundColor: state.isSelected ? "#f5c2b4" : "white", - "&:hover": { - backgroundColor: "#f7e2dc", - }, - }), - indicatorSeparator: (provided, state) => ({ - ...provided, - opacity: 0, - }), - menu: (provided, state) => ({ - ...provided, - zIndex: 980, - }), - control: (provided, state) => ({ - ...provided, - padding: "10px 20px 10px 10px", - border: state.isFocused - ? "1px solid #dba99e" - : "1px solid #dba99e", - boxShadow: "none", - borderRadius: "15px", - "&:hover": { - backgroundColor: "#f7e2dc", - }, - }), - }} - /> -
- { }), menu: (provided, state) => ({ ...provided, - zIndex: 980, + zIndex: 1201, }), control: (provided, state) => ({ ...provided, @@ -130,12 +137,8 @@ export default Select = (props) => { options={showAnimals} onChange={handleInputChange} backspaceRemovesValue={false} - onFocus={() => { - setOpen(true); - }} - onBlur={() => { - setOpen(false); - }} + onFocus={handleClickEvent} + onBlur={handleClickEvent} menuIsOpen={open} width="80%" styles={{ @@ -170,9 +173,7 @@ export default Select = (props) => { border: "none", borderBottom: "2px solid #f7e2dc", boxShadow: "none", - "&:hover": { - backgroundColor: "white", - }, + backgroundColor: "none", marginTop: "10px", }), dropdownIndicator: (provided, state) => ({ @@ -193,4 +194,4 @@ export default Select = (props) => {
); -}; +} diff --git a/src/Pages/Map/Animal/AnimalsData/SubmitButton.js b/src/Pages/Map/Animal/AnimalsData/SubmitButton.js new file mode 100644 index 0000000..4a11447 --- /dev/null +++ b/src/Pages/Map/Animal/AnimalsData/SubmitButton.js @@ -0,0 +1,84 @@ +import React, { useEffect } from "react"; +import { useDispatch, useSelector } from "react-redux"; +import * as Toast from "../../../../Utils/toast"; +import * as reduxAction from "../../../../Redux/Action"; +import "react-toastify/dist/ReactToastify.css"; + +let flag = false; +export default function SubmitButton(props) { + const { animalsData, routeData, savedData } = props; + const params = new URLSearchParams(document.location.search.substring(1)); + const idValue = params.get("id"); + const dispatch = useDispatch(); + const animalsNum = useSelector( + (state) => state.AnimalsReducer.showAnimals.num + ); + + const submit = () => { + let pavilionsArray = animalsData + .filter((animals) => animalsNum.includes(animals.CID)) + .map((result) => [result.Location, result.Index]); + + if (pavilionsArray.length) { + const set = new Set(); + const pavilionsSort = pavilionsArray + .filter((item) => (!set.has(item[1]) ? set.add(item[1]) : false)) + .sort((a, b) => a[1] - b[1]); + + let found = pavilionsSort.indexOf( + pavilionsSort.find((index) => index[1] >= 4 && index[1] < 10) + ); + if (found !== -1) { + pavilionsSort.splice({ found }, 0, ["列車站", 3.5]); + } + + pavilionsSort[0][1] >= 10 + ? pavilionsSort.sort((a, b) => b[1] - a[1]) + : pavilionsSort.sort((a, b) => a[1] - b[1]); + + let result = []; + routeData.forEach((item) => + pavilionsSort.forEach( + (pav) => item.Location === pav[0] && result.push(...item.Route) + ) + ); + dispatch(reduxAction.addRecommend(pavilionsSort)); + dispatch(reduxAction.addRoute(result)); + dispatch(reduxAction.gotoNextStep()); + } else { + Toast.alertMes("請先選擇至少一種想看的動物喔!"); + } + }; + + useEffect(() => { + const initSavedPlan = () => { + if (idValue) { + if (savedData === "none" || savedData.length === 0) { + return null; + } + let geoArray = []; + savedData[idValue - 1].geo.forEach((item) => { + let arr1 = item.split(","); + geoArray.push([Number(arr1[0]), Number(arr1[1])]); + }); + let numArray = savedData[idValue - 1].num.map((item) => Number(item)); + + dispatch(reduxAction.removeAllAnimal()); + geoArray.forEach((item, index) => + dispatch(reduxAction.addAnimal(item, Number(numArray[index]))) + ); + flag = true; + } + }; + initSavedPlan(); + }, [dispatch, idValue, savedData]); + + if (flag) { + submit(); + } + return ( + + ); +} diff --git a/src/Pages/Map/Animal/AnimalsData/index.js b/src/Pages/Map/Animal/AnimalsData/index.js new file mode 100644 index 0000000..67c4df8 --- /dev/null +++ b/src/Pages/Map/Animal/AnimalsData/index.js @@ -0,0 +1,107 @@ +import React, { useState, useEffect } from "react"; +import { useDispatch, useSelector } from "react-redux"; +import * as reduxAction from "../../../../Redux/Action"; +import * as firestore from "../../../../Utils/firebase"; +import SelectGroup from "./SelectGroup"; +import SubmitButton from "./SubmitButton"; +import { ContainerDiv, AnimalsItemBlock, AnimalContent } from "./style"; + +const AnimalsData = (prop) => { + const [animalsData, setAnimalsData] = useState(null); + const [favorities, setFavorities] = useState(); + const [savedData, setSaveData] = useState(); + const dispatch = useDispatch(); + const dispalyContainer = useSelector( + (state) => state.AnimalsReducer.displayforAnimalSelect + ); + let { route, uid, animal } = prop; + + const showMyGeo = (e) => { + if (e.target.style.backgroundColor !== "lightgrey") { + e.target.style.backgroundColor = "lightgrey"; + dispatch( + reduxAction.addAnimal( + [Number(e.target.dataset.lat), Number(e.target.dataset.lng)], + Number(e.target.dataset.num) + ) + ); + } else { + e.target.style.backgroundColor = "white"; + dispatch( + reduxAction.removeAnimal( + [Number(e.target.dataset.lat), Number(e.target.dataset.lng)], + Number(e.target.dataset.num) + ) + ); + } + }; + + useEffect(() => { + setAnimalsData(animal); + if (uid) { + firestore + .firebaseGetMemberData(uid) + .then((data) => setFavorities(data.favorities)); + } else { + setFavorities(false); + } + }, [animal, uid]); + + useEffect(() => { + if (uid) { + return firestore.firebaseGetSavedData(uid, (data) => setSaveData(data)); + } + }, [uid]); + + if (!animalsData || favorities === undefined) { + return null; + } + return ( +
+ +
想造訪哪些動物呢?
+ {favorities.length ? ( +
+
+ 從收藏清單將動物加入地圖!...或者... +
+
+ + {animalsData.map((item) => + favorities.map((name) => + item.Name_Ch === name ? ( + + {item.Name_Ch} + + ) : null + ) + )} + +
+
+ ) : null} +
+
用關鍵字來搜尋想造訪的動物吧!
+ +
+ find + +
+
+ ); +}; + +export default AnimalsData; diff --git a/src/Pages/Map/Animal/AnimalsData/style.js b/src/Pages/Map/Animal/AnimalsData/style.js new file mode 100644 index 0000000..c9b0136 --- /dev/null +++ b/src/Pages/Map/Animal/AnimalsData/style.js @@ -0,0 +1,183 @@ +import styled from "styled-components"; + +const ContainerDiv = styled.div` + width: 100%; + display: flex; + flex-direction: column; + height: calc(100vh - 160px); + .searchBox { + width: 100%; + display: flex; + align-items: center; + } + .favorite { + font-size: 10px; + font-weight: bold; + border: 1px solid #acabbe; + margin: 10px 5px 0px; + padding: 10px 12px; + border-radius: 10px; + color: #acabbe; + font-size: 14px; + } + .header { + font-size: 24px; + color: #5f5c90; + font-weight: 500; + width: 100%; + } + .sub-header { + width: 100%; + font-size: 18px; + color: #acabbe; + font-weight: 500; + text-align: left; + margin-top: 20px; + margin-bottom: 10px; + } + .draw { + position: absolute; + bottom: 20px; + width: 60%; + object-fit: contain; + opacity: 0.1; + z-index: -1; + } + .btn { + display: block; + bottom: 0; + width: 80%; + padding: 12px; + margin-top: auto; + background-color: white; + position: relative; + font-size: 16px; + border: 1px solid #acacac; + border-radius: 25px; + color: #acacac; + cursor: pointer; + transition: all 0.2s; + font-size: 18px; + font-weight: 500; + ::after { + content: "→"; + opacity: 0; + font-size: 18px; + visibility: hidden; + position: absolute; + right: 50%; + transition: all 0.3s; + } + :hover { + border: 1px solid #ea7a60; + background-color: white; + color: #ea7a60; + padding-right: 32px; + ::after { + opacity: 1; + visibility: visible; + right: 10%; + } + } + } + input { + padding: 6px 18px; + min-width: 320px; + outline: none; + border: none; + border-radius: 25px; + margin-right: 15px; + background-color: inherit; + border: 2px solid #f2f2f2; + color: #f2f2f2; + letter-spacing: 2px; + font-size: 12px; + font-weight: 500; + } + @media (max-width: 1024px) { + width: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + height: 100%; + justify-content: space-between; + .sub-block { + width: 80%; + display: flex; + flex-direction: column; + } + .favorite { + margin: 0px 5px 0px; + padding: 10px 12px; + } + .btn { + position: fixed; + bottom: 25px; + left: 50%; + transform: translateX(-50%); + width: 80%; + } + } + @media (max-width: 576px) { + width: 100%; + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-items: flex-start; + height: 100%; + justify-content: space-between; + .sub-block { + width: 100%; + display: flex; + flex-direction: column; + } + .favorite { + margin: 0px 5px 0px; + padding: 10px 12px; + } + .btn { + position: fixed; + bottom: 75px; + left: 50%; + transform: translateX(-50%); + width: 80%; + } + } +`; +const AnimalsItemBlock = styled.div` + padding: 3px 5px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + color: grey; + margin-top: 5px; + .sub-header { + width: 100%; + font-size: 16px; + color: #acabbe; + font-weight: 500; + text-align: left; + margin-top: 20px; + margin-bottom: 10px; + } + .mt-0 { + margin-top: 0; + } +`; +const AnimalContent = styled.div` + font-size: 14px; + font-weight: normal; + border: 1px solid lightgray; + margin: 5px 5px; + padding: 5px 12px; + border-radius: 25px; + background-color: #fff; + cursor: pointer; + transition: all 0.2s; + :hover { + background-color: #d2d2d6; + } +`; + +export { ContainerDiv, AnimalsItemBlock, AnimalContent }; diff --git a/src/Pages/Map/Animal/FacilitySelector/Selector.js b/src/Pages/Map/Animal/FacilitySelector/Selector.js new file mode 100644 index 0000000..96dcbf1 --- /dev/null +++ b/src/Pages/Map/Animal/FacilitySelector/Selector.js @@ -0,0 +1,72 @@ +import React from "react"; +import { useDispatch } from "react-redux"; +import * as action from "../../../../Redux/Action"; +import styled from "styled-components"; + +const SelectorDiv = styled.div` + display: flex; + margin: 30px 0; + flex-direction: row; + flex-wrap: wrap; + @media (max-width: 576px) { + margin: 10px 0 10px; + } +`; +const InputDivs = styled.div` + border: 1px solid lightgray; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + margin: 8px 5px; + padding: 5px 12px; + border-radius: 25px; + align-items: center; + cursor: pointer; + transition: all 0.2s; + input[type="checkbox"] { + margin-right: 8px; + } + label { + cursor: pointer; + font-size: 16px; + } + :hover { + background-color: #fcfcfc; + } +`; +export default function Selector(props) { + const { getAllFacilities } = props; + const dispatch = useDispatch(); + const getCatalogs = () => { + const set = new Set(); + const catalogs = getAllFacilities.filter((item) => + !set.has(item.Item) ? set.add(item.Item) : false + ); + return catalogs; + }; + const handleInputClick = (e) => { + if (e.target.checked) { + dispatch(action.addFacility(e.target.id)); + } + if (!e.target.checked) { + dispatch(action.removeFacility(e.target.id)); + } + }; + const catalogs = getCatalogs(); + return ( + + {catalogs.map((item, index) => ( + + + + + ))} + + ); +} diff --git a/src/Pages/Map/Animal/FacilitySelector.js b/src/Pages/Map/Animal/FacilitySelector/index.js similarity index 54% rename from src/Pages/Map/Animal/FacilitySelector.js rename to src/Pages/Map/Animal/FacilitySelector/index.js index 4fe438d..4197265 100644 --- a/src/Pages/Map/Animal/FacilitySelector.js +++ b/src/Pages/Map/Animal/FacilitySelector/index.js @@ -1,11 +1,12 @@ import React, { useState, useEffect } from "react"; import styled from "styled-components"; -import * as firestore from "../../../Utils/firebase"; +import * as firestore from "../../../../Utils/firebase"; import { useDispatch, useSelector } from "react-redux"; -import * as action from "../../../Redux/Action"; -import * as toast from "../../../Utils/toast"; +import * as action from "../../../../Redux/Action"; +import * as toast from "../../../../Utils/toast"; import "react-toastify/dist/ReactToastify.css"; import { Link } from "react-router-dom"; +import Selector from "./Selector"; const Container = styled.div` .header { @@ -66,72 +67,26 @@ const Container = styled.div` } } `; -const SelectorDiv = styled.div` - display: flex; - margin: 30px 0; - flex-direction: row; - flex-wrap: wrap; - @media (max-width: 576px) { - margin: 10px 0 10px; - } -`; -const InputDivs = styled.div` - border: 1px solid lightgray; - display: flex; - flex-direction: row; - flex-wrap: nowrap; - margin: 8px 5px; - padding: 5px 12px; - border-radius: 25px; - align-items: center; - cursor: pointer; - transition: all 0.2s; - input[type="checkbox"] { - margin-right: 8px; - } - label { - cursor: pointer; - font-size: 16px; - } - :hover { - background-color: #fcfcfc; - } -`; - -const Selector = (props) => { - const [getAllFacilities, setGetAllFacilities] = useState([]); - const [displayDiv, setDisplayDiv] = useState("none"); +export default function FacilitySelector(props) { + const [getAllFacilities, setGetAllFacilities] = useState(undefined); const animalsStore = useSelector((state) => state.AnimalsReducer.showAnimals); const disPatch = useDispatch(); - const uid = props.uid; - - const displayStore = useSelector( + const { uid } = props; + const displayDiv = useSelector( (state) => state.AnimalsReducer.disPlayforFacility ); - const handleInputClick = (e) => { - if (e.target.checked) { - disPatch(action.addFacility(e.target.id)); - } - if (!e.target.checked) { - disPatch(action.removeFacility(e.target.id)); - } - }; - const backToSelect = () => { - setDisplayDiv("none"); disPatch(action.backToSelectAnimal()); window.location.href = "/map"; }; const printMap = () => { - let geoarray = []; - animalsStore.geo.forEach((element) => { - geoarray.push(`${element[0]},${element[1]}`); + let geoarray = animalsStore.geo.map((element) => { + return `${element[0]},${element[1]}`; }); - let numarray = []; - animalsStore.num.forEach((element) => { - numarray.push(element); + let numarray = animalsStore.num.map((element) => { + return element; }); firestore.firebaseAddSaved(uid, geoarray, numarray); toast.success(({ closeToast }) => ( @@ -143,42 +98,16 @@ const Selector = (props) => {
)); }; - - useEffect(() => { - if (displayStore) { - setDisplayDiv("block"); - } - }, [displayStore]); - useEffect(() => { setGetAllFacilities(props.facilities); }, [props.facilities]); - - if (!getAllFacilities.length) { + if (!getAllFacilities) { return null; } - const set = new Set(); - const catalogs = getAllFacilities.filter((item) => - !set.has(item.Item) ? set.add(item.Item) : false - ); - return (
地圖上要顯示哪些設施呢?
- - {catalogs.map((item, index) => ( - - - - - ))} - +
); -}; - -export default Selector; +} diff --git a/src/Pages/Map/MapComponent/MapInformation.js b/src/Pages/Map/MapComponent/MapInformation.js index d7d6074..bf260f3 100644 --- a/src/Pages/Map/MapComponent/MapInformation.js +++ b/src/Pages/Map/MapComponent/MapInformation.js @@ -1,7 +1,7 @@ import React from "react"; import { useSelector } from "react-redux"; import styled from "styled-components"; -import AnimalsJson from "../../../Utils/animals.json"; +import animalsJson from "../../../Utils/animals.json"; const Container = styled.div` box-sizing: border-box; @@ -89,52 +89,66 @@ const Container = styled.div` `; export default function MapComformation() { - const animalsJson = AnimalsJson; - const confoStore = useSelector((state) => state.AnimalsReducer.conformation); + const storedInformation = useSelector( + (state) => state.AnimalsReducer.conformation + ); const recommendStore = useSelector((state) => state.AnimalsReducer.recommend); - const chooseAnimal = useSelector( + const selectedAnimals = useSelector( (state) => state.AnimalsReducer.showAnimals.num ); const facilitiesStore = useSelector( (state) => state.SelectorReducer.showFacilities ); + const getHowManyStop = () => { + const stop = recommendStore.map((item) => item[0]); + return stop; + }; + const setRecommendRoute = () => { + let content = `入口廣場 ⇢`; + stops.forEach((element) => { + if (element !== "列車站") { + content += `${element} ⇢ `; + } else { + content += ` 搭乘遊園列車於鳥園車站下車後,步行至`; + } + }); + content += `往出口方向移動 ⇢ 回家囉`; + return content; + }; + const setRecommendDistance = () => { + const distance = storedInformation[0]; + const time = (storedInformation[1] * 60 + stops.length * 25 * 60) / 60 / 60; + const recommendDistance = `行程總距離約為${distance}公里,預計遊園時間約為${time.toFixed( + 0 + )}小時`; + return recommendDistance; + }; + const setAnimalsSort = () => { + const selectAnimalsData = animalsJson + .filter((animals) => selectedAnimals.includes(animals.CID)) + .map((result) => ({ + num: result.CID, + name: result.Name_Ch, + index: result.Index, + })); + + const animalSort = selectAnimalsData.sort(function (a, b) { + return a.index - b.index; + }); + animalSort[0].index >= 10 + ? animalSort.sort((a, b) => b.index - a.index) + : animalSort.sort((a, b) => a.index - b.index); + return animalSort; + }; - if (!confoStore.length) { + if (!storedInformation) { return null; } - let info = recommendStore.map((item) => item[0]); - let recom = `入口廣場 ⇢`; - info.forEach((element) => { - if (element !== "列車站") { - recom += `${element} ⇢ `; - } else { - recom += ` 搭乘遊園列車於鳥園車站下車後,步行至`; - } - }); - recom += `往出口方向移動 ⇢ 回家囉`; - let distance = confoStore[0]; - let time = (confoStore[1] * 60 + info.length * 25 * 60) / 60 / 60; - - let recommendRoute = `${recom}`; - let recommendDistance = `行程總距離約為${distance}公里,預計遊園時間約為${time.toFixed( - 0 - )}小時`; - let arr = []; - let animalSort = []; - animalsJson.forEach((item) => { - chooseAnimal.forEach((num) => { - if (item.CID === num) { - arr.push({ num: num, name: item.Name_Ch, index: item.Index }); - } - }); - }); - animalSort = arr.sort(function (a, b) { - return a.index - b.index; - }); - animalSort[0].index >= 10 - ? animalSort.sort((a, b) => b.index - a.index) - : animalSort.sort((a, b) => a.index - b.index); + const stops = getHowManyStop(); + const recommendRoute = setRecommendRoute(); + const recommendDistance = setRecommendDistance(); + const animalSort = setAnimalsSort(); return ( diff --git a/src/Pages/Map/MapComponent/RouteMaching.js b/src/Pages/Map/MapComponent/RouteMaching.js index a21b912..98a24fb 100644 --- a/src/Pages/Map/MapComponent/RouteMaching.js +++ b/src/Pages/Map/MapComponent/RouteMaching.js @@ -63,7 +63,7 @@ const leafletElement = L.Routing.control({ draggableWaypoints: false, }); -function Routing() { +export default function Routing() { const routeStore = useSelector((state) => state.AnimalsReducer.visitRoute); const dispatch = useDispatch(); @@ -111,5 +111,3 @@ function Routing() { ); } - -export default Routing; diff --git a/src/Pages/Map/MapComponent/index.js b/src/Pages/Map/MapComponent/index.js index 56604b9..3788fe6 100644 --- a/src/Pages/Map/MapComponent/index.js +++ b/src/Pages/Map/MapComponent/index.js @@ -2,7 +2,6 @@ import React, { useState, useEffect } from "react"; import { MapContainer, TileLayer, - useMapEvents, useMapEvent, useMap, Marker, @@ -103,14 +102,6 @@ const Map = React.forwardRef((props, ref) => { const SET_ZOOM_L = 16.5; const SET_ZOOM_M = 16; - const ClickEvent = () => { - useMapEvents({ - click: (e) => { - console.log(e.latlng); - }, - }); - return null; - }; const LocationMarker = () => { const map = useMap(); map.locate(); @@ -165,7 +156,6 @@ const Map = React.forwardRef((props, ref) => { width: "100%", }} > - {findMe ? ( <> diff --git a/src/Pages/Map/index.js b/src/Pages/Map/index.js index bdc0128..dc2c039 100644 --- a/src/Pages/Map/index.js +++ b/src/Pages/Map/index.js @@ -83,11 +83,10 @@ const Container = styled.div` function MapIndex() { const componentRef = useRef(); - const [displayDiv, setDisplayDiv] = useState("none"); const [getUid, setGetUid] = useState("none"); const isRowBased = window.matchMedia("(max-width: 1020px)").matches; - const displayStore = useSelector( + const displayDiv = useSelector( (state) => state.AnimalsReducer.disPlayforFacility ); @@ -105,12 +104,6 @@ function MapIndex() { return unsubscribe; }, []); - useEffect(() => { - if (displayStore) { - setDisplayDiv("block"); - } - }, [displayStore]); - if (getUid === "none") { return null; } diff --git a/src/Pages/Member/Explore/index.js b/src/Pages/Member/Explore/index.js index 1131628..a42ebe2 100644 --- a/src/Pages/Member/Explore/index.js +++ b/src/Pages/Member/Explore/index.js @@ -3,7 +3,6 @@ import styled from "styled-components"; const ratio = 780 / 1639; const ratioImg = 180 / 1440; - const Container = styled.div` width: 100%; height: ${(props) => { @@ -44,7 +43,6 @@ const Container = styled.div` } } `; - export default function Explore(props) { const [size, setSize] = useState([0, 0]); const isRowPad = window.matchMedia("(max-width: 996px)").matches; @@ -64,45 +62,32 @@ export default function Explore(props) { [85, 11], [56, 89], ]; - - let { blocksFilter, catalogs } = props; - let arr = []; - let arr1 = []; - let stampPavilions = []; - - const findQualifiedPavilions = () => { - catalogs.forEach((catalogs) => - blocksFilter.forEach((blocksFilters) => { - if (blocksFilters[1] === catalogs) { - arr.push(blocksFilters[1]); - } - }) - ); - }; - - const filterPavilionsStamps = () => { + const { catalogs, allVisitedAnimalsData } = props; + const setStamps = () => { + let numbers = []; + let stampPavilions = []; + const allVisitedAnimals = allVisitedAnimalsData.map((e) => e[1]); catalogs.forEach((catalogs) => { if (catalogs === "新光特展館(大貓熊館)" || catalogs === "無尾熊館") { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 1) { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 1) { stampPavilions.push(catalogs); } } else if (catalogs === "企鵝館") { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 2) { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 2) { stampPavilions.push(catalogs); } } else { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 5) { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 5) { stampPavilions.push(catalogs); } } }); - }; - findQualifiedPavilions(); - filterPavilionsStamps(); + return stampPavilions; + }; useLayoutEffect(() => { function updateSize() { @@ -113,6 +98,8 @@ export default function Explore(props) { return () => window.removeEventListener("resize", updateSize); }, []); + const stampPavilions = setStamps(); + return ( <> diff --git a/src/Pages/Member/MemberInfo/LevelContent.js b/src/Pages/Member/MemberInfo/LevelContent.js new file mode 100644 index 0000000..1bc92e2 --- /dev/null +++ b/src/Pages/Member/MemberInfo/LevelContent.js @@ -0,0 +1,67 @@ +export default function LevelContent(prop) { + const { uid, bar } = prop; + return ( +
+ {uid ? ( + <> + + {bar <= 20 ? ( + <>探索菜鳥 + ) : bar > 20 && bar < 40 ? ( + <>探索里民 + ) : bar > 41 && bar < 60 ? ( + <>探索里長 + ) : bar > 61 && bar < 80 ? ( + <>探索村長 + ) : bar > 81 && bar < 90 ? ( + <>探索嚮導 + ) : bar === 100 ? ( + <>動物園達人 + ) : null} + +
+ + {bar <= 20 ? ( + <>甘願只當菜鳥?快起身規劃探索旅程吧! + ) : bar > 20 && bar < 40 ? ( + <>還不太知道,非洲象在哪裡 + ) : bar > 41 && bar < 60 ? ( + <>去過幾次動物園,身邊朋友偶爾會相信你的方向感 + ) : bar > 61 && bar < 80 ? ( + <>有一定的地理知識,專門解救在動物園找不到長頸鹿的民眾 + ) : bar > 81 && bar < 90 ? ( + <>已經將動物園地圖熟背在腦海,偶爾會去動物園兼差當領隊 + ) : bar === 100 ? ( + <>傳說中的動物園達人,只有你可以召喚雲豹的出現 + ) : null} + + + ) : ( + <> + + 請問你是? + +
+ 不登入,怎麼知道你的實力啦~ + + )} +
+
+
+
+ {bar}% +
+
+ ); +} diff --git a/src/Pages/Member/MemberInfo/index.js b/src/Pages/Member/MemberInfo/index.js index f067c98..693f52c 100644 --- a/src/Pages/Member/MemberInfo/index.js +++ b/src/Pages/Member/MemberInfo/index.js @@ -1,318 +1,55 @@ -import React, { useState, useEffect } from "react"; -import styled from "styled-components"; -import AnimalsJson from "../../../Utils/animals.json"; -import * as firestore from "../../../Utils/firebase"; +import React from "react"; import { Link, useLocation } from "react-router-dom"; - -const Container = styled.div` - display: flex; - position: relative; - justify-content: center; - align-items: center; - flex-direction: column; - box-sizing: border-box; - width: 20%; - margin-left: auto; - max-width: 380px; - padding: 30px 20px; - height: 100%; - .draw { - position: absolute; - z-index: -1; - width: 140px; - object-fit: contain; - } - .draw-1 { - top: 5%; - right: -20%; - } - .draw-2 { - bottom: 5%; - left: -20%; - } - a { - text-decoration: none; - color: #3a4d48; - } - .inner-container { - display: flex; - flex-direction: column; - max-width: 100%; - margin: 0 auto; - justify-content: center; - align-items: center; - } - .bar-block { - display: flex; - flex-direction: row; - align-items: center; - margin-top: 12px; - .bar-bottom { - width: 100%; - background-color: lightgrey; - height: 12px; - border-radius: 10px; - } - .bar-top { - background-color: grey; - height: 12px; - border-radius: 10px; - } - .text { - font-size: 16px; - margin-left: 8px; - color: grey; - } - } - .level { - width: 100%; - font-size: 18px; - margin-top: 30px; - .level-text { - font-weight: 600; - } - .desc { - display: block; - margin-top: 10px; - color: grey; - font-size: 16px; - letter-spacing: 1.8px; - } - } - .button-group { - display: flex; - flex-direction: column; - max-width: 80%; - margin: 10px auto; - .btn { - box-sizing: border-box; - font-size: 14px; - padding: 5px 20px; - border-radius: 25px; - text-align: center; - border: 2px solid lightgrey; - margin: 5px; - background-color: none; - cursor: pointer; - transition: all 0.3s; - :hover { - background-color: #efe7e4; - } - } - .btn.active { - background-color: #efe6e3; - :hover { - background-color: #ccc2bf; - } - } - } - @media (max-width: 996px) { - box-sizing: border-box; - flex-wrap: nowrap; - width: 100%; - margin: 0 auto; - max-width: 100%; - padding: 0 20px; - height: 100%; - .inner-container { - display: flex; - flex-direction: row; - width: 80%; - margin: 0 auto; - justify-content: space-evenly; - align-items: center; - } - .button-group { - padding: 20px 0px 10px; - flex-direction: row; - max-width: 100%; - } - .level { - margin-top: 0px; - padding-left: 30px; - } - .draw { - display: none; - } - } - @media (max-width: 576px) { - .inner-container { - /* display: flex; */ - flex-direction: column; - /* width: 80%; - margin: 0 auto; - justify-content: space-evenly; - align-items: center; */ - } - } -`; -const Photo = styled.img` - content: url("/Imgs/explore-09.svg"); - width: 100%; - object-fit: contain; - @media (max-width: 996px) { - width: 55%; - } -`; - -const animalsJson = AnimalsJson; -const set = new Set(); -const catalogs = animalsJson - .filter((item) => (!set.has(item.Location) ? set.add(item.Location) : false)) - .map((item) => item.Location); +import { Container, Photo } from "./style"; +import LevelContent from "./LevelContent"; function MemberInfo(props) { - const [getVisited, setGetVisited] = useState("none"); const page = useLocation().pathname; + let { uid, catalogs, allVisitedAnimalsData } = props; + const setStamps = () => { + let numbers = []; + let stampPavilions = []; + const allVisitedAnimals = allVisitedAnimalsData.map((e) => e[1]); + catalogs.forEach((catalogs) => { + if (catalogs === "新光特展館(大貓熊館)" || catalogs === "無尾熊館") { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 1) { + stampPavilions.push(catalogs); + } + } else if (catalogs === "企鵝館") { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 2) { + stampPavilions.push(catalogs); + } + } else { + numbers = allVisitedAnimals.filter((arrs) => arrs === catalogs).length; + if (numbers >= 5) { + stampPavilions.push(catalogs); + } + } + }); - let uid = props.uid; - let bar = 0; - - const LevelBar = () => { - return ( -
-
-
-
- {bar}% -
- ); + return stampPavilions; }; - - useEffect(() => { - if (uid) { - firestore - .firebaseGetMemberData(uid) - .then((data) => setGetVisited(data.isVisited)); + const calcBar = () => { + let bar = 0; + if (stampPavilions.length) { + bar = ((100 / catalogs.length) * stampPavilions.length).toFixed(1); } else { - setGetVisited(false); + bar = 0; } - }, [uid]); - - if (getVisited === "none") { - return null; - } - let blocksFilter = []; - - if (getVisited) { - catalogs.forEach((catalogs1) => - animalsJson.forEach((animalsJson1) => - getVisited.forEach((getVisited1) => { - if ( - animalsJson1.Name_Ch === getVisited1 && - animalsJson1.Location === catalogs1 - ) { - blocksFilter.push([ - animalsJson1.Name_Ch, - animalsJson1.Location, - animalsJson1.Pic01_URL, - ]); - } - }) - ) - ); - } - - let arr = []; - let arr1 = []; - let stampPavilions = []; - catalogs.forEach((catalogs) => - blocksFilter.forEach((blocksFilters) => { - if (blocksFilters[1] === catalogs) { - arr.push(blocksFilters[1]); - } - }) - ); - catalogs.forEach((catalogs) => { - if (catalogs === "新光特展館(大貓熊館)" || catalogs === "無尾熊館") { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 1) { - stampPavilions.push(catalogs); - } - } else if (catalogs === "企鵝館") { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 2) { - stampPavilions.push(catalogs); - } - } else { - arr1 = arr.filter((arrs) => arrs === catalogs).length; - if (arr1 >= 5) { - stampPavilions.push(catalogs); - } - } - }); - - if (stampPavilions.length) { - bar = ((100 / catalogs.length) * stampPavilions.length).toFixed(1); - } else { - bar = 0; - } - + return bar; + }; + const stampPavilions = setStamps(); + const bar = calcBar(); return ( draw draw
-
- {uid ? ( - <> - - {bar <= 20 ? ( - <>探索菜鳥 - ) : bar > 20 && bar < 40 ? ( - <>探索里民 - ) : bar > 41 && bar < 60 ? ( - <>探索里長 - ) : bar > 61 && bar < 80 ? ( - <>探索村長 - ) : bar > 81 && bar < 90 ? ( - <>探索嚮導 - ) : bar === 100 ? ( - <>動物園達人 - ) : null} - -
- - {bar <= 20 ? ( - <>甘願只當菜鳥?快起身規劃探索旅程吧! - ) : bar > 20 && bar < 40 ? ( - <>還不太知道,非洲象在哪裡 - ) : bar > 41 && bar < 60 ? ( - <>去過幾次動物園,身邊朋友偶爾會相信你的方向感 - ) : bar > 61 && bar < 80 ? ( - <>有一定的地理知識,專門解救在動物園找不到長頸鹿的民眾 - ) : bar > 81 && bar < 90 ? ( - <>已經將動物園地圖熟背在腦海,偶爾會去動物園兼差當領隊 - ) : bar === 100 ? ( - <>傳說中的動物園達人,只有你可以召喚雲豹的出現 - ) : null} - - - ) : ( - <> - - 請問你是? - -
- 不登入,怎麼知道你的實力啦~ - - )} - -
+
-
diff --git a/src/Pages/Member/MemberInfo/style.js b/src/Pages/Member/MemberInfo/style.js new file mode 100644 index 0000000..35dcb1d --- /dev/null +++ b/src/Pages/Member/MemberInfo/style.js @@ -0,0 +1,149 @@ +import styled from "styled-components"; + +const Container = styled.div` + display: flex; + position: relative; + justify-content: center; + align-items: center; + flex-direction: column; + box-sizing: border-box; + width: 20%; + margin-left: auto; + max-width: 380px; + padding: 30px 20px; + height: 100%; + .draw { + position: absolute; + z-index: -1; + width: 140px; + object-fit: contain; + } + .draw-1 { + top: 5%; + right: -20%; + } + .draw-2 { + bottom: 5%; + left: -20%; + } + a { + text-decoration: none; + color: #3a4d48; + } + .inner-container { + display: flex; + flex-direction: column; + max-width: 100%; + margin: 0 auto; + justify-content: center; + align-items: center; + } + .bar-block { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 12px; + .bar-bottom { + width: 100%; + background-color: lightgrey; + height: 12px; + border-radius: 10px; + } + .bar-top { + background-color: grey; + height: 12px; + border-radius: 10px; + } + .text { + font-size: 16px; + margin-left: 8px; + color: grey; + } + } + .level { + width: 100%; + font-size: 18px; + margin-top: 30px; + .level-text { + font-weight: 600; + } + .desc { + display: block; + margin-top: 10px; + color: grey; + font-size: 16px; + letter-spacing: 1.8px; + } + } + .button-group { + display: flex; + flex-direction: column; + max-width: 80%; + margin: 10px auto; + .btn { + box-sizing: border-box; + font-size: 14px; + padding: 5px 20px; + border-radius: 25px; + text-align: center; + border: 2px solid lightgrey; + margin: 5px; + background-color: none; + cursor: pointer; + transition: all 0.3s; + :hover { + background-color: #efe7e4; + } + } + .btn.active { + background-color: #efe6e3; + :hover { + background-color: #ccc2bf; + } + } + } + @media (max-width: 996px) { + box-sizing: border-box; + flex-wrap: nowrap; + width: 100%; + margin: 0 auto; + max-width: 100%; + padding: 0 20px; + height: 100%; + .inner-container { + display: flex; + flex-direction: row; + width: 80%; + margin: 0 auto; + justify-content: space-evenly; + align-items: center; + } + .button-group { + padding: 20px 0px 10px; + flex-direction: row; + max-width: 100%; + } + .level { + margin-top: 0px; + padding-left: 30px; + } + .draw { + display: none; + } + } + @media (max-width: 576px) { + .inner-container { + flex-direction: column; + } + } +`; +const Photo = styled.img` + content: url("/Imgs/explore-09.svg"); + width: 100%; + object-fit: contain; + @media (max-width: 996px) { + width: 55%; + } +`; + +export { Container, Photo }; diff --git a/src/Pages/Member/Saved/index.js b/src/Pages/Member/Saved/index.js index 4296873..23e61ff 100644 --- a/src/Pages/Member/Saved/index.js +++ b/src/Pages/Member/Saved/index.js @@ -1,181 +1,13 @@ import React, { useState, useEffect } from "react"; -import styled from "styled-components"; import * as firestore from "../../../Utils/firebase"; -import AnimalsJson from "../../../Utils/animals.json"; - -const Container = styled.div` - display: flex; - position: relative; - flex-direction: column; - width: 100%; - justify-content: flex-start; - .render { - display: flex; - flex-direction: column; - justify-content: flex-start; - min-height: 30vh; - max-height: 80vh; - overflow: scroll; - border-radius: 25px; - border: 1px solid lightgrey; - .title { - font-size: 24px; - color: #5f5c90; - font-weight: 500; - } - .itemBlock { - box-sizing: border-box; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 40px 120px; - border-bottom: 1px solid #f2f2f2; - transition: all 0.2s; - color: #acacac; - width: 100%; - .flex-left { - display: flex; - width: 65%; - flex-direction: column; - align-items: flex-start; - .header { - width: 100px; - height: 40px; - background-image: url(/Imgs/passport-titlebg-30.svg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; - text-align: center; - line-height: 40px; - color: grey; - margin-bottom: 20px; - } - .contentBlock { - display: flex; - align-items: center; - justify-content: start; - flex-wrap: wrap; - .content { - margin: 10px; - border: 1px solid #acacac; - padding: 3px 12px; - border-radius: 12px; - white-space: nowrap; - } - } - } - .flex-right { - display: flex; - width: 35%; - flex-direction: column; - margin-top: 30px; - .goto, - .remove { - background-color: white; - white-space: nowrap; - position: relative; - font-size: 16px; - margin: 0px 10px; - border: 1px solid #acacac; - padding: 4px 24px; - border-radius: 25px; - color: #acacac; - margin-bottom: 12px; - cursor: pointer; - transition: all 0.2s; - } - .goto::after { - content: "→"; - opacity: 0; - visibility: hidden; - position: absolute; - right: 50%; - transition: all 0.3s; - } - } - :hover { - background-color: #fcfcfc; - color: black; - .goto { - border: 1px solid #ea7a60; - background-color: white; - color: #ea7a60; - padding-right: 32px; - :hover { - box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2); - } - ::after { - opacity: 1; - visibility: visible; - right: 6%; - } - } - .remove { - background-color: grey; - color: white; - :hover { - box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2); - } - } - } - } - .desc { - color: grey; - font-size: 16px; - letter-spacing: 1.8px; - text-align: center; - } - } - @media (max-width: 996px) { - .render { - height: auto; - min-height: none; - max-height: none; - overflow: auto; - .desc { - padding: 50px 0; - } - .itemBlock { - display: flex; - flex-direction: column; - justify-content: center; - align-items: flex-start; - padding: 40px 20px; - border-bottom: 1px solid #f2f2f2; - transition: all 0.2s; - color: #acacac; - .flex-left { - display: flex; - width: 100%; - flex-direction: column; - align-items: flex-start; - } - .flex-right { - display: flex; - width: 100%; - flex-direction: row; - .goto, - .remove { - font-size: 14px; - } - } - } - } - } - @media (max-width: 576px) { - .render { - } - } -`; -const animalsjson = AnimalsJson; +import animalsjson from "../../../Utils/animals.json"; +import { Container } from "./style"; export default function Saved(prop) { const [savedData, setSaveData] = useState("none"); const [remove, setRemove] = useState("none"); const [savedId, setSaveId] = useState("none"); - - const uid = prop.uid; + const { uid } = prop; useEffect(() => { return firestore.firebaseGetSavedData(uid, (data) => setSaveData(data)); diff --git a/src/Pages/Member/Saved/style.js b/src/Pages/Member/Saved/style.js new file mode 100644 index 0000000..88cfc73 --- /dev/null +++ b/src/Pages/Member/Saved/style.js @@ -0,0 +1,169 @@ +import styled from "styled-components"; + +const Container = styled.div` + display: flex; + position: relative; + flex-direction: column; + width: 100%; + justify-content: flex-start; + .render { + display: flex; + flex-direction: column; + justify-content: flex-start; + min-height: 30vh; + max-height: 80vh; + overflow: scroll; + border-radius: 25px; + border: 1px solid lightgrey; + .title { + font-size: 24px; + color: #5f5c90; + font-weight: 500; + } + .itemBlock { + box-sizing: border-box; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 40px 120px; + border-bottom: 1px solid #f2f2f2; + transition: all 0.2s; + color: #acacac; + width: 100%; + .flex-left { + display: flex; + width: 65%; + flex-direction: column; + align-items: flex-start; + .header { + width: 100px; + height: 40px; + background-image: url(/Imgs/passport-titlebg-30.svg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; + text-align: center; + line-height: 40px; + color: grey; + margin-bottom: 20px; + } + .contentBlock { + display: flex; + align-items: center; + justify-content: start; + flex-wrap: wrap; + .content { + margin: 10px; + border: 1px solid #acacac; + padding: 3px 12px; + border-radius: 12px; + white-space: nowrap; + } + } + } + .flex-right { + display: flex; + width: 35%; + flex-direction: column; + margin-top: 30px; + .goto, + .remove { + background-color: white; + white-space: nowrap; + position: relative; + font-size: 16px; + margin: 0px 10px; + border: 1px solid #acacac; + padding: 4px 24px; + border-radius: 25px; + color: #acacac; + margin-bottom: 12px; + cursor: pointer; + transition: all 0.2s; + } + .goto::after { + content: "→"; + opacity: 0; + visibility: hidden; + position: absolute; + right: 50%; + transition: all 0.3s; + } + } + :hover { + background-color: #fcfcfc; + color: black; + .goto { + border: 1px solid #ea7a60; + background-color: white; + color: #ea7a60; + padding-right: 32px; + :hover { + box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2); + } + ::after { + opacity: 1; + visibility: visible; + right: 6%; + } + } + .remove { + background-color: grey; + color: white; + :hover { + box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.2); + } + } + } + } + .desc { + color: grey; + font-size: 16px; + letter-spacing: 1.8px; + text-align: center; + } + } + @media (max-width: 996px) { + .render { + height: auto; + min-height: none; + max-height: none; + overflow: auto; + .desc { + padding: 50px 0; + } + .itemBlock { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + padding: 40px 20px; + border-bottom: 1px solid #f2f2f2; + transition: all 0.2s; + color: #acacac; + .flex-left { + display: flex; + width: 100%; + flex-direction: column; + align-items: flex-start; + } + .flex-right { + display: flex; + width: 100%; + flex-direction: row; + .goto, + .remove { + font-size: 14px; + } + } + } + } + } + @media (max-width: 576px) { + .render { + } + } +`; + +export { Container }; diff --git a/src/Pages/Member/Visited/index.js b/src/Pages/Member/Visited/index.js new file mode 100644 index 0000000..9ef7209 --- /dev/null +++ b/src/Pages/Member/Visited/index.js @@ -0,0 +1,69 @@ +import React from "react"; +import { Container, ItemBlock, Render } from "./style"; + +export default function Visited(props) { + const { catalogs, allVisitedAnimalsData, getVisited } = props; + return ( + + + {getVisited.length ? ( + catalogs.map((item, index) => ( + + + outline + +
+ {catalogs.map((pav, pavIndex) => + item === "新光特展館(大貓熊館)" && pavIndex === 1 ? ( +
+

🈳

+
+ ) : item === "企鵝館" && pavIndex < 2 ? ( +
+

🈳

+
+ ) : item === "無尾熊館" && pavIndex === 1 ? ( +
+

🈳

+
+ ) : item !== "無尾熊館" && + item !== "企鵝館" && + item !== "新光特展館(大貓熊館)" && + pavIndex < 5 ? ( +
+

🈳

+
+ ) : null + )} +
+
+ {allVisitedAnimalsData.map( + (ele) => + ele[1] === item && ( +
+
{ele[0]}
+
+
+ ) + )} +
+
+ )) + ) : ( +
+ 到 動物總覽搜集你的第一個足跡吧! +
+ )} +
+
+ ); +} diff --git a/src/Pages/Member/Explore/Visited.js b/src/Pages/Member/Visited/style.js similarity index 57% rename from src/Pages/Member/Explore/Visited.js rename to src/Pages/Member/Visited/style.js index 87d0bfd..58f2f43 100644 --- a/src/Pages/Member/Explore/Visited.js +++ b/src/Pages/Member/Visited/style.js @@ -1,4 +1,3 @@ -import React from "react"; import styled from "styled-components"; const Container = styled.div` @@ -13,10 +12,17 @@ const Render = styled.div` flex-direction: row; flex-wrap: wrap; justify-content: space-evenly; - height: 80vh; + min-height: 30vh; + max-height: 80vh; overflow: scroll; border-radius: 25px; border: 1px solid lightgrey; + .desc { + color: grey; + font-size: 16px; + letter-spacing: 1.8px; + text-align: center; + } @media (max-width: 996px) { height: auto; overflow: auto; @@ -173,74 +179,4 @@ const ItemBlock = styled.div` } `; -export default function Visited(props) { - let { catalogs } = props; - let { blocksFilter } = props; - let { getVisited } = props; - - return ( - <> - - - {getVisited.length ? ( - catalogs.map((item, index) => ( - - - outline - -
- {catalogs.map((pav, pavIndex) => - item === "新光特展館(大貓熊館)" && pavIndex === 1 ? ( -
-

🈳

-
- ) : item === "企鵝館" && pavIndex < 2 ? ( -
-

🈳

-
- ) : item === "無尾熊館" && pavIndex === 1 ? ( -
-

🈳

-
- ) : item !== "無尾熊館" && - item !== "企鵝館" && - item !== "新光特展館(大貓熊館)" && - pavIndex < 5 ? ( -
-

🈳

-
- ) : null - )} -
-
- {blocksFilter.map((ele) => - ele[1] === item ? ( -
-
{ele[0]}
-
-
- ) : null - )} -
-
- )) - ) : ( -
- 糟糕 護照還沒有任何紀錄! - 快到總覽去新增看過的動物,或是現在起身規劃探索旅程吧! -
- )} -
-
- - ); -} +export { Container, ItemBlock, Render }; diff --git a/src/Pages/Member/index.js b/src/Pages/Member/index.js index 5009ea0..7aae3ab 100644 --- a/src/Pages/Member/index.js +++ b/src/Pages/Member/index.js @@ -5,10 +5,9 @@ import Explore from "./Explore"; import { useDispatch } from "react-redux"; import * as action from "../../Redux/Action"; import Saved from "./Saved"; -import Visited from "./Explore/Visited"; +import Visited from "./Visited"; import * as firestore from "../../Utils/firebase"; -import AnimalsJson from "../../Utils/animals.json"; - +import animalsJson from "../../Utils/animals.json"; import { Route, Switch } from "react-router-dom"; const Container = styled.div` @@ -102,7 +101,6 @@ const Main = styled.div` } `; -const animalsJson = AnimalsJson; const set = new Set(); const catalogs = animalsJson .filter((item) => (!set.has(item.Location) ? set.add(item.Location) : false)) @@ -111,8 +109,13 @@ const catalogs = animalsJson export default function MemberIndex() { const [getUid, setGetUid] = useState("none"); const [getVisited, setGetVisited] = useState([]); - const disPatch = useDispatch(); + const getAllVisitedAnimalsData = () => { + const allVisitedAnimalsData = animalsJson + .filter((animals) => getVisited.includes(animals.Name_Ch)) + .map((result) => [result.Name_Ch, result.Location]); + return allVisitedAnimalsData; + }; useEffect(() => { const unsubscribe = firestore.getUserId((uid) => { @@ -120,7 +123,6 @@ export default function MemberIndex() { }); return unsubscribe; }, []); - useEffect(() => { if (getUid && getUid !== "none") { firestore @@ -133,37 +135,22 @@ export default function MemberIndex() { return null; } - let blocksFilter = []; - catalogs.forEach((catalogs1) => - animalsJson.forEach((animalsJson1) => - getVisited.forEach((getVisited1) => { - if ( - animalsJson1.Name_Ch === getVisited1 && - animalsJson1.Location === catalogs1 - ) { - blocksFilter.push([ - animalsJson1.Name_Ch, - animalsJson1.Location, - animalsJson1.Pic01_URL, - ]); - } - }) - ) - ); - + const allVisitedAnimalsData = getAllVisitedAnimalsData(); return ( - +
{getUid ? ( <> @@ -174,7 +161,7 @@ export default function MemberIndex() { uid={getUid} getVisited={getVisited} catalogs={catalogs} - blocksFilter={blocksFilter} + allVisitedAnimalsData={allVisitedAnimalsData} /> @@ -196,11 +183,6 @@ export default function MemberIndex() {
img - {/* img */}
); } diff --git a/src/Pages/ShowAllAnimals/AllAniamls/Carousel.js b/src/Pages/ShowAllAnimals/AllAniamls/Carousel.js index a10316e..10be3e0 100644 --- a/src/Pages/ShowAllAnimals/AllAniamls/Carousel.js +++ b/src/Pages/ShowAllAnimals/AllAniamls/Carousel.js @@ -62,7 +62,7 @@ const responsive = { }; export default function CarouselDiv(props) { - const item = props.item; + const { item } = props; return ( { if (uid) { firestore.firebaseGetMemberData(uid).then((data) => { - console.log(data); setFavoritiesMember(data.favorities); setVisitedMember(data.isVisited); }); } }, [uid]); - return (
diff --git a/src/Pages/ShowAllAnimals/AllAniamls/DetailsPopup.js b/src/Pages/ShowAllAnimals/AllAniamls/DetailsPopup.js index 27b9361..a948256 100644 --- a/src/Pages/ShowAllAnimals/AllAniamls/DetailsPopup.js +++ b/src/Pages/ShowAllAnimals/AllAniamls/DetailsPopup.js @@ -1,18 +1,17 @@ import React from "react"; import { useSelector, useDispatch } from "react-redux"; -import ClickBar from "./ClickBar"; import * as action from "../../../Redux/Action"; import { ToastContainer } from "react-toastify"; import CarouselDiv from "./Carousel"; import Popup from "reactjs-popup"; import { Container } from "./Popup-style"; import "reactjs-popup/dist/index.css"; +import ClickBar from "./ClickBar"; export default function DetailsPopup(props) { const { open } = useSelector((state) => state.FilterAnimals); const isRowBased = window.matchMedia("(max-width: 800px)"); - const uid = props.uid; - const popupAnimal = props.popupAnimal; + const { uid, popupAnimal } = props; const disPatch = useDispatch(); const closeModal = () => disPatch(action.setClose()); @@ -35,58 +34,59 @@ export default function DetailsPopup(props) { }} > - {props.showAnimals.map((item) => - item.Name_Ch === popupAnimal ? ( - <> -
-
+ {props.showAnimals.map( + (item) => + item.Name_Ch === popupAnimal && ( + <> +
+
+ img +
+ img img -
- img - img - img -
- {item.Name_Ch} - {item.Name_En} -
-
- {item.Location} -
-
-
- {item.Class} - {item.Order} - {item.Family} + img +
+ {item.Name_Ch} + {item.Name_En}
-
- 保育分級:{item.Conservation} - {item.Taiwan && ( - {`(${item.Taiwan})`} - )} - {item.Name_Ch} +
+ {item.Location}
+
+
+ {item.Class} + {item.Order} + {item.Family} +
+
+ 保育分級:{item.Conservation} + {item.Taiwan && ( + {`(${item.Taiwan})`} + )} + {item.Name_Ch} +
+
+
- -
- - - ) : null + + + ) )}
diff --git a/src/Pages/ShowAllAnimals/AllAniamls/Filter-style.js b/src/Pages/ShowAllAnimals/AllAniamls/Filter-style.js new file mode 100644 index 0000000..dc6aaa4 --- /dev/null +++ b/src/Pages/ShowAllAnimals/AllAniamls/Filter-style.js @@ -0,0 +1,201 @@ +import styled from "styled-components"; + +const FilterContainer = styled.div` + position: relative; + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + height: auto; + .container { + position: relative; + width: 100%; + .filterBg { + width: 100%; + } + .header { + position: absolute; + top: 50%; + left: 50%; + font-size: 48px; + color: white; + } + .sub-header { + margin-top: 70px; + margin-left: 40px; + font-size: 28px; + } + } + .flex { + width: 100%; + display: flex; + flex-direction: row; + max-width: 1480px; + margin: 0 auto; + justify-content: center; + align-items: baseline; + .filterBlock { + margin-top: 40px; + display: flex; + flex-direction: column; + justify-content: center; + } + .searchBox { + width: 100%; + display: flex; + align-items: center; + white-space: nowrap; + .searchimg { + width: 20px; + align-self: flex-end; + padding-bottom: 10px; + } + } + .textBlock { + margin-left: 40px; + display: flex; + width: 30%; + flex-direction: column; + justify-content: center; + color: #5f5c90; + letter-spacing: 2px; + + .h1 { + font-size: 28px; + } + .pl-30 { + padding-left: 50px; + } + .grey { + color: #c2c2c2; + } + + .h3 { + font-size: 20px; + } + } + } + @media (max-width: 768px) { + .container { + box-sizing: border-box; + position: relative; + width: 100%; + overflow-x: hidden; + .filterBg { + width: 100%; + object-position: center; + } + .header { + position: absolute; + top: 40%; + left: 50%; + font-size: 36px; + color: white; + } + .sub-header { + margin-top: 50px; + margin-left: 40px; + font-size: 18px; + } + } + .flex { + box-sizing: border-box; + width: 100%; + display: flex; + flex-direction: column-reverse; + margin: 0 auto; + padding: 0 30px; + justify-content: center; + align-items: flex-start; + .filterBlock { + display: flex; + margin-top: 30px; + flex-direction: column; + justify-content: center; + width: 100%; + .searchBox { + width: 100%; + display: flex; + align-items: center; + .searchimg { + width: 20px; + align-self: flex-end; + padding-bottom: 10px; + } + } + } + .textBlock { + box-sizing: border-box; + margin-top: 10px; + .h1 { + font-size: 28px; + white-space: nowrap; + } + .h3 { + font-size: 20px; + white-space: nowrap; + } + } + } + } + @media (max-width: 576px) { + .container { + position: relative; + width: 100%; + overflow-x: hidden; + .filterBg { + width: 120%; + object-position: center; + } + .header { + position: absolute; + top: 30%; + left: 50%; + font-size: 28px; + color: white; + } + .sub-header { + margin-top: 40px; + margin-left: 0px; + font-size: 16px; + } + } + .flex { + padding: 20px 20px 0; + .filterBlock { + width: 100%; + margin-top: 20px; + display: flex; + flex-direction: column; + justify-content: center; + } + .searchBox { + box-sizing: border-box; + display: flex; + align-items: center; + .searchimg { + width: 20px; + align-self: flex-end; + padding-bottom: 10px; + margin-right: 10px; + } + } + .textBlock { + margin-left: 0px; + display: flex; + width: 30%; + flex-direction: column; + color: #5f5c90; + letter-spacing: 2px; + .h1 { + font-size: 24px; + } + .h3 { + font-size: 16px; + } + } + } + } +`; + +export { FilterContainer }; diff --git a/src/Pages/ShowAllAnimals/AllAniamls/Filter.js b/src/Pages/ShowAllAnimals/AllAniamls/Filter.js index 0cfd95e..b721c07 100644 --- a/src/Pages/ShowAllAnimals/AllAniamls/Filter.js +++ b/src/Pages/ShowAllAnimals/AllAniamls/Filter.js @@ -3,206 +3,9 @@ import { useDispatch } from "react-redux"; import * as action from "../../../Redux/Action"; import * as FilterAnimals from "../../../Utils/FilterAnimals"; import Select, { components } from "react-select"; -import styled from "styled-components"; import AnimalsJson from "../../../Utils/animals.json"; +import { FilterContainer } from "./Filter-style"; -const FilterContainer = styled.div` - position: relative; - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - height: auto; - .container { - position: relative; - width: 100%; - .filterBg { - width: 100%; - } - .header { - position: absolute; - top: 50%; - left: 50%; - font-size: 48px; - color: white; - } - .sub-header { - margin-top: 70px; - margin-left: 40px; - font-size: 28px; - } - } - .flex { - width: 100%; - display: flex; - flex-direction: row; - max-width: 1480px; - margin: 0 auto; - justify-content: center; - align-items: baseline; - .filterBlock { - margin-top: 40px; - display: flex; - flex-direction: column; - justify-content: center; - } - .searchBox { - width: 100%; - display: flex; - align-items: center; - white-space: nowrap; - .searchimg { - width: 20px; - align-self: flex-end; - padding-bottom: 10px; - } - } - .textBlock { - margin-left: 40px; - display: flex; - width: 30%; - flex-direction: column; - justify-content: center; - color: #5f5c90; - letter-spacing: 2px; - - .h1 { - font-size: 28px; - } - .pl-30 { - padding-left: 50px; - } - .grey { - color: #c2c2c2; - } - - .h3 { - font-size: 20px; - } - } - } - @media (max-width: 768px) { - .container { - box-sizing: border-box; - position: relative; - width: 100%; - overflow-x: hidden; - .filterBg { - width: 100%; - object-position: center; - } - .header { - position: absolute; - top: 40%; - left: 50%; - font-size: 36px; - color: white; - } - .sub-header { - margin-top: 50px; - margin-left: 40px; - font-size: 18px; - } - } - .flex { - box-sizing: border-box; - width: 100%; - display: flex; - flex-direction: column-reverse; - margin: 0 auto; - padding: 0 30px; - justify-content: center; - align-items: flex-start; - .filterBlock { - display: flex; - margin-top: 30px; - flex-direction: column; - justify-content: center; - width: 100%; - .searchBox { - width: 100%; - display: flex; - align-items: center; - .searchimg { - width: 20px; - align-self: flex-end; - padding-bottom: 10px; - } - } - } - .textBlock { - box-sizing: border-box; - margin-top: 10px; - .h1 { - font-size: 28px; - white-space: nowrap; - } - .h3 { - font-size: 20px; - white-space: nowrap; - } - } - } - } - @media (max-width: 576px) { - .container { - position: relative; - width: 100%; - overflow-x: hidden; - .filterBg { - width: 120%; - object-position: center; - } - .header { - position: absolute; - top: 30%; - left: 50%; - font-size: 28px; - color: white; - } - .sub-header { - margin-top: 40px; - margin-left: 0px; - font-size: 16px; - } - } - .flex { - padding: 20px 20px 0; - .filterBlock { - width: 100%; - margin-top: 20px; - display: flex; - flex-direction: column; - justify-content: center; - } - .searchBox { - box-sizing: border-box; - display: flex; - align-items: center; - .searchimg { - width: 20px; - align-self: flex-end; - padding-bottom: 10px; - margin-right: 10px; - } - } - .textBlock { - margin-left: 0px; - display: flex; - width: 30%; - flex-direction: column; - color: #5f5c90; - letter-spacing: 2px; - .h1 { - font-size: 24px; - } - .h3 { - font-size: 16px; - } - } - } - } -`; export default function Filter() { const dispatch = useDispatch(); const [selectPlace, setSelectPlace] = useState("動物園裡"); @@ -222,12 +25,10 @@ export default function Filter() { dispatch(action.addFilterSearch("")); } }; - const handleInputChange = (value) => { dispatch(action.addFilterSearch(value.value)); setInput(value.value); }; - const search = () => { return ( <> @@ -242,7 +43,6 @@ export default function Filter() { const option = FilterAnimals.getAllLabel(); const showAnimals = FilterAnimals.filterAnimalsOfPlace(selectPlace); - const spanOption = (props) => (