智慧教务系统 PHP-NiuCloud框架开发
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
2.1 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\diy;
use app\model\diy\DiyRoute;
use core\base\BaseApiService;
/**
* 自定义路由表服务层
* Class DiyRouteService
* @package app\service\api\diy
*/
class DiyRouteService extends BaseApiService
{
public function __construct()
{
parent::__construct();
$this->model = new DiyRoute();
}
/**
* 获取页面分享信息
* @param array $data
* @return array|void
*/
public function getShare(array $data = [])
{
$field = 'id,title,name,page,share,is_share';
$info = $this->model->field($field)->where([ [ 'page', '=', $data[ 'route' ] ] ])->findOrEmpty()->toArray();
$share = [];
if (!empty($info[ 'share' ])) {
$share = json_decode($info[ 'share' ], true);
$share[ 'route' ] = $info[ 'page' ];
$share[ 'query' ] = '';
$query = [];
if (!empty($data[ 'params' ])) {
$query = json_decode($data[ 'params' ], true);
}
if ($this->member_id > 0) {
$query[ 'mid' ] = $this->member_id;
}
if (!empty($query)) {
$str = [];
foreach ($query as $k => $v) {
$str[] = $k . '=' . $v;
}
$share[ 'query' ] = implode('&', $str);
}
$share[ 'url' ] = $share[ 'route' ] . ( $share[ 'query' ] ? '?' . $share[ 'query' ] : '' );
}
return $share;
}
}