mirror of https://github.com/longtai-cn/hippo4j
parent
4539c352a5
commit
ca11f4aa34
@ -0,0 +1,35 @@
|
||||
{
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
},
|
||||
"[html]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[javascriptreact]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"typescript.tsdk":"./node_modules/typescript/lib"
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
/.git
|
||||
/.vscode
|
||||
node_modules
|
||||
build
|
@ -0,0 +1,50 @@
|
||||
// craco.config.js
|
||||
const CracoLessPlugin = require('craco-less');
|
||||
const lessModuleRegex = /\.module\.less$/;
|
||||
const path = require('path');
|
||||
const basePath = path.resolve(__dirname, '.');
|
||||
const resolve = dir => path.resolve(basePath, dir);
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
{
|
||||
plugin: CracoLessPlugin,
|
||||
options: {
|
||||
// less loader options
|
||||
lessLoaderOptions: {
|
||||
lessOptions: {
|
||||
// modifyVars: { "@primary-color": "#1DA57A" },
|
||||
javascriptEnabled: true,
|
||||
},
|
||||
},
|
||||
|
||||
// A callback function that receives two arguments: the webpack rule,
|
||||
// and the context. You must return an updated rule object.
|
||||
modifyLessRule: (lessRule, context) => {
|
||||
lessRule.test = lessModuleRegex;
|
||||
lessRule.exclude = /node_modules|antd\.css/;
|
||||
return lessRule;
|
||||
},
|
||||
|
||||
// Passing an options object to configure the css-loaders
|
||||
cssLoaderOptions: {
|
||||
modules: { localIdentName: '[local]_[hash:base64:5]' },
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
webpack: {
|
||||
alias: {
|
||||
'@': resolve('src'),
|
||||
},
|
||||
},
|
||||
devServer: {
|
||||
// 本地服务的端口号
|
||||
port: 3001,
|
||||
// 本地服务的响应头设置
|
||||
headers: {
|
||||
// 允许跨域
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
},
|
||||
},
|
||||
};
|
File diff suppressed because it is too large
Load Diff
@ -1,99 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var react_1 = require("react");
|
||||
var styled_components_1 = require("styled-components");
|
||||
var antd_1 = require("antd");
|
||||
var react_router_dom_1 = require("react-router-dom");
|
||||
var home_1 = require("@/page/home");
|
||||
var about_1 = require("@/page/about");
|
||||
var login_1 = require("@/page/login");
|
||||
var index_module_less_1 = require("./index.module.less");
|
||||
var table_1 = require("../table");
|
||||
var search_1 = require("@/page/search");
|
||||
var icons_1 = require("@ant-design/icons");
|
||||
var themeContext_1 = require("@/context/themeContext");
|
||||
var Header = antd_1.Layout.Header, Sider = antd_1.Layout.Sider, Content = antd_1.Layout.Content;
|
||||
var items = [
|
||||
{
|
||||
label: react_1["default"].createElement("a", { href: "/about" }, "Navigation One"),
|
||||
key: 'mail',
|
||||
icon: react_1["default"].createElement(icons_1.MailOutlined, null)
|
||||
},
|
||||
{
|
||||
label: 'Navigation Two',
|
||||
key: 'app',
|
||||
icon: react_1["default"].createElement(icons_1.AppstoreOutlined, null),
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
label: react_1["default"].createElement("a", { href: "/about" }, "Navigation One"),
|
||||
key: 'app',
|
||||
icon: react_1["default"].createElement(icons_1.AppstoreOutlined, null)
|
||||
},
|
||||
{
|
||||
label: 'Navigation Three - Submenu',
|
||||
key: 'SubMenu',
|
||||
icon: react_1["default"].createElement(icons_1.SettingOutlined, null),
|
||||
children: [
|
||||
{
|
||||
type: 'group',
|
||||
label: 'Item 1',
|
||||
children: [
|
||||
{
|
||||
label: 'Option 1',
|
||||
key: 'setting:1'
|
||||
},
|
||||
{
|
||||
label: 'Option 2',
|
||||
key: 'setting:2'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'group',
|
||||
label: 'Item 2',
|
||||
children: [
|
||||
{
|
||||
label: 'Option 3',
|
||||
key: 'setting:3'
|
||||
},
|
||||
{
|
||||
label: 'Option 4',
|
||||
key: 'setting:4'
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
label: (react_1["default"].createElement("a", { href: "https://ant.design", target: "_blank", rel: "noopener noreferrer" }, "Navigation Four - Link")),
|
||||
key: 'alipay'
|
||||
},
|
||||
];
|
||||
var LayoutCom = function () {
|
||||
var myThemes = react_1.useContext(styled_components_1.ThemeContext);
|
||||
var _a = react_1.useContext(themeContext_1.MyThemeContext), themeName = _a.themeName, setThemeName = _a.setThemeName;
|
||||
var _b = react_1.useState('mail'), current = _b[0], setCurrent = _b[1];
|
||||
var onClick = function (e) {
|
||||
console.log('click ', e);
|
||||
setCurrent(e.key);
|
||||
};
|
||||
var _c = react_1.useState(false), isDark = _c[0], setIsDark = _c[1];
|
||||
react_1.useEffect(function () {
|
||||
isDark ? setThemeName(themeContext_1.THEME_NAME.DARK) : setThemeName(themeContext_1.THEME_NAME.DEFAULT);
|
||||
}, [isDark, setThemeName]);
|
||||
return (react_1["default"].createElement("main", { className: index_module_less_1["default"].container, style: { backgroundColor: myThemes.backgroundColor.bg1 } },
|
||||
react_1["default"].createElement(Header, { className: index_module_less_1["default"].header, style: { backgroundColor: myThemes.backgroundColor.bg1 } },
|
||||
react_1["default"].createElement(antd_1.Button, { onClick: function () { return setIsDark(function (pre) { return !pre; }); } }, "\u5207\u6362\u4E3B\u9898")),
|
||||
react_1["default"].createElement(antd_1.Layout, null,
|
||||
react_1["default"].createElement(Sider, { className: index_module_less_1["default"].sider, style: { backgroundColor: myThemes.backgroundColor.bg1 } },
|
||||
react_1["default"].createElement(antd_1.Menu, { onClick: onClick, selectedKeys: [current], mode: "inline", items: items })),
|
||||
react_1["default"].createElement(Content, { className: index_module_less_1["default"].content },
|
||||
react_1["default"].createElement(react_router_dom_1.Routes, null,
|
||||
react_1["default"].createElement(react_router_dom_1.Route, { path: "/Search", Component: search_1["default"] }),
|
||||
react_1["default"].createElement(react_router_dom_1.Route, { path: "/Table", Component: table_1["default"] }),
|
||||
react_1["default"].createElement(react_router_dom_1.Route, { path: "/Login", Component: login_1["default"] }),
|
||||
react_1["default"].createElement(react_router_dom_1.Route, { path: "/home", Component: home_1["default"] }),
|
||||
react_1["default"].createElement(react_router_dom_1.Route, { path: "/about", Component: about_1["default"] }))))));
|
||||
};
|
||||
exports["default"] = LayoutCom;
|
@ -1,71 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var react_1 = require("react");
|
||||
var antd_1 = require("antd");
|
||||
var columns = [
|
||||
{
|
||||
title: 'Name',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
render: function (text) { return react_1["default"].createElement("a", null, text); }
|
||||
},
|
||||
{
|
||||
title: 'Age',
|
||||
dataIndex: 'age',
|
||||
key: 'age'
|
||||
},
|
||||
{
|
||||
title: 'Address',
|
||||
dataIndex: 'address',
|
||||
key: 'address'
|
||||
},
|
||||
{
|
||||
title: 'Tags',
|
||||
key: 'tags',
|
||||
dataIndex: 'tags',
|
||||
render: function (_, _a) {
|
||||
var tags = _a.tags;
|
||||
return (react_1["default"].createElement(react_1["default"].Fragment, null, tags.map(function (tag) {
|
||||
var color = tag.length > 5 ? 'geekblue' : 'green';
|
||||
if (tag === 'loser') {
|
||||
color = 'volcano';
|
||||
}
|
||||
return (react_1["default"].createElement(antd_1.Tag, { color: color, key: tag }, tag.toUpperCase()));
|
||||
})));
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'Action',
|
||||
key: 'action',
|
||||
render: function (_, record) { return (react_1["default"].createElement(antd_1.Space, { size: "middle" },
|
||||
react_1["default"].createElement("a", null,
|
||||
"Invite ",
|
||||
record.name),
|
||||
react_1["default"].createElement("a", null, "Delete"))); }
|
||||
},
|
||||
];
|
||||
var data = [
|
||||
{
|
||||
key: '1',
|
||||
name: 'John Brown',
|
||||
age: 32,
|
||||
address: 'New York No. 1 Lake Park',
|
||||
tags: ['nice', 'developer']
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
name: 'Jim Green',
|
||||
age: 42,
|
||||
address: 'London No. 1 Lake Park',
|
||||
tags: ['loser']
|
||||
},
|
||||
{
|
||||
key: '3',
|
||||
name: 'Joe Black',
|
||||
age: 32,
|
||||
address: 'Sydney No. 1 Lake Park',
|
||||
tags: ['cool', 'teacher']
|
||||
},
|
||||
];
|
||||
var TableBox = function () { return react_1["default"].createElement(antd_1.Table, { columns: columns, dataSource: data }); };
|
||||
exports["default"] = TableBox;
|
@ -1,15 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var react_1 = require("react");
|
||||
var client_1 = require("react-dom/client");
|
||||
var App_1 = require("./App");
|
||||
var react_router_dom_1 = require("react-router-dom");
|
||||
var themeContext_1 = require("./context/themeContext");
|
||||
var theme_com_1 = require("./components/theme-com");
|
||||
require("antd/dist/reset.css");
|
||||
var root = client_1["default"].createRoot(document.getElementById('root'));
|
||||
root.render(react_1["default"].createElement(react_1["default"].StrictMode, null,
|
||||
react_1["default"].createElement(react_router_dom_1.BrowserRouter, null,
|
||||
react_1["default"].createElement(themeContext_1.ThemeStore, null,
|
||||
react_1["default"].createElement(theme_com_1["default"], null,
|
||||
react_1["default"].createElement(App_1["default"], null))))));
|
@ -1,6 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var About = function () {
|
||||
return React.createElement("div", { style: { color: 'red' } }, "About");
|
||||
};
|
||||
exports["default"] = About;
|
@ -1,65 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var react_1 = require("react");
|
||||
var antd_1 = require("antd");
|
||||
var Login = function () {
|
||||
var form = antd_1.Form.useForm()[0];
|
||||
var data = {
|
||||
passwordType: 'password',
|
||||
capsTooltip: false,
|
||||
loading: false,
|
||||
showDialog: false,
|
||||
redirect: undefined,
|
||||
otherQuery: {},
|
||||
loginForm: {
|
||||
username: '',
|
||||
password: ''
|
||||
},
|
||||
loginRules: {
|
||||
// username: [{ required: true, trigger: 'blur', validator: validateUsername }],
|
||||
// password: [{ required: true, trigger: 'blur', validator: this.validatePassword }],
|
||||
}
|
||||
};
|
||||
var validatePassword = function (rule, value, callback) {
|
||||
if (value.length < 6) {
|
||||
callback(new Error('The password can not be less than 6 digits'));
|
||||
}
|
||||
else if (value.length > 72) {
|
||||
callback(new Error('The password can not be greater than 72 digits'));
|
||||
}
|
||||
else {
|
||||
// callback();
|
||||
}
|
||||
};
|
||||
var onFinish = function () {
|
||||
var loginParams = {
|
||||
username: form.getFieldValue('username'),
|
||||
password: form.getFieldValue('password'),
|
||||
rememberMe: 1
|
||||
};
|
||||
data.loginForm.username = form.getFieldValue('username');
|
||||
console.log('hhhhhh', loginParams);
|
||||
};
|
||||
var showPwd = function () {
|
||||
if (data.passwordType === 'password') {
|
||||
data.passwordType = '';
|
||||
}
|
||||
else {
|
||||
data.passwordType = 'password';
|
||||
}
|
||||
// $nextTick(() => {
|
||||
// $refs.password.focus();
|
||||
// });
|
||||
};
|
||||
return (react_1["default"].createElement("div", { className: "login-container" },
|
||||
react_1["default"].createElement(antd_1.Form, { name: "loginForm", form: form, onFinish: onFinish, style: { maxWidth: 600 } },
|
||||
react_1["default"].createElement("div", { className: "title-container" },
|
||||
react_1["default"].createElement("h3", { className: "title" }, "\u4F60\u597D\u5440")),
|
||||
react_1["default"].createElement(antd_1.Form.Item, { name: "username", label: "\u7528\u6237\u540D", rules: [{ required: true, message: 'Username is required' }] },
|
||||
react_1["default"].createElement(antd_1.Input, { placeholder: "\u7528\u6237\u540D" })),
|
||||
react_1["default"].createElement(antd_1.Form.Item, { name: "password", label: "\u5BC6\u7801", rules: [{ required: true, message: 'Street is required' }] },
|
||||
react_1["default"].createElement(antd_1.Input, { placeholder: "\u5BC6\u7801" })),
|
||||
react_1["default"].createElement(antd_1.Form.Item, { name: "submit" },
|
||||
react_1["default"].createElement(antd_1.Button, { type: "primary", htmlType: "submit", className: "login-button" }, "\u767B\u5F55")))));
|
||||
};
|
||||
exports["default"] = Login;
|
@ -1,16 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var react_1 = require("react");
|
||||
var icons_1 = require("@ant-design/icons");
|
||||
var antd_1 = require("antd");
|
||||
var Search = function () {
|
||||
var _a = react_1["default"].useState(false), passwordVisible = _a[0], setPasswordVisible = _a[1];
|
||||
return (react_1["default"].createElement(antd_1.Space, { direction: "vertical" },
|
||||
react_1["default"].createElement(antd_1.Input.Password, { placeholder: "input password" }),
|
||||
react_1["default"].createElement(antd_1.Input.Password, { placeholder: "input password", iconRender: function (visible) { return (visible ? react_1["default"].createElement(icons_1.EyeTwoTone, null) : react_1["default"].createElement(icons_1.EyeInvisibleOutlined, null)); } }),
|
||||
react_1["default"].createElement(antd_1.Space, { direction: "horizontal" },
|
||||
react_1["default"].createElement(antd_1.Input.Password, { placeholder: "input password", visibilityToggle: { visible: passwordVisible, onVisibleChange: setPasswordVisible } }),
|
||||
react_1["default"].createElement(antd_1.Button, { style: { width: 80 }, onClick: function () { return setPasswordVisible(function (prevState) { return !prevState; }); } }, passwordVisible ? 'Hide' : 'Show'),
|
||||
react_1["default"].createElement(antd_1.Button, { style: { width: 80 }, onClick: function () { return setPasswordVisible(function (prevState) { return !prevState; }); } }, passwordVisible ? 'Hide' : 'Show'))));
|
||||
};
|
||||
exports["default"] = Search;
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue