Authored by 陈峰

Merge branch 'feature/links-to-other-miniapp' into 'release/6.9.0'

添加跳转其他小程序的规则



See merge request !1730
@@ -3,8 +3,17 @@ import $ from 'yoho-jquery'; @@ -3,8 +3,17 @@ import $ from 'yoho-jquery';
3 import tip from 'js/plugin/tip'; 3 import tip from 'js/plugin/tip';
4 import {transToMiniappPath} from 'js/common/miniapp-path-rules'; 4 import {transToMiniappPath} from 'js/common/miniapp-path-rules';
5 5
  6 +/**
  7 + * go.limitpurchase = 限定频道
  8 + * go.limitpurchase (带参数lp:xxxxx) = 限定频道详情页
  9 + * go.collagehome = 福利团
  10 + * go.activitytemplate = 拼团列表
  11 + * go.productDetail (带有参数activity_type:groupPurchase) = 拼团商品详情页
  12 + * @type {[*]}
  13 + */
6 const jumpAction = ['go.productDetail', 'go.list', 'go.h5', 'go.shop', 'go.poollist', 14 const jumpAction = ['go.productDetail', 'go.list', 'go.h5', 'go.shop', 'go.poollist',
7 - 'go.activitytemplate', 'go.collagehome', 'go.bargainlist', 'go.activitytemplate']; 15 + 'go.activitytemplate', 'go.collagehome', 'go.bargainlist', 'go.limitpurchase',
  16 + 'go.groupProductDetail', 'go.yoluckHome', 'go.yoluckDetail'];
8 17
9 class LinkHandle { 18 class LinkHandle {
10 constructor() { 19 constructor() {
@@ -43,8 +43,11 @@ const transToMiniappPath = (href) => { @@ -43,8 +43,11 @@ const transToMiniappPath = (href) => {
43 43
44 switch (paramsObj.action) { 44 switch (paramsObj.action) {
45 case 'go.productDetail': // 商品详情页 45 case 'go.productDetail': // 商品详情页
46 - if (paramsObj.params && paramsObj.params.product_skn) { 46 + if (paramsObj.params && paramsObj.params.product_skn &&
  47 + paramsObj.params.activity_type !== 'groupPurchase') {
47 path = `/pages/goodsDetail/goodsDetail?productSkn=${paramsObj.params.product_skn}&page_name=home`; 48 path = `/pages/goodsDetail/goodsDetail?productSkn=${paramsObj.params.product_skn}&page_name=home`;
  49 + } else if (paramsObj.params.activity_type === 'groupPurchase') {
  50 + paramsObj.action = 'go.groupProductDetail';
48 } 51 }
49 break; 52 break;
50 case 'go.list': // 列表页、专区 53 case 'go.list': // 列表页、专区
@@ -55,7 +58,18 @@ const transToMiniappPath = (href) => { @@ -55,7 +58,18 @@ const transToMiniappPath = (href) => {
55 break; 58 break;
56 case 'go.h5': 59 case 'go.h5':
57 if (paramsObj.params && paramsObj.params.url) { 60 if (paramsObj.params && paramsObj.params.url) {
58 - path = `/pages/webview/webview?page_name=home&url=${paramsObj.params.url}${_qsStringfy(paramsObj.params.param)}`; // eslint-disable-line 61 + let regHome = /yoluck\/index/;
  62 + let regDetail = /yoluck\/(\d+)\.html/;
  63 + let detailMatchResult = paramsObj.params.url.match(regDetail);
  64 +
  65 + if (regHome.test(paramsObj.params.url)) {
  66 + paramsObj.action = 'go.yoluckHome';
  67 + } else if (detailMatchResult && detailMatchResult[1]) {
  68 + paramsObj.action = 'go.yoluckDetail';
  69 + paramsObj.params.param.id = detailMatchResult[1];
  70 + } else {
  71 + path = `/pages/webview/webview?page_name=home&url=${paramsObj.params.url}${_qsStringfy(paramsObj.params.param)}`; // eslint-disable-line
  72 + }
59 } 73 }
60 break; 74 break;
61 case 'go.shop': 75 case 'go.shop':