diff --git a/pages/index/index.js b/pages/index/index.js index 2efadbe..34ff738 100644 --- a/pages/index/index.js +++ b/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() }, /** diff --git a/pages/index/index.wxml b/pages/index/index.wxml index f965d99..546ed64 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -103,7 +103,7 @@ - + {{item.title}} @@ -121,7 +121,7 @@ - + {{item.title}} @@ -137,7 +137,7 @@ - + @@ -254,7 +254,7 @@ - + diff --git a/pages/order/pay/index.js b/pages/order/pay/index.js index 68ab854..a278f65 100644 --- a/pages/order/pay/index.js +++ b/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'){ diff --git a/pages/order/postOrder/index.wxml b/pages/order/postOrder/index.wxml index 6affe90..769e0a5 100644 --- a/pages/order/postOrder/index.wxml +++ b/pages/order/postOrder/index.wxml @@ -40,7 +40,7 @@ 分批收货(共{{item.sku.batch_count}}次) - {{item.sku.batch_remark}} + {{item.sku.batch_remark}} diff --git a/utils/https.js b/utils/https.js index 66e3ef5..ac1e739 100644 --- a/utils/https.js +++ b/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) }) diff --git a/utils/https/common.js b/utils/https/common.js index 87c398e..ff3a02c 100644 --- a/utils/https/common.js +++ b/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) }) diff --git a/utils/util.js b/utils/util.js index f81ff7e..80d287f 100644 --- a/utils/util.js +++ b/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, }