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

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: