common.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /** @format */
  2. import { defineStore } from "pinia"
  3. import { useUserStore } from "./user"
  4. import { getCartBrandQuantityApi } from "~/api/model/cart"
  5. import { getNoticeRemindApi } from "~/api/model/common"
  6. export const useCommonStore = defineStore(
  7. "commonStore",
  8. () => {
  9. const selCartList = ref<any>("")
  10. const isShowCategoryHeader = ref<boolean>(true)
  11. const selectedCategory = ref<any>("")
  12. const cartGoodsNumber = ref<number>(0)
  13. const noticeRemind = ref<boolean>(false)
  14. const userStore = useUserStore()
  15. const setSelectedCategory = (value: any) => {
  16. selectedCategory.value = value
  17. }
  18. const setCartGoodsNumber = (value: any) => {
  19. selectedCategory.value = value
  20. }
  21. const getCartGoodsList = async () => {
  22. const data: any = await getCartBrandQuantityApi()
  23. cartGoodsNumber.value = data.brandQuantity || 0
  24. }
  25. const setSelCartList = (data: any) => {
  26. selCartList.value = data
  27. }
  28. const setIsShowCategoryHeader = (data: any) => {
  29. isShowCategoryHeader.value = data
  30. }
  31. const getNoticeRemind = async () => {
  32. try {
  33. if (!userStore.isLogin) return
  34. const res: any = await getNoticeRemindApi({
  35. pageNo: 1,
  36. pageSize: 10,
  37. })
  38. noticeRemind.value = res.records.length > 0
  39. } catch (error) {
  40. console.log(error)
  41. }
  42. }
  43. return {
  44. selCartList,
  45. isShowCategoryHeader,
  46. selectedCategory,
  47. cartGoodsNumber,
  48. noticeRemind,
  49. setSelectedCategory,
  50. getCartGoodsList,
  51. setCartGoodsNumber,
  52. setSelCartList,
  53. getNoticeRemind,
  54. setIsShowCategoryHeader,
  55. }
  56. },
  57. {
  58. persist: true,
  59. }
  60. )