|
@@ -1,52 +0,0 @@
|
|
|
-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: `/api/live/v0/tecinfo/news`
|
|
|
-}
|
|
|
-export const NewsStore = defineStore('news', () => {
|
|
|
- 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
|
|
|
- }
|
|
|
- return {
|
|
|
- count,
|
|
|
- doubleCount,
|
|
|
- increment,
|
|
|
- query,
|
|
|
- fetch,
|
|
|
- create,
|
|
|
- update,
|
|
|
- del
|
|
|
- }
|
|
|
-})
|