goods.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { defineStore } from 'pinia';
  2. import { message } from 'ant-design-vue';
  3. import { getList, addToCard } from '@/api/goods';
  4. import { goodsList } from '@/utils/mock';
  5. export const useGoodsStore = defineStore('goods', {
  6. state: () => ({
  7. params: {
  8. pageNum: 1,
  9. pageSize: 24,
  10. total: 0,
  11. categoryId: ''
  12. },
  13. list: []
  14. }),
  15. actions: {
  16. resetListData() {
  17. this.list = [];
  18. },
  19. async fetchListData() {
  20. // const res = await getList(this.params);
  21. // this.list = res.data?.record || [];
  22. // this.params.total = res.data?.total || 0;
  23. this.list = goodsList;
  24. this.params.total = 120;
  25. },
  26. async fetchAllData(params) {
  27. // const res = await getList(params);
  28. // return Promise.resolve(res.data || []);
  29. return new Promise(resolve => resolve(goodsList))
  30. },
  31. resetParams() {
  32. this.params.pageNum = 1;
  33. this.params.total = 0;
  34. this.params.categoryId = '';
  35. },
  36. updateParams(object = {}) {
  37. Object.keys(object).forEach(key => {
  38. if (this.params[key] != undefined) {
  39. this.params[key] = object[key];
  40. }
  41. })
  42. },
  43. addToCard(params, success, fail) {
  44. addToCard(params).then(() => {
  45. message.success('添加成功')
  46. success && success()
  47. }).catch(() => {
  48. fail && fail()
  49. })
  50. }
  51. }
  52. })