From 55c200b1e93f19a8dfba300da065e1d005bdd361 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com>
Date: Wed, 8 Mar 2023 15:51:13 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=94=A8=E6=88=B7=E5=9C=B0?=
=?UTF-8?q?=E5=9D=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/core/apis.js | 16 ++++++
src/pages/address/address.vue | 102 ++++++++++++++++++++++------------
src/pages/address/edit.vue | 57 ++++++++++++++++---
3 files changed, 133 insertions(+), 42 deletions(-)
diff --git a/src/core/apis.js b/src/core/apis.js
index 936ce5a..5af6309 100644
--- a/src/core/apis.js
+++ b/src/core/apis.js
@@ -23,6 +23,22 @@ export default {
info: {
url: "/user/getuserinfo",
auth: true,
+ },
+ address: {
+ list: {
+ url: "/Useraddress/getalladdress",
+ showLoading: true,
+ },
+ edit: {
+ url: "/Useraddress/applyaddress"
+ },
+ detail: {
+ url: "/Useraddress/addressinfo",
+ showLoading: true,
+ },
+ delete: {
+ url: "/Useraddress/deleteaddress"
+ }
}
},
project: {
diff --git a/src/pages/address/address.vue b/src/pages/address/address.vue
index bd62ef8..b318f63 100644
--- a/src/pages/address/address.vue
+++ b/src/pages/address/address.vue
@@ -49,30 +49,30 @@ export default {
openType: "list",
chooseAddressId: 0,
list: [
- {
- id: 1,
- isDefault: false,
- address: "四川省绵阳市高新区",
- detail: "火炬东街110号",
- name: "李(先生)",
- mobile: "18200000001",
- },
- {
- id: 2,
- isDefault: false,
- address: "四川省绵阳市高新区",
- detail: "火炬东街110号",
- name: "李(先生)",
- mobile: "18200000001",
- },
- {
- id: 3,
- isDefault: true,
- address: "四川省绵阳市高新区",
- detail: "火炬东街110号",
- name: "李(先生)",
- mobile: "18200000001",
- },
+ // {
+ // id: 1,
+ // isDefault: false,
+ // address: "四川省绵阳市高新区",
+ // detail: "火炬东街110号",
+ // name: "李(先生)",
+ // mobile: "18200000001",
+ // },
+ // {
+ // id: 2,
+ // isDefault: false,
+ // address: "四川省绵阳市高新区",
+ // detail: "火炬东街110号",
+ // name: "李(先生)",
+ // mobile: "18200000001",
+ // },
+ // {
+ // id: 3,
+ // isDefault: true,
+ // address: "四川省绵阳市高新区",
+ // detail: "火炬东街110号",
+ // name: "李(先生)",
+ // mobile: "18200000001",
+ // },
],
};
},
@@ -99,11 +99,30 @@ export default {
this.chooseAddressId = e.id;
}
},
- onShow() {},
+ onShow() {
+ this.list = [];
+ this.loadAddress();
+ },
onReady() {},
onReachBottom() {},
onPullDownRefresh() {},
methods: {
+ loadAddress() {
+ this.$request({
+ api: "user.address.list",
+ }).then((response) => {
+ response.data.forEach((item) => {
+ this.list.push({
+ id: item.id,
+ address: item.address,
+ detail: item.doorplate,
+ name: item.name,
+ mobile: item.mobil,
+ isDefault: item.default == 1,
+ });
+ });
+ });
+ },
selectAddress(address) {
if (this.openType == "choose") {
this.getOpenerEventChannel().emit("setAddress", address);
@@ -113,17 +132,18 @@ export default {
}
},
getWechatAddress() {
+ const that = this;
// #ifndef H5
- let wechatAddress = {};
+ let platformAddress = {};
uni.chooseAddress({
success: (data) => {
- wechatAddress.address = data.provinceName + data.cityName + data.countyName;
- wechatAddress.detail = data.detailInfo;
- wechatAddress.mobile = data.telNumber;
- wechatAddress.name = data.userName;
- wechatAddress.gender = 1;
- wechatAddress.isDefault = false;
- console.log(wechatAddress);
+ platformAddress.address = data.provinceName + data.cityName + data.countyName;
+ platformAddress.detail = data.detailInfo;
+ platformAddress.mobile = data.telNumber;
+ platformAddress.name = data.userName;
+ setTimeout(() => {
+ that.$utils.toPage("/pages/address/edit?addr=" + JSON.stringify(platformAddress));
+ }, 200);
},
});
// #endif
@@ -132,12 +152,24 @@ export default {
this.$utils.toPage("/pages/address/edit?id=" + id);
},
deleteAddress(id, index) {
+ const that = this;
uni.showModal({
title: "删除地址?",
content: "数据删除后不可恢复,请谨慎操作!",
- complete: (res) => {
+ complete(res) {
if (res.confirm) {
- this.list.splice(index, 1);
+ that.$request({
+ api: "user.address.delete",
+ data: {
+ id: id,
+ },
+ }).then((response) => {
+ if (response.code == 1) {
+ that.list.splice(index, 1);
+ return;
+ }
+ that.$utils.toast(response.msg);
+ });
}
},
});
diff --git a/src/pages/address/edit.vue b/src/pages/address/edit.vue
index 591753b..ed76e31 100644
--- a/src/pages/address/edit.vue
+++ b/src/pages/address/edit.vue
@@ -56,12 +56,7 @@
手机号码
-
+
@@ -95,6 +90,8 @@ export default {
isDefault: false,
name: "",
mobile: "",
+ longitude: 0,
+ latitude: 0,
};
},
components: {
@@ -108,6 +105,15 @@ export default {
uni.setNavigationBarTitle({
title: this.pageTitle,
});
+ this.id = e.id;
+ this.setAddressData();
+ }
+ if (e.addr) {
+ let platformAddress = JSON.parse(e.addr);
+ this.address = platformAddress.address;
+ this.detail = platformAddress.detail;
+ this.name = platformAddress.name;
+ this.mobile = platformAddress.mobile;
}
},
onShow() {},
@@ -116,7 +122,42 @@ export default {
onPullDownRefresh() {},
methods: {
save() {
- uni.navigateBack();
+ this.$request({
+ api: "user.address.edit",
+ data: {
+ id: this.id,
+ address: this.address,
+ doorplate: this.detail,
+ name: this.name,
+ mobil: this.mobile,
+ sex: this.gender == 1 ? "男" : "女",
+ default: this.isDefault ? 1 : 0,
+ lat: this.latitude,
+ lng: this.longitude,
+ },
+ }).then((response) => {
+ if (response.code == 1) {
+ return this.$utils.toPage("", {}, "back");
+ }
+ this.$utils.toast(response.msg);
+ });
+ },
+ setAddressData() {
+ this.$request({
+ api: "user.address.detail",
+ data: {
+ id: this.id,
+ },
+ }).then((response) => {
+ this.address = response.data.address;
+ this.detail = response.data.doorplate;
+ this.name = response.data.name;
+ this.mobile = response.data.mobil;
+ this.gender = response.data.sex == "男" ? 1 : 2;
+ this.isDefault = response.data.default == 1;
+ this.latitude = response.data.lat;
+ this.longitude = response.data.lng;
+ });
},
chooseLocation() {
const t = this;
@@ -124,6 +165,8 @@ export default {
success: ({ name, address, longitude, latitude }) => {
t.address = address;
t.detail = name;
+ t.longitude = longitude;
+ t.latitude = latitude;
},
fail: (error) => {},
});