cart.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * 购物车模型,目前服务有多种类型,所以通过增加一个购物车对象来缓存用户所选的服务
  3. */
  4. define(['base', '$', 'native', 'product'], function(base, $, native, product) {
  5. var Cart = function() {
  6. if (typeof Cart.instance === 'object') {
  7. return Cart.instance;
  8. }
  9. Cart.instance = this;
  10. this.storagePrefix = 'cart_';
  11. this.products = this.getCache('products', null, {
  12. 1: {
  13. productID: '',
  14. price: '',
  15. couponName: '',
  16. couponId: '',
  17. couponVal: '',
  18. couponList: []
  19. },
  20. 2: {
  21. productID: '',
  22. price: '',
  23. couponName: '',
  24. couponId: '',
  25. couponVal: '',
  26. couponList: []
  27. },
  28. 3: {
  29. productID: '',
  30. price: '',
  31. couponName: '',
  32. couponId: '',
  33. couponVal: '',
  34. couponList: []
  35. },
  36. 4: { // 洁牙
  37. productID: '',
  38. price: '',
  39. couponName: '',
  40. couponId: '',
  41. couponVal: '',
  42. couponList: []
  43. },
  44. 5: { // spa
  45. productID: '',
  46. price: '',
  47. couponName: '',
  48. couponId: '',
  49. couponVal: '',
  50. couponList: []
  51. },
  52. 6: { // 训犬
  53. productID: '',
  54. price: '',
  55. couponName: '',
  56. couponId: '',
  57. couponVal: '',
  58. couponList: []
  59. },
  60. 7: { // 断尾
  61. productID: '',
  62. price: '',
  63. couponName: '',
  64. couponId: '',
  65. couponVal: '',
  66. couponList: []
  67. },
  68. 8: { // 碳酸浴
  69. productID: '',
  70. price: '',
  71. couponName: '',
  72. couponId: '',
  73. couponVal: '',
  74. couponList: []
  75. },
  76. 9: {
  77. productID: '',
  78. price: '',
  79. couponName: '',
  80. couponId: '',
  81. couponVal: '',
  82. couponList: []
  83. }
  84. });
  85. this.petInfo = this.getCache('petInfo', null, {
  86. petID: '',
  87. productID: '',
  88. petName: '',
  89. petWeight: '',
  90. petPrice: ''
  91. });
  92. };
  93. Cart.prototype = new base();
  94. Cart.prototype.precheck = function(type, callback) {
  95. var productID = this.products[type]['productID'];
  96. var productParam = [{product_id: productID, count: 1}];
  97. api.precheck({
  98. products: JSON.stringify(productParam)
  99. }, function(res) {
  100. if (typeof(callback) == 'function') {
  101. callback(res);
  102. }
  103. })
  104. };
  105. return new Cart();
  106. })