From 18d70cfa5152844486953c389e0549d71ec917ef Mon Sep 17 00:00:00 2001 From: ClariS <1457715339@qq.com> Date: Wed, 15 Feb 2023 14:23:30 +0800 Subject: [PATCH] =?UTF-8?q?types:=20=E5=B0=86=E7=B1=BB=E5=9E=8B=E5=92=8C?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89=E8=BF=9B=E8=A1=8C=E6=8B=86?= =?UTF-8?q?=E5=88=86=20(#50)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * types: 将类型和接口定义进行拆分 --- src/api/login.ts | 38 -------------------- src/api/login/index.ts | 26 ++++++++++++++ src/api/login/types/login.ts | 14 ++++++++ src/api/table.ts | 70 ------------------------------------ src/api/table/index.ts | 37 +++++++++++++++++++ src/api/table/types/table.ts | 33 +++++++++++++++++ src/store/modules/user.ts | 3 +- src/views/login/index.vue | 3 +- 8 files changed, 114 insertions(+), 110 deletions(-) delete mode 100644 src/api/login.ts create mode 100644 src/api/login/index.ts create mode 100644 src/api/login/types/login.ts delete mode 100644 src/api/table.ts create mode 100644 src/api/table/index.ts create mode 100644 src/api/table/types/table.ts diff --git a/src/api/login.ts b/src/api/login.ts deleted file mode 100644 index 8c9cae4..0000000 --- a/src/api/login.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { request } from "@/utils/service" - -export interface ILoginRequestData { - /** admin 或 editor */ - username: "admin" | "editor" - /** 密码 */ - password: string - /** 验证码 */ - code: string -} - -type LoginCodeResponseData = IApiResponseData -type LoginResponseData = IApiResponseData<{ token: string }> -type UserInfoResponseData = IApiResponseData<{ username: string; roles: string[] }> - -/** 获取登录验证码 */ -export function getLoginCodeApi() { - return request({ - url: "login/code", - method: "get" - }) -} - -/** 登录并返回 Token */ -export function loginApi(data: ILoginRequestData) { - return request({ - url: "users/login", - method: "post", - data - }) -} -/** 获取用户详情 */ -export function getUserInfoApi() { - return request({ - url: "users/info", - method: "get" - }) -} diff --git a/src/api/login/index.ts b/src/api/login/index.ts new file mode 100644 index 0000000..b9a996e --- /dev/null +++ b/src/api/login/index.ts @@ -0,0 +1,26 @@ +import { request } from "@/utils/service" +import type * as Login from "./types/login" + +/** 获取登录验证码 */ +export function getLoginCodeApi() { + return request({ + url: "login/code", + method: "get" + }) +} + +/** 登录并返回 Token */ +export function loginApi(data: Login.ILoginRequestData) { + return request({ + url: "users/login", + method: "post", + data + }) +} +/** 获取用户详情 */ +export function getUserInfoApi() { + return request({ + url: "users/info", + method: "get" + }) +} diff --git a/src/api/login/types/login.ts b/src/api/login/types/login.ts new file mode 100644 index 0000000..ae2362a --- /dev/null +++ b/src/api/login/types/login.ts @@ -0,0 +1,14 @@ +export interface ILoginRequestData { + /** admin 或 editor */ + username: "admin" | "editor" + /** 密码 */ + password: string + /** 验证码 */ + code: string +} + +export type LoginCodeResponseData = IApiResponseData + +export type LoginResponseData = IApiResponseData<{ token: string }> + +export type UserInfoResponseData = IApiResponseData<{ username: string; roles: string[] }> diff --git a/src/api/table.ts b/src/api/table.ts deleted file mode 100644 index 92a05ee..0000000 --- a/src/api/table.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { request } from "@/utils/service" - -interface ICreateTableRequestData { - username: string - password: string -} - -interface IUpdateTableRequestData { - id: string - username: string - password?: string -} - -interface IGetTableRequestData { - /** 当前页码 */ - currentPage: number - /** 查询条数 */ - size: number - /** 查询参数 */ - username?: string - phone?: string -} - -type GetTableResponseData = IApiResponseData<{ - list: { - createTime: string - email: string - id: string - phone: string - roles: string - status: boolean - username: string - }[] - total: number -}> - -/** 增 */ -export function createTableDataApi(data: ICreateTableRequestData) { - return request({ - url: "table", - method: "post", - data - }) -} - -/** 删 */ -export function deleteTableDataApi(id: string) { - return request({ - url: `table/${id}`, - method: "delete" - }) -} - -/** 改 */ -export function updateTableDataApi(data: IUpdateTableRequestData) { - return request({ - url: "table", - method: "put", - data - }) -} - -/** 查 */ -export function getTableDataApi(params: IGetTableRequestData) { - return request({ - url: "table", - method: "get", - params - }) -} diff --git a/src/api/table/index.ts b/src/api/table/index.ts new file mode 100644 index 0000000..1481718 --- /dev/null +++ b/src/api/table/index.ts @@ -0,0 +1,37 @@ +import { request } from "@/utils/service" +import type * as Table from "./types/table" + +/** 增 */ +export function createTableDataApi(data: Table.ICreateTableRequestData) { + return request({ + url: "table", + method: "post", + data + }) +} + +/** 删 */ +export function deleteTableDataApi(id: string) { + return request({ + url: `table/${id}`, + method: "delete" + }) +} + +/** 改 */ +export function updateTableDataApi(data: Table.IUpdateTableRequestData) { + return request({ + url: "table", + method: "put", + data + }) +} + +/** 查 */ +export function getTableDataApi(params: Table.IGetTableRequestData) { + return request({ + url: "table", + method: "get", + params + }) +} diff --git a/src/api/table/types/table.ts b/src/api/table/types/table.ts new file mode 100644 index 0000000..e1dc6e7 --- /dev/null +++ b/src/api/table/types/table.ts @@ -0,0 +1,33 @@ +export interface ICreateTableRequestData { + username: string + password: string +} + +export interface IUpdateTableRequestData { + id: string + username: string + password?: string +} + +export interface IGetTableRequestData { + /** 当前页码 */ + currentPage: number + /** 查询条数 */ + size: number + /** 查询参数 */ + username?: string + phone?: string +} + +export type GetTableResponseData = IApiResponseData<{ + list: { + createTime: string + email: string + id: string + phone: string + roles: string + status: boolean + username: string + }[] + total: number +}> diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 2bf7cf0..1bb675a 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -4,7 +4,8 @@ import { defineStore } from "pinia" import { usePermissionStore } from "./permission" import { getToken, removeToken, setToken } from "@/utils/cache/cookies" import router, { resetRouter } from "@/router" -import { type ILoginRequestData, loginApi, getUserInfoApi } from "@/api/login" +import { loginApi, getUserInfoApi } from "@/api/login" +import { type ILoginRequestData } from "@/api/login/types/login" import { type RouteRecordRaw } from "vue-router" export const useUserStore = defineStore("user", () => { diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 7c8c344..d68f1e0 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -5,7 +5,8 @@ import { useUserStore } from "@/store/modules/user" import { User, Lock, Key, Picture, Loading } from "@element-plus/icons-vue" import ThemeSwitch from "@/components/ThemeSwitch/index.vue" import { type FormInstance, FormRules } from "element-plus" -import { type ILoginRequestData, getLoginCodeApi } from "@/api/login" +import { getLoginCodeApi } from "@/api/login" +import { type ILoginRequestData } from "@/api/login/types/login" const router = useRouter() const loginFormRef = ref(null)