This repository has been archived on 2026-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
todo/client/node_modules/.cache/babel-loader/e1296f11f283003da76a583f4a6ff072af7457d9d6890059ed652f5e06044ba1.json
2025-06-13 15:31:12 +08:00

1 line
26 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"ast":null,"code":"var _jsxFileName = \"D:\\\\aiproject\\\\goAgent\\\\todo\\\\client\\\\src\\\\components\\\\LoginForm.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { login } from '../services/api';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\nconst LoginContainer = styled.div`\n width: 100%;\n max-width: 400px;\n margin: 0 auto;\n padding: ${({\n theme\n}) => theme.spacing.xl};\n background: ${({\n theme\n}) => theme.colors.glass.light};\n backdrop-filter: blur(10px);\n -webkit-backdrop-filter: blur(10px);\n border-radius: ${({\n theme\n}) => theme.borderRadius.xl};\n box-shadow: ${({\n theme\n}) => theme.shadows.lg};\n animation: ${fadeIn} 0.5s ease-out;\n border: 1px solid ${({\n theme\n}) => theme.colors.glass.light};\n\n @media (prefers-color-scheme: dark) {\n background: ${({\n theme\n}) => theme.colors.glass.dark};\n border-color: ${({\n theme\n}) => theme.colors.glass.dark};\n }\n`;\n_c = LoginContainer;\nconst LoginTitle = styled.h1`\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-size: ${({\n theme\n}) => theme.typography.fontSize['3xl']};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.bold};\n text-align: center;\n margin-bottom: ${({\n theme\n}) => theme.spacing.xl};\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${({\n theme\n}) => theme.spacing.sm};\n\n &::before {\n content: '🔒';\n font-size: 1.2em;\n }\n`;\n_c2 = LoginTitle;\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n gap: ${({\n theme\n}) => theme.spacing.lg};\n`;\n_c3 = Form;\nconst InputGroup = styled.div`\n position: relative;\n`;\n_c4 = InputGroup;\nconst Label = styled.label`\n display: block;\n margin-bottom: ${({\n theme\n}) => theme.spacing.xs};\n color: ${({\n theme\n}) => theme.colors.text.primary};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.sm};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.medium};\n`;\n_c5 = Label;\nconst Input = styled.input`\n width: 100%;\n padding: ${({\n theme\n}) => theme.spacing.md};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.base};\n border: 2px solid ${({\n theme\n}) => theme.colors.glass.light};\n border-radius: ${({\n theme\n}) => theme.borderRadius.lg};\n background: ${({\n theme\n}) => theme.colors.glass.light};\n color: ${({\n theme\n}) => theme.colors.text.primary};\n transition: all ${({\n theme\n}) => theme.transitions.default};\n\n &:focus {\n outline: none;\n border-color: ${({\n theme\n}) => theme.colors.primary};\n box-shadow: 0 0 0 3px ${({\n theme\n}) => theme.colors.primary}40;\n }\n\n &::placeholder {\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n }\n\n @media (prefers-color-scheme: dark) {\n background: ${({\n theme\n}) => theme.colors.glass.dark};\n border-color: ${({\n theme\n}) => theme.colors.glass.dark};\n }\n`;\n_c6 = Input;\nconst SubmitButton = styled.button`\n width: 100%;\n padding: ${({\n theme\n}) => theme.spacing.md};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.base};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.semibold};\n color: white;\n background: ${({\n theme\n}) => theme.colors.primary};\n border: none;\n border-radius: ${({\n theme\n}) => theme.borderRadius.lg};\n cursor: pointer;\n transition: all ${({\n theme\n}) => theme.transitions.default};\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${({\n theme\n}) => theme.spacing.sm};\n\n &:hover {\n background: ${({\n theme\n}) => theme.colors.primary}dd;\n transform: translateY(-1px);\n }\n\n &:active {\n transform: translateY(0);\n }\n\n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none;\n }\n\n &::after {\n content: '→';\n font-size: 1.2em;\n transition: transform ${({\n theme\n}) => theme.transitions.default};\n }\n\n &:hover::after {\n transform: translateX(4px);\n }\n`;\n_c7 = SubmitButton;\nconst ErrorMessage = styled.div`\n color: ${({\n theme\n}) => theme.colors.status.error};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.sm};\n text-align: center;\n margin-top: ${({\n theme\n}) => theme.spacing.sm};\n padding: ${({\n theme\n}) => theme.spacing.sm};\n background: ${({\n theme\n}) => theme.colors.status.error}20;\n border-radius: ${({\n theme\n}) => theme.borderRadius.md};\n animation: ${fadeIn} 0.3s ease-out;\n`;\n_c8 = ErrorMessage;\nconst LoginHint = styled.div`\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.sm};\n text-align: center;\n margin-top: ${({\n theme\n}) => theme.spacing.md};\n padding: ${({\n theme\n}) => theme.spacing.sm};\n background: ${({\n theme\n}) => theme.colors.secondary}20;\n border-radius: ${({\n theme\n}) => theme.borderRadius.md};\n \n strong {\n color: ${({\n theme\n}) => theme.colors.secondary};\n }\n`;\n_c9 = LoginHint;\nfunction LoginForm({\n onLogin\n}) {\n _s();\n const [username, setUsername] = useState('');\n const [password, setPassword] = useState('');\n const [error, setError] = useState('');\n const [isLoading, setIsLoading] = useState(false);\n const handleSubmit = async e => {\n e.preventDefault();\n setError('');\n setIsLoading(true);\n try {\n const result = await login(username, password);\n // 保存token和用户信息\n localStorage.setItem('token', result.token);\n localStorage.setItem('user', JSON.stringify(result.user));\n onLogin(result.token, result.user);\n } catch (err) {\n var _err$response, _err$response$data;\n setError(((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.error) || '登录失败,请重试');\n } finally {\n setIsLoading(false);\n }\n };\n return /*#__PURE__*/_jsxDEV(LoginContainer, {\n children: [/*#__PURE__*/_jsxDEV(LoginTitle, {\n children: \"\\u5DE5\\u4F5C\\u5F85\\u529E\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 189,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Form, {\n onSubmit: handleSubmit,\n children: [/*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n children: \"\\u7528\\u6237\\u540D\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"text\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u7528\\u6237\\u540D\",\n value: username,\n onChange: e => setUsername(e.target.value),\n disabled: isLoading,\n required: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 191,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(InputGroup, {\n children: [/*#__PURE__*/_jsxDEV(Label, {\n children: \"\\u5BC6\\u7801\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 203,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Input, {\n type: \"password\",\n placeholder: \"\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801\",\n value: password,\n onChange: e => setPassword(e.target.value),\n disabled: isLoading,\n required: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 202,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(SubmitButton, {\n type: \"submit\",\n disabled: isLoading,\n children: isLoading ? '登录中...' : '登录'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 213,\n columnNumber: 9\n }, this), error && /*#__PURE__*/_jsxDEV(ErrorMessage, {\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 216,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(LoginHint, {\n children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u7BA1\\u7406\\u5458:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 9\n }, this), \" \\u7528\\u6237\\u540D admin\\uFF0C\\u5BC6\\u7801 weiMonkey2024\", /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 57\n }, this), /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"\\u666E\\u901A\\u7528\\u6237:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 220,\n columnNumber: 9\n }, this), \" \\u8BF7\\u4F7F\\u7528\\u7BA1\\u7406\\u5458\\u5206\\u914D\\u7684\\u8D26\\u53F7\\u5BC6\\u7801\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 188,\n columnNumber: 5\n }, this);\n}\n_s(LoginForm, \"zVDktibOVjfWgEa3dtRS5/jU2rY=\");\n_c0 = LoginForm;\nexport default LoginForm;\nvar _c, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c0;\n$RefreshReg$(_c, \"LoginContainer\");\n$RefreshReg$(_c2, \"LoginTitle\");\n$RefreshReg$(_c3, \"Form\");\n$RefreshReg$(_c4, \"InputGroup\");\n$RefreshReg$(_c5, \"Label\");\n$RefreshReg$(_c6, \"Input\");\n$RefreshReg$(_c7, \"SubmitButton\");\n$RefreshReg$(_c8, \"ErrorMessage\");\n$RefreshReg$(_c9, \"LoginHint\");\n$RefreshReg$(_c0, \"LoginForm\");","map":{"version":3,"names":["React","useState","styled","keyframes","login","jsxDEV","_jsxDEV","fadeIn","LoginContainer","div","theme","spacing","xl","colors","glass","light","borderRadius","shadows","lg","dark","_c","LoginTitle","h1","text","primary","typography","fontSize","fontWeight","bold","sm","_c2","Form","form","_c3","InputGroup","_c4","Label","label","xs","medium","_c5","Input","input","md","base","transitions","default","secondary","_c6","SubmitButton","button","semibold","_c7","ErrorMessage","status","error","_c8","LoginHint","_c9","LoginForm","onLogin","_s","username","setUsername","password","setPassword","setError","isLoading","setIsLoading","handleSubmit","e","preventDefault","result","localStorage","setItem","token","JSON","stringify","user","err","_err$response","_err$response$data","response","data","children","fileName","_jsxFileName","lineNumber","columnNumber","onSubmit","type","placeholder","value","onChange","target","disabled","required","_c0","$RefreshReg$"],"sources":["D:/aiproject/goAgent/todo/client/src/components/LoginForm.js"],"sourcesContent":["import React, { useState } from 'react';\r\nimport styled, { keyframes } from 'styled-components';\r\nimport { login } from '../services/api';\r\n\r\nconst fadeIn = keyframes`\r\n from {\r\n opacity: 0;\r\n transform: translateY(20px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n`;\r\n\r\nconst LoginContainer = styled.div`\r\n width: 100%;\r\n max-width: 400px;\r\n margin: 0 auto;\r\n padding: ${({ theme }) => theme.spacing.xl};\r\n background: ${({ theme }) => theme.colors.glass.light};\r\n backdrop-filter: blur(10px);\r\n -webkit-backdrop-filter: blur(10px);\r\n border-radius: ${({ theme }) => theme.borderRadius.xl};\r\n box-shadow: ${({ theme }) => theme.shadows.lg};\r\n animation: ${fadeIn} 0.5s ease-out;\r\n border: 1px solid ${({ theme }) => theme.colors.glass.light};\r\n\r\n @media (prefers-color-scheme: dark) {\r\n background: ${({ theme }) => theme.colors.glass.dark};\r\n border-color: ${({ theme }) => theme.colors.glass.dark};\r\n }\r\n`;\r\n\r\nconst LoginTitle = styled.h1`\r\n color: ${({ theme }) => theme.colors.text.primary};\r\n font-size: ${({ theme }) => theme.typography.fontSize['3xl']};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.bold};\r\n text-align: center;\r\n margin-bottom: ${({ theme }) => theme.spacing.xl};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: ${({ theme }) => theme.spacing.sm};\r\n\r\n &::before {\r\n content: '🔒';\r\n font-size: 1.2em;\r\n }\r\n`;\r\n\r\nconst Form = styled.form`\r\n display: flex;\r\n flex-direction: column;\r\n gap: ${({ theme }) => theme.spacing.lg};\r\n`;\r\n\r\nconst InputGroup = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Label = styled.label`\r\n display: block;\r\n margin-bottom: ${({ theme }) => theme.spacing.xs};\r\n color: ${({ theme }) => theme.colors.text.primary};\r\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.medium};\r\n`;\r\n\r\nconst Input = styled.input`\r\n width: 100%;\r\n padding: ${({ theme }) => theme.spacing.md};\r\n font-size: ${({ theme }) => theme.typography.fontSize.base};\r\n border: 2px solid ${({ theme }) => theme.colors.glass.light};\r\n border-radius: ${({ theme }) => theme.borderRadius.lg};\r\n background: ${({ theme }) => theme.colors.glass.light};\r\n color: ${({ theme }) => theme.colors.text.primary};\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n\r\n &:focus {\r\n outline: none;\r\n border-color: ${({ theme }) => theme.colors.primary};\r\n box-shadow: 0 0 0 3px ${({ theme }) => theme.colors.primary}40;\r\n }\r\n\r\n &::placeholder {\r\n color: ${({ theme }) => theme.colors.text.secondary};\r\n }\r\n\r\n @media (prefers-color-scheme: dark) {\r\n background: ${({ theme }) => theme.colors.glass.dark};\r\n border-color: ${({ theme }) => theme.colors.glass.dark};\r\n }\r\n`;\r\n\r\nconst SubmitButton = styled.button`\r\n width: 100%;\r\n padding: ${({ theme }) => theme.spacing.md};\r\n font-size: ${({ theme }) => theme.typography.fontSize.base};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.semibold};\r\n color: white;\r\n background: ${({ theme }) => theme.colors.primary};\r\n border: none;\r\n border-radius: ${({ theme }) => theme.borderRadius.lg};\r\n cursor: pointer;\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: ${({ theme }) => theme.spacing.sm};\r\n\r\n &:hover {\r\n background: ${({ theme }) => theme.colors.primary}dd;\r\n transform: translateY(-1px);\r\n }\r\n\r\n &:active {\r\n transform: translateY(0);\r\n }\r\n\r\n &:disabled {\r\n opacity: 0.6;\r\n cursor: not-allowed;\r\n transform: none;\r\n }\r\n\r\n &::after {\r\n content: '→';\r\n font-size: 1.2em;\r\n transition: transform ${({ theme }) => theme.transitions.default};\r\n }\r\n\r\n &:hover::after {\r\n transform: translateX(4px);\r\n }\r\n`;\r\n\r\nconst ErrorMessage = styled.div`\r\n color: ${({ theme }) => theme.colors.status.error};\r\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\r\n text-align: center;\r\n margin-top: ${({ theme }) => theme.spacing.sm};\r\n padding: ${({ theme }) => theme.spacing.sm};\r\n background: ${({ theme }) => theme.colors.status.error}20;\r\n border-radius: ${({ theme }) => theme.borderRadius.md};\r\n animation: ${fadeIn} 0.3s ease-out;\r\n`;\r\n\r\nconst LoginHint = styled.div`\r\n color: ${({ theme }) => theme.colors.text.secondary};\r\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\r\n text-align: center;\r\n margin-top: ${({ theme }) => theme.spacing.md};\r\n padding: ${({ theme }) => theme.spacing.sm};\r\n background: ${({ theme }) => theme.colors.secondary}20;\r\n border-radius: ${({ theme }) => theme.borderRadius.md};\r\n \r\n strong {\r\n color: ${({ theme }) => theme.colors.secondary};\r\n }\r\n`;\r\n\r\nfunction LoginForm({ onLogin }) {\r\n const [username, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [error, setError] = useState('');\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n setError('');\r\n setIsLoading(true);\r\n\r\n try {\r\n const result = await login(username, password);\r\n // 保存token和用户信息\r\n localStorage.setItem('token', result.token);\r\n localStorage.setItem('user', JSON.stringify(result.user));\r\n onLogin(result.token, result.user);\r\n } catch (err) {\r\n setError(err.response?.data?.error || '登录失败,请重试');\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n <LoginContainer>\r\n <LoginTitle>工作待办</LoginTitle>\r\n <Form onSubmit={handleSubmit}>\r\n <InputGroup>\r\n <Label>用户名</Label>\r\n <Input\r\n type=\"text\"\r\n placeholder=\"请输入用户名\"\r\n value={username}\r\n onChange={(e) => setUsername(e.target.value)}\r\n disabled={isLoading}\r\n required\r\n />\r\n </InputGroup>\r\n <InputGroup>\r\n <Label>密码</Label>\r\n <Input\r\n type=\"password\"\r\n placeholder=\"请输入密码\"\r\n value={password}\r\n onChange={(e) => setPassword(e.target.value)}\r\n disabled={isLoading}\r\n required\r\n />\r\n </InputGroup>\r\n <SubmitButton type=\"submit\" disabled={isLoading}>\r\n {isLoading ? '登录中...' : '登录'}\r\n </SubmitButton>\r\n {error && <ErrorMessage>{error}</ErrorMessage>}\r\n </Form>\r\n <LoginHint>\r\n <strong>管理员:</strong> 用户名 admin密码 weiMonkey2024<br />\r\n <strong>普通用户:</strong> 请使用管理员分配的账号密码\r\n </LoginHint>\r\n </LoginContainer>\r\n );\r\n}\r\n\r\nexport default LoginForm; "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}