1 |
- {"version":3,"sources":["enum/index.ts","page/page2220.tsx","loading/loading.tsx","page/index.tsx","page/page2221.tsx","page/page2222.tsx","App.tsx","page/page0.tsx","page/page1.tsx","page/page21.tsx","page/page211.tsx","page/page212.tsx","page/page213.tsx","page/page22.tsx","page/page221.tsx","page/page2211.tsx","page/page222.tsx","page/page223.tsx","page/page23.tsx","page/page231.tsx","page/page24.tsx","page/page241.tsx","page/page242.tsx","page/page243.tsx","serviceWorker.ts","index.tsx"],"names":["PageEnum","Step","btnClick","document","getElementById","src","music","type","play","Loading","props","state","index","progress","this","className","style","width","React","Component","Page","useState","zoom","setZoom","scale","setScale","listen","resizeEvt","window","recalc","body","clientWidth","height","clientHeight","max","Math","min","navigator","userAgent","toLowerCase","match","addEventListener","useEffect","id","transform","children","Pages","key","PAGE0","page","left","setLeft","notice","isiOS","offsetHeight","setAttribute","onTouchMove","e","touch","event","targetTouches","leftResult","pageX","changePage","PAGE1","pageY","draggable","onClick","PAGE21","PAGE22","PAGE23","PAGE24","PAGE211","PAGE212","PAGE213","PAGE2220","PAGE222","PAGE223","PAGE221","PAGE2211","PAGE2221","localStorage","getItem","setType","setItem","setTimeout","PAGE2222","STEP0","step","setStep","click","STEP1","STEP2","STEP3","STEP21","STEP22","STEP11","STEP12","STEP4","STEP5","STEP52","STEP51","STEP6","arr","setArr","indexOf","setIndex","PAGE231","PAGE241","PAGE242","PAGE243","href","allPaths","onePaths","i","push","getAllImagePaths","App","bgAudioCxt","loadAssets","length","onLoad","setState","path","imageItem","Image","onload","onerror","onabort","noMusic","init","playFlag","playAudio","console","log","audio","wx","config","appId","debug","jsApiList","nonceStr","signature","timestamp","ready","LOADING","querySelector","nextProps","nextContext","autoPlay","current","find","it","Com","ref","preload","muted","hidden","loop","Boolean","location","hostname","ReactDOM","render","StrictMode","serviceWorker","then","registration","unregister","catch","error","message"],"mappings":"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","file":"static/js/main.cbb7d311.chunk.js","sourcesContent":["export enum PageEnum {\r\n\tLOADING,\r\n\tPAGE0,\r\n\tPAGE1,\r\n\tPAGE21,\r\n\tPAGE211,\r\n\tPAGE212,\r\n\tPAGE213,\r\n\tPAGE22,\r\n\tPAGE221,\r\n\tPAGE2211,\r\n\tPAGE222,\r\n\tPAGE2221,\r\n\tPAGE2220,\r\n\tPAGE2222,\r\n\tPAGE223,\r\n\tPAGE23,\r\n\tPAGE231,\r\n\tPAGE24,\r\n\tPAGE241,\r\n\tPAGE242,\r\n\tPAGE243,\r\n}\r\n\r\nexport const btnClick = () => {\r\n\t// @ts-ignore\r\n\tdocument.getElementById(\"btnMusic\").src = \"/metro/\" + \"button.mp3\";\r\n}\r\n\r\nexport const music = (type = 1) => {\r\n\tif (type === 0) {\r\n\t\t// @ts-ignore\r\n\t\tdocument.getElementById(\"pageMusic\").src = null;\r\n\t\treturn;\r\n\t}\r\n\t// @ts-ignore\r\n\tdocument.getElementById(\"pageMusic\").src = \"/metro/mp3/\" + type+\".mp3\";\r\n\t// @ts-ignore\r\n\tdocument.getElementById(\"pageMusic\").play()\r\n}\r\n","import React, { useState } from \"react\";\r\nimport \"./page22.scss\"\r\nimport { btnClick, PageEnum, music } from \"../enum\"\r\n\r\nenum Step {\r\n\tSTEP0,\r\n\tSTEP1,\r\n\tSTEP2,\r\n\tSTEP3,\r\n}\r\n\r\nexport const Page2220 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [step, setStep] = useState(Step.STEP0)\r\n\tconst click = (step:Step) => {\r\n\t\tbtnClick();\r\n\t\tsetStep(step)\r\n\t}\r\n\tif (step === Step.STEP0) {\r\n\t\t// music(1);\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE222)}/>\r\n\t\t\t\t<div className={`qa bg_full`} onClick={() => click(Step.STEP1)}/>\r\n\t\t\t\t<div className={`hands bg_full`} onClick={() => click(Step.STEP1)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t\t\t{/*<audio id=\"music1\" src=\"/metro/mp3/1.mp3\" preload=\"auto\" hidden={true} loop={false} autoPlay={true}/>*/}\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP1) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2211\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"over bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t\t{/* <div className=\"btn_next next btn_next2 bg_full\" onClick={() => click(Step.STEP2)}/> */}\r\n\t\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP2) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg_2 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_next next_2 bg_full\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP3) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg6 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_over next6 bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\treturn null;\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./loading.scss\"\r\n\r\n\r\nexport class Loading extends React.Component<any, any> {\r\n\r\n\tconstructor(props: any) {\r\n\t\tsuper(props)\r\n\t\tthis.state = {\r\n\t\t\tindex: 0\r\n\t\t}\r\n\t}\r\n\r\n\tpublic render() {\r\n\t\tconst { progress } = this.props;\r\n\t\treturn (\r\n\t\t\t<div className={\"loading_bg\"}>\r\n\t\t\t\t<div className=\"init_logo\"/>\r\n\t\t\t\t<div className=\"progress\">\r\n\t\t\t\t\t<div className=\"bar\" style={{ width: `${progress}%` }}/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nconst isWeiXin = () => {\r\n\tconst ua = window.navigator.userAgent.toLowerCase();\r\n\t// @ts-ignore\r\n\tif (ua.match(/MicroMessenger/i)) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nexport const Page = (props: any) => {\r\n\tconst [zoom, setZoom] = useState(0.5);\r\n\tconst [scale, setScale] = useState(\"\");\r\n\tconst listen = () => {\r\n\t\tconst resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';\r\n\t\tconst recalc = () => {\r\n\t\t\tconst width = document.body.clientWidth;\r\n\t\t\tconst height = document.body.clientHeight;\r\n\t\t\tconst max = Math.max(width, height)\r\n\t\t\tconst min = Math.min(width, height)\r\n\t\t\tsetZoom(max / 1792)\r\n\t\t\tconst scale = (1792 / 828) / (max / min);\r\n\t\t\tif (width > height) {\r\n\t\t\t\tsetScale(`scale(1,${scale})`)\r\n\t\t\t} else {\r\n\t\t\t\tif (isWeiXin()) {\r\n\t\t\t\t\tsetScale(`scale(${scale},1) rotate(90deg)`)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetScale(`scale(${scale},${(1792 - 120)/1792}) rotate(90deg) translateX(${-60 * max * scale / 1792}px)`)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\trecalc()\r\n\t\tif (!document.addEventListener) return;\r\n\t\twindow.addEventListener(resizeEvt, recalc, false);\r\n\t\twindow.addEventListener('DOMContentLoaded', recalc, false)\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tlisten()\r\n\t})\r\n\treturn (\r\n\t\t<div className={\"page\"} id={\"page\"} style={{ transform: scale }}>\r\n\t\t\t<div className=\"mobile\" style={{ zoom }}>\r\n\t\t\t\t{props.children}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React, { useState } from \"react\";\r\nimport { btnClick, PageEnum } from \"../enum\"\r\nimport \"./page22.scss\"\r\n\r\nenum Step {\r\n\tSTEP0,\r\n\tSTEP1,\r\n\tSTEP2,\r\n\tSTEP3,\r\n}\r\n\r\nexport const Page2221 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [step, setStep] = useState(Step.STEP0)\r\n\tconst click = (step: Step) => {\r\n\t\tbtnClick();\r\n\t\tsetStep(step)\r\n\t}\r\n\r\n\tif (step === Step.STEP0) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE222)}/>\r\n\t\t\t\t<div className={`qa bg_full`} onClick={() => click(Step.STEP1)}/>\r\n\t\t\t\t<div className={`hands bg_full`} onClick={() => click(Step.STEP1)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}/>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP1) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2211\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"over bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t\t<div className=\"btn_next next btn_next2 bg_full\" onClick={() => click(Step.STEP2)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}/>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP2) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg_2 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_next next_2 bg_full\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}/>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP3) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg6 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_over next6 bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}/>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\treturn null;\r\n};\r\n\r\n","import React, { useState } from \"react\";\r\nimport { btnClick, music, PageEnum } from \"../enum\"\r\nimport \"./page22.scss\"\r\n\r\nenum Step {\r\n\tSTEP0,\r\n\tSTEP1,\r\n\tSTEP11,\r\n\tSTEP12,\r\n\tSTEP2,\r\n\tSTEP21,\r\n\tSTEP22,\r\n\tSTEP3,\r\n\tSTEP4,\r\n\tSTEP5,\r\n\tSTEP51,\r\n\tSTEP52,\r\n\tSTEP6,\r\n}\r\n\r\nexport const Page2222 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [step, setStep] = useState(Step.STEP0)\r\n\tconst click = (step: Step) => {\r\n\t\tbtnClick();\r\n\t\tif (step === Step.STEP1) {\r\n\t\t\tmusic(4)\r\n\t\t} else if (step === Step.STEP21) {\r\n\t\t\tmusic(5)\r\n\t\t} else if (step === Step.STEP22) {\r\n\t\t\tmusic(6)\r\n\t\t} else if (step === Step.STEP3) {\r\n\t\t\tmusic(1)\r\n\t\t} else {\r\n\t\t\tmusic(0)\r\n\t\t}\r\n\t\tsetStep(step)\r\n\t}\r\n\tif (step === Step.STEP0) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"yes bg_full\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t\t<div className=\"no bg_full\" onClick={() => click(Step.STEP1)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP1) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg1 bg_full\"/>\r\n\t\t\t\t<div className=\"online bg_full\" onClick={() => click(Step.STEP11)}/>\r\n\t\t\t\t<div className=\"offline bg_full\" onClick={() => click(Step.STEP12)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP11) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg11 bg_full\"/>\r\n\t\t\t\t<div className=\"next11 bg_full\" onClick={() => click(Step.STEP2)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP12) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg12 bg_full\"/>\r\n\t\t\t\t<div className=\"next12 bg_full\" onClick={() => click(Step.STEP2)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP2) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg2 bg_full\"/>\r\n\t\t\t\t<div className=\"in_home bg_full\" onClick={() => click(Step.STEP21)}/>\r\n\t\t\t\t<div className=\"in_school bg_full\" onClick={() => click(Step.STEP22)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP21) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg21 bg_full\"/>\r\n\t\t\t\t{/* <div className=\"next21 bg_full\" onClick={() => changePage(PageEnum.PAGE2221)}/> */}\r\n\t\t\t\t<div className=\"next21 bg_full mead\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP22) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg22 bg_full\"/>\r\n\t\t\t\t{/* <div className=\"next22 bg_full\" onClick={() => changePage(PageEnum.PAGE2221)}/> */}\r\n\t\t\t\t<div className=\"next21 bg_full mead\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t\t{/*<audio id=\"music1\" src=\"/metro/mp3/6.mp3\" preload=\"auto\" hidden={true} loop={false} autoPlay={true}/>*/}\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP3) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"back bg_full\" onClick={() => click(Step.STEP0)}/>\r\n\t\t\t\t<div className={`qa bg_full`} onClick={() => click(Step.STEP4)}/>\r\n\t\t\t\t<div className={`hands bg_full`} onClick={() => click(Step.STEP4)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t\t{/*<audio id=\"music1\" src=\"/metro/mp3/1.mp3\" preload=\"auto\" hidden={true} loop={false} autoPlay={true}/>*/}\r\n\t\t\t</div>\r\n\t\t)\r\n\t} else if (step === Step.STEP4) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2211\"}>\r\n\t\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t\t<div className=\"back bg_full\" onClick={() => click(Step.STEP3)}/>\r\n\t\t\t\t<div className=\"btn_next bg_full\" onClick={() => click(Step.STEP5)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP5) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg2 bg_full\"/>\r\n\t\t\t\t<div className=\"in_province bg_full\" onClick={() => click(Step.STEP52)}/>\r\n\t\t\t\t<div className=\"out_province bg_full\" onClick={() => click(Step.STEP51)}/>\r\n\t\t\t\t<div className=\"hands2221 bg_full\" onClick={() => click(Step.STEP52)}/>\r\n\t\t\t\t{/* <div className=\"btn_next next2 bg_full\" onClick={() => click(Step.STEP52)}/> */}\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP51) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg21 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_next next51 bg_full\" onClick={() => click(Step.STEP52)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP52) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2221\"}>\r\n\t\t\t\t<div className=\"mobile_box bg22 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_next next52 bg_full\" onClick={() => click(Step.STEP6)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else if (step === Step.STEP6) {\r\n\t\treturn (\r\n\t\t\t<div className={\"page2222\"}>\r\n\t\t\t\t<div className=\"mobile_box bg66 bg_full\"/>\r\n\t\t\t\t<div className=\"btn_over next6 bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t\t<div className=\"return_home\" onClick={() => {\r\n\t\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t\t}}></div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\treturn null\r\n};\r\n\r\n","import React, { Fragment } from 'react';\r\nimport './App.scss';\r\nimport { btnClick, music, PageEnum } from \"./enum\"\r\nimport { Loading } from \"./loading/loading\"\r\nimport { Page } from \"./page\"\r\nimport { Page0 } from \"./page/page0\"\r\nimport { Page1 } from \"./page/page1\"\r\nimport { Page21 } from \"./page/page21\"\r\nimport { Page211 } from \"./page/page211\"\r\nimport { Page212 } from \"./page/page212\"\r\nimport { Page213 } from \"./page/page213\"\r\nimport { Page22 } from \"./page/page22\"\r\nimport { Page221 } from \"./page/page221\"\r\nimport { Page2211 } from \"./page/page2211\"\r\nimport { Page222 } from \"./page/page222\"\r\nimport { Page2220 } from \"./page/page2220\"\r\nimport { Page2221 } from \"./page/page2221\"\r\nimport { Page2222 } from \"./page/page2222\"\r\nimport { Page223 } from \"./page/page223\"\r\nimport { Page23 } from \"./page/page23\"\r\nimport { Page231 } from \"./page/page231\"\r\nimport { Page24 } from \"./page/page24\"\r\nimport { Page241 } from \"./page/page241\"\r\nimport { Page242 } from \"./page/page242\"\r\nimport { Page243 } from \"./page/page243\"\r\n\r\ndeclare let window: any;\r\n\r\nconst Pages = [\r\n\t{\r\n\t\tkey: PageEnum.PAGE0,\r\n\t\tpage: Page0\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE1,\r\n\t\tpage: Page1\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE21,\r\n\t\tpage: Page21\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE211,\r\n\t\tpage: Page211\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE212,\r\n\t\tpage: Page212\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE213,\r\n\t\tpage: Page213\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE22,\r\n\t\tpage: Page22\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE221,\r\n\t\tpage: Page221\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE2211,\r\n\t\tpage: Page2211\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE222,\r\n\t\tpage: Page222\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE2220,\r\n\t\tpage: Page2220\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE2221,\r\n\t\tpage: Page2221\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE2222,\r\n\t\tpage: Page2222\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE223,\r\n\t\tpage: Page223\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE23,\r\n\t\tpage: Page23\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE231,\r\n\t\tpage: Page231\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE24,\r\n\t\tpage: Page24\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE241,\r\n\t\tpage: Page241\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE242,\r\n\t\tpage: Page242\r\n\t},\r\n\t{\r\n\t\tkey: PageEnum.PAGE243,\r\n\t\tpage: Page243\r\n\t}\r\n]\r\n\r\nconst isWeiXin = () => {\r\n\tconst ua = window.navigator.userAgent.toLowerCase();\r\n\t// @ts-ignore\r\n\tif (ua.match(/MicroMessenger/i)) {\r\n\t\treturn true;\r\n\t} else {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nconst baseUrl = \"/metro/\";\r\nconst getAllImagePaths = () => {\r\n\tconst others = [\"metro_43.gif\", \"three/metro_5.png\", \"three/metro_4.png\", \"three/metro_6.png\", \"three/metro_7.png\"]\r\n\tconst onePaths = [];\r\n\tfor (let i = 1; i <= 34; i++) {\r\n\t\tonePaths.push(`one/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 9; i++) {\r\n\t\tonePaths.push(`two/000/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 9; i++) {\r\n\t\tonePaths.push(`two/001/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 43; i++) {\r\n\t\tonePaths.push(`two/002/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 25; i++) {\r\n\t\tonePaths.push(`two/003/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 15; i++) {\r\n\t\tonePaths.push(`two/004/metro_${i}.png`)\r\n\t}\r\n\tfor (let i = 1; i <= 7; i++) {\r\n\t\tonePaths.push(`mp3/${i}.mp3`)\r\n\t}\r\n\tonePaths.push(`one/return_home.png`)\r\n\treturn [...others, ...onePaths];\r\n}\r\nconst allPaths = getAllImagePaths();\r\n\r\nclass App extends React.Component<any, any> {\r\n\tprivate bgAudioCxt: any = null;\r\n\r\n\tconstructor(props: any) {\r\n\t\tsuper(props)\r\n\t\tthis.state = {\r\n\t\t\tpage: PageEnum.LOADING,\r\n\t\t\tindex: 0,\r\n\t\t\tplayFlag: false,\r\n\t\t}\r\n\t}\r\n\r\n\tpublic componentDidMount(): void {\r\n\t\tif (isWeiXin()){\r\n\t\t\tthis.init()\r\n\t\t}\r\n\t\tthis.loadAssets()\r\n\t\t// @ts-ignore\r\n\t\tdocument.querySelector('div').addEventListener('click', ()=> {\r\n\t\t\tthis.init()\r\n\t\t});\r\n\t}\r\n\r\n\tpublic componentWillReceiveProps(nextProps: Readonly<any>, nextContext: any) {\r\n\t\t// @ts-ignore\r\n\t\tdocument.querySelector('div').addEventListener('click', ()=> {\r\n\t\t\tthis.init()\r\n\t\t});\r\n\t}\r\n\r\n\tpublic loadAssets = () => {\r\n\t\tconst { index } = this.state;\r\n\t\tif (index > allPaths.length - 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst onLoad = () => {\r\n\t\t\tif (index >= (allPaths.length - 1) / 2) {\r\n\t\t\t\tthis.changePage(PageEnum.PAGE0, true)\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ index: index + 1 }, this.loadAssets)\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst path = allPaths[index];\r\n\t\tconst imageItem = new Image()\r\n\t\timageItem.src = baseUrl + path + \"?v=1\";\r\n\t\timageItem.onload = onLoad\r\n\t\timageItem.onerror = onLoad\r\n\t\timageItem.onabort = onLoad\r\n\t}\r\n\r\n\tpublic changePage = (page: PageEnum, noMusic: boolean = false) => {\r\n\t\tif (!noMusic) {\r\n\t\t\tbtnClick();\r\n\t\t}\r\n\t\tif (page === PageEnum.PAGE2221){\r\n\t\t\tmusic(1)\r\n\t\t}else if (page === PageEnum.PAGE222){\r\n\t\t\tmusic(2)\r\n\t\t} else if (page === PageEnum.PAGE2222){\r\n\t\t\tmusic(3)\r\n\t\t} else if (page === PageEnum.PAGE223){\r\n\t\t\tmusic(7)\r\n\t\t} else if (page === PageEnum.PAGE2220){\r\n\t\t\tmusic(1)\r\n\t\t} else {\r\n\t\t\tmusic(0)\r\n\t\t}\r\n\t\t// this.init()\r\n\t\tthis.setState({ page })\r\n\t}\r\n\r\n\tpublic init = () => {\r\n\t\tif (this.bgAudioCxt) {\r\n\t\t\tthis.bgAudioCxt.onload = () => {\r\n\t\t\t\tthis.bgAudioCxt.play()\r\n\t\t\t\tthis.setState({playFlag: true})\r\n\t\t\t}\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tthis.playAudio()\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t}\r\n\t}\r\n\r\n\tpublic playAudio = () => {\r\n\t\tconst { playFlag } = this.state\r\n\t\tconst audio = this.bgAudioCxt;\r\n\t\tthis.setState({ playFlag: true })\r\n\t\tconst play = () => {\r\n\t\t\tif (!playFlag) {\r\n\t\t\t\taudio.play();\r\n\t\t\t\tthis.setState({ playFlag: true })\r\n\t\t\t}\r\n\t\t};\r\n\t\taudio.play();\r\n\t\tdocument.addEventListener(\"WeixinJSBridgeReady\", () => {\r\n\t\t\tplay();\r\n\t\t}, false);\r\n\t\twindow.onload = () => {\r\n\t\t\tplay()\r\n\t\t}\r\n\t\tif (window.wx) {\r\n\t\t\twindow.wx.config({\r\n\t\t\t\tappId: '',\r\n\t\t\t\tdebug: false,\r\n\t\t\t\tjsApiList: [],\r\n\t\t\t\tnonceStr: '',\r\n\t\t\t\tsignature: '',\r\n\t\t\t\ttimestamp: 1\r\n\t\t\t});\r\n\t\t\twindow.wx.ready(() => {\r\n\t\t\t\tthis.bgAudioCxt.play();\r\n\t\t\t\tthis.setState({ playFlag: true })\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic render() {\r\n\t\tconst { page, index, autoPlay, playFlag } = this.state;\r\n\t\tconst current = Pages.find((it) => it.key === page)\r\n\t\tconst Com = current && current.page;\r\n\t\treturn (\r\n\t\t\t<Fragment>\r\n\t\t\t\t{page === PageEnum.LOADING && <Loading changePage={this.changePage} progress={index * 100 / allPaths.length}/>}\r\n\t\t\t\t<Page>\r\n\t\t\t\t\t{Com && <Com changePage={this.changePage}/>}\r\n\t\t\t\t</Page>\r\n\t\t\t\t<audio id=\"bgAudio\"\r\n\t\t\t\t\t\t\t ref={ref => this.bgAudioCxt = ref}\r\n\t\t\t\t\t\t\t src={\"/metro/\" + \"bg.mp3\"}\r\n\t\t\t\t\t\t\t preload=\"auto\"\r\n\t\t\t\t\t\t\t muted={false}\r\n\t\t\t\t\t\t\t hidden={false}\r\n\t\t\t\t\t\t\t loop={true}\r\n\t\t\t\t\t\t\t autoPlay={false}/>\r\n\t\t\t\t<audio id=\"btnMusic\" hidden={false} preload=\"auto\" autoPlay={false} loop={false}/>\r\n\t\t\t\t{\r\n\t\t\t\t\t!playFlag && <div className={`music ${playFlag && \"play\" || \"\"}`} onClick={() => this.init()}/>\r\n\t\t\t\t}\r\n\t\t\t\t<audio id=\"pageMusic\" src=\"/metro/mp3/1.mp3\" preload=\"auto\" hidden={true} loop={false} autoPlay={false}/>\r\n\t\t\t</Fragment>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default App;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { PageEnum } from \"../enum\"\r\nimport \"./page0.scss\"\r\n\r\nexport const Page0 = (props: any) => {\r\n\tconst [left, setLeft] = useState(169);\r\n\tconst onTouchMove = (e: any) => {\r\n\t\tconst ev = e || window.event;\r\n\t\tconst touch = ev.targetTouches[0];\r\n\t\tconst width = document.body.clientWidth;\r\n\t\tconst height = document.body.clientHeight;\r\n\t\tconst max = Math.max(width, height)\r\n\t\tconst zoom = max / 1792;\r\n\t\t// let w = 1350;\r\n\t\tlet w = 700;\r\n\t\tif (width > height) {\r\n\t\t\t// @ts-ignore\r\n\t\t\tconst leftResult = (touch.pageX) / zoom;\r\n\t\t\tif (leftResult > w) {\r\n\t\t\t\tprops.changePage(PageEnum.PAGE1, true)\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tsetLeft(Math.max(0, leftResult))\r\n\t\t} else {\r\n\t\t\t// @ts-ignore\r\n\t\t\tconst leftResult = touch.pageY / zoom;\r\n\t\t\tif (leftResult > w) {\r\n\t\t\t\tprops.changePage(PageEnum.PAGE1)\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tsetLeft(Math.max(0, leftResult))\r\n\t\t}\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tconst notice = document.getElementById(\"notice\");\r\n\t\tconst u = navigator.userAgent;\r\n\t\tconst isiOS = !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/);\r\n\t\t// @ts-ignore\r\n\t\tif (notice && notice.offsetHeight) {\r\n\t\t\tnotice.setAttribute(\"style\", \"font-size:\" + notice.offsetHeight * (isiOS ? 0.2 : 0.4) + \"px\")\r\n\t\t}\r\n\t})\r\n\treturn (\r\n\t\t<div className={\"page0\"}>\r\n\t\t\t<div className={\"el_wrap_bk_full mobile_box bg_full\"} id={\"el_wrap_bk_full\"}/>\r\n\t\t\t<div className=\"el_wrap_logo bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_house bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_27 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_14 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_21 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_33 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_32 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_31 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_15 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_16 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_17 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_24 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_26 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_25 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_12 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_6 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_5 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_23 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_22 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_19 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_13 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_1 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_8 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_11 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_2 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_3 bg_full\"/>\r\n\t\t\t<div className=\"el_wrap_7 bg_full\"/>\r\n\t\t\t<div className=\"notice\" id={\"notice\"}/>\r\n\t\t\t<div className=\"el_wrap_person bg_full\"\r\n\t\t\t\t\t id={\"el_wrap_person\"}\r\n\t\t\t\t\t style={{ left }}\r\n\t\t\t\t\t onTouchMove={onTouchMove}\r\n\t\t\t\t\t draggable={\"true\"}/>\r\n\t\t\t<div className=\"el_wrap_finger bg_full\"/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page1.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page1 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page1\"}>\r\n\t\t\t<div className=\"bg\"/>\r\n\t\t\t<div className=\"question bg_full\">\r\n\t\t\t\t<div className=\"content bg_full\"/>\r\n\t\t\t</div>\r\n\t\t\t<div className=\"hands\"/>\r\n\t\t\t<div className=\"worker\"/>\r\n\t\t\t<div className=\"btn1 bg_full\" onClick={() => {\r\n\t\t\t\tchangePage(PageEnum.PAGE21)\r\n\t\t\t}}/>\r\n\t\t\t<div className=\"btn2 bg_full\" onClick={() => changePage(PageEnum.PAGE22)}/>\r\n\t\t\t<div className=\"btn3 bg_full\" onClick={() => changePage(PageEnum.PAGE23)}/>\r\n\t\t\t<div className=\"btn4 bg_full\" onClick={() => changePage(PageEnum.PAGE24)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page21.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page21 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page21\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"btn1 bg_full\" onClick={() => changePage(PageEnum.PAGE211)}/>\r\n\t\t\t<div className=\"hands bg_full\" onClick={() => changePage(PageEnum.PAGE211)}/>\r\n\t\t\t<div className=\"btn2 bg_full\" onClick={() => changePage(PageEnum.PAGE212)}/>\r\n\t\t\t<div className=\"hands two bg_full\" onClick={() => changePage(PageEnum.PAGE212)}/>\r\n\t\t\t<div className=\"btn3 bg_full\" onClick={() => changePage(PageEnum.PAGE213)}/>\r\n\t\t\t<div className=\"hands three bg_full\" onClick={() => changePage(PageEnum.PAGE213)}/>\r\n\t\t\t<div className=\"text1 bg_full\"/>\r\n\t\t\t<div className=\"text2 bg_full\"/>\r\n\t\t\t<div className=\"text3 bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page211.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page211 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page211\"}>\r\n\t\t\t<div className=\"mobile_box bg_1 bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE21)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page211.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page212 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page211\"}>\r\n\t\t\t<div className=\"mobile_box bg_2 bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE21)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page211.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page213 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page211\"}>\r\n\t\t\t<div className=\"mobile_box bg_3 bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE21)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page22.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page22 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page22\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"btn1\" onClick={() => changePage(PageEnum.PAGE2220)}/>\r\n\t\t\t<div className=\"btn2\" onClick={() => changePage(PageEnum.PAGE222)}/>\r\n\t\t\t<div className=\"btn3\" onClick={() => changePage(PageEnum.PAGE223)}/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page22.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page221 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page221\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE22)}/>\r\n\t\t\t<div className=\"title bg_full\"/>\r\n\t\t\t<div className=\"head\"/>\r\n\t\t\t<div className=\"qa bg_full\" onClick={() => changePage(PageEnum.PAGE2211)}/>\r\n\t\t\t<div className={`hands bg_full`} onClick={() => changePage(PageEnum.PAGE2211)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page22.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\n// declare const wx: any;\r\n\r\nexport const Page2211 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page2211\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t{/* <div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE2221)}/> */}\r\n\t\t\t<div className=\"next bg_full\" onClick={() => changePage(PageEnum.PAGE2221)}/>\r\n\t\t\t{/* <div className=\"over bg_full\" onClick={() => {\r\n\t\t\t\t// wx && wx.closeWindow()\r\n\t\t\t\tchangePage(PageEnum.PAGE22)\r\n\t\t\t}}/> */}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React, { useState } from \"react\";\r\nimport \"./page22.scss\"\r\nimport { PageEnum, music } from \"../enum\"\r\n\r\nexport const Page222 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [type, setType] = useState(localStorage.getItem(\"type\") || \"student\")\r\n\t// music(2);\r\n\treturn (\r\n\t\t<div className={\"page222\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE22)}/>\r\n\t\t\t<div className=\"left bg_full\"/>\r\n\t\t\t<div className=\"div21 bg_full\"/>\r\n\t\t\t<div className=\"div4 bg_full\"/>\r\n\t\t\t<div className=\"title bg_full\"/>\r\n\t\t\t<div className=\"logo bg_full\"/>\r\n\t\t\t<div className={`worker bg_full ${type === \"worker\" ? \"checked\" : \"\"}`} onClick={() => {\r\n\t\t\t\tsetType(\"worker\");\r\n\t\t\t\tlocalStorage.setItem(\"type\", \"worker\")\r\n\t\t\t\tsetTimeout(() => changePage(PageEnum.PAGE2221), 300)\r\n\t\t\t}}/>\r\n\t\t\t<div className={`student bg_full ${type === \"student\" ? \"checked\" : \"\"}`} onClick={() => {\r\n\t\t\t\tsetType(\"student\");\r\n\t\t\t\tlocalStorage.setItem(\"type\", \"student\")\r\n\t\t\t\tsetTimeout(() => changePage(PageEnum.PAGE2222), 300)\r\n\t\t\t}}/>\r\n\t\t<div className=\"return_home\" onClick={() => {changePage(PageEnum.PAGE1)}}></div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React, { useState } from \"react\";\r\nimport \"./page22.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page223 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [step, setStep] = useState(\"\");\r\n\tconst [arr, setArr] = useState([] as any[])\r\n\treturn (\r\n\t\t<div className={\"page223\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"left bg_full\"/>\r\n\t\t\t<div className=\"right bg_full\"/>\r\n\t\t\t<div className=\"div21 bg_full\"/>\r\n\t\t\t<div className=\"div4 bg_full\"/>\r\n\t\t\t<div className=\"title bg_full\"/>\r\n\t\t\t<div className=\"logo bg_full\"/>\r\n\t\t\t<div className={`one bg_full`} onClick={() => {\r\n\t\t\t\tsetArr([...arr, \"one\"]);\r\n\t\t\t\tsetStep(\"one\");\r\n\t\t\t}}/>\r\n\t\t\t<div className={`two bg_full`} onClick={() => {\r\n\t\t\t\tsetArr([...arr, \"two\"]);\r\n\t\t\t\tsetStep(\"two\")\r\n\t\t\t}}/>\r\n\t\t\t{\r\n\t\t\t\tarr.indexOf(\"one\") !== -1 && <div className={`one_content bg_full`}/>\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tarr.indexOf(\"two\") !== -1 && <div className={`two_content bg_full`}/>\r\n\t\t\t}\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE22)}/>\r\n\t\t\t<div className={`hands bg_full ${step}`} onClick={() => {\r\n\t\t\t\tif (step === \"one\") {\r\n\t\t\t\t\tsetArr([...arr, \"two\"]);\r\n\t\t\t\t\tsetStep(\"two\")\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetArr([...arr, \"one\"]);\r\n\t\t\t\t\tsetStep(\"one\");\r\n\t\t\t\t}\r\n\t\t\t}}/>\r\n\t\t\t\t{/*<audio id=\"music1\" src=\"/metro/mp3/7.mp3\" preload=\"auto\" hidden={true} loop={false} autoPlay={true}/>*/}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React, { useState } from \"react\";\r\nimport \"./page23.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page23 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\tconst [index, setIndex] = useState(0);\r\n\treturn (\r\n\t\t<div className={\"page23\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"question1 bg_full\" onClick={() => setIndex(1)}/>\r\n\t\t\t<div className=\"hands bg_full\" onClick={() => setIndex(1)}/>\r\n\t\t\t<div className=\"question2 bg_full\" onClick={() => setIndex(2)}/>\r\n\t\t\t<div className=\"hands bg_full two\" onClick={() => setIndex(2)}/>\r\n\t\t\t<div className=\"question3 bg_full\" onClick={() => setIndex(3)}/>\r\n\t\t\t<div className=\"hands three bg_full\" onClick={() => setIndex(3)}/>\r\n\t\t\t<div className=\"question4 bg_full\" onClick={() => setIndex(4)}/>\r\n\t\t\t<div className=\"hands four bg_full\" onClick={() => setIndex(4)}/>\r\n\t\t\t<div className=\"question5 bg_full\" onClick={() => setIndex(5)}/>\r\n\t\t\t<div className=\"hands five bg_full\" onClick={() => setIndex(5)}/>\r\n\t\t\t{\r\n\t\t\t\tindex > 0 && <div className=\"answer bg_full\"/>\r\n\t\t\t}\r\n\t\t\t{\r\n\t\t\t\tindex > 0 && <div className={`answer_content${index}`}/>\r\n\t\t\t}\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page23.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\nexport const Page231 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page231\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport { PageEnum } from \"../enum\"\r\nimport \"./page24.scss\"\r\n\r\nexport const Page24 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page24\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"left bg_full\"/>\r\n\t\t\t<div className=\"right bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE1)}/>\r\n\t\t\t<div className=\"div21 bg_full\"/>\r\n\t\t\t<div className=\"div4 bg_full\"/>\r\n\t\t\t<div className=\"title bg_full\"/>\r\n\t\t\t<div className=\"logo bg_full\"/>\r\n\t\t\t<div className=\"btn1 bg_full\" onClick={() => changePage(PageEnum.PAGE241)}/>\r\n\t\t\t<div className=\"hands_click bg_full\"/>\r\n\t\t\t<div className=\"btn2 bg_full\" onClick={() => changePage(PageEnum.PAGE242)}/>\r\n\t\t\t<div className=\"hands_click bg_full two\"/>\r\n\t\t\t<div className=\"btn3 bg_full\" onClick={() => changePage(PageEnum.PAGE243)}/>\r\n\t\t\t<div className=\"hands_click bg_full three\"/>\r\n\t\t\t<div className=\"hands bg_full\"/>\r\n\t\t\t<div className=\"question bg_full\"/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page24.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\n// declare const wx: any;\r\n\r\nexport const Page241 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page241\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE24)}/>\r\n\t\t\t<div className=\"exit bg_full\" onClick={() => {\r\n\t\t\t\t// wx && wx.closeWindow()\r\n\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t}}/>\r\n\t\t\t<a href=\"tel:0371-55166198\" className=\"tel_liu\"> </a>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page24.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\n// declare const wx: any;\r\n\r\nexport const Page242 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page242\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE24)}/>\r\n\t\t\t<div className=\"exit bg_full\" onClick={() => {\r\n\t\t\t\t// wx && wx.closeWindow()\r\n\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t}}/>\r\n\t\t\t<a href=\"tel:0371-55166138\" className=\"tel_niu\"> </a>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","import React from \"react\";\r\nimport \"./page24.scss\"\r\nimport { PageEnum } from \"../enum\"\r\n\r\n// declare const wx: any;\r\n\r\nexport const Page243 = (props: any) => {\r\n\tconst { changePage } = props;\r\n\treturn (\r\n\t\t<div className={\"page243\"}>\r\n\t\t\t<div className=\"mobile_box bg bg_full\"/>\r\n\t\t\t<div className=\"back bg_full\" onClick={() => changePage(PageEnum.PAGE24)}/>\r\n\t\t\t<div className=\"exit bg_full\" onClick={() => {\r\n\t\t\t\t// wx && wx.closeWindow()\r\n\t\t\t\tchangePage(PageEnum.PAGE1)\r\n\t\t\t}}/>\r\n\t\t\t<a href=\"tel:0371-55166630\" className=\"tel_niu\"> </a>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.scss';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n\t<React.StrictMode>\r\n\t\t<App/>\r\n\t</React.StrictMode>,\r\n\tdocument.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}
|