From 56594ab21027f552a5d9cc04e210ad90be65e862 Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 25 Jul 2023 09:31:05 +0800 Subject: [PATCH] Refine UI, move to root. --- DEVELOPER.md | 8 ++-- Dockerfile | 12 +++--- Dockerfile.dev | 2 +- Makefile | 40 +++++++++++------- platform/Makefile | 39 ++--------------- platform/service.go | 2 +- {platform/ui => ui}/.gitignore | 0 ui/Makefile | 20 +++++++++ {platform/ui => ui}/package-lock.json | 0 {platform/ui => ui}/package.json | 0 {platform/ui => ui}/public/favicon.ico | Bin {platform/ui => ui}/public/index.html | 0 {platform/ui => ui}/public/logo192.png | Bin {platform/ui => ui}/public/logo512.png | Bin {platform/ui => ui}/public/manifest.json | 0 {platform/ui => ui}/public/robots.txt | 0 {platform/ui => ui}/src/App.css | 0 {platform/ui => ui}/src/App.js | 0 .../ui => ui}/src/components/DvrStatus.js | 0 .../ui => ui}/src/components/FileUploader.js | 0 .../src/components/LanguageSwitch.js | 0 .../src/components/PopoverConfirm.js | 0 .../src/components/SetupCamSecret.js | 0 .../ui => ui}/src/components/SrsEnvContext.js | 0 .../src/components/SrsErrorBoundary.js | 0 .../src/components/SrsErrorBoundary.test.js | 0 .../ui => ui}/src/components/SrsQRCode.js | 0 .../src/components/SrsQRCode.test.js | 0 .../src/components/SwitchConfirmButton.js | 0 .../src/components/TutorialsButton.js | 0 .../ui => ui}/src/components/TutorialsText.js | 0 .../ui => ui}/src/components/UrlGenerator.js | 0 {platform/ui => ui}/src/i18n.js | 0 {platform/ui => ui}/src/index.css | 0 {platform/ui => ui}/src/index.js | 0 {platform/ui => ui}/src/pages/Components.js | 0 {platform/ui => ui}/src/pages/Contact.js | 0 {platform/ui => ui}/src/pages/Footer.js | 0 {platform/ui => ui}/src/pages/Login.js | 0 {platform/ui => ui}/src/pages/Logout.js | 0 {platform/ui => ui}/src/pages/Navigator.js | 0 {platform/ui => ui}/src/pages/Scenario.js | 0 {platform/ui => ui}/src/pages/ScenarioDvr.js | 0 .../ui => ui}/src/pages/ScenarioForward.js | 0 {platform/ui => ui}/src/pages/ScenarioLive.js | 0 .../ui => ui}/src/pages/ScenarioRecord.js | 0 .../ui => ui}/src/pages/ScenarioSource.js | 0 {platform/ui => ui}/src/pages/ScenarioSrt.js | 0 .../ui => ui}/src/pages/ScenarioTutorials.js | 0 .../ui => ui}/src/pages/ScenarioVFile.js | 0 {platform/ui => ui}/src/pages/ScenarioVod.js | 0 {platform/ui => ui}/src/pages/Settings.js | 0 {platform/ui => ui}/src/pages/Setup.js | 0 {platform/ui => ui}/src/resources/locale.json | 0 {platform/ui => ui}/src/resources/logo.svg | 0 .../src/resources/srs-cloud-1296x648.png | Bin .../src/resources/srs-server-1296x648.png | Bin .../src/resources/srs-video-1296x648.png | Bin .../src/resources/srs-xingqiu-1296x648.png | Bin {platform/ui => ui}/src/setupProxy.js | 0 {platform/ui => ui}/src/setupTests.js | 0 {platform/ui => ui}/src/utils.js | 0 62 files changed, 60 insertions(+), 63 deletions(-) rename {platform/ui => ui}/.gitignore (100%) create mode 100644 ui/Makefile rename {platform/ui => ui}/package-lock.json (100%) rename {platform/ui => ui}/package.json (100%) rename {platform/ui => ui}/public/favicon.ico (100%) rename {platform/ui => ui}/public/index.html (100%) rename {platform/ui => ui}/public/logo192.png (100%) rename {platform/ui => ui}/public/logo512.png (100%) rename {platform/ui => ui}/public/manifest.json (100%) rename {platform/ui => ui}/public/robots.txt (100%) rename {platform/ui => ui}/src/App.css (100%) rename {platform/ui => ui}/src/App.js (100%) rename {platform/ui => ui}/src/components/DvrStatus.js (100%) rename {platform/ui => ui}/src/components/FileUploader.js (100%) rename {platform/ui => ui}/src/components/LanguageSwitch.js (100%) rename {platform/ui => ui}/src/components/PopoverConfirm.js (100%) rename {platform/ui => ui}/src/components/SetupCamSecret.js (100%) rename {platform/ui => ui}/src/components/SrsEnvContext.js (100%) rename {platform/ui => ui}/src/components/SrsErrorBoundary.js (100%) rename {platform/ui => ui}/src/components/SrsErrorBoundary.test.js (100%) rename {platform/ui => ui}/src/components/SrsQRCode.js (100%) rename {platform/ui => ui}/src/components/SrsQRCode.test.js (100%) rename {platform/ui => ui}/src/components/SwitchConfirmButton.js (100%) rename {platform/ui => ui}/src/components/TutorialsButton.js (100%) rename {platform/ui => ui}/src/components/TutorialsText.js (100%) rename {platform/ui => ui}/src/components/UrlGenerator.js (100%) rename {platform/ui => ui}/src/i18n.js (100%) rename {platform/ui => ui}/src/index.css (100%) rename {platform/ui => ui}/src/index.js (100%) rename {platform/ui => ui}/src/pages/Components.js (100%) rename {platform/ui => ui}/src/pages/Contact.js (100%) rename {platform/ui => ui}/src/pages/Footer.js (100%) rename {platform/ui => ui}/src/pages/Login.js (100%) rename {platform/ui => ui}/src/pages/Logout.js (100%) rename {platform/ui => ui}/src/pages/Navigator.js (100%) rename {platform/ui => ui}/src/pages/Scenario.js (100%) rename {platform/ui => ui}/src/pages/ScenarioDvr.js (100%) rename {platform/ui => ui}/src/pages/ScenarioForward.js (100%) rename {platform/ui => ui}/src/pages/ScenarioLive.js (100%) rename {platform/ui => ui}/src/pages/ScenarioRecord.js (100%) rename {platform/ui => ui}/src/pages/ScenarioSource.js (100%) rename {platform/ui => ui}/src/pages/ScenarioSrt.js (100%) rename {platform/ui => ui}/src/pages/ScenarioTutorials.js (100%) rename {platform/ui => ui}/src/pages/ScenarioVFile.js (100%) rename {platform/ui => ui}/src/pages/ScenarioVod.js (100%) rename {platform/ui => ui}/src/pages/Settings.js (100%) rename {platform/ui => ui}/src/pages/Setup.js (100%) rename {platform/ui => ui}/src/resources/locale.json (100%) rename {platform/ui => ui}/src/resources/logo.svg (100%) rename {platform/ui => ui}/src/resources/srs-cloud-1296x648.png (100%) rename {platform/ui => ui}/src/resources/srs-server-1296x648.png (100%) rename {platform/ui => ui}/src/resources/srs-video-1296x648.png (100%) rename {platform/ui => ui}/src/resources/srs-xingqiu-1296x648.png (100%) rename {platform/ui => ui}/src/setupProxy.js (100%) rename {platform/ui => ui}/src/setupTests.js (100%) rename {platform/ui => ui}/src/utils.js (100%) diff --git a/DEVELOPER.md b/DEVELOPER.md index 34a2aeac..22560044 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -32,7 +32,7 @@ Run the platform backend, or run in GoLand: Run the platform react ui, or run in WebStorm: ``` -(cd platform/ui && npm install && npm start) +(cd ui && npm install && npm start) ``` Access the browser: http://localhost:3000 @@ -57,7 +57,7 @@ docker run -d --rm -it -p 2022:2022 --name platform -v $(pwd):/usr/local/srs-clo --add-host redis:127.0.0.1 --env REDIS_HOST=127.0.0.1 --add-host mgmt.srs.local:127.0.0.1 \ --env CLOUD=DOCKER --env MGMT_DOCKER=true --env SRS_DOCKERIZED=true --env NODE_ENV=development \ -p 1935:1935/tcp -p 1985:1985/tcp -p 8080:8080/tcp -p 8000:8000/udp -p 10080:10080/udp \ - -w /usr/local/srs-cloud/platform platform-dev bash + -w /usr/local/srs-cloud platform-dev bash ``` > Note: We don't use the `/data` as global storage. @@ -65,13 +65,13 @@ docker run -d --rm -it -p 2022:2022 --name platform -v $(pwd):/usr/local/srs-clo Build platform and UI in docker: ```bash -docker exec -it platform make -j16 +docker exec -it platform make -j ``` Run platform in docker: ```bash -docker exec -it platform ./bootstrap +docker exec -it platform ./platform/bootstrap ``` Stop redis and SRS: diff --git a/Dockerfile b/Dockerfile index 177d7bca..b4ae96d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,22 +13,22 @@ RUN echo "BUILDPLATFORM: $BUILDPLATFORM, TARGETPLATFORM: $TARGETPLATFORM, TARGET COPY --from=node /usr/local/bin /usr/local/bin COPY --from=node /usr/local/lib /usr/local/lib +ADD releases /g/releases +ADD mgmt /g/mgmt ADD platform /g/platform +ADD ui /g/ui # Note that we only build the platform without ui, because already build ui for all OS. # See platform.yml command: # make ui-build-cn && make ui-build-en -WORKDIR /g/platform -RUN make platform-clean && make platform-build -RUN make ui-clean && make ui-build-cn && make ui-build-en -RUN cd /g/platform/ui && rm -rf js-core node_modules package* public src +WORKDIR /g +RUN make clean && make -j && make install # http://releases.ubuntu.com/focal/ #FROM ${ARCH}ubuntu:focal AS dist FROM ${ARCH}ossrs/srs-cloud:focal-1 AS dist -COPY --from=build /g/platform /usr/local/srs-cloud/platform -COPY --from=build /g/platform/platform /usr/local/srs-cloud/platform/platform +COPY --from=build /usr/local/srs-cloud /usr/local/srs-cloud # Prepare data directory. RUN mkdir -p /data && \ diff --git a/Dockerfile.dev b/Dockerfile.dev index d1524d63..3501f6cc 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -27,4 +27,4 @@ COPY --from=srs /usr/local/srs /usr/local/srs RUN rm -rf /data && ln -sf /usr/local/srs-cloud/platform/containers/data /data # Setup the work directory to platform. -WORKDIR /usr/local/srs-cloud/platform +WORKDIR /usr/local/srs-cloud diff --git a/Makefile b/Makefile index 1676a88f..70a5a42b 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: default build install run uninstall upgrade test npm help clean -SRS_PREFIX=/usr/local/srs-cloud -__REAL_INSTALL=$(DESTDIR)$(SRS_PREFIX) +PREFIX ?= /usr/local/srs-cloud +__REAL_INSTALL = $(DESTDIR)$(PREFIX) default: build @@ -13,29 +13,39 @@ help: @echo " test Run tests" build: - cd releases && make - cd platform && make build + make -C platform + make -C ui + make -C releases clean: - cd releases && make clean - cd platform && make clean + make -C platform clean + make -C ui clean + make -C releases clean -ifeq ($(shell pwd), $(__REAL_INSTALL)) install: - @echo "Install ok for $(__REAL_INSTALL)" +ifeq ($(shell pwd), $(__REAL_INSTALL)) + @echo "Ignore install for $(__REAL_INSTALL)" else -install: - mkdir -p $(__REAL_INSTALL) - rm -rf $(__REAL_INSTALL)/usr + rm -rf $(__REAL_INSTALL) + mkdir -p $(__REAL_INSTALL)/mgmt $(__REAL_INSTALL)/platform $(__REAL_INSTALL)/ui + cp -rf mgmt $(__REAL_INSTALL)/mgmt + cp -rf ui/build $(__REAL_INSTALL)/ui/build + cp -f platform/platform $(__REAL_INSTALL)/platform/platform + cp -f platform/bootstrap $(__REAL_INSTALL)/platform/bootstrap + cp -rf platform/auto $(__REAL_INSTALL)/platform/auto + cp -rf platform/containers $(__REAL_INSTALL)/platform/containers + rm -rf $(__REAL_INSTALL)/platform/containers/objs/* cp -rf usr $(__REAL_INSTALL)/usr - sed -i "s|/usr/local/srs-cloud|$(SRS_PREFIX)|g" $(__REAL_INSTALL)/usr/lib/systemd/system/srs-cloud.service + sed -i "s|/usr/local/srs-cloud|$(PREFIX)|g" $(__REAL_INSTALL)/usr/lib/systemd/system/srs-cloud.service endif uninstall: - @echo "rmdir $(SRS_PREFIX)" - rm -rf $(SRS_PREFIX) +ifeq ($(shell pwd), $(__REAL_INSTALL)) + @echo "Ignore uninstall for $(__REAL_INSTALL)" +else + rm -rf $(__REAL_INSTALL) test: cd platform && go test ./... cd releases && go test ./... - + cd ui && npm run test diff --git a/platform/Makefile b/platform/Makefile index 0599bc90..e1ed4eac 100644 --- a/platform/Makefile +++ b/platform/Makefile @@ -1,25 +1,10 @@ -.PHONY: default clean alpine platform-build platform-clean ui-install ui-build ui-build-cn ui-build-en ui-build-docker ui-clean build help +.PHONY: default clean alpine build default: build -help: - @echo "Usage: make build|clean" - @echo " default Build the platform only" - @echo " build Build the platform and ui" - @echo " clean Cleanup the platform and ui" - @echo " platform-build Use Go to build the platform" - @echo " platform-clean Cleanup the platform" - @echo " ui-install Use npm install for dependencies for ui" - @echo " ui-build Use npm run build for building ui" - @echo " ui-clean Cleanup the ui" +build: ./platform -build: platform-build ui-install ui-build - -clean: ui-clean platform-clean - -platform-build: ./platform - -platform-clean: +clean: rm -f platform ./platform: *.go Makefile go.mod @@ -28,21 +13,3 @@ platform-clean: # Build for alpine, see https://www.cloudbees.com/blog/building-minimal-docker-containers-for-go-applications alpine: CGO_ENABLED=0 GOOS=linux go build -mod=vendor -a -installsuffix cgo -o platform . - -ui-install: - cd ui && npm install - -ui-build: - cd ui && env PUBLIC_URL=/mgmt REACT_APP_LOCALE=zh BUILD_PATH=build/zh npm run build - -ui-build-cn: - cd ui && env PUBLIC_URL=/mgmt REACT_APP_LOCALE=zh BUILD_PATH=build/zh npm run build - -ui-build-en: - cd ui && env PUBLIC_URL=/mgmt REACT_APP_LOCALE=en BUILD_PATH=build/en npm run build - -ui-build-docker: - cd ui && npm run build - -ui-clean: - rm -rf ui/build \ No newline at end of file diff --git a/platform/service.go b/platform/service.go index 4543d841..c123bfd0 100644 --- a/platform/service.go +++ b/platform/service.go @@ -726,7 +726,7 @@ func handleDockerHTTPService(ctx context.Context, handler *http.ServeMux) error }) // Serve UI at platform. - fileRoot := path.Join(conf.Pwd, "ui/build") + fileRoot := path.Join(conf.Pwd, "../ui/build") if os.Getenv("REACT_APP_LOCALE") != "" { fileRoot = path.Join(fileRoot, os.Getenv("REACT_APP_LOCALE")) } else { diff --git a/platform/ui/.gitignore b/ui/.gitignore similarity index 100% rename from platform/ui/.gitignore rename to ui/.gitignore diff --git a/ui/Makefile b/ui/Makefile new file mode 100644 index 00000000..34734ec3 --- /dev/null +++ b/ui/Makefile @@ -0,0 +1,20 @@ +.PHONY: default clean build +.PHONY: npm build-cn build-en + +default: build + +build: npm build build-cn build-en + +npm: + npm install + +build: build-cn + +build-cn: + env PUBLIC_URL=/mgmt REACT_APP_LOCALE=zh BUILD_PATH=build/zh npm run build + +build-en: + env PUBLIC_URL=/mgmt REACT_APP_LOCALE=en BUILD_PATH=build/en npm run build + +clean: + rm -rf ui/build \ No newline at end of file diff --git a/platform/ui/package-lock.json b/ui/package-lock.json similarity index 100% rename from platform/ui/package-lock.json rename to ui/package-lock.json diff --git a/platform/ui/package.json b/ui/package.json similarity index 100% rename from platform/ui/package.json rename to ui/package.json diff --git a/platform/ui/public/favicon.ico b/ui/public/favicon.ico similarity index 100% rename from platform/ui/public/favicon.ico rename to ui/public/favicon.ico diff --git a/platform/ui/public/index.html b/ui/public/index.html similarity index 100% rename from platform/ui/public/index.html rename to ui/public/index.html diff --git a/platform/ui/public/logo192.png b/ui/public/logo192.png similarity index 100% rename from platform/ui/public/logo192.png rename to ui/public/logo192.png diff --git a/platform/ui/public/logo512.png b/ui/public/logo512.png similarity index 100% rename from platform/ui/public/logo512.png rename to ui/public/logo512.png diff --git a/platform/ui/public/manifest.json b/ui/public/manifest.json similarity index 100% rename from platform/ui/public/manifest.json rename to ui/public/manifest.json diff --git a/platform/ui/public/robots.txt b/ui/public/robots.txt similarity index 100% rename from platform/ui/public/robots.txt rename to ui/public/robots.txt diff --git a/platform/ui/src/App.css b/ui/src/App.css similarity index 100% rename from platform/ui/src/App.css rename to ui/src/App.css diff --git a/platform/ui/src/App.js b/ui/src/App.js similarity index 100% rename from platform/ui/src/App.js rename to ui/src/App.js diff --git a/platform/ui/src/components/DvrStatus.js b/ui/src/components/DvrStatus.js similarity index 100% rename from platform/ui/src/components/DvrStatus.js rename to ui/src/components/DvrStatus.js diff --git a/platform/ui/src/components/FileUploader.js b/ui/src/components/FileUploader.js similarity index 100% rename from platform/ui/src/components/FileUploader.js rename to ui/src/components/FileUploader.js diff --git a/platform/ui/src/components/LanguageSwitch.js b/ui/src/components/LanguageSwitch.js similarity index 100% rename from platform/ui/src/components/LanguageSwitch.js rename to ui/src/components/LanguageSwitch.js diff --git a/platform/ui/src/components/PopoverConfirm.js b/ui/src/components/PopoverConfirm.js similarity index 100% rename from platform/ui/src/components/PopoverConfirm.js rename to ui/src/components/PopoverConfirm.js diff --git a/platform/ui/src/components/SetupCamSecret.js b/ui/src/components/SetupCamSecret.js similarity index 100% rename from platform/ui/src/components/SetupCamSecret.js rename to ui/src/components/SetupCamSecret.js diff --git a/platform/ui/src/components/SrsEnvContext.js b/ui/src/components/SrsEnvContext.js similarity index 100% rename from platform/ui/src/components/SrsEnvContext.js rename to ui/src/components/SrsEnvContext.js diff --git a/platform/ui/src/components/SrsErrorBoundary.js b/ui/src/components/SrsErrorBoundary.js similarity index 100% rename from platform/ui/src/components/SrsErrorBoundary.js rename to ui/src/components/SrsErrorBoundary.js diff --git a/platform/ui/src/components/SrsErrorBoundary.test.js b/ui/src/components/SrsErrorBoundary.test.js similarity index 100% rename from platform/ui/src/components/SrsErrorBoundary.test.js rename to ui/src/components/SrsErrorBoundary.test.js diff --git a/platform/ui/src/components/SrsQRCode.js b/ui/src/components/SrsQRCode.js similarity index 100% rename from platform/ui/src/components/SrsQRCode.js rename to ui/src/components/SrsQRCode.js diff --git a/platform/ui/src/components/SrsQRCode.test.js b/ui/src/components/SrsQRCode.test.js similarity index 100% rename from platform/ui/src/components/SrsQRCode.test.js rename to ui/src/components/SrsQRCode.test.js diff --git a/platform/ui/src/components/SwitchConfirmButton.js b/ui/src/components/SwitchConfirmButton.js similarity index 100% rename from platform/ui/src/components/SwitchConfirmButton.js rename to ui/src/components/SwitchConfirmButton.js diff --git a/platform/ui/src/components/TutorialsButton.js b/ui/src/components/TutorialsButton.js similarity index 100% rename from platform/ui/src/components/TutorialsButton.js rename to ui/src/components/TutorialsButton.js diff --git a/platform/ui/src/components/TutorialsText.js b/ui/src/components/TutorialsText.js similarity index 100% rename from platform/ui/src/components/TutorialsText.js rename to ui/src/components/TutorialsText.js diff --git a/platform/ui/src/components/UrlGenerator.js b/ui/src/components/UrlGenerator.js similarity index 100% rename from platform/ui/src/components/UrlGenerator.js rename to ui/src/components/UrlGenerator.js diff --git a/platform/ui/src/i18n.js b/ui/src/i18n.js similarity index 100% rename from platform/ui/src/i18n.js rename to ui/src/i18n.js diff --git a/platform/ui/src/index.css b/ui/src/index.css similarity index 100% rename from platform/ui/src/index.css rename to ui/src/index.css diff --git a/platform/ui/src/index.js b/ui/src/index.js similarity index 100% rename from platform/ui/src/index.js rename to ui/src/index.js diff --git a/platform/ui/src/pages/Components.js b/ui/src/pages/Components.js similarity index 100% rename from platform/ui/src/pages/Components.js rename to ui/src/pages/Components.js diff --git a/platform/ui/src/pages/Contact.js b/ui/src/pages/Contact.js similarity index 100% rename from platform/ui/src/pages/Contact.js rename to ui/src/pages/Contact.js diff --git a/platform/ui/src/pages/Footer.js b/ui/src/pages/Footer.js similarity index 100% rename from platform/ui/src/pages/Footer.js rename to ui/src/pages/Footer.js diff --git a/platform/ui/src/pages/Login.js b/ui/src/pages/Login.js similarity index 100% rename from platform/ui/src/pages/Login.js rename to ui/src/pages/Login.js diff --git a/platform/ui/src/pages/Logout.js b/ui/src/pages/Logout.js similarity index 100% rename from platform/ui/src/pages/Logout.js rename to ui/src/pages/Logout.js diff --git a/platform/ui/src/pages/Navigator.js b/ui/src/pages/Navigator.js similarity index 100% rename from platform/ui/src/pages/Navigator.js rename to ui/src/pages/Navigator.js diff --git a/platform/ui/src/pages/Scenario.js b/ui/src/pages/Scenario.js similarity index 100% rename from platform/ui/src/pages/Scenario.js rename to ui/src/pages/Scenario.js diff --git a/platform/ui/src/pages/ScenarioDvr.js b/ui/src/pages/ScenarioDvr.js similarity index 100% rename from platform/ui/src/pages/ScenarioDvr.js rename to ui/src/pages/ScenarioDvr.js diff --git a/platform/ui/src/pages/ScenarioForward.js b/ui/src/pages/ScenarioForward.js similarity index 100% rename from platform/ui/src/pages/ScenarioForward.js rename to ui/src/pages/ScenarioForward.js diff --git a/platform/ui/src/pages/ScenarioLive.js b/ui/src/pages/ScenarioLive.js similarity index 100% rename from platform/ui/src/pages/ScenarioLive.js rename to ui/src/pages/ScenarioLive.js diff --git a/platform/ui/src/pages/ScenarioRecord.js b/ui/src/pages/ScenarioRecord.js similarity index 100% rename from platform/ui/src/pages/ScenarioRecord.js rename to ui/src/pages/ScenarioRecord.js diff --git a/platform/ui/src/pages/ScenarioSource.js b/ui/src/pages/ScenarioSource.js similarity index 100% rename from platform/ui/src/pages/ScenarioSource.js rename to ui/src/pages/ScenarioSource.js diff --git a/platform/ui/src/pages/ScenarioSrt.js b/ui/src/pages/ScenarioSrt.js similarity index 100% rename from platform/ui/src/pages/ScenarioSrt.js rename to ui/src/pages/ScenarioSrt.js diff --git a/platform/ui/src/pages/ScenarioTutorials.js b/ui/src/pages/ScenarioTutorials.js similarity index 100% rename from platform/ui/src/pages/ScenarioTutorials.js rename to ui/src/pages/ScenarioTutorials.js diff --git a/platform/ui/src/pages/ScenarioVFile.js b/ui/src/pages/ScenarioVFile.js similarity index 100% rename from platform/ui/src/pages/ScenarioVFile.js rename to ui/src/pages/ScenarioVFile.js diff --git a/platform/ui/src/pages/ScenarioVod.js b/ui/src/pages/ScenarioVod.js similarity index 100% rename from platform/ui/src/pages/ScenarioVod.js rename to ui/src/pages/ScenarioVod.js diff --git a/platform/ui/src/pages/Settings.js b/ui/src/pages/Settings.js similarity index 100% rename from platform/ui/src/pages/Settings.js rename to ui/src/pages/Settings.js diff --git a/platform/ui/src/pages/Setup.js b/ui/src/pages/Setup.js similarity index 100% rename from platform/ui/src/pages/Setup.js rename to ui/src/pages/Setup.js diff --git a/platform/ui/src/resources/locale.json b/ui/src/resources/locale.json similarity index 100% rename from platform/ui/src/resources/locale.json rename to ui/src/resources/locale.json diff --git a/platform/ui/src/resources/logo.svg b/ui/src/resources/logo.svg similarity index 100% rename from platform/ui/src/resources/logo.svg rename to ui/src/resources/logo.svg diff --git a/platform/ui/src/resources/srs-cloud-1296x648.png b/ui/src/resources/srs-cloud-1296x648.png similarity index 100% rename from platform/ui/src/resources/srs-cloud-1296x648.png rename to ui/src/resources/srs-cloud-1296x648.png diff --git a/platform/ui/src/resources/srs-server-1296x648.png b/ui/src/resources/srs-server-1296x648.png similarity index 100% rename from platform/ui/src/resources/srs-server-1296x648.png rename to ui/src/resources/srs-server-1296x648.png diff --git a/platform/ui/src/resources/srs-video-1296x648.png b/ui/src/resources/srs-video-1296x648.png similarity index 100% rename from platform/ui/src/resources/srs-video-1296x648.png rename to ui/src/resources/srs-video-1296x648.png diff --git a/platform/ui/src/resources/srs-xingqiu-1296x648.png b/ui/src/resources/srs-xingqiu-1296x648.png similarity index 100% rename from platform/ui/src/resources/srs-xingqiu-1296x648.png rename to ui/src/resources/srs-xingqiu-1296x648.png diff --git a/platform/ui/src/setupProxy.js b/ui/src/setupProxy.js similarity index 100% rename from platform/ui/src/setupProxy.js rename to ui/src/setupProxy.js diff --git a/platform/ui/src/setupTests.js b/ui/src/setupTests.js similarity index 100% rename from platform/ui/src/setupTests.js rename to ui/src/setupTests.js diff --git a/platform/ui/src/utils.js b/ui/src/utils.js similarity index 100% rename from platform/ui/src/utils.js rename to ui/src/utils.js