shop.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import { defineStore } from "pinia";
  2. import { SHOP_CART_LIST, SHOP_ORDER_STATUS, CONTENT_FLOAT, SHOP_ADDRESS_LIST, SELLER_CART_LIsts } from "@/api";
  3. import { setStorage, getStorage } from '@/utils'
  4. const state = () => ({
  5. cartList: [],
  6. cartNum: 0,
  7. sellerList: [],
  8. sellerNum: 0,
  9. orderStatus: [],
  10. hotLink: [],
  11. addressList: [],
  12. logistics: {},
  13. tabParams: null
  14. })
  15. export const useShopStore = defineStore('shop', {
  16. state,
  17. getters: {
  18. getCartList() {
  19. return this.cartList
  20. },
  21. getCartNum() {
  22. return this.cartNum
  23. },
  24. getSellerList() {
  25. return this.sellerList
  26. },
  27. getSellerNum() {
  28. return this.sellerNum
  29. },
  30. getOrderStatus() {
  31. return this.orderStatus
  32. },
  33. getHotLink() {
  34. // if (!this.hotLink.length) {
  35. // this.setHotLink();
  36. // }
  37. return this.hotLink || [];
  38. },
  39. getAddressList() {
  40. return this.addressList || [];
  41. },
  42. getLogistics() {
  43. return this.logistics || {}
  44. },
  45. getTabParams() {
  46. return this.tabParams || null
  47. }
  48. },
  49. actions: {
  50. async setCartList(is_free) {
  51. try {
  52. const { data: { list = [], cartCount = 0 } } = await SHOP_CART_LIST(is_free);
  53. this.cartList = list || [];
  54. this.cartNum = cartCount;
  55. } catch (error) { }
  56. },
  57. setCartNum(_num_) {
  58. this.cartNum = _num_
  59. },
  60. async setSellerList() {
  61. try {
  62. const { data: { list = [], cartCount = 0 } } = await SELLER_CART_LIsts();
  63. this.sellerList = list || [];
  64. this.sellerNum = cartCount;
  65. } catch (error) { }
  66. },
  67. setSellerNum(_num_) {
  68. this.sellerNum = _num_
  69. },
  70. async setOrderStatus() {
  71. try {
  72. const res = await SHOP_ORDER_STATUS();
  73. let arr = Object.entries(res.data).map(([key, value]) => ({
  74. status: key,
  75. value: value
  76. }));
  77. this.orderStatus = arr
  78. } catch (error) { }
  79. },
  80. async setHotLink() {
  81. try {
  82. const res = await CONTENT_FLOAT({
  83. type: 'image-text',
  84. posititon: 'search'
  85. })
  86. this.hotLink = res.data
  87. } catch (error) { }
  88. },
  89. async setAddressList() {
  90. try {
  91. const res = await SHOP_ADDRESS_LIST()
  92. this.addressList = res.data
  93. } catch (error) { }
  94. },
  95. setLogistics(data) {
  96. this.logistics = data
  97. },
  98. setTabParams(params) {
  99. this.tabParams = params;
  100. }
  101. }
  102. })