Files
shop-platform/src/app/model/web/Config.php

938 lines
33 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
namespace app\model\web;
use app\model\system\Config as ConfigModel;
use app\model\BaseModel;
use app\model\system\Upgrade;
use app\model\upload\Upload;
/**
* 网站系统性设置
*/
class Config extends BaseModel
{
//缓存类型
private $cache_list = [
[
'name' => '数据缓存',
'desc' => '清除cache数据缓存',
'key' => 'content',
'btn' => '清除',
'icon' => 'public/static/img/cache/data.png'
],
[
'name' => '数据表缓存',
'desc' => '新增/修改数据表后,需要清除数据表缓存',
'key' => 'data_table_cache',
'btn' => '清除',
'icon' => 'public/static/img/cache/data_table.png'
],
[
'name' => '模板缓存',
'desc' => '模板缓存',
'key' => 'template_cache',
'btn' => '清除',
'icon' => 'public/static/img/cache/template.png'
],
/* [
'name' => '刷新菜单',
'desc' => '新增/修改插件菜单后,需要刷新插件菜单',
'key' => 'menu_cache',
'btn' => '刷新',
'icon' => 'public/static/img/cache/template.png'
],
[
'name' => '刷新自定义模板',
'desc' => '新增/修改自定义组件后,需要刷新自定义模板',
'key' => 'diy_view',
'btn' => '刷新',
'icon' => 'public/static/img/cache/template.png'
],*/
];
/**
* 验证码设置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setCaptchaConfig($data, $site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '验证码设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'CAPTCHA_CONFIG' ] ]);
return $res;
}
/**
* 查询验证码设置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getCaptchaConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'CAPTCHA_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'shop_login' => 1,
'shop_reception_login' => 1,
'shop_reception_register' => 1
];
} else {
if (isset($res[ 'data' ][ 'value' ][ 'shop_reception_login' ]) === false) {
$res[ 'data' ][ 'value' ][ 'shop_reception_login' ] = 1;
}
if (isset($res[ 'data' ][ 'value' ][ 'shop_reception_register' ]) === false) {
$res[ 'data' ][ 'value' ][ 'shop_reception_register' ] = 1;
}
}
return $res;
}
/**
* 默认图上传配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setDefaultImg($data, $site_id = 0, $app_module = 'shop')
{
$config_info = $this->getDefaultImg($site_id, $app_module)[ 'data' ][ 'value' ];
if (!empty($config_info)) {
$upload_model = new Upload();
if ($data[ 'goods' ] && $config_info[ 'goods' ] && $data[ 'goods' ] != $config_info[ 'goods' ]) {
$upload_model->deletePic($config_info[ 'goods' ], $site_id);
}
if ($data[ 'head' ] && $config_info[ 'head' ] && $data[ 'head' ] != $config_info[ 'head' ]) {
$upload_model->deletePic($config_info[ 'head' ], $site_id);
}
if ($data[ 'store' ] && $config_info[ 'store' ] && $data[ 'store' ] != $config_info[ 'store' ]) {
$upload_model->deletePic($config_info[ 'store' ], $site_id);
}
if ($data[ 'article' ] && $config_info[ 'article' ] && $data[ 'article' ] != $config_info[ 'article' ]) {
$upload_model->deletePic($config_info[ 'article' ], $site_id);
}
if ($data[ 'kefu' ] && $config_info[ 'kefu' ] && $data[ 'kefu' ] != $config_info[ 'kefu' ]) {
$upload_model->deletePic($config_info[ 'kefu' ], $site_id);
}
if ($data[ 'phone' ] && $config_info[ 'phone' ] && $data[ 'phone' ] != $config_info[ 'phone' ]) {
$upload_model->deletePic($config_info[ 'phone' ], $site_id);
}
}
$config = new ConfigModel();
$res = $config->setConfig($data, '默认图设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DEFAULT_IMAGE' ] ]);
return $res;
}
/**
* 默认图查询上传配置
* @param $site_id
* @param string $app_model
* @return array
*/
public function getDefaultImg($site_id, $app_model = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_model ], [ 'config_key', '=', 'DEFAULT_IMAGE' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'goods' => 'public/static/img/default_img/square.png',
'head' => 'public/static/img/default_img/head.png',
'store' => 'public/static/img/default_img/store.png',
'article' => 'public/static/img/default_img/article.png',
'kefu' => '',
'phone' => '',
];
}
if (empty($res[ 'data' ][ 'value' ][ 'head' ])) {
$res[ 'data' ][ 'value' ][ 'head' ] = 'public/static/img/default_img/head.png';
}
if (empty($res[ 'data' ][ 'value' ][ 'article' ])) {
$res[ 'data' ][ 'value' ][ 'article' ] = 'public/static/img/default_img/article.png';
}
if (empty($res[ 'data' ][ 'value' ][ 'store' ])) {
$res[ 'data' ][ 'value' ][ 'store' ] = 'public/static/img/default_img/store.png';
}
return $res;
}
/**
* 获取缓存类型
*/
public function getCacheList()
{
return $this->cache_list;
}
public function setCopyright($data, $site_id = 1, $app_model = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '版权设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_model ], [ 'config_key', '=', 'COPYRIGHT' ] ]);
return $res;
}
/**
* 获取版权信息
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getCopyright($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'COPYRIGHT' ] ]);
$auth_info = cache('auth_info_copyright');
if (empty($auth_info)) {
$upgrade_model = new Upgrade();
$auth_info = $upgrade_model->authInfo();
cache('auth_info_copyright', $auth_info, [ 'expire' => 604800 ]);
}
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'logo' => '',
'company_name' => '',
'copyright_link' => '',
'copyright_desc' => '',
'icp' => '',
'gov_record' => '',
'gov_url' => '',
'market_supervision_url' => ''
];
} else {
if (is_null($auth_info) || $auth_info[ 'code' ] != 0) {
$res[ 'data' ][ 'value' ][ 'logo' ] = '';
$res[ 'data' ][ 'value' ][ 'company_name' ] = '';
$res[ 'data' ][ 'value' ][ 'copyright_link' ] = '';
$res[ 'data' ][ 'value' ][ 'copyright_desc' ] = '';
}
}
// 检查是否授权
$res[ 'data' ][ 'value' ][ 'auth' ] = true;
return $res;
}
/**
* 授权设置
* @param $data
* @param int $site_id
* @param string $app_model
* @return array
*/
public function setAuth($data, $site_id = 1, $app_model = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '授权设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_model ], [ 'config_key', '=', 'AUTH' ] ]);
return $res;
}
/**
* 获取授权设置
* @return array
*/
public function getAuth($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'AUTH' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'code' => '',
];
}
return $res;
}
/**
* 地图设置
* @param $data
* @param int $site_id
* @param string $app_model
* @return array
*/
public function setMapConfig($data, $site_id, $app_model = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '地图设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_model ], [ 'config_key', '=', 'MAP_CONFIG' ] ]);
return $res;
}
/**
* 获取地图设置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getMapConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([['site_id', '=', $site_id], ['app_module', '=', $app_module], ['config_key', '=', 'MAP_CONFIG']]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'tencent_map_key' => '2PJBZ-A263Q-SED5B-4SAAB-HCUQ5-DUFHE',//默认一个地图TB5BZ-FBRRX-2RJ4C-76SZY-TYQ3H-F4BFC
'wap_is_open' => 1, // 手机端是否开启定位
'wap_valid_time' => 5 // 手机端定位有效期/分钟过期后将重新获取定位信息0为不过期
];
}
$res[ 'data' ][ 'value' ][ 'wap_is_open' ] = $res[ 'data' ][ 'value' ][ 'wap_is_open' ] ?? 1;
$res[ 'data' ][ 'value' ][ 'wap_valid_time' ] = $res[ 'data' ][ 'value' ][ 'wap_valid_time' ] ?? 5;
$res[ 'data' ][ 'value' ]['tencent_map_key'] = '2PJBZ-A263Q-SED5B-4SAAB-HCUQ5-DUFHE';
return $res;
}
/**
* 设置获取H5域名配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function seth5DomainName($data, $site_id = 1, $app_module = 'shop')
{
$search = '/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/';
if ($data[ 'deploy_way' ] == 'separate') {
if (!preg_match($search, $data[ 'domain_name_h5' ])) {
return $this->error('', '请输入正确的域名地址');
}
}
// 默认部署,更新店铺域名
if ($data[ 'deploy_way' ] == 'default') {
$this->setShopDomainConfig([
'domain_name' => __ROOT__
], $site_id);
}
$config = new ConfigModel();
$res = $config->setConfig($data, 'H5域名配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'H5_DOMAIN_NAME' ] ]);
return $res;
}
/**
* 获取H5域名配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getH5DomainName($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'H5_DOMAIN_NAME' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'domain_name_h5' => __ROOT__ . '/h5',
'deploy_way' => 'default'
];
}
return $res;
}
/**
* 设置域名跳转配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setDomainJumpConfig($data, $site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '获取域名跳转配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DOMAIN_JUMP_CONFIG' ] ]);
return $res;
}
/**
* 获取域名跳转配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getDomainJumpConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([
[ 'site_id', '=', $site_id ],
[ 'app_module', '=', $app_module ],
[ 'config_key', '=', 'DOMAIN_JUMP_CONFIG' ]
]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'jump_type' => 3, // 1用户前台2商家后台3引导页
];
}
return $res;
}
/**
* 设置获取PC域名配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setPcDomainName($data, $site_id = 1, $app_module = 'shop')
{
$search = '/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/';
if ($data[ 'deploy_way' ] == 'separate') {
if (!preg_match($search, $data[ 'domain_name_pc' ])) {
return $this->error('', '请输入正确的域名地址');
}
}
// 默认部署,更新店铺域名
if ($data[ 'deploy_way' ] == 'default') {
$this->setShopDomainConfig([
'domain_name' => __ROOT__
], $site_id);
}
$config = new ConfigModel();
$res = $config->setConfig($data, 'PC域名配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'PC_DOMAIN_NAME' ] ]);
return $res;
}
/**
* 获取PC域名配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getPcDomainName($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'PC_DOMAIN_NAME' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'domain_name_pc' => __ROOT__ . '/web',
'deploy_way' => 'default'
];
} else {
if ($res[ 'data' ][ 'value' ][ 'domain_name_pc' ] == '' || empty($res[ 'data' ][ 'value' ][ 'deploy_way' ]) || $res[ 'data' ][ 'value' ][ 'deploy_way' ] == 'default') {
$res[ 'data' ][ 'value' ] = [
'domain_name_pc' => __ROOT__ . '/web'
];
}
$res[ 'data' ][ 'value' ][ 'deploy_way' ] = $res[ 'data' ][ 'value' ][ 'deploy_way' ] ?? 'default';
}
return $res;
}
/**
* 设置热门搜索关键词
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setHotSearchWords($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品热门搜索关键词', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_HOT_SEARCH_WORDS_CONFIG' ] ]);
return $res;
}
/**
* 获取热门搜索关键词
* @param $site_id
* @param $app_module
* @return array
*/
public function getHotSearchWords($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_HOT_SEARCH_WORDS_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'words' => ''
];
}
return $res;
}
/**
* 设置商品推荐—猜你喜欢
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setGuessYouLike($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品推荐', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_GUESS_YOU_LIKE_CONFIG' ] ]);
return $res;
}
/**
* 获取商品推荐—猜你喜欢
* @param $site_id
* @param $app_module
* @return array
*/
public function getGuessYouLike($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_GUESS_YOU_LIKE_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'title' => '猜你喜欢',
'supportPage' => [ 'goods_detail', 'cart', 'collect', 'pay', 'order_detail', 'super_member', 'guafen', 'fenxiao_level' ],
'sources' => 'sort',
'goodsIds' => [],
'fontWeight' => false,
'padding' => 10,
'cartEvent' => 'detail',
'text' => '购买',
'textColor' => '#FFFFFF',
'theme' => 'default',
'aroundRadius' => 25,
'control' => true,
'bgColor' => '#FF6A00',
'style' => 'button',
'nameLineMode' => 'single',
'iconDiy' => [
'iconType' => 'icon',
'icon' => '',
'style=' => [
'fontSize' => '60',
'iconBgColor' => [],
'iconBgColorDeg' => 0,
'iconBgImg' => '',
'bgRadius' => 0,
'iconColor' => ['#000000'],
'iconColorDeg' => 0
]
],
];
}
$res[ 'data' ][ 'value' ][ 'nameLineMode' ] = $res[ 'data' ][ 'value' ][ 'nameLineMode' ] ?? 'single'; // 商品名称,单行、多行展示
return $res;
}
/**
* 获取启动广告
* @param $site_id
* @param $app_module
* @return array
*/
public function getDiyAdv($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DIY_STARTADV' ] ]);
if (empty($res[ 'data' ][ 'value' ])){
$res[ 'data' ][ 'value' ] = [
'list' =>[
[
'title'=>'启动广告',
'link'=>[
'name'=>''
],
'iconType'=>'img',
'imageUrl'=>"public/static/ext/diyview/img/preview/advs_default.png"
]
],
'advtype' => 1,
'advshow' => 1,
];
}
return $res;
}
/**
* 设置启动广告
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setDiyAdv($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '启动广告', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DIY_STARTADV' ] ]);
return $res;
}
/**
* 获取VR
* @param $site_id
* @param $app_module
* @return array
*/
public function getDiyVr($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DIY_VR' ] ]);
if (empty($res[ 'data' ][ 'value' ])){
$res[ 'data' ][ 'value' ] = [
'title' => '工厂展示',
'url' => 'https://baidu.com',
];
}
// $res[ 'data' ][ 'value' ][ 'nameLineMode' ] = $res[ 'data' ][ 'value' ][ 'nameLineMode' ] ?? 'single'; // 商品名称,单行、多行展示
return $res;
}
/**
* 设置VR
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setDiyVr($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, 'VR展示', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'DIY_VR' ] ]);
return $res;
}
/**
* 设置商品列表配置
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setGoodsListConfig($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品列表配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_LIST_CONFIG' ] ]);
return $res;
}
/**
* 设置商品列表配置
* @param $site_id
* @param $app_module
* @return array
*/
public function getGoodsListConfig($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_LIST_CONFIG' ] ]);
//数据格式化
if (empty($res[ 'data' ][ 'value' ])) {
$data = [
'fontWeight' => false,
'padding' => 10,
'cartEvent' => 'detail',
'text' => '购买',
'textColor' => '#FFFFFF',
'theme' => 'default',
'aroundRadius' => 25,
'control' => true,
'bgColor' => '#FF6A00',
'style' => 'button',
'nameLineMode' => 'single',
'iconDiy' => [
'iconType' => 'icon',
'icon' => '',
'style=' => [
'fontSize' => '60',
'iconBgColor' => [],
'iconBgColorDeg' => 0,
'iconBgImg' => '',
'bgRadius' => 0,
'iconColor' => ['#000000'],
'iconColorDeg' => 0
]
]
];
$res[ 'data' ][ 'value' ] = $data;
}
$res[ 'data' ][ 'value' ][ 'nameLineMode' ] = $res[ 'data' ][ 'value' ][ 'nameLineMode' ] ?? 'single'; // 商品名称,单行、多行展示
return $res;
}
/**
* 设置默认搜索关键词
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setDefaultSearchWords($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '默认搜索关键词', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_DEFAULT_SEARCH_WORDS_CONFIG' ] ]);
return $res;
}
/**
* 获取默认搜索关键词
* @param $site_id
* @param $app_module
* @return array
*/
public function getDefaultSearchWords($site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_DEFAULT_SEARCH_WORDS_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'words' => '搜索 商品'
];
}
return $res;
}
/**
* 设置商品排序方式
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setGoodsSort($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品默认排序方式', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_SORT_CONFIG' ] ]);
return $res;
}
/**
* 获取商品排序方式
* @param $site_id
* @param $app_module
* @return array
*/
public function getGoodsSort($site_id, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_SORT_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'type' => 'asc',
'default_value' => 100
];
}
return $res;
}
/**
* 设置PC端首页分类设置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setCategoryConfig($data, $site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, 'PC端首页分类设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'SHOP_CATEGORY_CONFIG' ] ]);
return $res;
}
/**
* 获取pc首页商品分类配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getCategoryConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'SHOP_CATEGORY_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'category' => 1,
'img' => 1
];
}
return $res;
}
/**
* 设置商品详情配置
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setGoodsDetailConfig($data, $site_id, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品详情配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_DETAIL_CONFIG' ] ]);
return $res;
}
/**
* 获取商品详情配置
* @param $site_id
* @param $app_module
* @return array
*/
public function getGoodsDetailConfig($site_id, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_DETAIL_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'nav_bar_switch' => 0, // 是否透明0不透明1透明
'introduction_color' => '#303133',
];
}
return $res;
}
/**
* 设置店铺域名配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setShopDomainConfig($data, $site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->setConfig($data, '店铺域名配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'SHOP_DOMAIN_CONFIG' ] ]);
return $res;
}
/**
* 获取店铺域名配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getShopDomainConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'SHOP_DOMAIN_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'domain_name' => __ROOT__,
];
$this->setShopDomainConfig($res[ 'data' ][ 'value' ], $site_id);
}
return $res;
}
public function checkQqMapKey($tencent_map_key, $type = 0)
{
$qq_map = new \app\model\map\QqMap(['key' => $tencent_map_key]);
$res = $qq_map->ipToDetail([
'ip' => request()->ip() != '127.0.0.1' ? $_SERVER[ 'REMOTE_ADDR' ] : '',
]);
if (!empty($res)) {
if ($res[ 'status' ] != 0 && $type == 0) {
$res[ 'message' ] = '腾讯地图配置错误,无法定位地址';
}
}
return $res;
}
// public function checkQqMapKey($tencent_map_key, $type = 0)
// {
// $url = 'https://apis.map.qq.com/ws/location/v1/ip?ip=' . $_SERVER['REMOTE_ADDR'] . '&key=' . $tencent_map_key;
// $curl = curl_init();
// curl_setopt($curl, CURLOPT_URL, $url);
// curl_setopt($curl, CURLOPT_HEADER, 0);
// curl_setopt($curl, CURLOPT_TIMEOUT, 1);
// curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
// $data = curl_exec($curl);
// if (!empty($data)) {
// $data = json_decode($data, true);
// if ($data[ 'status' ] != 0 && $type == 0) {
// $data[ 'message' ] = '腾讯地图配置错误,无法定位地址';
// }
// }
// return $data;
// }
/**
* 设置企业微信配置
* @param $data
* @param int $site_id
* @param string $app_module
* @return array
*/
public function setWxworkConfig($data, $site_id = 1, $app_module = 'shop')
{
// 只要提供了Secret就自动生成时间戳、随机字符串和签名
if (!empty($data['secret'])) {
$data['timestamp'] = time();
// 生成16位随机字符串
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$nonceStr = '';
for ($i = 0; $i < 16; $i++) {
$nonceStr .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
$data['nonceStr'] = $nonceStr;
// 生成SHA1签名
$string = 'secret=' . $data['secret'] . '&timestamp=' . $data['timestamp'] . '&nonceStr=' . $data['nonceStr'];
$data['signature'] = sha1($string);
}
$config = new ConfigModel();
$res = $config->setConfig($data, '企业微信配置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'WXWORK_CONFIG' ] ]);
return $res;
}
/**
* 获取企业微信配置
* @param int $site_id
* @param string $app_module
* @return array
*/
public function getWxworkConfig($site_id = 1, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'WXWORK_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'corp_id' => '',
'agent_id' => '',
'secret' => '',
'contact_id' => '',
'contact_url' => '',
'timestamp' => '',
'nonceStr' => '',
'signature' => '',
'enabled' => false
];
}
return $res;
}
/**
* 设置商品编码设置
* @param $data
* @param $site_id
* @param $app_module
* @return array
*/
public function setGoodsNo($data, $site_id, $app_module)
{
$config = new ConfigModel();
$res = $config->setConfig($data, '商品编码设置', 1, [ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_NO_CONFIG' ] ]);
return $res;
}
/**
* 获取商品编码设置
* @param $site_id
* @param $app_module
* @return array
*/
public function getGoodsNo($site_id, $app_module = 'shop')
{
$config = new ConfigModel();
$res = $config->getConfig([ [ 'site_id', '=', $site_id ], [ 'app_module', '=', $app_module ], [ 'config_key', '=', 'GOODS_NO_CONFIG' ] ]);
if (empty($res[ 'data' ][ 'value' ])) {
$res[ 'data' ][ 'value' ] = [
'uniqueness_switch' => 1,
];
}
return $res;
}
}