4
0

2 Коммиты 0845a14b66 ... 5ad1920052

Автор SHA1 Сообщение Дата
  YY 5ad1920052 Merge branch 'master' of http://git.cc-lotus.info/zkzx/common 1 год назад
  YY 8c5aa02df3 1 1 год назад
1 измененных файлов с 57 добавлено и 0 удалено
  1. 57 0
      src/stores/allAdmin/product.ts

+ 57 - 0
src/stores/allAdmin/product.ts

@@ -0,0 +1,57 @@
+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/product`
+}
+export const ProductStore = defineStore('product', () => {
+  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
+  }
+})