东风启辰小程序端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  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. console.log("userData")
  199. app.globalData.userInfoData.avatarUrl = this.data.userData.avatarUrl;
  200. if(userInfoData){
  201. userInfoData.avatarUrl = this.data.userData.avatarUrl;
  202. }
  203. }
  204. if(this.data.userData.nickName){
  205. app.globalData.userInfoData.nickName = this.data.userData.nickName;
  206. if(userInfoData){
  207. userInfoData.nickName = this.data.userData.nickName;
  208. }
  209. }
  210. wx.setStorageSync('userInfoData', userInfoData)
  211. }
  212. this.submitAddress();
  213. }
  214. }, this, "POST")
  215. },
  216. submitAddress: function () {//保存地址
  217. if (this.data.isAddress) {
  218. this.updateAddress();
  219. } else {
  220. this.addAddress();
  221. }
  222. },
  223. closeXieyi: function () {
  224. this.triggerEvent('address')
  225. },
  226. changeHeadImg:function(){
  227. wx.chooseImage({
  228. count:1,
  229. success:(res)=>{
  230. this.setData({
  231. avatarUrlShow: res.tempFilePaths[0]
  232. })
  233. wx.uploadFile({
  234. url: app.globalData.urlRoot + "upload/uploadImage",
  235. header: {
  236. "OPENID": app.globalData.openid,
  237. "VERSION": 100
  238. },
  239. filePath: res.tempFilePaths[0],
  240. name: "file",
  241. formData:{
  242. filePath:"avatar"
  243. },
  244. success: option => {
  245. var json = JSON.parse(option.data);
  246. if (json.code==200){
  247. this.data.userData.avatarUrl = json.data[0].url;
  248. this.setData({
  249. userData: this.data.userData
  250. })
  251. }else{
  252. wx.showToast({
  253. title: option.msg,
  254. icon: 'none'
  255. })
  256. }
  257. }
  258. })
  259. }
  260. })
  261. }
  262. }
  263. })