东风启辰小程序端
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.

261 lines
7.2KB

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