Browse Source

下载

qiji
nili 5 months ago
parent
commit
b0c10c4daf
  1. 12
      build/asset-manifest.json
  2. 2
      build/index.html
  3. 4
      build/manifest.json
  4. 4
      build/static/css/main.6464b9b7.css
  5. 1
      build/static/css/main.6464b9b7.css.map
  6. 1
      build/static/css/main.7b0b8729.css.map
  7. 3
      build/static/js/main.c287986b.js
  8. 1
      build/static/js/main.c287986b.js.map
  9. 3
      build/static/js/main.d0f8649a.js
  10. 0
      build/static/js/main.d0f8649a.js.LICENSE.txt
  11. 1
      build/static/js/main.d0f8649a.js.map
  12. 2
      public/index.html
  13. 4
      public/manifest.json
  14. 2
      src/App.tsx
  15. 61
      src/DownloadPage.tsx
  16. 16
      src/RegisterPage.tsx
  17. 3
      src/utils/uaUtils.tsx

12
build/asset-manifest.json

@ -1,15 +1,15 @@
{ {
"files": { "files": {
"main.css": "/static/css/main.7b0b8729.css", "main.css": "/static/css/main.6464b9b7.css",
"main.js": "/static/js/main.c287986b.js", "main.js": "/static/js/main.d0f8649a.js",
"static/js/453.1d641cba.chunk.js": "/static/js/453.1d641cba.chunk.js", "static/js/453.1d641cba.chunk.js": "/static/js/453.1d641cba.chunk.js",
"index.html": "/index.html", "index.html": "/index.html",
"main.7b0b8729.css.map": "/static/css/main.7b0b8729.css.map", "main.6464b9b7.css.map": "/static/css/main.6464b9b7.css.map",
"main.c287986b.js.map": "/static/js/main.c287986b.js.map", "main.d0f8649a.js.map": "/static/js/main.d0f8649a.js.map",
"453.1d641cba.chunk.js.map": "/static/js/453.1d641cba.chunk.js.map" "453.1d641cba.chunk.js.map": "/static/js/453.1d641cba.chunk.js.map"
}, },
"entrypoints": [ "entrypoints": [
"static/css/main.7b0b8729.css", "static/css/main.6464b9b7.css",
"static/js/main.c287986b.js" "static/js/main.d0f8649a.js"
] ]
} }

2
build/index.html

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.c287986b.js"></script><link href="/static/css/main.7b0b8729.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html> <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>奇迹畅玩</title><script defer="defer" src="/static/js/main.d0f8649a.js"></script><link href="/static/css/main.6464b9b7.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

4
build/manifest.json

@ -1,6 +1,6 @@
{ {
"short_name": "React App", "short_name": "奇迹畅玩",
"name": "Create React App Sample", "name": "奇迹畅玩",
"icons": [ "icons": [
{ {
"src": "favicon.ico", "src": "favicon.ico",

4
build/static/css/main.7b0b8729.css → build/static/css/main.6464b9b7.css

File diff suppressed because one or more lines are too long

1
build/static/css/main.6464b9b7.css.map

File diff suppressed because one or more lines are too long

1
build/static/css/main.7b0b8729.css.map

File diff suppressed because one or more lines are too long

3
build/static/js/main.c287986b.js

File diff suppressed because one or more lines are too long

1
build/static/js/main.c287986b.js.map

File diff suppressed because one or more lines are too long

3
build/static/js/main.d0f8649a.js

File diff suppressed because one or more lines are too long

0
build/static/js/main.c287986b.js.LICENSE.txt → build/static/js/main.d0f8649a.js.LICENSE.txt

1
build/static/js/main.d0f8649a.js.map

File diff suppressed because one or more lines are too long

2
public/index.html

@ -24,7 +24,7 @@
work correctly both with client-side routing and a non-root public URL. work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`. Learn how to configure a non-root public URL by running `npm run build`.
--> -->
<title>React App</title> <title>奇迹畅玩</title>
</head> </head>
<body> <body>
<noscript>You need to enable JavaScript to run this app.</noscript> <noscript>You need to enable JavaScript to run this app.</noscript>

4
public/manifest.json

@ -1,6 +1,6 @@
{ {
"short_name": "React App", "short_name": "奇迹畅玩",
"name": "Create React App Sample", "name": "奇迹畅玩",
"icons": [ "icons": [
{ {
"src": "favicon.ico", "src": "favicon.ico",

2
src/App.tsx

@ -6,12 +6,14 @@ import {
Routes, Routes,
} from "react-router-dom"; } from "react-router-dom";
import RegisterPage from "./RegisterPage"; import RegisterPage from "./RegisterPage";
import DownloadPage from "./DownloadPage";
function App() { function App() {
return ( return (
<Router> <Router>
<Routes> <Routes>
<Route path="/register/:inviteCode" element={<RegisterPage />} /> <Route path="/register/:inviteCode" element={<RegisterPage />} />
<Route path="/download/:inviteCode" element={<DownloadPage />} />
<Route path="*" element={<Navigate to="/register" replace />} /> <Route path="*" element={<Navigate to="/register" replace />} />
{/* 添加其他路由 */} {/* 添加其他路由 */}
</Routes> </Routes>

61
src/DownloadPage.tsx

@ -0,0 +1,61 @@
// RegisterPage.js
import { Button, Image, Toast } from "antd-mobile";
import React, { useEffect } from "react";
import { useParams } from "react-router-dom";
import { api } from "./api";
import { MatrixAppBo } from "./api/generated/model/matrix-app-bo";
import { isEnvWeixin } from "./utils/uaUtils";
const DownloadPage = () => {
const [app, setApp] = React.useState<MatrixAppBo>();
const { inviteCode } = useParams();
const getApp = async () => {
if (!inviteCode) {
return;
}
const res = await api.getApp(inviteCode);
if (res.data.code !== 0) {
return;
}
setApp(res.data.data);
};
useEffect(() => {
getApp();
}, []);
return (
<div
style={{
maxWidth: 500,
display: "flex",
flexDirection: "column",
alignItems: "center",
margin: "auto",
paddingTop: 20,
}}
>
<Image src={app?.img} width={100} height={100} />
<p style={{ fontSize: 20, fontWeight: "bold" }}>{app?.name}</p>
<Button
onClick={() => {
if (isEnvWeixin) {
Toast.show({ content: "请用默认浏览器打开本页面下载" });
} else {
if (app?.url) {
window.location.href = app?.url;
}
}
}}
style={{ width: 200 }}
color="primary"
>
</Button>
</div>
);
};
export default DownloadPage;

16
src/RegisterPage.tsx

@ -1,7 +1,7 @@
// RegisterPage.js // RegisterPage.js
import { Button, Form, Input, Toast } from "antd-mobile"; import { Button, Form, Input, Toast, Image } from "antd-mobile";
import React, { useEffect } from "react"; import React, { useEffect } from "react";
import { useParams } from "react-router-dom"; import { useNavigate, useParams } from "react-router-dom";
import { api } from "./api"; import { api } from "./api";
import { RegisterBo } from "./api/generated/model/register-bo"; import { RegisterBo } from "./api/generated/model/register-bo";
@ -11,7 +11,7 @@ const RegisterPage = () => {
const [count, setCount] = React.useState(60); const [count, setCount] = React.useState(60);
const [app, setApp] = React.useState<MatrixAppBo>(); const [app, setApp] = React.useState<MatrixAppBo>();
const [form] = Form.useForm(); const [form] = Form.useForm();
const navigate = useNavigate();
const { inviteCode } = useParams(); const { inviteCode } = useParams();
const onFinish = async (values: RegisterBo) => { const onFinish = async (values: RegisterBo) => {
@ -32,6 +32,7 @@ const RegisterPage = () => {
Toast.show({ Toast.show({
content: "注册成功", content: "注册成功",
}); });
navigate("/download/" + inviteCode);
}; };
const send = async () => { const send = async () => {
@ -83,12 +84,17 @@ const RegisterPage = () => {
}, []); }, []);
return ( return (
<div> <div style={{ maxWidth: 500, margin: "auto" }}>
<Image
style={{ margin: "auto", paddingTop: 20 }}
src={app?.img}
width={100}
height={100}
/>
<p style={{ textAlign: "center", fontSize: 20, fontWeight: "bold" }}> <p style={{ textAlign: "center", fontSize: 20, fontWeight: "bold" }}>
{app?.name} {app?.name}
</p> </p>
<Form <Form
style={{ maxWidth: 500, margin: "auto" }}
onFinish={onFinish} onFinish={onFinish}
layout="horizontal" layout="horizontal"
mode="card" mode="card"

3
src/utils/uaUtils.tsx

@ -0,0 +1,3 @@
export const isEnvWeixin = navigator.userAgent
.toLowerCase()
.includes("micromessenger");
Loading…
Cancel
Save