123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { ref, computed } from 'vue'
- import { defineStore } from 'pinia'
- import { AxiosWrapper } from '@/util/axios-wrapper'
- import _ from 'lodash'
- import type { IQueryType, IQueryResult, IQueryParams } from '@/util/types.util'
- const axios = new AxiosWrapper()
- const api = {
- url: `/zkzx/v2/api/admin`
- }
- export const AdminStore = defineStore('admin', () => {
- const count = ref(0)
- const doubleCount = computed(() => count.value * 2)
- function increment() {
- count.value++
- }
- const query = async ({ skip = 0, limit = undefined, ...info }: IQueryParams = {}): Promise<IQueryResult> => {
- let cond: IQueryType = {}
- if (skip) cond.skip = skip
- if (limit) cond.limit = limit
- cond = { ...cond, ...info }
- const res = await axios.$get(`${api.url}`, cond)
- return res
- }
- const fetch = async (payload: any): Promise<IQueryResult> => {
- const res = await axios.$get(`${api.url}/${payload}`)
- return res
- }
- const create = async (payload: any): Promise<IQueryResult> => {
- const res = await axios.$post(`${api.url}`, payload)
- return res
- }
- const update = async (payload: any): Promise<IQueryResult> => {
- const id = _.get(payload, 'id', _.get(payload, '_id'))
- const res = await axios.$post(`${api.url}/${id}`, payload)
- return res
- }
- const del = async (payload: any): Promise<IQueryResult> => {
- const res = await axios.$delete(`${api.url}/${payload}`)
- return res
- }
- const login = async (payload: any): Promise<IQueryResult> => {
- const res = await axios.$post(`${api.url}/login`, payload)
- return res
- }
- //password
- const rp = async (payload: any): Promise<IQueryResult> => {
- const res = await axios.$post(`${api.url}/rp`, payload)
- return res
- }
- return {
- count,
- doubleCount,
- increment,
- query,
- fetch,
- create,
- update,
- del,
- login,
- rp
- }
- })
|