test_lgq/niucloud/app/service/api/diy/DiyRouteService.php

68 lines
2.1 KiB
PHP
Raw Normal View History

2024-01-24 17:36:08 +08:00
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.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' ] ], [ 'site_id', '=', $this->site_id ] ])->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;
}
}