From a9d507a13f5eff939b9dfb2242a204d445460d42 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期二, 06 八月 2024 18:26:25 +0800 Subject: [PATCH] update 跳转的逻辑栈 --- sub_pages/customer/trade/detail.vue | 141 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 114 insertions(+), 27 deletions(-) diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue index 4542c80..c050b1c 100644 --- a/sub_pages/customer/trade/detail.vue +++ b/sub_pages/customer/trade/detail.vue @@ -158,36 +158,52 @@ onLoad(options) { console.log('trade detail options', options) this.id = options.id || '' + + // #ifdef PUB_CUSTOMER + if (options.partnerUserId) { + let tmp = this + tmp.sharePartnerUserId = options.partnerUserId + //合伙人绑定的,判断当前用户,是否有登录,登录没绑定,没登录先缓存合伙人id,等注册和登录时候再弄 + setTimeout(() => { + if (tmp.currentInfo.id) { + tmp.bindPartnerUser(tmp.currentInfo.id, '') + } else { + tmp.sharePartnerUserId = options.partnerUserId + //没有登录到话设置到缓存 + if (tmp.sharePartnerUserId) { + tmp.$storage.setItem('cache_sharePartnerUserId', tmp.sharePartnerUserId) + } + } + + }, 1000) + } + // #endif if (this.id) { this.getDetail() } this.refreshShopNum() - if (options.partnerUserId) { - //合伙人绑定的,判断当前用户,是否有登录 - this.sharePartnerUserId = options.partnerUserId - // let tmp = this - // setTimeout(() => { - // if (!tmp.currentInfo.id) { - // //前往登录,,但是带上 - // } - // }, 500) - } + }, // #ifdef PUB_CUSTOMER onShareAppMessage() { let that = this; - var name = that.currentInfo.customerDTO&&that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO&&that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO&&that.currentInfo.partnerDTO.name || '' + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' //如果是合伙人的id,那么分享出去,需要附加id了 console.log('onShareAppMessage', this.currentInfo) var partnerUserId = '' - if (that.currentInfo.partnerDTO && currentInfo.partnerDTO.id) { - partnerUserId = this.currentInfo.id + + if (that.currentInfo.customerDTO && that.currentInfo.customerDTO.partnerId) { + partnerUserId = that.currentInfo.customerDTO.partnerId } + // if (that.currentInfo.partnerDTO && currentInfo.partnerDTO.id) { + // partnerUserId = this.currentInfo.id + // } var url = `/sub_pages/customer/trade/detail?partnerUserId=${partnerUserId}&id=${this.id}&shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 return { - + // title: this.dto.id ? (this.dto.name + " " + (this.dto.price || '-') + '元/扎 ' + (this.dto.unit || '')) : "花满芫", path: url, @@ -195,16 +211,18 @@ }, onShareTimeline() { let that = this; - var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && - currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' //如果是合伙人的id,那么分享出去,需要附加id了 var partnerUserId = '' - if (that.currentInfo.partnerDTO && currentInfo.partnerDTO.id) { - partnerUserId = this.currentInfo.id + + if (that.currentInfo.customerDTO && that.currentInfo.customerDTO.partnerId) { + partnerUserId = that.currentInfo.customerDTO.partnerId } var url = `/sub_pages/customer/trade/detail?partnerUserId=${partnerUserId}&id=${this.id}&shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 return { + // title: this.dto.id ? (this.dto.name + " " + (this.dto.price || '-') + '元/扎 ' + (this.dto.unit || '')) : "花满芫", path: url, @@ -212,6 +230,23 @@ }, // #endif methods: { + async bindPartnerUser(userId, name) { + //调用接口绑定 + this.$message.showLoading() + const { + code, + data + } = await this.$http.request('post', '/api/customer/bind/partner', { + data: { + partnerUserId: userId + } + }) + this.$message.hideLoading() + if (code == 0) { + this.$message.showToast(`绑定合伙人${name}成功`) + await this.$store.dispatch('getCurrentInfo') + } + }, async updateItemNum(item) { const res = await this.$message.confirm('', { editable: true, @@ -333,14 +368,18 @@ } }, async getDetail() { + var params = { + id: this.id, + } + if (this.sharePartnerUserId && !isNaN(parseInt(this.sharePartnerUserId))) { + params.partnerId = parseInt(this.sharePartnerUserId) + } this.$message.showLoading() const { code, data } = await this.$http.request('get', '/api/customer/flower/list/view', { - params: { - id: this.id - } + params: params }) if (code === 0) { this.dto = { @@ -359,14 +398,62 @@ }) return } - uni.navigateTo({ - url: '/sub_pages/customer/shopping/shopping' - }) + //判断堆栈,如果是购物车,就直接返回 + const pages = getCurrentPages(); + //如果上一层就是购物车,那么就返回,而不是跳转 + // console.log('toShopping',pages) + if (pages && pages.length >= 2) { + if (pages[pages.length - 2].route === "sub_pages/customer/shopping/shopping") { + uni.navigateBack() + return + } + } + if (pages.length >= 10) { + //直接强制购物车 + uni.reLaunch({ + url: '/sub_pages/customer/shopping/shopping' + }) + } else { + uni.navigateTo({ + url: '/sub_pages/customer/shopping/shopping' + }) + } + }, openbrand() { - uni.navigateTo({ - url: '/sub_pages/customer/shop/shop?id=' + (this.dto.id || '') - }) + //也要判断一下是否重复进入 + //判断堆栈,如果是店铺,就直接返回 + //或者是:从商铺到列表再到详情,再到商铺,这种也不行 + const pages = getCurrentPages(); + console.log('toShopping', pages) + if (pages && pages.length >= 2) { + if (pages[pages.length - 2].route === "sub_pages/customer/shop/shop") { + uni.navigateBack() + return + } + } + if (pages && pages.length >= 3) { + if (pages[pages.length - 3].route === "sub_pages/customer/shop/shop" && + pages[pages.length - 2].route === "sub_pages/customer/trade/list" + ) { + uni.navigateBack({ + delta: 2 + }) + return + } + } + + if (pages.length >= 10) { + //直接强制购物车 + uni.reLaunch({ + url: '/sub_pages/customer/shop/shop?id=' + (this.dto.supplierId || '') + }) + } else { + uni.navigateTo({ + url: '/sub_pages/customer/shop/shop?id=' + (this.dto.supplierId || '') + }) + } + } } } -- Gitblit v1.9.3