东风启辰小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

234 lines
6.4KB

  1. // pages/userMsg/userMsg.js
  2. const app = getApp()
  3. Component({
  4. /**
  5. * 组件的属性列表
  6. */
  7. properties: {
  8. },
  9. /**
  10. * 组件的初始数据
  11. */
  12. data: {
  13. imgUrl: app.globalData.urlStatic,//图片路径
  14. submitData: {
  15. realName: "",
  16. mobile: "",//电话
  17. province: "",//省份
  18. city: "",//城市
  19. district: "",//地区
  20. addressDetail: ""//详细
  21. },
  22. userData:{
  23. avatarUrl:"",
  24. nickName:""
  25. },
  26. isAddress: false,//是否有地址
  27. marginT: 0,
  28. },
  29. attached:function(){
  30. if (app.globalData.userPhoneType == "ios") {
  31. this.setData({
  32. marginT: -20
  33. })
  34. }
  35. if (app.globalData.openid) {
  36. this.loadFun();
  37. } else {
  38. app.globalData.openidSuccessFuc = this.loadFun;
  39. }
  40. },
  41. /**
  42. * 组件的方法列表
  43. */
  44. methods: {
  45. loadFun: function () {
  46. if (app.globalData.userInfoData) {
  47. this.data.userData.avatarUrl = app.globalData.userInfoData.avatarUrl;
  48. this.data.userData.nickName = app.globalData.userInfoData.nickName;
  49. this.setData({
  50. userData: this.data.userData
  51. })
  52. }
  53. this.getAddress();
  54. },
  55. getAddress: function () {//获取地址
  56. app.wxRequest(app.globalData.urlRoot + "address/getAddress", {}, res => {
  57. if (res.code == 200) {
  58. if (res.data) {
  59. this.data.isAddress = true;
  60. this.data.submitData.realName = res.data.realName;
  61. this.data.submitData.mobile = res.data.mobile;
  62. this.data.submitData.province = res.data.province;
  63. this.data.submitData.city = res.data.city;
  64. this.data.submitData.district = res.data.district;
  65. this.data.submitData.addressDetail = res.data.addressDetail;
  66. this.setData({
  67. submitData: this.data.submitData
  68. })
  69. }
  70. } else {
  71. wx.showToast({
  72. title: res.msg,
  73. icon: "none"
  74. })
  75. }
  76. }, this);
  77. },
  78. addAddress: function () {//添加地址
  79. app.wxRequest(app.globalData.urlRoot + "address/addAddress", this.data.submitData, res => {
  80. wx.showToast({
  81. title: res.msg,
  82. })
  83. if (res.code == 200) {
  84. this.closeXieyi();
  85. }
  86. }, this, "POST")
  87. },
  88. updateAddress: function () {//更新地址
  89. app.wxRequest(app.globalData.urlRoot + "address/updateAddress", this.data.submitData, res => {
  90. wx.showToast({
  91. title: res.msg,
  92. })
  93. if (res.code == 200) {
  94. this.closeXieyi();
  95. }
  96. }, this, "POST");
  97. },
  98. addressChange: function (e) {//所在地区发生改变
  99. this.data.submitData.province = e.detail.value[0];
  100. this.data.submitData.city = e.detail.value[1];
  101. this.data.submitData.district = e.detail.value[2];
  102. this.setData({
  103. submitData: this.data.submitData
  104. })
  105. },
  106. getNickName: function(e) {//获取昵称
  107. this.data.userData.nickName = e.detail.value;
  108. this.setData({
  109. userData: this.data.userData
  110. })
  111. },
  112. getRealName: function (e) {//获取收货人
  113. this.data.submitData.realName = e.detail.value;
  114. this.setData({
  115. submitData: this.data.submitData
  116. })
  117. },
  118. getMobile: function (e) {//获取手机号码
  119. this.data.submitData.mobile = e.detail.value;
  120. this.setData({
  121. submitData: this.data.submitData
  122. })
  123. },
  124. getAddressDetail: function (e) {//获取详细地址
  125. this.data.submitData.addressDetail = e.detail.value;
  126. this.setData({
  127. submitData: this.data.submitData
  128. })
  129. },
  130. saveUserMsg:function(){
  131. if (!this.data.submitData.realName) {
  132. wx.showToast({
  133. title: '请输入收货人',
  134. icon: "none"
  135. })
  136. return;
  137. }
  138. if (!app.mobileVerify(this.data.submitData.mobile)) {
  139. if (this.data.submitData.mobile) {
  140. wx.showToast({
  141. title: '请输入正确的电话',
  142. icon: 'none'
  143. })
  144. } else {
  145. wx.showToast({
  146. title: '请输入电话',
  147. icon: 'none'
  148. })
  149. }
  150. return;
  151. }
  152. if (!this.data.submitData.province) {
  153. wx.showToast({
  154. title: '请选择所在地区',
  155. icon: 'none'
  156. })
  157. return;
  158. }
  159. if (!this.data.submitData.addressDetail) {
  160. wx.showToast({
  161. title: '请输入详细地址',
  162. icon: "none"
  163. })
  164. return;
  165. }
  166. wx.showLoading({
  167. title: '保存中',
  168. mask: true
  169. })
  170. app.wxRequest(app.globalData.urlRoot + "userInfo/updateUserInfo", this.data.userData, res => {
  171. if (res.code == 200) {
  172. app.globalData.userInfoData.avatarUrl = this.data.userData.avatarUrl;
  173. app.globalData.userInfoData.nickName = this.data.userData.nickName;
  174. var userInfoData = wx.getStorageSync("userInfoData");
  175. userInfoData.avatarUrl = this.data.userData.avatarUrl;
  176. userInfoData.nickName = this.data.userData.nickName;
  177. wx.setStorageSync('userInfoData', userInfoData)
  178. this.submitAddress();
  179. }
  180. }, this, "POST")
  181. },
  182. submitAddress: function () {//保存地址
  183. if (this.data.isAddress) {
  184. this.updateAddress();
  185. } else {
  186. this.addAddress();
  187. }
  188. },
  189. closeXieyi: function () {
  190. this.triggerEvent('address')
  191. },
  192. changeHeadImg:function(){
  193. wx.chooseImage({
  194. count:1,
  195. success:(res)=>{
  196. wx.showLoading({
  197. title: '上传中',
  198. mask: true
  199. })
  200. wx.uploadFile({
  201. url: app.globalData.urlRoot + "upload/uploadImage",
  202. header: {
  203. "OPENID": app.globalData.openid,
  204. "VERSION": 100
  205. },
  206. filePath: res.tempFilePaths[0],
  207. name: "file",
  208. formData:{
  209. filePath:"avatar"
  210. },
  211. success: option => {
  212. wx.hideLoading();
  213. var json = JSON.parse(option.data);
  214. if (json.code==200){
  215. this.data.userData.avatarUrl = json.data[0].url;
  216. this.setData({
  217. userData: this.data.userData
  218. })
  219. }else{
  220. wx.showToast({
  221. title: option.msg,
  222. icon: 'none'
  223. })
  224. }
  225. }
  226. })
  227. }
  228. })
  229. }
  230. }
  231. })