|
@@ -0,0 +1,75 @@
|
|
|
+
|
|
|
+**```loginEncrypt()``` 方法**
|
|
|
+
|
|
|
+| **参数** | **类型** | **说明** |
|
|
|
+| ----------- | ---------- | --------------------------------------- |
|
|
|
+| authName | string | 认证名称 |
|
|
|
+| authPasswd | string | 认证密码 |
|
|
|
+| userName | string | 用户名 |
|
|
|
+| userPasswd | string | 用户密码(将被加密) |
|
|
|
+| grantType | string | 授权类型 |
|
|
|
+| code | string | 授权码 |
|
|
|
+| scope | string | 授权范围 |
|
|
|
+
|
|
|
+**返回值**:
|
|
|
+
|
|
|
+```typescript
|
|
|
+// typescript
|
|
|
+{
|
|
|
+ urlParams: {
|
|
|
+ url: string,
|
|
|
+ username: string,
|
|
|
+ grant_type: string,
|
|
|
+ code: string,
|
|
|
+ scope: string,
|
|
|
+ },
|
|
|
+ bodyParams: {
|
|
|
+ password: string,
|
|
|
+ [key: string]: any
|
|
|
+ },
|
|
|
+ headerParams: {
|
|
|
+ 'Content-Type': string,
|
|
|
+ Authorization: string,
|
|
|
+ [key: string]: any,
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**使用示例**:
|
|
|
+
|
|
|
+```javascript
|
|
|
+import { loginEncrypt } from '@jfcloudvip/front-toolkit';
|
|
|
+
|
|
|
+async function clickLogin() {
|
|
|
+ const { urlParams, bodyParams, headerParams } = await loginEncrypt({
|
|
|
+ // 新增的参数
|
|
|
+ url: '/auth/oauth2/token', // 登录接口地址
|
|
|
+ authName: 'jfcloud',
|
|
|
+ authPasswd: 'jfcloud',
|
|
|
+ sm2Public: '',
|
|
|
+ // 原登录流程需要的参数
|
|
|
+ userName: '',
|
|
|
+ userPasswd: '',
|
|
|
+ grantType: '',
|
|
|
+ code: '123',
|
|
|
+ scope: 'server',
|
|
|
+ });
|
|
|
+ const res = await loginApi(urlParams, bodyParams, headerParams);
|
|
|
+ // 这里进行原来登录流程的后续操作
|
|
|
+ // ....
|
|
|
+}
|
|
|
+
|
|
|
+// api.js (在业务中定义请求方法的文件)
|
|
|
+import { service } from '@/utils/request';
|
|
|
+
|
|
|
+// 登录接口示例, 如果是 ts,可以加上类型, 方便后续的使用, 这里不重复定义类型了
|
|
|
+export function loginApi({ url, ...params }: UrlParams, data: BodyParams, headerParams?: HeaderParams) {
|
|
|
+ return service({
|
|
|
+ method: 'post',
|
|
|
+ url,
|
|
|
+ params,
|
|
|
+ data,
|
|
|
+ headers: headerParams,
|
|
|
+ })
|
|
|
+}
|
|
|
+```
|