refactor: 确立独立子工程架构 (backend, admin, mpuniapp) 并同步更新 AGENTS.md 规范

这个提交包含在:
wikiboss
2026-09-20 17:05:22 +08:00
父节点 de3cf8b870
当前提交 9fa1d1fbd0
共有 1679 个文件被更改,包括 204798 次插入 和 16817 次删除

查看文件

@@ -0,0 +1,28 @@
import React from 'react';
import { Result, Button } from '@arco-design/web-react';
import locale from './locale';
import useLocale from '@/utils/useLocale';
import styles from './style/index.module.less';
function Exception403() {
const t = useLocale(locale);
return (
<div className={styles.container}>
<div className={styles.wrapper}>
<Result
className={styles.result}
status="403"
subTitle={t['exception.result.403.description']}
extra={
<Button key="back" type="primary">
{t['exception.result.403.back']}
</Button>
}
/>
</div>
</div>
);
}
export default Exception403;

查看文件

@@ -0,0 +1,17 @@
const i18n = {
'en-US': {
'menu.exception': 'Exception page',
'menu.exception.403': '403',
'exception.result.403.description':
'Access to this resource on the server is denied.',
'exception.result.403.back': 'Back',
},
'zh-CN': {
'menu.exception': '异常页',
'menu.exception.403': '403',
'exception.result.403.description': '对不起,您没有访问该资源的权限',
'exception.result.403.back': '返回',
},
};
export default i18n;

查看文件

@@ -0,0 +1,11 @@
.wrapper {
position: relative;
background-color: var(--color-bg-1);
height: calc(100vh - 168px);
}
.result {
position: absolute;
top: 50%;
transform: translateY(-50%);
}

查看文件

@@ -0,0 +1,29 @@
import React from 'react';
import { Result, Button } from '@arco-design/web-react';
import locale from './locale';
import useLocale from '@/utils/useLocale';
import styles from './style/index.module.less';
function Exception404() {
const t = useLocale(locale);
return (
<div className={styles.wrapper}>
<Result
className={styles.result}
status="404"
subTitle={t['exception.result.404.description']}
extra={[
<Button key="again" style={{ marginRight: 16 }}>
{t['exception.result.404.retry']}
</Button>,
<Button key="back" type="primary">
{t['exception.result.404.back']}
</Button>,
]}
/>
</div>
);
}
export default Exception404;

查看文件

@@ -0,0 +1,18 @@
const i18n = {
'en-US': {
'menu.exception': 'Exception page',
'menu.exception.404': '404',
'exception.result.404.description': 'Whoops, this page is gone.',
'exception.result.404.retry': 'Retry',
'exception.result.404.back': 'Back',
},
'zh-CN': {
'menu.exception': '异常页',
'menu.exception.404': '404',
'exception.result.404.description': '抱歉,页面不见了~',
'exception.result.404.retry': '重试',
'exception.result.404.back': '返回',
},
};
export default i18n;

查看文件

@@ -0,0 +1,11 @@
.wrapper {
position: relative;
background-color: var(--color-bg-1);
height: calc(100vh - 168px);
}
.result {
position: absolute;
top: 50%;
transform: translateY(-50%);
}

查看文件

@@ -0,0 +1,26 @@
import React from 'react';
import { Result, Button } from '@arco-design/web-react';
import locale from './locale';
import useLocale from '@/utils/useLocale';
import styles from './style/index.module.less';
function Exception500() {
const t = useLocale(locale);
return (
<div className={styles.wrapper}>
<Result
className={styles.result}
status="500"
subTitle={t['exception.result.500.description']}
extra={
<Button key="back" type="primary">
{t['exception.result.500.back']}
</Button>
}
/>
</div>
);
}
export default Exception500;

查看文件

@@ -0,0 +1,16 @@
const i18n = {
'en-US': {
'menu.exception': 'Exception page',
'menu.exception.500': '500',
'exception.result.500.description': 'Internal server error',
'exception.result.500.back': 'Back',
},
'zh-CN': {
'menu.exception': '异常页',
'menu.exception.500': '500',
'exception.result.500.description': '抱歉,服务器出了点问题~',
'exception.result.500.back': '返回',
},
};
export default i18n;

查看文件

@@ -0,0 +1,11 @@
.wrapper {
position: relative;
background-color: var(--color-bg-1);
height: calc(100vh - 168px);
}
.result {
position: absolute;
top: 50%;
transform: translateY(-50%);
}