2025-11-21 14:49:09 +08:00

146 lines
4.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\sys;
use app\service\api\diy\DiyConfigService;
use app\service\api\diy\DiyService;
use app\service\api\member\MemberConfigService;
use app\service\api\member\MemberLevelService;
use app\service\api\member\MemberService;
use app\service\api\sys\ConfigService;
use core\base\BaseApiController;
use think\Response;
class Config extends BaseApiController
{
/**
* 获取版权信息
* @return Response
*/
public function getCopyright()
{
return success((new ConfigService())->getCopyright());
}
/**
* 场景域名
* @return Response
*/
public function getSceneDomain()
{
return success((new ConfigService())->getSceneDomain());
}
/**
* 获取站点信息
* @return Response
*/
public function site()
{
return success((new ConfigService())->getWebSite());
}
/**
* 获取手机端首页列表
*/
public function getWapIndexList()
{
$data = $this->request->params([
['title', ''],
['key', ''] // 多个查询,逗号隔开
]);
return success((new ConfigService())->getWapIndexList($data));
}
/**
* 获取地图配置
* @return Response
*/
public function getMap()
{
return success((new ConfigService())->getMap());
}
/**
* 获取初始化数据信息
* @return Response
*/
public function init()
{
$data = $this->request->params([
['url', ''],
['openid', '']
]);
$config_service = new ConfigService();
$res = [];
$res['tabbar_list'] = (new DiyConfigService())->getBottomList();
$res['map_config'] = $config_service->getMap();
$res['site_info'] = $config_service->getWebSite();
$res[ 'site_info' ]['wap_url'] = $config_service->getSceneDomain()['wap_url'];
$res['member_level'] = (new MemberLevelService())->getList();
$res['login_config'] = (new MemberConfigService())->getLoginConfig($data['url']);
$res['theme_list'] = (new DiyService())->getDiyTheme();
$res['app_config'] = $config_service->getAppConfig();
$res['copyright'] = $config_service->getCopyright();
$openid_field = match ($this->request->getChannel()) {
'wechat' => 'wx_openid',
'weapp' => 'weapp_openid',
default => ''
};
// 根据来源查询是否已经存在用户, 如果存在则快捷登录时不再弹出授权弹框
// 根据来源查询是否绑定手机号, 如果绑定并且开启强制绑定则快捷登录时不再弹出绑定手机弹窗
$res['member_exist'] = 0;
$res['member_mobile_exist'] = 0;
if (!empty($data['openid'])) {
if (!empty($openid_field)) {
$res['member_exist'] = (new MemberService())->getCount([[$openid_field, '=', $data['openid']]]) > 0 ? 1 : 0;
$res['member_mobile_exist'] = (new MemberService())->getCount([[$openid_field, '=', $data['openid']], ['mobile', '<>', '']]) > 0 ? 1 : 0;
}
}
(new MemberService())->initMemberData();
event('initWap');
return success($res);
}
/**
* 获取公众号用户是否绑定手机
* @return Response
*/
public function getMemberMobileExist()
{
$data = $this->request->params([
['openid', '']
]);
$openid_field = match ($this->request->getChannel()) {
'wechat' => 'wx_openid',
'weapp' => 'weapp_openid',
default => ''
};
// 根据来源查询是否绑定手机号, 如果绑定并且开启强制绑定则快捷登录时不再弹出绑定手机弹窗
$res['member_mobile_exist'] = 0;
if (!empty($data['openid'])) {
if (!empty($openid_field)) {
$res['member_mobile_exist'] = (new MemberService())->getCount([[$openid_field, '=', $data['openid']], ['mobile', '<>', '']]) > 0 ? 1 : 0;
}
}
return success($res);
}
}