Browse Source

feat: 新增地址调用微信接口

HaXeho 5 months ago
parent
commit
71f2aab733
38 changed files with 358 additions and 141 deletions
  1. 42 44
      errand/errand_app/manifest.json
  2. 64 69
      errand/errand_app/pages/address/address.vue
  3. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  4. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  5. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/address/address.js.map
  6. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/charge/charge.js.map
  7. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map
  8. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  9. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map
  10. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map
  11. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map
  12. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map
  13. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.js.map
  14. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.js.map
  15. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.js.map
  16. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map
  17. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map
  18. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  19. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map
  20. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js.map
  21. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.js.map
  22. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.js.map
  23. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  24. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js.map
  25. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-col/uni-col.js.map
  26. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-row/uni-row.js.map
  27. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-section/components/uni-section/uni-section.js.map
  28. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js.map
  29. 0 0
      errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js.map
  30. 8 0
      errand/errand_app/unpackage/dist/dev/mp-weixin/app.json
  31. 5 5
      errand/errand_app/unpackage/dist/dev/mp-weixin/common/vendor.js
  32. 84 23
      errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.js
  33. 0 0
      errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.wxml
  34. 148 0
      errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.wxss
  35. 7 0
      errand/errand_app/unpackage/dist/dev/mp-weixin/project.private.config.json
  36. BIN
      errand/files/1728458738949-i9HOpSqpUB2L5f94b43958c6724ce458b68e9b1d7685.jpg
  37. BIN
      errand/files/1728458843432-tF8JckBkUTmVfe1481ecbd0affc205e435d799ada86c.jpg
  38. BIN
      errand/files/1728459331971-LD2L4CPxKnwN5f94b43958c6724ce458b68e9b1d7685.jpg

+ 42 - 44
errand/errand_app/manifest.json

@@ -1,28 +1,24 @@
 {
-    "name" : "errand_app",
-    "appid" : "__UNI__DBC0602",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    /* 5+App特有相关 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
+    "name": "errand_app",
+    "appid": "__UNI__DBC0602",
+    "description": "",
+    "versionName": "1.0.0",
+    "versionCode": "100",
+    "transformPx": false,
+    "app-plus": {
+        "usingComponents": true,
+        "nvueStyleCompiler": "uni-app",
+        "compilerVersion": 3,
+        "splashscreen": {
+            "alwaysShowBeforeRender": true,
+            "waiting": true,
+            "autoclose": true,
+            "delay": 0
         },
-        /* 模块配置 */
-        "modules" : {},
-        /* 应用发布信息 */
-        "distribute" : {
-            /* android打包配置 */
-            "android" : {
-                "permissions" : [
+        "modules": {},
+        "distribute": {
+            "android": {
+                "permissions": [
                     "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                     "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@@ -40,33 +36,35 @@
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ]
             },
-            /* ios打包配置 */
-            "ios" : {},
-            /* SDK配置 */
-            "sdkConfigs" : {}
+            "ios": {},
+            "sdkConfigs": {}
         }
     },
-    /* 快应用特有相关 */
-    "quickapp" : {},
-    /* 小程序特有相关 */
-    "mp-weixin" : {
-        "appid" : "wx1d3197a113793d35",
-        "setting" : {
-            "urlCheck" : false
+    "quickapp": {},
+    "mp-weixin": {
+        "appid": "wx1d3197a113793d35",
+        "setting": {
+            "urlCheck": false
         },
-        "usingComponents" : true
+        "usingComponents": true,
+        "permission": {
+            "scope.userLocation": {
+                "desc": "需要获取您的位置信息以选择地址"
+            }
+        },
+        "requiredPrivateInfos": ["chooseLocation"]
     },
-    "mp-alipay" : {
-        "usingComponents" : true
+    "mp-alipay": {
+        "usingComponents": true
     },
-    "mp-baidu" : {
-        "usingComponents" : true
+    "mp-baidu": {
+        "usingComponents": true
     },
-    "mp-toutiao" : {
-        "usingComponents" : true
+    "mp-toutiao": {
+        "usingComponents": true
     },
-    "uniStatistics" : {
-        "enable" : false
+    "uniStatistics": {
+        "enable": false
     },
-    "vueVersion" : "2"
+    "vueVersion": "2"
 }

+ 64 - 69
errand/errand_app/pages/address/address.vue

@@ -3,7 +3,7 @@
 		<view class="box" style="margin-bottom: 10rpx;">
 			<uni-forms :modelValue="form" :rules="rules" ref="formRef" label-width="160rpx" label-align="right" validateTrigger="blur">
 				<uni-forms-item label="地址" name="address" required>
-					<uni-easyinput type="text" v-model="form.address" placeholder="请输入地址" />
+					<uni-easyinput type="text" v-model="form.address" placeholder="请选择地址" @focus="chooseLocation" />
 				</uni-forms-item>
 				<uni-forms-item label="门牌号" name="doorNo" required>
 					<uni-easyinput type="text" v-model="form.doorNo" placeholder="请输入门牌号" />
@@ -35,7 +35,6 @@
 				</view>
 			</view>
 		</view>
-		
 	</view>
 </template>
 
@@ -45,109 +44,105 @@
 			return {
 				user: uni.getStorageSync('xm-user'),
 				addressList: [],
-				form: {},
+				form: {
+					address: '',
+					doorNo: '',
+					userName: '',
+					phone: ''
+				},
 				rules: {
-					address: {
-						rules: [{
-							required: true,
-							errorMessage: '请填写地址',
-						}]
-					},
-					doorNo: {
-						rules: [{
-							required: true,
-							errorMessage: '请填写门牌号',
-						}]
-					},
-					userName: {
-						rules: [{
-							required: true,
-							errorMessage: '请填写联系人',
-						}]
-					},
-					phone: {
-						rules: [{
-							required: true,
-							errorMessage: '请填写联系电话',
-						}]
-					}
+					address: { rules: [{ required: true, errorMessage: '请填写地址' }] },
+					doorNo: { rules: [{ required: true, errorMessage: '请填写门牌号' }] },
+					userName: { rules: [{ required: true, errorMessage: '请填写联系人' }] },
+					phone: { rules: [{ required: true, errorMessage: '请填写联系电话' }] }
 				},
-				addressType: '' 
-			}
+				addressType: '',
+				choosingLocation: false // 新增状态
+			};
 		},
 		onLoad(option) {
-			this.addressType = option.addressType  // 地址类型
-			
-			this.load()
+			this.addressType = option.addressType;
+			this.load();
 		},
 		methods: {
+			chooseLocation() {
+				if (this.choosingLocation) return; // 防止重复触发
+				this.choosingLocation = true; // 设置状态为正在选择位置
+
+				wx.chooseLocation({
+					success: (res) => {
+						console.log(res);
+						this.form.address = res.name || res.address;
+					},
+					fail: (err) => {
+						console.error(err);
+						uni.showToast({ title: '获取位置失败', icon: 'none' });
+					},
+					complete: () => {
+						this.choosingLocation = false; // 选择完毕后重置状态
+					}
+				});
+			},
 			selectAddress(address) {
-				let orderStore = uni.getStorageSync('orderStore') || {}  // 先获取缓存的数据
+				let orderStore = uni.getStorageSync('orderStore') || {};
 				if (this.addressType === '取货') {
-					orderStore.pickAddress = address
+					orderStore.pickAddress = address;
 				} else {
-					orderStore.recieveAddress = address
+					orderStore.recieveAddress = address;
 				}
-				uni.setStorageSync('orderStore', orderStore)   // 再设置缓存的地址信息
+				uni.setStorageSync('orderStore', orderStore);
 				uni.redirectTo({
 					url: '/pages/preOrder/preOrder'
-				})
+				});
 			},
 			del(id) {
 				this.$request.del('/address/delete/' + id).then(res => {
 					if (res.code === '200') {
-						uni.showToast({
-							icon: 'success',
-							title: '操作成功'
-						})
-						this.load()
+						uni.showToast({ icon: 'success', title: '操作成功' });
+						this.load();
 					} else {
-						uni.showToast({
-							icon: 'none',
-							title: res.msg
-						})
+						uni.showToast({ icon: 'none', title: res.msg });
 					}
-				}) 
+				}); 
 			},
 			handleEdit(address) {
-				this.form = JSON.parse(JSON.stringify(address))
+				this.form = JSON.parse(JSON.stringify(address));
 			},
 			save() {
 				this.$refs.formRef.validate().then(res => {
-					this.form.userId = this.user.id
+					this.form.userId = this.user.id;
 					this.$request.post('/address/add', this.form).then(res => {
 						if (res.code === '200') {
-							uni.showToast({
-								icon: 'success',
-								title: '操作成功'
-							})
+							uni.showToast({ icon: 'success', title: '操作成功' });
 							
-							if(this.addressType){
-								this.selectAddress(res.data)  // 设置地址信息到缓存
+							if (this.addressType) {
+								this.selectAddress(res.data);
 							}
 							
-							this.form = {}
-							this.load()
+							this.form = {
+								address: '',
+								doorNo: '',
+								userName: '',
+								phone: ''
+							}; // 重置表单
+							this.load();
 						} else {
-							uni.showToast({
-								icon: 'none',
-								title: res.msg
-							})
+							uni.showToast({ icon: 'none', title: res.msg });
 						}
-					})
+					});
 				}).catch(error => {
-					console.error(error)
-				})
+					console.error(error);
+				});
 			},
 			load() {
 				this.$request.get('/address/selectAll', { userId: this.user.id }).then(res => {
-					this.addressList = res.data || []
-				})
+					this.addressList = res.data || [];
+				});
 			}
 		}
-	}
+	};
 </script>
 
 <style>
-
-</style>
+/* 你的样式代码 */
+</style>

File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/address/address.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/charge/charge.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/detail/detail.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-forms/components/uni-forms/uni-forms.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-rate/components/uni-rate/uni-rate.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-col/uni-col.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-row/components/uni-row/uni-row.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-section/components/uni-section/uni-section.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js.map


File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-tag/components/uni-tag/uni-tag.js.map


+ 8 - 0
errand/errand_app/unpackage/dist/dev/mp-weixin/app.json

@@ -51,5 +51,13 @@
       }
     ]
   },
+  "permission": {
+    "scope.userLocation": {
+      "desc": "需要获取您的位置信息以选择地址"
+    }
+  },
+  "requiredPrivateInfos": [
+    "chooseLocation"
+  ],
   "usingComponents": {}
 }

+ 5 - 5
errand/errand_app/unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -2342,7 +2342,7 @@ function initData(vueOptions, context) {
     try {
       data = data.call(context); // 支持 Vue.prototype 上挂的数据
     } catch (e) {
-      if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+      if (Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
         console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);
       }
     }
@@ -10884,7 +10884,7 @@ function type(obj) {
 
 function flushCallbacks$1(vm) {
     if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
-        if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+        if (Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
             var mpInstance = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
                 ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
@@ -10905,14 +10905,14 @@ function nextTick$1(vm, cb) {
     //1.nextTick 之前 已 setData 且 setData 还未回调完成
     //2.nextTick 之前存在 render watcher
     if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
-        if(Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
+        if(Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
             var mpInstance = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
                 ']:nextVueTick');
         }
         return nextTick(cb, vm)
     }else{
-        if(Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
+        if(Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG){
             var mpInstance$1 = vm.$scope;
             console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
                 ']:nextMPTick');
@@ -11008,7 +11008,7 @@ var patch = function(oldVnode, vnode) {
     });
     var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
     if (Object.keys(diffData).length) {
-      if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
+      if (Object({"NODE_ENV":"development","VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"errand_app","VUE_APP_PLATFORM":"mp-weixin","BASE_URL":"/"}).VUE_APP_DEBUG) {
         console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
           ']差量更新',
           JSON.stringify(diffData));

+ 84 - 23
errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.js

@@ -1,5 +1,34 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/address/address"],{
 
+/***/ 353:
+/*!**********************************************************************************************************!*\
+  !*** D:/A_GraduationDesign/errand/errand_app/pages/address/address.vue?vue&type=style&index=0&lang=css& ***!
+  \**********************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./address.vue?vue&type=style&index=0&lang=css& */ 354);
+/* harmony import */ var _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
+/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
+ /* harmony default export */ __webpack_exports__["default"] = (_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); 
+
+/***/ }),
+
+/***/ 354:
+/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
+  !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/A_GraduationDesign/errand/errand_app/pages/address/address.vue?vue&type=style&index=0&lang=css& ***!
+  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+// extracted by mini-css-extract-plugin
+    if(false) { var cssReload; }
+  
+
+/***/ }),
+
 /***/ 79:
 /*!********************************************************************************************!*\
   !*** D:/A_GraduationDesign/errand/errand_app/main.js?{"page":"pages%2Faddress%2Faddress"} ***!
@@ -33,16 +62,18 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony import */ var _address_vue_vue_type_template_id_db675620___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./address.vue?vue&type=template&id=db675620& */ 81);
 /* harmony import */ var _address_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./address.vue?vue&type=script&lang=js& */ 83);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _address_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _address_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
+/* harmony import */ var _address_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./address.vue?vue&type=style&index=0&lang=css& */ 353);
+/* harmony import */ var _HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../HBuilder/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
 
 var renderjs
 
 
 
 
+
 /* normalize component */
 
-var component = Object(_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
+var component = Object(_HBuilder_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
   _address_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
   _address_vue_vue_type_template_id_db675620___WEBPACK_IMPORTED_MODULE_0__["render"],
   _address_vue_vue_type_template_id_db675620___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
@@ -174,7 +205,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {
+/* WEBPACK VAR INJECTION */(function(uni, wx) {
 
 Object.defineProperty(exports, "__esModule", {
   value: true
@@ -220,13 +251,17 @@ exports.default = void 0;
 //
 //
 //
-//
 var _default = {
   data: function data() {
     return {
       user: uni.getStorageSync('xm-user'),
       addressList: [],
-      form: {},
+      form: {
+        address: '',
+        doorNo: '',
+        userName: '',
+        phone: ''
+      },
       rules: {
         address: {
           rules: [{
@@ -253,36 +288,58 @@ var _default = {
           }]
         }
       },
-      addressType: ''
+      addressType: '',
+      choosingLocation: false // 新增状态
     };
   },
   onLoad: function onLoad(option) {
-    this.addressType = option.addressType; // 地址类型
-
+    this.addressType = option.addressType;
     this.load();
   },
   methods: {
+    chooseLocation: function chooseLocation() {
+      var _this = this;
+      if (this.choosingLocation) return; // 防止重复触发
+      this.choosingLocation = true; // 设置状态为正在选择位置
+
+      wx.chooseLocation({
+        success: function success(res) {
+          console.log(res);
+          _this.form.address = res.name || res.address;
+        },
+        fail: function fail(err) {
+          console.error(err);
+          uni.showToast({
+            title: '获取位置失败',
+            icon: 'none'
+          });
+        },
+        complete: function complete() {
+          _this.choosingLocation = false; // 选择完毕后重置状态
+        }
+      });
+    },
     selectAddress: function selectAddress(address) {
-      var orderStore = uni.getStorageSync('orderStore') || {}; // 先获取缓存的数据
+      var orderStore = uni.getStorageSync('orderStore') || {};
       if (this.addressType === '取货') {
         orderStore.pickAddress = address;
       } else {
         orderStore.recieveAddress = address;
       }
-      uni.setStorageSync('orderStore', orderStore); // 再设置缓存的地址信息
+      uni.setStorageSync('orderStore', orderStore);
       uni.redirectTo({
         url: '/pages/preOrder/preOrder'
       });
     },
     del: function del(id) {
-      var _this = this;
+      var _this2 = this;
       this.$request.del('/address/delete/' + id).then(function (res) {
         if (res.code === '200') {
           uni.showToast({
             icon: 'success',
             title: '操作成功'
           });
-          _this.load();
+          _this2.load();
         } else {
           uni.showToast({
             icon: 'none',
@@ -295,21 +352,25 @@ var _default = {
       this.form = JSON.parse(JSON.stringify(address));
     },
     save: function save() {
-      var _this2 = this;
+      var _this3 = this;
       this.$refs.formRef.validate().then(function (res) {
-        _this2.form.userId = _this2.user.id;
-        _this2.$request.post('/address/add', _this2.form).then(function (res) {
+        _this3.form.userId = _this3.user.id;
+        _this3.$request.post('/address/add', _this3.form).then(function (res) {
           if (res.code === '200') {
             uni.showToast({
               icon: 'success',
               title: '操作成功'
             });
-            if (_this2.addressType) {
-              _this2.selectAddress(res.data); // 设置地址信息到缓存
+            if (_this3.addressType) {
+              _this3.selectAddress(res.data);
             }
-
-            _this2.form = {};
-            _this2.load();
+            _this3.form = {
+              address: '',
+              doorNo: '',
+              userName: '',
+              phone: ''
+            }; // 重置表单
+            _this3.load();
           } else {
             uni.showToast({
               icon: 'none',
@@ -322,17 +383,17 @@ var _default = {
       });
     },
     load: function load() {
-      var _this3 = this;
+      var _this4 = this;
       this.$request.get('/address/selectAll', {
         userId: this.user.id
       }).then(function (res) {
-        _this3.addressList = res.data || [];
+        _this4.addressList = res.data || [];
       });
     }
   }
 };
 exports.default = _default;
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"]))
 
 /***/ })
 

File diff suppressed because it is too large
+ 0 - 0
errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.wxml


+ 148 - 0
errand/errand_app/unpackage/dist/dev/mp-weixin/pages/address/address.wxss

@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* 你的样式代码 */
+

+ 7 - 0
errand/errand_app/unpackage/dist/dev/mp-weixin/project.private.config.json

@@ -8,6 +8,13 @@
   "condition": {
     "miniprogram": {
       "list": [
+        {
+          "name": "pages/address/address",
+          "pathName": "pages/address/address",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "认证",
           "pathName": "pages/certification/certification",

BIN
errand/files/1728458738949-i9HOpSqpUB2L5f94b43958c6724ce458b68e9b1d7685.jpg


BIN
errand/files/1728458843432-tF8JckBkUTmVfe1481ecbd0affc205e435d799ada86c.jpg


BIN
errand/files/1728459331971-LD2L4CPxKnwN5f94b43958c6724ce458b68e9b1d7685.jpg


Some files were not shown because too many files changed in this diff