// user/address/address.js const app = getApp(); const util = app.loadUtils("util"); const regeneratorRuntime = app.loadAsync(); const model = app.loadModel("index"); const http = app.loadHttp(); Page({ /** * 页面的初始数据 */ data: { system: app.globalData.system, //设备相关信息 pageTitle: "添加地址", //头部标题 isBack: true,//显示返回 conten: "",//地址显示 name: "",//收货人姓名 tel: "",//收货人手机号 detail: "",//收货地址详情 radioItems: [ { name: '是', value: '0', checked: 'true' }, { name: '否', value: '1', }, ], updateAdd: "",//修改收货地址 modify: null,//0 修改地址 1 增加地址 isAdd: false,//防止表单重复提交 }, radioChange: function (e) { var checked = e.detail.value var changed = {} for (var i = 0; i < this.data.radioItems.length; i++) { if (checked.indexOf(this.data.radioItems[i].name) !== -1) { changed['radioItems[' + i + '].checked'] = true } else { changed['radioItems[' + i + '].checked'] = false } } this.setData(changed) }, // 接收修改地址 async upAdd() { let add = await model.storage.getSetting("updataAdd") if (!!add) { model.storage.deleteStorage('updataAdd') let conten = { id: add.id, address: add.address, address_component: { province: add.provinceName, city: add.cityName, district: add.countryName } } this.setData({ updateAdd: add, conten: conten }) } }, // 选择地址的方法 async add() { let data = await util.selectAdd() let conten = this.data.conten data.result.id = conten.id this.setData({ conten: data.result }) }, // 提交收货地址 async subAdd(e) { if (this.data.isAdd) return; let value = e.detail.value if (value.name == "") { model.msg.dataMsg({ content: "请输入联系人", type: "warning" }) return } if (value.tel == "") { model.msg.dataMsg({ content: "请输入手机号", type: "warning" }) return } if (!(/^1[3456789]\d{9}$/.test(value.tel))) { model.msg.dataMsg({ content: "请输入正确的手机号", type: "warning" }) return false; } if (this.data.conten == "") { model.msg.dataMsg({ content: "请选择收货地址", type: "warning" }) return } if (value.detail == "") { model.msg.dataMsg({ content: "请输入详情地址", type: "warning" }) return } let data = { userName: value.name, telNumber: value.tel, address: this.data.conten.address, provinceName: this.data.conten.address_component.province, cityName: this.data.conten.address_component.city, countryName: this.data.conten.address_component.district, detail: value.detail, is_default: 0 } // 判断是否选中默认 if (this.data.radioItems[0].checked) { data.is_default = 1 } // 修改地址需要地址id if (this.data.modify == 0) { data.id = this.data.conten.id } this.setData({ isAdd: true }) // 判断是否是修改地址 let url = this.data.modify == 0 ? `${http.api.editUserAddress}` : `${http.api.userAddress}` let res = await http.http.request2({ url: url, method: "POST", data: data }) if (res.data.status == 1) { model.msg.dataMsg({ content: res.data.msg, type: "success" }) // 成功1s后返回上一页 setTimeout(() => { wx.navigateBack({ }) }, 1000) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ modify: options.modify }) this.upAdd() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })