Browse Source

埋点和分批发货fix

master
jiazhipeng 8 months ago
parent
commit
b1c6215e0f
  1. 14
      pages/index/index.js
  2. 8
      pages/index/index.wxml
  3. 12
      pages/order/pay/index.js
  4. 2
      pages/order/postOrder/index.wxml
  5. 23
      utils/https.js
  6. 15
      utils/https/common.js
  7. 65
      utils/util.js

14
pages/index/index.js

@ -668,7 +668,9 @@ Page({
// 轮播图点击
bannerClick: function(e) {
if (this.data.isTest) return;
let item = e.currentTarget.dataset.item;
let item = e.currentTarget.dataset.item;
let source = e.currentTarget.dataset.source;
if (source) { util.setGlobalPagePoint(source); }
console.log(item)
if (item.pagePoint) { this.newPagePoint(item.pagePoint) }
@ -794,6 +796,7 @@ Page({
if (item.pagePoint) {
this.newPagePoint(item.pagePoint)
}
util.setGlobalPagePoint(item.menu_name || "首页")
if (item.jump_type == "page") {
if (item.page.mini) {
@ -901,6 +904,8 @@ Page({
},
productGotoDetail: function(e) {
let item = e.currentTarget.dataset.item;
let source = e.currentTarget.dataset.source;
if (source) { util.setGlobalPagePoint(source); }
if (item.pagePoint) { this.newPagePoint(item.pagePoint) }
util.gotoDetail(item)
},
@ -935,13 +940,15 @@ Page({
// }
},
gotoDetail: function(e) {
let item = e.currentTarget.dataset.item;
let item = e.currentTarget.dataset.item;
let source = e.currentTarget.dataset.source;
if (source) { util.setGlobalPagePoint(source); }
commonApi._post("repurchase/repurchase/recordClick", {product_id:item.product_id})
// item.id = item.type=='post'?item.product_id:item.scene_id
if (item.pagePoint) { this.newPagePoint(item.pagePoint) }
// util.gotoDetail(item);
util.gotoDetail(item.goods);
},
pagePoint: function(e, type) {
@ -995,6 +1002,7 @@ Page({
if (this.data.showTime && !this.data.showFullAdv) {
wx.showTabBar()
}
util.clearGlobalPagePoint()
},
/**

8
pages/index/index.wxml

@ -103,7 +103,7 @@
<view style="width: 100%;" wx:if="{{xpthIndex==0}}">
<scroll-view scroll-x style="height:372rpx;padding-top: 25rpx;">
<view class="season-hot">
<view class="season-item" wx:for="{{list}}" wx:key="index" bind:tap="productGotoDetail" data-item="{{item}}">
<view class="season-item" wx:for="{{list}}" wx:key="index" bind:tap="productGotoDetail" data-item="{{item}}" data-source="当季热门">
<image src="{{item.headimg}}"></image>
<view class="season-content" style="padding:6rpx 12rpx;min-height: 130rpx;">
<view class="textOver2">{{item.title}}</view>
@ -121,7 +121,7 @@
<view class="xpth-product" wx:else="">
<!-- 左边的2个产品 -->
<view class="xpth-left">
<view class="xpth-item" wx:for="{{xpth.list}}" bindtap="productGotoDetail" data-item="{{item}}" wx:key="id">
<view class="xpth-item" wx:for="{{xpth.list}}" bindtap="productGotoDetail" data-item="{{item}}" wx:key="id" data-source="限时特惠">
<image class="prod-img" src="{{item.headimg}}" mode="aspectFill" />
<view class="xpth-item-content">
<view class="xpth-item-title textOver2">{{item.title}}</view>
@ -137,7 +137,7 @@
<swiper class="xpth-banner-swiper" autoplay="{{true}}" interval="{{3000}}" duration="{{300}}"
bindchange="changeBannerIndex" data-keyname="XPathBannerIndex">
<block wx:for="{{xpth.adv}}" wx:key="index">
<swiper-item bindtap="bannerClick" data-item="{{item}}">
<swiper-item bindtap="bannerClick" data-item="{{item}}" data-source="限时特惠">
<image src="{{item.head_img}}" mode="aspectFill"></image>
<!-- <view class="xpth-cover textOver2">{{item.title}}</view> -->
<!-- <image class="cover-image" src="https://static.ticket.sz-trip.com/uploads/20250526/90645448ce9a82c91916543bc6c4935c.png"></image> -->
@ -254,7 +254,7 @@
</view>
<view class="hot-list" wx:if="{{func_data.repurchase}}">
<view class="hot-list-item" wx:for="{{2}}" wx:for-index="number" wx:key="number">
<view wx:for="{{repurchaseList}}" wx:if="{{index%2==number}}" bindtap="gotoDetail" data-item="{{item}}" wx:key="id">
<view wx:for="{{repurchaseList}}" wx:if="{{index%2==number}}" bindtap="gotoDetail" data-item="{{item}}" data-source="回购榜" wx:key="id">
<view class="hot-item">
<view style="position:relative;flex-shrink: 0;">
<common-image width="100%" src="{{item.headimg}}" mode="aspectFill"></common-image>

12
pages/order/pay/index.js

@ -133,10 +133,16 @@ Page({
// 书券产品
if(res.data.order_product_list[0].product_id == 75012 || res.data.order_product_list[0].product_id == 75013 || res.data.order_product_list[0].product_id == 420265|| res.data.order_product_list[0].product_id == 421929 || res.data.order_product_list[0].product_id == 437166 || res.data.order_product_list[0].product_id == 437248){
if(res.data.order_product_list[0].product_id == 75012 ||
res.data.order_product_list[0].product_id == 75013 ||
res.data.order_product_list[0].product_id == 420265||
res.data.order_product_list[0].product_id == 421929 ||
res.data.order_product_list[0].product_id == 437166 ||
res.data.order_product_list[0].product_id == 437248 ||
res.data.order_product_list[0].product_id == 460429 ){
this.setData({
isBook:true,
payIndex:1
isBook:true,
payIndex:1
})
}
if(res.data.create_time && res.data.auto_close_time && res.data.state=='UNPAID'){

2
pages/order/postOrder/index.wxml

@ -40,7 +40,7 @@
<text>分批收货<text style="font-size: 24rpx;">(共{{item.sku.batch_count}}次)</text></text>
</view>
<view class="batch-info-tip">{{item.sku.batch_remark}}</view>
<view class="batch-info-tip" wx:if="{{item.sku.is_batch_shipment && item.sku.batch_remark}}">{{item.sku.batch_remark}}</view>
</view>
</view>

23
utils/https.js

@ -11,6 +11,7 @@ if (env == 'develop1') {
// baseUrl = "https://test.api.cloud.sz-trip.com/api/"
}
const orders = ['', 'weight', 'distance', 'sale_number', 'sale_price', 'price'];
//封装GET请求
function _get(url, data) {
//为了用户体验,加一个loading效果
@ -38,6 +39,7 @@ function _get(url, data) {
})
}
resolved(res.data);
util.detailPagePoint(url, res.data)
}
else {
rejected(res.data)
@ -88,23 +90,9 @@ function _post(url, data = {}) {
// icon: "none",
// })
// }
if (url.indexOf('product/get_product_detail') != -1) {
// 如果是产品详情的话 需要加埋点
_post('browse/ProductStatistics', {
uuid: wx.getStorageSync('uuid'),
product_id: res.data.data.id,
product_name: res.data.data.title,
type: res.data.data.type
})
util.pagePoint({
event: 'product_view',
param: {
type: res.data.data.type,
id: res.data.data.id
}
}, 1)
}
resolved(res.data);
resolved(res.data);
// if (url.indexOf('product/get_product_detail') != -1 ||) {
util.detailPagePoint(url, res.data)
}
else {
rejected(res.data);
@ -131,6 +119,7 @@ function user_post(url, data = {}, type) {
}
user_post_new(url, data, type).then(res => {
resolved(res)
util.detailPagePoint(url, res)
}).catch(err => {
rejected(err)
})

15
utils/https/common.js

@ -2,6 +2,7 @@ const baseUrl = "/";
const app = getApp();
import baseHttp from "../https.js";
import encodeData from "./myCropto.js"
import util from "../util.js"
const _get = (url, data) => {
return new Promise((resolved, rejected) => {
baseHttp._get(baseUrl + url, data).then(res => {
@ -34,13 +35,23 @@ const user_post = (url, data) => {
return new Promise((resolved, rejected) => {
if (url=='order/create' && data && data.data) {
console.log(data.data)
// 下单专题参数
try {
let orderData = JSON.parse(data.data);
let source_scene = util.getGlobalPagePoint() || "";
orderData.source_port = "mini";
// todo 从h5跳转要好好改
if (orderData.channel) { source_scene = orderData.channel }
orderData.source_scene = source_scene;
data.data = JSON.stringify(orderData)
} catch (e) {}
data = encodeData(data.data)
}
baseHttp.user_post(baseUrl + url, data).then(res => {
resolved(res)
util.detailPagePoint(url, res.data)
if (url=='order/create') {util.clearGlobalPagePoint()}
}).catch((err) => {
rejected(err)
})

65
utils/util.js

@ -470,11 +470,13 @@ const pagePoint = function(data,type) {
data = data.currentTarget.dataset
}
commonApi._post('browse/page_point',{
...data,
event: data.event,
param: data.param,
param: {...data.param, platform: 'mini'},
id: data.id,
userid: wx.getStorageSync('jstrip_userid'),
type: data.type
type: data.type,
}).then(res=>{
})
}
@ -506,6 +508,59 @@ const goMovieList= function(needReturn) {
// return '/pages/pbService/web/index?weburl=' + encodeURIComponent(tempUrl)
}
const setGlobalPagePoint = function (val) {
wx.setStorageSync("globalPagPoint", val)
}
const getGlobalPagePoint = function () {
return wx.getStorageSync('globalPagPoint')
}
const clearGlobalPagePoint = function () {
wx.removeStorageSync("globalPagPoint")
}
// 详情埋点接口 方便后续处理
const pagePointPostUrl = [
{url:"product/get_product_detail",event:"product_view", needBrowswe: true},
{url:"scene/detail",event:"scene_view", needBrowswe: false},
// {url: "Actcalendar/getActDetail", event:"activity_view", needBrowswe: false},
// {url: "travels/getDetail", event:"travel_view", needBrowswe: false},
]
const detailPagePoint = function (url, res) {
try {
console.log(res)
let pagePointRoute = pagePointPostUrl.find(v=>url.indexOf(v.url)>=0)
if (pagePointRoute) {
// 如果是产品详情的话 需要加埋点
// if (pagePointRoute.needBrowswe) {
// _post('browse/ProductStatistics', {
// uuid: wx.getStorageSync('uuid'),
// product_id: res.data.id,
// product_name: res.data.title,
// type: res.data.type
// })
// }
let pages = getCurrentPages(), view = pages[pages.length - 1], options= {};
// 如果游别的需求 把sourceFrom 换成id
if (view && view.options && view.options.sourceFrom) {
console.log(view.options)
options = view.options
setGlobalPagePoint(view.options.sourceFrom)
}
console.log(view.options)
pagePoint({
event: pagePointRoute.event,
param: {
...options,
type: res.type || res.data.type,
id: res.id|| res.data.id,
}
}, 1)
}
} catch(e) {console.log("error", e)}
}
module.exports = {
formatTime: formatTime,
@ -526,5 +581,9 @@ module.exports = {
formatMing:formatMing,
formatHou:formatHou,
goMovieDetail: goMovieDetail,
goMovieList: goMovieList
goMovieList: goMovieList,
setGlobalPagePoint: setGlobalPagePoint,
getGlobalPagePoint: getGlobalPagePoint,
clearGlobalPagePoint: clearGlobalPagePoint,
detailPagePoint: detailPagePoint,
}

Loading…
Cancel
Save