Merge remote-tracking branch 'origin/user_action' into send_coupon
| | |
| | | needToken: true |
| | | }); |
| | | } |
| | | /** |
| | | * 增加抽奖机会 |
| | | * |
| | | * @param params |
| | | */ |
| | | export function addPrizeNum(data) { |
| | | return http.request({ |
| | | url: `/lmk/prize/addPrizeNum`, |
| | | method: Method.POST, |
| | | needToken: true, |
| | | data:data |
| | | }); |
| | | } |
| | |
| | | paymentMethod + |
| | | "&payPrice=" + |
| | | this.cashierParams.price+ |
| | | "&orderType="+this.orderType |
| | | "&orderType="+this.orderType +"&orderSn="+this.cashierParams.orderSns |
| | | }); |
| | | }, |
| | | |
| | |
| | | <script> |
| | | // import goodsRecommend from "@/pages/cart/m-goods-recommend/index.vue"; |
| | | import { getSessionId, userAction } from "@/api/userAction.js"; |
| | | import {addPrizeNum} from '@/api/prize.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | this.from = options.from || ""; |
| | | this.payPrice = options.payPrice || 0; |
| | | this.orderType = options.orderType; |
| | | |
| | | let param = { |
| | | addType:"USER_BUY_ORDER_NUM", |
| | | extend:"", |
| | | } |
| | | let extend = {orderSn:options.orderSn} |
| | | param.extend = JSON.stringify(extend) |
| | | addPrizeNum(param); |
| | | param.addType = "USER_BUY_SUM_PRICE" |
| | | addPrizeNum(param); |
| | | }, |
| | | methods: { |
| | | checkOrder() { |
| | |
| | | </view> |
| | | <view style="display: flex;justify-content: space-around;"> |
| | | <view class="" @click="callPhone"> |
| | | 客服热线: 028-84472936 |
| | | 客服热线: 19980834650 |
| | | </view> |
| | | <view class="" @click="copyToClipboard"> |
| | | 客服微信: meiyikuang |
| | |
| | | success(e) { |
| | | if(e.confirm){ |
| | | uni.makePhoneCall({ |
| | | phoneNumber:'028-84472936' |
| | | phoneNumber:'19980834650' |
| | | }) |
| | | } |
| | | } |
| | |
| | | * 查看物流 |
| | | */ |
| | | navigateToLogistics(order) { |
| | | // uni.navigateTo({ |
| | | // url: |
| | | // "/pages/mine/msgTips/packageMsg/logisticsDetail?order_sn=" + order.sn, |
| | | // }); |
| | | uni.navigateTo({ |
| | | url: |
| | | `/pages/order/deliverDetail?order_sn=${order.sn}`, |
| | | "/pages/mine/msgTips/packageMsg/logisticsDetail?order_sn=" + order.sn, |
| | | }); |
| | | // uni.navigateTo({ |
| | | // url: |
| | | // `/pages/order/deliverDetail?order_sn=${order.sn}`, |
| | | // }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | </div> |
| | | <!-- 物流信息 --> |
| | | <view class="info-view logistics-view"> |
| | | <view class="logistics-List" v-if="logisticsList && logisticsList.traces && logisticsList.traces.length != 0 "> |
| | | <view class="logistics-List" v-if="logisticsList && logisticsList.traces && logisticsList.traces.length != 0 && !(orderPackage && orderPackage.length)"> |
| | | <view class="logistics-List-title"> |
| | | {{ logisticsList.traces[logisticsList.traces.length - 1].AcceptStation }} |
| | | </view> |
| | |
| | | }, |
| | | // 获取物流信息 |
| | | loadLogistics(sn) { |
| | | // getExpress(sn).then((res) => { |
| | | // this.logisticsList = res.data.result; |
| | | // }); |
| | | getExpress(sn).then((res) => { |
| | | this.logisticsList = res.data.result; |
| | | }); |
| | | }, |
| | | |
| | | // 分享当前拼团信息 |
| | |
| | | import { setPopupRedisTime, getPopupAcitivty } from '@/api/popup.js' |
| | | import { changeCollect } from "@/api/collect.js"; |
| | | import { saveShare, saveShareClickRecord } from "@/api/share.js"; |
| | | import { getSessionId, userAction } from "@/api/userAction.js"; |
| | | import { getSessionId, userAction,userShare } from "@/api/userAction.js"; |
| | | import { silentLogin } from "@/api/connect.js"; |
| | | import { getUserInfo } from "@/api/members"; |
| | | import storage from "@/utils/storage.js"; |
| | | import TopBar from "@/components/TopBar.vue"; |
| | | import { nextTick } from "vue"; |
| | | import { getVideoCover } from "@/api/common.js" |
| | | import {addPrizeNum} from '@/api/prize.js' |
| | | export default { |
| | | components: { TopBar, ActivityPopup }, |
| | | computed: { |
| | |
| | | similarlyLoading: false, // 相似视频加载 |
| | | marginBottom: 0 ,// 底部安全区域 |
| | | pageSessionNo:"", |
| | | shareId:"", |
| | | actionParam:{ |
| | | sessionId:'', |
| | | actionType:"PAGE", |
| | |
| | | pageParams:"{}", |
| | | pageStatus:"JOIN", |
| | | pageType:"LIST" |
| | | } |
| | | }, |
| | | shareParam:{ |
| | | pageCode:"RECOMMEND_VIDEO", |
| | | shareOption:"{}", |
| | | pageType:"LIST" |
| | | }, |
| | | } |
| | | }, |
| | | onShow() { |
| | | getSessionId().then(res=>{ |
| | | console.log('res',JSON.stringify(res)) |
| | | this.pageSessionNo = res.data.data |
| | | if(this.pageSessionNo){ |
| | | let param = this.actionParam; |
| | | let param = Object.assign({},this.actionParam); |
| | | this.actionParam.sessionId = this.pageSessionNo |
| | | param.sessionId = this.pageSessionNo |
| | | userAction(param) |
| | | } |
| | |
| | | } |
| | | }, |
| | | onUnload() { |
| | | let param = this.actionParam; |
| | | let param = Object.assign({},this.actionParam); |
| | | if (this.sendOnShow)return |
| | | param.pageStatus = "LEAVE" |
| | | userAction(param) |
| | | }, |
| | | onHide() { |
| | | this.startHidenTime = Date.now() |
| | | let param = this.actionParam; |
| | | let param = Object.assign({},this.actionParam); |
| | | this.sendOnShow = true; |
| | | param.pageStatus = "LEAVE" |
| | | userAction(param) |
| | |
| | | // } |
| | | |
| | | // }) |
| | | console.log(videoInfo) |
| | | return { |
| | | // 保存分享记录 |
| | | |
| | | // 返回一个Promise |
| | | return new Promise((resolve) => { |
| | | this.shareId = ''; |
| | | this.shareParam.shareOption = JSON.stringify({ |
| | | id:this.activityId |
| | | }) |
| | | userShare(this.shareParam).then(res => { |
| | | this.shareId = res.data.data; |
| | | let param = { |
| | | addType:"SHARE_GOODS_VIDEO", |
| | | extend:"", |
| | | } |
| | | let extend = {shareId:this.shareId} |
| | | param.extend = JSON.stringify(extend) |
| | | addPrizeNum(param); |
| | | // 当获取到shareId后,再resolve分享配置 |
| | | resolve({ |
| | | title: videoInfo.title, |
| | | path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}&shareId=${this.shareId}`, |
| | | imageUrl: videoInfo.coverUrl, |
| | | success(e) { |
| | | console.log("分享成功", e); |
| | | }, |
| | | fail(e) { |
| | | console.log('分享失败', e); |
| | | } |
| | | }); |
| | | }).catch(err => { |
| | | // 处理错误情况,例如使用默认参数 |
| | | console.error('获取分享ID失败', err); |
| | | resolve({ |
| | | title: videoInfo.title, |
| | | path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`, |
| | | imageUrl: videoInfo.coverUrl |
| | | } |
| | | // 保存分享记录 |
| | | }); |
| | | }); |
| | | }); |
| | | }, |
| | | methods: { |
| | | async openActivityPopup() { |
| | |
| | | } catch (e) { |
| | | console.error('存储失败:', e); |
| | | } |
| | | }else{ |
| | | shareStoreId = uni.getStorageSync('shareStoreId'); |
| | | shareStoreId = uni.getStorageSync('shareTime'); |
| | | console.log('从缓存读取参数:', { shareStoreId, shareTime }); |
| | | // this.bindMemberAndStore(shareStoreId, shareTime) |
| | | if (shareStoreId && shareTime) { |
| | | console.log('检测到有效参数,调用后端接口'); |
| | | this.bindMemberAndStore(shareStoreId, shareTime); |
| | | } else { |
| | | console.log('无有效参数,执行正常逻辑'); |
| | | } |
| | | } |
| | | this.initCOS() |
| | | }, |
| | |
| | | userAction(param) |
| | | } |
| | | }) |
| | | |
| | | this.userInfo = this.$options.filters.isLogin() || {}; |
| | | if (this.$options.filters.isLogin("auth")) { |
| | | this.getUserOrderNum(); |
| | |
| | | this.walletNum = 0; |
| | | this.couponNum = 0; |
| | | this.footNum = 0; |
| | | } |
| | | |
| | | let shareStoreId = uni.getStorageSync('shareStoreId'); |
| | | let shareTime = uni.getStorageSync('shareTime'); |
| | | console.log('从缓存读取参数:', { shareStoreId, shareTime }); |
| | | if (shareStoreId && shareTime) { |
| | | console.log('检测到有效参数,调用后端接口'); |
| | | this.bindMemberAndStore(shareStoreId, shareTime); |
| | | } else { |
| | | console.log('无有效参数,执行正常逻辑'); |
| | | } |
| | | }, |
| | | onPullDownRefresh() { |
| | |
| | | |
| | | mounted() { }, |
| | | methods: { |
| | | // 解析URL参数 |
| | | parseUrlParams(url) { |
| | | const params = {}; |
| | | // 处理可能存在的hash(如果有的话) |
| | | const cleanUrl = url.split('#')[0]; |
| | | const queryStr = cleanUrl.split('?')[1] || ''; |
| | | |
| | | queryStr.split('&').forEach(pair => { |
| | | const [key, value] = pair.split('='); |
| | | if (key) { |
| | | // 如果值存在,则解码,否则设为空字符串 |
| | | params[key] = value ? decodeURIComponent(value) : ''; |
| | | } |
| | | }); |
| | | |
| | | return params; |
| | | }, |
| | | async bindMemberAndStore(shareStoreId, shareTime){ |
| | | let form ={ |
| | | shareStoreId: shareStoreId, |