address.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /**
  2. * 地址模型
  3. */
  4. define(['base', '$', 'native', 'api', 'user', 'config'], function(base, $, native, api, user) {
  5. var Address = function() {
  6. if (typeof Address.instance === 'object') {
  7. return Address.instance;
  8. }
  9. Address.instance = this;
  10. this.storagePrefix = 'address_';
  11. this.list = [];
  12. this.defaultAddress = {
  13. name: '',
  14. mobile: '',
  15. address: {
  16. province: '',
  17. city: '',
  18. area: '',
  19. detail: '',
  20. poi: {
  21. uid: '',
  22. name: ''
  23. }
  24. },
  25. position: [0, 0]
  26. };
  27. this.newAddress = []; // 保存新添加地址
  28. }
  29. Address.prototype = new base();
  30. Address.prototype.addAddress = function(data, callback){
  31. var that = this;
  32. api.addAddress( data, function(res) {
  33. // if (res.success) {
  34. // }
  35. if (typeof(callback) == 'function') {
  36. callback(res);
  37. }
  38. });
  39. };
  40. Address.prototype.getList = function(data, callback){
  41. var that = this;
  42. api.getAddressList(
  43. data
  44. , function(res) {
  45. if (res.success) {
  46. that.list = res.data;
  47. // that.defaultAddress = res.data[0];
  48. }
  49. if (typeof(callback) == 'function') {
  50. callback(res);
  51. }
  52. });
  53. };
  54. Address.prototype.editAddress = function(data, callback) {
  55. var that = this;
  56. api.editAddress( data, function(res) {
  57. if (res.success) {
  58. that.list = res.data;
  59. that.defaultAddress = res.data[0];
  60. }
  61. if (typeof(callback) == 'function') {
  62. callback(res);
  63. }
  64. });
  65. }
  66. Address.prototype.deleteAddress = function(userId, addressId, callback){
  67. var that = this;
  68. api.deleteAddress({
  69. address_id: addressId,
  70. user_id: userId,
  71. request_from: 'weixin'
  72. }, function(res){
  73. if (typeof(callback) == 'function') {
  74. callback(res);
  75. }
  76. })
  77. }
  78. return new Address();
  79. })