From cf17c2f7012fc4351f66c71d66a4aa3a9fe9e34a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 30 四月 2026 15:24:17 +0800
Subject: [PATCH] 代码生成
---
small-program/pages/index/index.vue | 71 +++++++++++++++++++++++++++--------
1 files changed, 54 insertions(+), 17 deletions(-)
diff --git a/small-program/pages/index/index.vue b/small-program/pages/index/index.vue
index 47d0bcb..3dd218b 100644
--- a/small-program/pages/index/index.vue
+++ b/small-program/pages/index/index.vue
@@ -84,6 +84,7 @@
</view>
<view class="toast-btn" @click="handleLocation">寮�鍚畾浣�</view>
</view>
+ <auth-login :show="showLogin" @close="showLogin = false"></auth-login>
<custom-tabbar></custom-tabbar>
</view>
</template>
@@ -98,7 +99,7 @@
CustomTabbar
},
computed: {
- ...mapState(['navHeight', 'statusbarHeight', 'address', 'latitude', 'cityId', 'longitude']),
+ ...mapState(['navHeight', 'statusbarHeight', 'address', 'latitude', 'cityId', 'longitude', 'token']),
currentAddress() {
return this.address && this.address !== '瀹氫綅涓�' ? this.address : '鑾峰彇瀹氫綅'
}
@@ -107,7 +108,10 @@
return {
bannerList: [],
pointList: [],
- ingOrder: null
+ ingOrder: null,
+ showLogin: false,
+ pendingNavigate: null,
+ lastLocationAuth: null
}
},
async onLoad() {
@@ -120,8 +124,40 @@
onShow() {
this.ingOrder =null
this.getIngorder()
+ this.checkLocationAuth()
+ },
+ watch: {
+ token(newToken) {
+ if (newToken && this.pendingNavigate) {
+ const fn = this.pendingNavigate
+ this.pendingNavigate = null
+ this.showLogin = false
+ fn()
+ }
+ }
},
methods: {
+ async checkLocationAuth() {
+ const _this = this
+ uni.getSetting({
+ success(res) {
+ const authLocation = res.authSetting['scope.userLocation']
+ if (_this.lastLocationAuth !== null && _this.lastLocationAuth !== authLocation) {
+ if (authLocation) {
+ _this.positioning()
+ }
+ }
+ _this.lastLocationAuth = authLocation
+ }
+ })
+ },
+ async getIngorder() {
+ var that =this
+ let res = await that.$u.api.getActiveOrderTip()
+ if (res && res.code === 200) {
+ this.ingOrder = res.data
+ }
+ },
jumpBannerDetail(item) {
if(!item.content || item.content =='' || item.type==0){
return
@@ -141,20 +177,23 @@
url:'/pages/delivery-order-detail/delivery-order-detail?userType=0&id='+id
})
},
- async getIngorder(){
- var that =this
- let res = await that.$u.api.getActiveOrderTip()
- if (res && res.code === 200) {
- this.ingOrder = res.data
- }
- },
jumpOrderList(status){
+ if (!this.token) {
+ this.pendingNavigate = () => this.jumpOrderList(status)
+ this.showLogin = true
+ return
+ }
uni.setStorageSync("orderStatus",status)
uni.switchTab({
url: '/pages/itinerary/itinerary'
})
},
jumpxiadan() {
+ if (!this.token) {
+ this.pendingNavigate = () => this.jumpxiadan()
+ this.showLogin = true
+ return
+ }
if (!this.cityId) return uni.showToast({
title: '褰撳墠鍩庡競鏆傛湭寮�閫�',
icon: 'none'
@@ -218,12 +257,10 @@
console.log(data, '==================閫夋嫨鍦板潃閫嗚В鏋�');
let info = data[0];
locParam.province = info.province;
- locParam.city = (info.regeocodeData.addressComponent.city && typeof info.regeocodeData.addressComponent.city === 'string')
- ? info.regeocodeData.addressComponent.city
- : info.regeocodeData.addressComponent.province;
+ locParam.adcode = info.regeocodeData.addressComponent.adcode
var ta = addr.name || '鍦板潃鑾峰彇澶辫触';
locParam.address = ta
- const resCity = await that.$u.api.getCityByName({ cityName: locParam.city })
+ const resCity = await that.$u.api.getCityByName({ code: locParam.adcode })
if (resCity.code === 200 && resCity.data) {
locParam.cityId = resCity.data.id
that.$store.commit('setPosition', locParam)
@@ -233,7 +270,6 @@
that.$store.commit('setPosition', locParam)
that.$store.commit('clearCityId')
that.pointList = []
- that.getNearbyShopList()
}
},
fail: function(err) {
@@ -259,23 +295,24 @@
isHighAccuracy: true,
success: function (addr) {
const locParam = { latitude: addr.latitude, longitude: addr.longitude };
- var myAmapFun = new amapFile.AMapWX({ key: 'f2e6c0bfcac14c27b4f0d6d0d5b9d7d' });
+ var myAmapFun = new amapFile.AMapWX({ key: that.$gaodeMapKey });
myAmapFun.getRegeo({
location: addr.longitude + ',' + addr.latitude,
success: async function(data) {
console.log(data, '==================鑾峰彇鍦板潃');
let info = data[0];
locParam.province = info.province;
- locParam.city = info.city;
+ locParam.adcode = info.regeocodeData.addressComponent.adcode;
locParam.area = info.district;
locParam.street = info.street;
var ta = info.name || '鍦板潃鑾峰彇澶辫触';
locParam.address = ta
- const resCity = await that.$u.api.getCityByName({ cityName: locParam.city })
+ const resCity = await that.$u.api.getCityByName({ code: locParam.adcode })
if (resCity.code === 200) {
locParam.cityId = resCity.data.id
}
that.$store.commit('setPosition', locParam)
+ that.getNearbyShopList()
that.$isResolve()
},
fail: (err) => {
--
Gitblit v1.9.3