feat: 增加密码管理接口

This commit is contained in:
2025-06-12 14:01:25 +08:00
parent b5dd5703a5
commit 06911f9d2a
4 changed files with 55 additions and 34 deletions

35
src/apis/password.ts Normal file
View File

@@ -0,0 +1,35 @@
import { cloudService } from './index'
import { IPassword, IQueryPassword } from '@/types/password'
export const addPasswordApi = (password: IPassword): Promise<boolean> =>
cloudService({
url: '/home-service/password',
method: 'post',
data: password
})
export const updatePasswordApi = (id: number, password: IPassword): Promise<boolean> =>
cloudService({
url: `/home-service/password/${id}`,
method: 'put',
data: password
})
export const deletePasswordApi = (id: number): Promise<boolean> =>
cloudService({
url: `/home-service/password/${id}`,
method: 'delete'
})
export const queryPasswordApi = (query: IQueryPassword): Promise<IPassword[]> =>
cloudService({
url: '/home-service/password',
method: 'get',
params: query
})
export const queryPasswordCategoryApi = (): Promise<string[]> =>
cloudService({
url: '/home-service/password/category',
method: 'get'
})

View File

@@ -3,13 +3,13 @@ import { IUser } from '@/types/auth.ts'
export const queryUserApi = (id: number): Promise<IUser> =>
cloudService({
url: `/admin-service/user/${id}`,
url: `/home-service/user/${id}`,
method: 'get'
})
export const updateUserApi = (id: number, user: IUser): Promise<boolean> =>
cloudService({
url: `/admin-service/user/${id}`,
url: `/home-service/user/${id}`,
method: 'put',
data: user
})

View File

@@ -1,7 +1,13 @@
import { defineStore } from 'pinia'
import type { IHandleApi } from 'vue3-common/types'
import { ElMessage } from 'element-plus'
import { IPassword } from '@/types/password.ts'
import { IPassword, IQueryPassword } from '@/types/password.ts'
import {
addPasswordApi,
deletePasswordApi,
queryPasswordApi, queryPasswordCategoryApi,
updatePasswordApi
} from '@/apis/password'
export const usePasswordStore = defineStore('password', {
state: () => ({
@@ -9,7 +15,7 @@ export const usePasswordStore = defineStore('password', {
queryInfo: {
category: '',
owner: '哥哥'
},
} as IQueryPassword,
passwordApiType: 'ADD' as IHandleApi,
categoryList: [] as string[],
currentPassword: {
@@ -26,48 +32,23 @@ export const usePasswordStore = defineStore('password', {
}),
actions: {
async queryPasswordList() {
const password: IPassword = {
id: 1,
category: '生活',
owner: '哥哥',
password: '123123',
remark: '12',
title: '支付宝',
username: '13814079242',
website: ''
}
const password2: IPassword = {
id: 2,
category: '生活',
owner: '哥哥',
password: '123123',
remark: '12',
title: '支付宝',
username: '13814079242',
website: ''
}
this.passwordList = []
this.passwordList.push(password)
this.passwordList.push(password2)
// this.productList = await queryProductListApi(this.queryInfo)
this.passwordList = await queryPasswordApi(this.queryInfo)
},
async queryPasswordCategory() {
// this.categoryList = await queryProductCategoryApi()
this.categoryList = ['生活', '工作']
this.categoryList = await queryPasswordCategoryApi()
},
async handlePasswordApi(password: IPassword) {
switch (this.passwordApiType) {
case 'ADD':
// await addProductApi(product)
await addPasswordApi(password)
ElMessage.success('新增密码记录成功')
break
case 'UPDATE':
// await updateProductApi(product.id as number, product)
await updatePasswordApi(password.id as number, password)
ElMessage.success('更新密码记录成功')
break
case 'DELETE':
// await deleteProductApi(product.id as number)
await deletePasswordApi(password.id as number)
ElMessage.success('删除密码记录成功')
break
default:

View File

@@ -29,3 +29,8 @@ export interface IPassword {
*/
remark: string;
}
export interface IQueryPassword {
category: string;
owner: string;
}