Skip to content

Commit 9bc190a

Browse files
committed
fix(Login): swr替换成@kkt/request
1 parent 6ecdb36 commit 9bc190a

File tree

9 files changed

+66
-49
lines changed

9 files changed

+66
-49
lines changed

examples/base/package.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
"@swc/core": ">=1.3.55"
2525
},
2626
"dependencies": {
27-
"@kkt/pro": "^1.0.10",
28-
"@uiw-admin/authorized": "6.1.7",
29-
"@uiw-admin/basic-layouts": "6.1.7",
30-
"@uiw-admin/components": "6.1.7",
31-
"@uiw-admin/config": "6.1.7",
32-
"@uiw-admin/document-title": "6.1.7",
33-
"@uiw-admin/exceptions": "6.1.7",
34-
"@uiw-admin/layout-tabs": "6.1.7",
35-
"@uiw-admin/user-login": "6.1.7",
36-
"@uiw-admin/utils": "6.1.7",
27+
"@kkt/pro": "^1.0.13",
28+
"@uiw-admin/authorized": "6.1.6",
29+
"@uiw-admin/basic-layouts": "6.1.6",
30+
"@uiw-admin/components": "6.1.6",
31+
"@uiw-admin/config": "6.1.6",
32+
"@uiw-admin/document-title": "6.1.6",
33+
"@uiw-admin/exceptions": "6.1.6",
34+
"@uiw-admin/layout-tabs": "6.1.6",
35+
"@uiw-admin/user-login": "6.1.6",
36+
"@uiw-admin/utils": "6.1.6",
3737
"@uiw/reset.css": "~1.0.5",
3838
"axios": "^0.27.0",
3939
"classnames": "~2.3.1",

examples/website/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"uiw": "^4.21.26"
4343
},
4444
"devDependencies": {
45-
"@kkt/pro": "^1.0.10",
45+
"@kkt/pro": "^1.0.13",
4646
"@types/react-test-renderer": "17.0.1",
4747
"hast": "^1.0.0",
4848
"rehype-rewrite": "^3.0.6",

examples/website/src/pages/request/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ export default function HomePage() {
7373

7474
return (
7575
<div>
76-
<p className="title">ANEM x react-query</p>
76+
<p className="title">x react-query</p>
7777
{isError && <p>请求 API 错误 ...</p>}
7878
{isLoading && <p>Loading ...</p>}
79-
{data && <p>ANEM 现在有 {data.stargazers_count} 颗星!</p>}
79+
{data && <p>现在有 {data.stargazers_count} 颗星!</p>}
8080
</div>
8181
);
8282
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
"lint-staged": "~12.5.0",
9595
"prettier": "^2.7.0",
9696
"recursive-readdir-files": "1.1.2",
97-
"tsbb": "^4.1.4",
97+
"tsbb": "^4.1.5",
9898
"webpack-bundle-analyzer": "~4.5.0"
9999
},
100100
"resolutions": {

packages/basic-layouts/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444
},
4545
"dependencies": {
4646
"@babel/runtime": "~7.21.0",
47-
"@kkt/pro": "^1.0.10",
48-
"@uiw-admin/document-title": "6.1.7",
47+
"@kkt/pro": "^1.0.13",
48+
"@uiw-admin/document-title": "6.1.6",
4949
"classnames": "2.3.1",
5050
"pinyin": "~2.11.2"
5151
},
File renamed without changes.

packages/user-login/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const UserLayout = () => {
3232
sessionStorage.setItem("token", data.token)
3333
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
3434
} else {
35-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
35+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
3636
}
3737
}}
3838
/>
@@ -61,7 +61,7 @@ const UserLayout = () => {
6161
sessionStorage.setItem("token", data.token)
6262
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
6363
} else {
64-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
64+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
6565
}
6666
}}
6767
/>
@@ -95,7 +95,7 @@ const UserLayout = () => {
9595
sessionStorage.setItem("token", data.token)
9696
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
9797
} else {
98-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
98+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
9999
}
100100
}}
101101
/>
@@ -128,7 +128,7 @@ const UserLayout = () => {
128128
sessionStorage.setItem("token", data.token)
129129
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
130130
} else {
131-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
131+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
132132
}
133133
}}
134134
/>
@@ -158,7 +158,7 @@ const UserLayout = () => {
158158
sessionStorage.setItem("token", data.token)
159159
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
160160
} else {
161-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
161+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
162162
}
163163
}}
164164
/>
@@ -202,7 +202,7 @@ const UserLayout = () => {
202202
sessionStorage.setItem("token", data.token)
203203
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
204204
} else {
205-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
205+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
206206
}
207207
}}
208208
/>
@@ -247,7 +247,7 @@ const UserLayout = () => {
247247
sessionStorage.setItem("token", data.token)
248248
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
249249
} else {
250-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
250+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
251251
}
252252
}}
253253
/>
@@ -285,7 +285,7 @@ const UserLayout = () => {
285285
sessionStorage.setItem("token", data.token)
286286
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
287287
} else {
288-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
288+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
289289
}
290290
}}
291291
/>
@@ -317,7 +317,7 @@ const UserLayout = () => {
317317
sessionStorage.setItem("token", data.token)
318318
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
319319
} else {
320-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
320+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
321321
}
322322
}}
323323
/>
@@ -347,7 +347,7 @@ const UserLayout = () => {
347347
sessionStorage.setItem("token", data.token)
348348
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
349349
} else {
350-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
350+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
351351
}
352352
}}
353353
/>
@@ -377,7 +377,7 @@ const UserLayout = () => {
377377
sessionStorage.setItem("token", data.token)
378378
sessionStorage.setItem("auth", JSON.stringify(data.authList || []))
379379
} else {
380-
Notify.error({ title: "错误通知", description: data.message || "请求失败" })
380+
Notify.error({ title: "错误通知", description: data?.message || "请求失败" })
381381
}
382382
}}
383383
/>

packages/user-login/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
},
4646
"dependencies": {
4747
"@uiw-admin/document-title": "6.1.7",
48+
"@kkt/request": "^1.0.13",
4849
"classnames": "^2.3.1"
4950
},
5051
"devDependencies": {
@@ -55,7 +56,6 @@
5556
"@uiw-admin/utils": "6.1.7",
5657
"react": "18.2.0",
5758
"react-dom": "18.2.0",
58-
"swr": "^1.3.0",
5959
"uiw": "^4.21.26"
6060
}
6161
}

packages/user-login/src/index.tsx

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ import React from 'react';
22
import bgDefault from './assets/r2g7rm.jpg';
33
import DocumentTitle from '@uiw-admin/document-title';
44
import { Form, Row, Col, ButtonProps, Button, FormFieldsProps } from 'uiw';
5-
import useSWR from 'swr';
6-
import { request } from '@uiw-admin/utils';
7-
import { Options } from '@uiw-admin/utils/lib/request';
5+
import {
6+
QueryClientProvider,
7+
queryClient,
8+
useReactMutation,
9+
ReactMutationOptions,
10+
} from '@kkt/request';
811

912
import './styles/index.css';
1013

@@ -51,7 +54,7 @@ export interface UserLoginProps {
5154
/** 调用接口之前 , 可以通过这个添加额外参数 返回 false 则不进行登录操作 */
5255
onBefore?: (store: FormValue) => Record<string, any> | boolean;
5356
/** request 请求 options 配置参数 */
54-
requestConfig?: Options;
57+
requestConfig?: ReactMutationOptions;
5558
/** 登录按钮位置 按钮组, title 为显示标题 */
5659
buttons?: (Omit<ButtonProps, 'ref'> & { title?: React.ReactNode })[];
5760
/**
@@ -77,7 +80,7 @@ export interface UserLoginProps {
7780
styleContainer?: React.CSSProperties;
7881
}
7982

80-
export default (props: UserLoginProps) => {
83+
const Login = (props: UserLoginProps) => {
8184
const {
8285
align = 'center',
8386
classNameWarp = '',
@@ -112,16 +115,15 @@ export default (props: UserLoginProps) => {
112115
((defaultFieldsConfig || {})['passWord'] || {})['name'] || passWord;
113116

114117
const [store, setStore] = React.useState<FormValue>();
115-
const { isValidating } = useSWR(
116-
store
117-
? [api, { method: 'POST', body: store, ...(requestConfig || {}) }]
118-
: null,
119-
request,
120-
{
121-
revalidateOnFocus: false,
122-
onSuccess: (resp) => onSuccess(resp, store),
123-
},
124-
);
118+
119+
const { mutateAsync, isLoading } = useReactMutation({
120+
url: api,
121+
method: 'POST',
122+
...requestConfig,
123+
mutationKey: ['login'],
124+
onSuccess: (res) => onSuccess(res, store),
125+
onError: () => onSuccess(undefined, store),
126+
});
125127

126128
const defaultFields: FieldsProps[] = [
127129
{
@@ -132,7 +134,7 @@ export default (props: UserLoginProps) => {
132134
children: (
133135
<input
134136
type="text"
135-
disabled={!!isValidating}
137+
disabled={!!isLoading}
136138
id={userName}
137139
placeholder={`请输入${userNameLabel}`}
138140
className="form-field"
@@ -147,7 +149,7 @@ export default (props: UserLoginProps) => {
147149
required: true,
148150
children: (
149151
<input
150-
disabled={!!isValidating}
152+
disabled={!!isLoading}
151153
id={passWord}
152154
type="password"
153155
placeholder={`请输入${passWordLabel}`}
@@ -201,7 +203,7 @@ export default (props: UserLoginProps) => {
201203
) : (
202204
<Form
203205
resetOnSubmit={false}
204-
onSubmit={({ current }) => {
206+
onSubmit={async ({ current }) => {
205207
const errorObj: any = {};
206208
fieldArr.forEach((item) => {
207209
if (
@@ -233,13 +235,18 @@ export default (props: UserLoginProps) => {
233235
...(result || {}),
234236
swr_Rest_Time: new Date().getTime(),
235237
});
238+
await mutateAsync({
239+
...(current as any),
240+
...(result || {}),
241+
});
236242
return;
237243
}
238244
if (!result) {
239245
return;
240246
}
241247
}
242248
setStore({ ...current, swr_Rest_Time: new Date().getTime() });
249+
await mutateAsync({ ...(current as any) });
243250
}
244251
}}
245252
onSubmitError={(error: any) => {
@@ -279,7 +286,7 @@ export default (props: UserLoginProps) => {
279286
<Button
280287
key={idx}
281288
loading={
282-
!!isValidating && item.htmlType === 'submit'
289+
!!isLoading && item.htmlType === 'submit'
283290
}
284291
disabled={!disabled}
285292
className="btns"
@@ -293,10 +300,10 @@ export default (props: UserLoginProps) => {
293300
) : (
294301
<Button
295302
disabled={!disabled}
296-
loading={!!isValidating}
303+
loading={!!isLoading}
297304
className="btns"
298305
block
299-
style={{ marginTop: 20 }}
306+
style={{ marginTop: 20, height: 44 }}
300307
htmlType="submit"
301308
type="dark"
302309
{...btnProps}
@@ -316,3 +323,13 @@ export default (props: UserLoginProps) => {
316323
</div>
317324
);
318325
};
326+
327+
const LoginPage = (props: UserLoginProps) => {
328+
return (
329+
<QueryClientProvider client={queryClient}>
330+
<Login {...props} />
331+
</QueryClientProvider>
332+
);
333+
};
334+
335+
export default LoginPage;

0 commit comments

Comments
 (0)