From 2f6a29da96a97e5f9cd103d6a15df5693e444fb2 Mon Sep 17 00:00:00 2001 From: ltProj <15648664+ltproj@user.noreply.gitee.com> Date: Sat, 11 Oct 2025 11:15:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0.autoBeeAdminSystem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .autoBeeAdminSystem/.eslintrc.js | 3 + .autoBeeAdminSystem/.gitignore | 13 + .autoBeeAdminSystem/.husky/commit-msg | 1 + .autoBeeAdminSystem/.husky/pre-commit | 1 + .autoBeeAdminSystem/.lintstagedrc | 17 ++ .autoBeeAdminSystem/.npmrc | 2 + .autoBeeAdminSystem/.prettierignore | 3 + .autoBeeAdminSystem/.prettierrc | 8 + .autoBeeAdminSystem/.stylelintrc.js | 3 + .autoBeeAdminSystem/.umirc.ts | 34 +++ .autoBeeAdminSystem/README.md | 3 + .autoBeeAdminSystem/mock/userAPI.ts | 20 ++ .autoBeeAdminSystem/package.json | 29 ++ .autoBeeAdminSystem/src/access.ts | 10 + .autoBeeAdminSystem/src/app.ts | 16 ++ .autoBeeAdminSystem/src/assets/.gitkeep | 0 .../src/components/Guide/Guide.less | 4 + .../src/components/Guide/Guide.tsx | 23 ++ .../src/components/Guide/index.ts | 2 + .autoBeeAdminSystem/src/constants/index.ts | 1 + .autoBeeAdminSystem/src/models/global.ts | 13 + .../src/pages/Access/index.tsx | 21 ++ .autoBeeAdminSystem/src/pages/Home/index.less | 3 + .autoBeeAdminSystem/src/pages/Home/index.tsx | 18 ++ .../src/pages/Table/components/CreateForm.tsx | 26 ++ .../src/pages/Table/components/UpdateForm.tsx | 138 +++++++++ .autoBeeAdminSystem/src/pages/Table/index.tsx | 270 ++++++++++++++++++ .../src/services/demo/UserController.ts | 96 +++++++ .../src/services/demo/index.ts | 7 + .../src/services/demo/typings.d.ts | 68 +++++ .autoBeeAdminSystem/src/utils/format.ts | 4 + .autoBeeAdminSystem/tsconfig.json | 3 + .autoBeeAdminSystem/typings.d.ts | 1 + 33 files changed, 861 insertions(+) create mode 100644 .autoBeeAdminSystem/.eslintrc.js create mode 100644 .autoBeeAdminSystem/.gitignore create mode 100644 .autoBeeAdminSystem/.husky/commit-msg create mode 100644 .autoBeeAdminSystem/.husky/pre-commit create mode 100644 .autoBeeAdminSystem/.lintstagedrc create mode 100644 .autoBeeAdminSystem/.npmrc create mode 100644 .autoBeeAdminSystem/.prettierignore create mode 100644 .autoBeeAdminSystem/.prettierrc create mode 100644 .autoBeeAdminSystem/.stylelintrc.js create mode 100644 .autoBeeAdminSystem/.umirc.ts create mode 100644 .autoBeeAdminSystem/README.md create mode 100644 .autoBeeAdminSystem/mock/userAPI.ts create mode 100644 .autoBeeAdminSystem/package.json create mode 100644 .autoBeeAdminSystem/src/access.ts create mode 100644 .autoBeeAdminSystem/src/app.ts create mode 100644 .autoBeeAdminSystem/src/assets/.gitkeep create mode 100644 .autoBeeAdminSystem/src/components/Guide/Guide.less create mode 100644 .autoBeeAdminSystem/src/components/Guide/Guide.tsx create mode 100644 .autoBeeAdminSystem/src/components/Guide/index.ts create mode 100644 .autoBeeAdminSystem/src/constants/index.ts create mode 100644 .autoBeeAdminSystem/src/models/global.ts create mode 100644 .autoBeeAdminSystem/src/pages/Access/index.tsx create mode 100644 .autoBeeAdminSystem/src/pages/Home/index.less create mode 100644 .autoBeeAdminSystem/src/pages/Home/index.tsx create mode 100644 .autoBeeAdminSystem/src/pages/Table/components/CreateForm.tsx create mode 100644 .autoBeeAdminSystem/src/pages/Table/components/UpdateForm.tsx create mode 100644 .autoBeeAdminSystem/src/pages/Table/index.tsx create mode 100644 .autoBeeAdminSystem/src/services/demo/UserController.ts create mode 100644 .autoBeeAdminSystem/src/services/demo/index.ts create mode 100644 .autoBeeAdminSystem/src/services/demo/typings.d.ts create mode 100644 .autoBeeAdminSystem/src/utils/format.ts create mode 100644 .autoBeeAdminSystem/tsconfig.json create mode 100644 .autoBeeAdminSystem/typings.d.ts diff --git a/.autoBeeAdminSystem/.eslintrc.js b/.autoBeeAdminSystem/.eslintrc.js new file mode 100644 index 0000000..85ba500 --- /dev/null +++ b/.autoBeeAdminSystem/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: require.resolve('@umijs/max/eslint'), +}; diff --git a/.autoBeeAdminSystem/.gitignore b/.autoBeeAdminSystem/.gitignore new file mode 100644 index 0000000..ec0cabb --- /dev/null +++ b/.autoBeeAdminSystem/.gitignore @@ -0,0 +1,13 @@ +/node_modules +/.env.local +/.umirc.local.ts +/config/config.local.ts +/src/.umi +/src/.umi-production +/src/.umi-test +/.umi +/.umi-production +/.umi-test +/dist +/.mfsu +.swc diff --git a/.autoBeeAdminSystem/.husky/commit-msg b/.autoBeeAdminSystem/.husky/commit-msg new file mode 100644 index 0000000..bdab3b5 --- /dev/null +++ b/.autoBeeAdminSystem/.husky/commit-msg @@ -0,0 +1 @@ +npx --no-install max verify-commit $1 diff --git a/.autoBeeAdminSystem/.husky/pre-commit b/.autoBeeAdminSystem/.husky/pre-commit new file mode 100644 index 0000000..1f54b37 --- /dev/null +++ b/.autoBeeAdminSystem/.husky/pre-commit @@ -0,0 +1 @@ +npx --no-install lint-staged --quiet diff --git a/.autoBeeAdminSystem/.lintstagedrc b/.autoBeeAdminSystem/.lintstagedrc new file mode 100644 index 0000000..f2037b0 --- /dev/null +++ b/.autoBeeAdminSystem/.lintstagedrc @@ -0,0 +1,17 @@ +{ + "*.{md,json}": [ + "prettier --cache --write" + ], + "*.{js,jsx}": [ + "max lint --fix --eslint-only", + "prettier --cache --write" + ], + "*.{css,less}": [ + "max lint --fix --stylelint-only", + "prettier --cache --write" + ], + "*.ts?(x)": [ + "max lint --fix --eslint-only", + "prettier --cache --parser=typescript --write" + ] +} diff --git a/.autoBeeAdminSystem/.npmrc b/.autoBeeAdminSystem/.npmrc new file mode 100644 index 0000000..0b44d45 --- /dev/null +++ b/.autoBeeAdminSystem/.npmrc @@ -0,0 +1,2 @@ +registry=https://registry.npmjs.com/ + diff --git a/.autoBeeAdminSystem/.prettierignore b/.autoBeeAdminSystem/.prettierignore new file mode 100644 index 0000000..5892e28 --- /dev/null +++ b/.autoBeeAdminSystem/.prettierignore @@ -0,0 +1,3 @@ +node_modules +.umi +.umi-production diff --git a/.autoBeeAdminSystem/.prettierrc b/.autoBeeAdminSystem/.prettierrc new file mode 100644 index 0000000..70767cd --- /dev/null +++ b/.autoBeeAdminSystem/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 80, + "singleQuote": true, + "trailingComma": "all", + "proseWrap": "never", + "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }], + "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson"] +} diff --git a/.autoBeeAdminSystem/.stylelintrc.js b/.autoBeeAdminSystem/.stylelintrc.js new file mode 100644 index 0000000..08bc02c --- /dev/null +++ b/.autoBeeAdminSystem/.stylelintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: require.resolve('@umijs/max/stylelint'), +}; diff --git a/.autoBeeAdminSystem/.umirc.ts b/.autoBeeAdminSystem/.umirc.ts new file mode 100644 index 0000000..110430b --- /dev/null +++ b/.autoBeeAdminSystem/.umirc.ts @@ -0,0 +1,34 @@ +import { defineConfig } from '@umijs/max'; + +export default defineConfig({ + antd: {}, + access: {}, + model: {}, + initialState: {}, + request: {}, + layout: { + title: '@umijs/max', + }, + routes: [ + { + path: '/', + redirect: '/home', + }, + { + name: '首页', + path: '/home', + component: './Home', + }, + { + name: '权限演示', + path: '/access', + component: './Access', + }, + { + name: ' CRUD 示例', + path: '/table', + component: './Table', + }, + ], + npmClient: 'npm', +}); diff --git a/.autoBeeAdminSystem/README.md b/.autoBeeAdminSystem/README.md new file mode 100644 index 0000000..3dab1f3 --- /dev/null +++ b/.autoBeeAdminSystem/README.md @@ -0,0 +1,3 @@ +# README + +`@umijs/max` 模板项目,更多功能参考 [Umi Max 简介](https://umijs.org/docs/max/introduce) diff --git a/.autoBeeAdminSystem/mock/userAPI.ts b/.autoBeeAdminSystem/mock/userAPI.ts new file mode 100644 index 0000000..7ef8011 --- /dev/null +++ b/.autoBeeAdminSystem/mock/userAPI.ts @@ -0,0 +1,20 @@ +const users = [ + { id: 0, name: 'Umi', nickName: 'U', gender: 'MALE' }, + { id: 1, name: 'Fish', nickName: 'B', gender: 'FEMALE' }, +]; + +export default { + 'GET /api/v1/queryUserList': (req: any, res: any) => { + res.json({ + success: true, + data: { list: users }, + errorCode: 0, + }); + }, + 'PUT /api/v1/user/': (req: any, res: any) => { + res.json({ + success: true, + errorCode: 0, + }); + }, +}; diff --git a/.autoBeeAdminSystem/package.json b/.autoBeeAdminSystem/package.json new file mode 100644 index 0000000..a247fa0 --- /dev/null +++ b/.autoBeeAdminSystem/package.json @@ -0,0 +1,29 @@ +{ + "private": true, + "author": "ltProj <15648664+ltproj@user.noreply.gitee.com>", + "scripts": { + "build": "max build", + "dev": "max dev", + "format": "prettier --cache --write .", + "postinstall": "max setup", + "prepare": "husky", + "setup": "max setup", + "start": "npm run dev" + }, + "dependencies": { + "@ant-design/icons": "^5.0.1", + "@ant-design/pro-components": "^2.4.4", + "@umijs/max": "^4.5.1", + "antd": "^5.4.0" + }, + "devDependencies": { + "@types/react": "^18.0.33", + "@types/react-dom": "^18.0.11", + "husky": "^9", + "lint-staged": "^13.2.0", + "prettier": "^2.8.7", + "prettier-plugin-organize-imports": "^3.2.2", + "prettier-plugin-packagejson": "^2.4.3", + "typescript": "^5.0.3" + } +} diff --git a/.autoBeeAdminSystem/src/access.ts b/.autoBeeAdminSystem/src/access.ts new file mode 100644 index 0000000..388cf66 --- /dev/null +++ b/.autoBeeAdminSystem/src/access.ts @@ -0,0 +1,10 @@ +export default (initialState: API.UserInfo) => { + // 在这里按照初始化数据定义项目中的权限,统一管理 + // 参考文档 https://umijs.org/docs/max/access + const canSeeAdmin = !!( + initialState && initialState.name !== 'dontHaveAccess' + ); + return { + canSeeAdmin, + }; +}; diff --git a/.autoBeeAdminSystem/src/app.ts b/.autoBeeAdminSystem/src/app.ts new file mode 100644 index 0000000..bb2b25f --- /dev/null +++ b/.autoBeeAdminSystem/src/app.ts @@ -0,0 +1,16 @@ +// 运行时配置 + +// 全局初始化数据配置,用于 Layout 用户信息和权限初始化 +// 更多信息见文档:https://umijs.org/docs/api/runtime-config#getinitialstate +export async function getInitialState(): Promise<{ name: string }> { + return { name: '@umijs/max' }; +} + +export const layout = () => { + return { + logo: 'https://img.alicdn.com/tfs/TB1YHEpwUT1gK0jSZFhXXaAtVXa-28-27.svg', + menu: { + locale: false, + }, + }; +}; diff --git a/.autoBeeAdminSystem/src/assets/.gitkeep b/.autoBeeAdminSystem/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.autoBeeAdminSystem/src/components/Guide/Guide.less b/.autoBeeAdminSystem/src/components/Guide/Guide.less new file mode 100644 index 0000000..8b116f5 --- /dev/null +++ b/.autoBeeAdminSystem/src/components/Guide/Guide.less @@ -0,0 +1,4 @@ +.title { + margin: 0 auto; + font-weight: 200; +} diff --git a/.autoBeeAdminSystem/src/components/Guide/Guide.tsx b/.autoBeeAdminSystem/src/components/Guide/Guide.tsx new file mode 100644 index 0000000..b86201b --- /dev/null +++ b/.autoBeeAdminSystem/src/components/Guide/Guide.tsx @@ -0,0 +1,23 @@ +import { Layout, Row, Typography } from 'antd'; +import React from 'react'; +import styles from './Guide.less'; + +interface Props { + name: string; +} + +// 脚手架示例组件 +const Guide: React.FC = (props) => { + const { name } = props; + return ( + + + + 欢迎使用 {name} ! + + + + ); +}; + +export default Guide; diff --git a/.autoBeeAdminSystem/src/components/Guide/index.ts b/.autoBeeAdminSystem/src/components/Guide/index.ts new file mode 100644 index 0000000..297390c --- /dev/null +++ b/.autoBeeAdminSystem/src/components/Guide/index.ts @@ -0,0 +1,2 @@ +import Guide from './Guide'; +export default Guide; diff --git a/.autoBeeAdminSystem/src/constants/index.ts b/.autoBeeAdminSystem/src/constants/index.ts new file mode 100644 index 0000000..a14b725 --- /dev/null +++ b/.autoBeeAdminSystem/src/constants/index.ts @@ -0,0 +1 @@ +export const DEFAULT_NAME = 'Umi Max'; diff --git a/.autoBeeAdminSystem/src/models/global.ts b/.autoBeeAdminSystem/src/models/global.ts new file mode 100644 index 0000000..708ccff --- /dev/null +++ b/.autoBeeAdminSystem/src/models/global.ts @@ -0,0 +1,13 @@ +// 全局共享数据示例 +import { DEFAULT_NAME } from '@/constants'; +import { useState } from 'react'; + +const useUser = () => { + const [name, setName] = useState(DEFAULT_NAME); + return { + name, + setName, + }; +}; + +export default useUser; diff --git a/.autoBeeAdminSystem/src/pages/Access/index.tsx b/.autoBeeAdminSystem/src/pages/Access/index.tsx new file mode 100644 index 0000000..248b47f --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Access/index.tsx @@ -0,0 +1,21 @@ +import { PageContainer } from '@ant-design/pro-components'; +import { Access, useAccess } from '@umijs/max'; +import { Button } from 'antd'; + +const AccessPage: React.FC = () => { + const access = useAccess(); + return ( + + + + + + ); +}; + +export default AccessPage; diff --git a/.autoBeeAdminSystem/src/pages/Home/index.less b/.autoBeeAdminSystem/src/pages/Home/index.less new file mode 100644 index 0000000..06fdb67 --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Home/index.less @@ -0,0 +1,3 @@ +.container { + padding-top: 80px; +} diff --git a/.autoBeeAdminSystem/src/pages/Home/index.tsx b/.autoBeeAdminSystem/src/pages/Home/index.tsx new file mode 100644 index 0000000..809f922 --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Home/index.tsx @@ -0,0 +1,18 @@ +import Guide from '@/components/Guide'; +import { trim } from '@/utils/format'; +import { PageContainer } from '@ant-design/pro-components'; +import { useModel } from '@umijs/max'; +import styles from './index.less'; + +const HomePage: React.FC = () => { + const { name } = useModel('global'); + return ( + +
+ +
+
+ ); +}; + +export default HomePage; diff --git a/.autoBeeAdminSystem/src/pages/Table/components/CreateForm.tsx b/.autoBeeAdminSystem/src/pages/Table/components/CreateForm.tsx new file mode 100644 index 0000000..e5233db --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Table/components/CreateForm.tsx @@ -0,0 +1,26 @@ +import { Modal } from 'antd'; +import React, { PropsWithChildren } from 'react'; + +interface CreateFormProps { + modalVisible: boolean; + onCancel: () => void; +} + +const CreateForm: React.FC> = (props) => { + const { modalVisible, onCancel } = props; + + return ( + onCancel()} + footer={null} + > + {props.children} + + ); +}; + +export default CreateForm; diff --git a/.autoBeeAdminSystem/src/pages/Table/components/UpdateForm.tsx b/.autoBeeAdminSystem/src/pages/Table/components/UpdateForm.tsx new file mode 100644 index 0000000..32fecde --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Table/components/UpdateForm.tsx @@ -0,0 +1,138 @@ +import { + ProFormDateTimePicker, + ProFormRadio, + ProFormSelect, + ProFormText, + ProFormTextArea, + StepsForm, +} from '@ant-design/pro-components'; +import { Modal } from 'antd'; +import React from 'react'; + +export interface FormValueType extends Partial { + target?: string; + template?: string; + type?: string; + time?: string; + frequency?: string; +} + +export interface UpdateFormProps { + onCancel: (flag?: boolean, formVals?: FormValueType) => void; + onSubmit: (values: FormValueType) => Promise; + updateModalVisible: boolean; + values: Partial; +} + +const UpdateForm: React.FC = (props) => ( + { + return ( + props.onCancel()} + > + {dom} + + ); + }} + onFinish={props.onSubmit} + > + + + + + + + + + + + + + + +); + +export default UpdateForm; diff --git a/.autoBeeAdminSystem/src/pages/Table/index.tsx b/.autoBeeAdminSystem/src/pages/Table/index.tsx new file mode 100644 index 0000000..ac0efea --- /dev/null +++ b/.autoBeeAdminSystem/src/pages/Table/index.tsx @@ -0,0 +1,270 @@ +import services from '@/services/demo'; +import { + ActionType, + FooterToolbar, + PageContainer, + ProDescriptions, + ProDescriptionsItemProps, + ProTable, +} from '@ant-design/pro-components'; +import { Button, Divider, Drawer, message } from 'antd'; +import React, { useRef, useState } from 'react'; +import CreateForm from './components/CreateForm'; +import UpdateForm, { FormValueType } from './components/UpdateForm'; + +const { addUser, queryUserList, deleteUser, modifyUser } = + services.UserController; + +/** + * 添加节点 + * @param fields + */ +const handleAdd = async (fields: API.UserInfo) => { + const hide = message.loading('正在添加'); + try { + await addUser({ ...fields }); + hide(); + message.success('添加成功'); + return true; + } catch (error) { + hide(); + message.error('添加失败请重试!'); + return false; + } +}; + +/** + * 更新节点 + * @param fields + */ +const handleUpdate = async (fields: FormValueType) => { + const hide = message.loading('正在配置'); + try { + await modifyUser( + { + userId: fields.id || '', + }, + { + name: fields.name || '', + nickName: fields.nickName || '', + email: fields.email || '', + }, + ); + hide(); + + message.success('配置成功'); + return true; + } catch (error) { + hide(); + message.error('配置失败请重试!'); + return false; + } +}; + +/** + * 删除节点 + * @param selectedRows + */ +const handleRemove = async (selectedRows: API.UserInfo[]) => { + const hide = message.loading('正在删除'); + if (!selectedRows) return true; + try { + await deleteUser({ + userId: selectedRows.find((row) => row.id)?.id || '', + }); + hide(); + message.success('删除成功,即将刷新'); + return true; + } catch (error) { + hide(); + message.error('删除失败,请重试'); + return false; + } +}; + +const TableList: React.FC = () => { + const [createModalVisible, handleModalVisible] = useState(false); + const [updateModalVisible, handleUpdateModalVisible] = + useState(false); + const [stepFormValues, setStepFormValues] = useState({}); + const actionRef = useRef(); + const [row, setRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + const columns: ProDescriptionsItemProps[] = [ + { + title: '名称', + dataIndex: 'name', + tip: '名称是唯一的 key', + formItemProps: { + rules: [ + { + required: true, + message: '名称为必填项', + }, + ], + }, + }, + { + title: '昵称', + dataIndex: 'nickName', + valueType: 'text', + }, + { + title: '性别', + dataIndex: 'gender', + hideInForm: true, + valueEnum: { + 0: { text: '男', status: 'MALE' }, + 1: { text: '女', status: 'FEMALE' }, + }, + }, + { + title: '操作', + dataIndex: 'option', + valueType: 'option', + render: (_, record) => ( + <> + { + handleUpdateModalVisible(true); + setStepFormValues(record); + }} + > + 配置 + + + 订阅警报 + + ), + }, + ]; + + return ( + + + headerTitle="查询表格" + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 120, + }} + toolBarRender={() => [ + , + ]} + request={async (params, sorter, filter) => { + const { data, success } = await queryUserList({ + ...params, + // FIXME: remove @ts-ignore + // @ts-ignore + sorter, + filter, + }); + return { + data: data?.list || [], + success, + }; + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => setSelectedRows(selectedRows), + }} + /> + {selectedRowsState?.length > 0 && ( + + 已选择{' '} + {selectedRowsState.length}{' '} + 项   + + } + > + + + + )} + handleModalVisible(false)} + modalVisible={createModalVisible} + > + + onSubmit={async (value) => { + const success = await handleAdd(value); + if (success) { + handleModalVisible(false); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + rowKey="id" + type="form" + columns={columns} + /> + + {stepFormValues && Object.keys(stepFormValues).length ? ( + { + const success = await handleUpdate(value); + if (success) { + handleUpdateModalVisible(false); + setStepFormValues({}); + if (actionRef.current) { + actionRef.current.reload(); + } + } + }} + onCancel={() => { + handleUpdateModalVisible(false); + setStepFormValues({}); + }} + updateModalVisible={updateModalVisible} + values={stepFormValues} + /> + ) : null} + + { + setRow(undefined); + }} + closable={false} + > + {row?.name && ( + + column={2} + title={row?.name} + request={async () => ({ + data: row || {}, + })} + params={{ + id: row?.name, + }} + columns={columns} + /> + )} + + + ); +}; + +export default TableList; diff --git a/.autoBeeAdminSystem/src/services/demo/UserController.ts b/.autoBeeAdminSystem/src/services/demo/UserController.ts new file mode 100644 index 0000000..70b8604 --- /dev/null +++ b/.autoBeeAdminSystem/src/services/demo/UserController.ts @@ -0,0 +1,96 @@ +/* eslint-disable */ +// 该文件由 OneAPI 自动生成,请勿手动修改! +import { request } from '@umijs/max'; + +/** 此处后端没有提供注释 GET /api/v1/queryUserList */ +export async function queryUserList( + params: { + // query + /** keyword */ + keyword?: string; + /** current */ + current?: number; + /** pageSize */ + pageSize?: number; + }, + options?: { [key: string]: any }, +) { + return request('/api/v1/queryUserList', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 此处后端没有提供注释 POST /api/v1/user */ +export async function addUser( + body?: API.UserInfoVO, + options?: { [key: string]: any }, +) { + return request('/api/v1/user', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 此处后端没有提供注释 GET /api/v1/user/${param0} */ +export async function getUserDetail( + params: { + // path + /** userId */ + userId?: string; + }, + options?: { [key: string]: any }, +) { + const { userId: param0 } = params; + return request(`/api/v1/user/${param0}`, { + method: 'GET', + params: { ...params }, + ...(options || {}), + }); +} + +/** 此处后端没有提供注释 PUT /api/v1/user/${param0} */ +export async function modifyUser( + params: { + // path + /** userId */ + userId?: string; + }, + body?: API.UserInfoVO, + options?: { [key: string]: any }, +) { + const { userId: param0 } = params; + return request(`/api/v1/user/${param0}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + params: { ...params }, + data: body, + ...(options || {}), + }); +} + +/** 此处后端没有提供注释 DELETE /api/v1/user/${param0} */ +export async function deleteUser( + params: { + // path + /** userId */ + userId?: string; + }, + options?: { [key: string]: any }, +) { + const { userId: param0 } = params; + return request(`/api/v1/user/${param0}`, { + method: 'DELETE', + params: { ...params }, + ...(options || {}), + }); +} diff --git a/.autoBeeAdminSystem/src/services/demo/index.ts b/.autoBeeAdminSystem/src/services/demo/index.ts new file mode 100644 index 0000000..e0cfa73 --- /dev/null +++ b/.autoBeeAdminSystem/src/services/demo/index.ts @@ -0,0 +1,7 @@ +/* eslint-disable */ +// 该文件由 OneAPI 自动生成,请勿手动修改! + +import * as UserController from './UserController'; +export default { + UserController, +}; diff --git a/.autoBeeAdminSystem/src/services/demo/typings.d.ts b/.autoBeeAdminSystem/src/services/demo/typings.d.ts new file mode 100644 index 0000000..d0e2033 --- /dev/null +++ b/.autoBeeAdminSystem/src/services/demo/typings.d.ts @@ -0,0 +1,68 @@ +/* eslint-disable */ +// 该文件由 OneAPI 自动生成,请勿手动修改! + +declare namespace API { + interface PageInfo { + /** +1 */ + current?: number; + pageSize?: number; + total?: number; + list?: Array>; + } + + interface PageInfo_UserInfo_ { + /** +1 */ + current?: number; + pageSize?: number; + total?: number; + list?: Array; + } + + interface Result { + success?: boolean; + errorMessage?: string; + data?: Record; + } + + interface Result_PageInfo_UserInfo__ { + success?: boolean; + errorMessage?: string; + data?: PageInfo_UserInfo_; + } + + interface Result_UserInfo_ { + success?: boolean; + errorMessage?: string; + data?: UserInfo; + } + + interface Result_string_ { + success?: boolean; + errorMessage?: string; + data?: string; + } + + type UserGenderEnum = 'MALE' | 'FEMALE'; + + interface UserInfo { + id?: string; + name?: string; + /** nick */ + nickName?: string; + /** email */ + email?: string; + gender?: UserGenderEnum; + } + + interface UserInfoVO { + name?: string; + /** nick */ + nickName?: string; + /** email */ + email?: string; + } + + type definitions_0 = null; +} diff --git a/.autoBeeAdminSystem/src/utils/format.ts b/.autoBeeAdminSystem/src/utils/format.ts new file mode 100644 index 0000000..fa5ee0a --- /dev/null +++ b/.autoBeeAdminSystem/src/utils/format.ts @@ -0,0 +1,4 @@ +// 示例方法,没有实际意义 +export function trim(str: string) { + return str.trim(); +} diff --git a/.autoBeeAdminSystem/tsconfig.json b/.autoBeeAdminSystem/tsconfig.json new file mode 100644 index 0000000..133cfd8 --- /dev/null +++ b/.autoBeeAdminSystem/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./src/.umi/tsconfig.json" +} diff --git a/.autoBeeAdminSystem/typings.d.ts b/.autoBeeAdminSystem/typings.d.ts new file mode 100644 index 0000000..74cffc3 --- /dev/null +++ b/.autoBeeAdminSystem/typings.d.ts @@ -0,0 +1 @@ +import '@umijs/max/typings';