250 lines
6.2 KiB
PHP
250 lines
6.2 KiB
PHP
<?php
|
|
|
|
namespace app\common\library\share;
|
|
|
|
/**
|
|
* 分享链接
|
|
*/
|
|
class Links
|
|
{
|
|
/**
|
|
* 获取分享链接
|
|
* @param $type
|
|
* @param $params
|
|
* @return void
|
|
*/
|
|
public static function getLink($type,$params = []){
|
|
$link = self::getMobilePath();
|
|
|
|
switch ($type){
|
|
case 'goods':
|
|
$link .= '/pages/course/detail/detail';
|
|
break;
|
|
case 'physical':
|
|
$link .= '/pages/app/physical/detail/detail';
|
|
break;
|
|
case 'course':
|
|
$link .= '/pages/course/detail/detail';
|
|
break;
|
|
case 'coupon':
|
|
$link .= '/pages/app/coupon/receive/receive';
|
|
break;
|
|
case 'exercises':
|
|
$link .= '/pages/app/exam/detail/detail';
|
|
break;
|
|
case 'test':
|
|
$link .= '/pages/app/test/detail/detail';
|
|
break;
|
|
case 'vipcard':
|
|
$link .= '/pages/app/vip/center/center';
|
|
break;
|
|
case 'activity':
|
|
$link .= '/pages/app/activity/detail/detail';
|
|
break;
|
|
case 'order':
|
|
$link .= '/pages/order/detail/detail';
|
|
break;
|
|
case 'channels_share_link':
|
|
$link .= '/pages/app/channels/sharer/invite/invite';
|
|
break;
|
|
case 'activity_signin':
|
|
$link .= '/pages/app/activity/sign/sign';
|
|
break;
|
|
case 'page':
|
|
$link .= '/'.$params['path'];
|
|
break;
|
|
}
|
|
|
|
$link .= '?'. self::parseParams($type,$params);
|
|
|
|
return $link;
|
|
}
|
|
|
|
/**
|
|
* 获取小程序link
|
|
* @return void
|
|
*/
|
|
public static function getMpLink($type,$params){
|
|
$link = '';
|
|
|
|
switch ($type){
|
|
case 'goods':
|
|
$link = 'pages/course/detail/detail';
|
|
break;
|
|
case 'physical':
|
|
$link .= 'pages/app/physical/detail/detail';
|
|
break;
|
|
case 'course':
|
|
$link = 'pages/course/detail/detail';
|
|
break;
|
|
case 'exercises':
|
|
$link = 'pages/app/exam/detail/detail';
|
|
break;
|
|
case 'test':
|
|
$link = 'pages/app/test/detail/detail';
|
|
break;
|
|
case 'coupon':
|
|
$link = 'pages/app/coupon/receive/receive';
|
|
break;
|
|
case 'order':
|
|
$link = 'pages/order/detail/detail';
|
|
break;
|
|
case 'vipcard':
|
|
$link .= 'pages/app/vip/center/center';
|
|
break;
|
|
case 'channels_share_link':
|
|
$link .= 'pages/app/channels/sharer/invite/invite';
|
|
break;
|
|
case 'activity':
|
|
$link = 'pages/app/activity/detail/detail';
|
|
break;
|
|
case 'activity_signin':
|
|
$link = 'pages/app/activity/sign/sign';
|
|
break;
|
|
case 'page':
|
|
$link .= $params['path'];
|
|
break;
|
|
}
|
|
|
|
return ['link'=>$link,'params'=>self::parseParams($type,$params)];
|
|
}
|
|
|
|
|
|
/**
|
|
* 将params参数转为get参数
|
|
* @param $type
|
|
* @param $params
|
|
* @return string
|
|
*/
|
|
public static function parseParams($type,$params){
|
|
$fields = [
|
|
'goods'=>[
|
|
'id'=>'goods_id'
|
|
],
|
|
'course'=>[
|
|
'id'=>'id'
|
|
],
|
|
'physical'=>[
|
|
'id'=>'id'
|
|
],
|
|
'page'=>[
|
|
'id'=>'id'
|
|
],
|
|
'exercises'=>[
|
|
'id'=>'id'
|
|
],
|
|
'test'=>[
|
|
'id'=>'id'
|
|
],
|
|
'activity'=>[
|
|
'id'=>'id'
|
|
],
|
|
'channels_share_link'=>[
|
|
'code'=>'code'
|
|
],
|
|
'activity_signin'=>[
|
|
'id'=>'id'
|
|
],
|
|
'coupon'=>[
|
|
'id'=>'id'
|
|
],
|
|
'order'=>[
|
|
'order_no'=>'order_no'
|
|
]
|
|
];
|
|
|
|
$data = [];
|
|
|
|
$fields[$type]['share'] = 'share_id';
|
|
|
|
foreach ($fields[$type] as $index => $item){
|
|
if(isset($params[$item])){
|
|
$data[$index] = $params[$item];
|
|
}
|
|
}
|
|
|
|
return http_build_query($data);
|
|
}
|
|
|
|
|
|
/**
|
|
* 获取分享参数
|
|
* @param $type
|
|
* @param $val
|
|
* @return array
|
|
*/
|
|
public static function getShareParams($type,$val,$userId=0){
|
|
switch ($type){
|
|
case 'goods':
|
|
$params = [
|
|
'goods_id'=>$val
|
|
];
|
|
break;
|
|
case 'physical':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
|
|
case 'exercises':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
|
|
case 'test':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
|
|
case 'coupon':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
case 'activity':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
case 'channels_share_link':
|
|
$params = [
|
|
'code'=>$val
|
|
];
|
|
break;
|
|
case 'activity_signin':
|
|
$params = [
|
|
'id'=>$val
|
|
];
|
|
break;
|
|
case 'order':
|
|
$params = [
|
|
'order_no'=>$val
|
|
];
|
|
break;
|
|
case 'page':
|
|
$params = [
|
|
'path'=>$val
|
|
];
|
|
break;
|
|
}
|
|
|
|
if($userId){
|
|
$params['share_id'] = $userId;
|
|
}
|
|
|
|
return $params;
|
|
}
|
|
|
|
/**
|
|
* 获取移动端链接
|
|
* @return string
|
|
*/
|
|
public static function getMobilePath(){
|
|
global $_W;
|
|
return $_W['siteroot'].'/index.php?i='.$_W['uniacid'].'&route=#';
|
|
}
|
|
|
|
|
|
} |