初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

157
app/model/system/AddonQuick.php Executable file
View File

@@ -0,0 +1,157 @@
<?php
/**
* Niushop商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.niushop.com
* =========================================================
*/
namespace app\model\system;
use app\model\BaseModel;
use app\model\system\Upgrade as UpgradeModel;
class AddonQuick extends BaseModel
{
/**
* 添加快捷方式
* @param $data
* @return array
*/
public function addAddonQuickMode($data)
{
//判断是否已存在该插件
$addon_count = model('addon_quick')->getCount([ [ 'name', '=', $data[ 'name' ] ] ]);
if ($addon_count > 0) {
return $this->error('', '该插件已添加快捷方式,请不要重复添加');
}
$data[ 'create_time' ] = time();
$res = model('addon_quick')->add($data);
return $this->success($res);
}
/**
* 删除快捷方式
* @param array $condition
* @return array
*/
public function deleteAddonQuickMode($condition = [])
{
$res = model('addon_quick')->delete($condition);
return $this->success($res);
}
/**
* 获取快捷方式信息
* @param array $condition
* @param string $field
* @return array
*/
public function getAddonQuickModeInfo($condition = [], $field = '*')
{
$info = model('addon_quick')->getInfo($condition, $field);
return $this->success($info);
}
/**
* 获取快捷方式类表
* @param array $condition
* @param int $page
* @param int $page_size
* @param string $order
* @param string $field
* @return array
*/
public function getAddonQuickModeList($condition = [], $order = '', $field = '*')
{
$list = model('addon_quick')->getList($condition, $field, $order);
return $this->success($list);
}
/**
* 判断快捷方式插件是否已安装
* @param $uninstall
* @param $install
* @return array
*/
public function isInstallAddonQuick($uninstall, $install)
{
//未安装的插件
$uninstall_name_arr = array_column($uninstall, 'name');
//已安装的插件
$install_name_arr = array_column($install, 'name');
//获取快捷方式插件
$addon_quick_list = $this->getAddonQuickModeList([], '', '*');
if (empty($addon_quick_list[ 'data' ])) {
return [
'uninstall' => $uninstall,
'install' => $install
];
} else {
foreach ($addon_quick_list[ 'data' ] as $k => $v) {
//判断是否在已安装的插件中
if (!in_array($v[ 'name' ], $install_name_arr)) {
//判断是否在未安装的插件中
if (empty($uninstall_name_arr) || !in_array($v[ 'name' ], $uninstall_name_arr)) {
$v[ 'is_quick' ] = 1;
$v[ 'download' ] = 1;
$uninstall[] = $v;
}
}
}
return [
'uninstall' => $uninstall,
'install' => $install
];
}
}
/**
* 根据插件类型获取官网插件
* @param $addon_list
* @param $type
* @return array
*/
public function getAddonQuickByAddonType($addon_list, $type)
{
//获取官网所有插件
$upgrade_model = new UpgradeModel();
$website_addon_list = $upgrade_model->getPluginGoodsList();
$arr = [];
if (empty($website_addon_list)) {
return $arr;
} else {
$addon_name_arr = array_column($addon_list, 'name');
foreach ($website_addon_list as $k => $v) {
if ($v[ 'type_mark' ] == $type) {
if (empty($addon_list)) {
$arr[] = $v;
} else {
//判断是否在插件中
if (!in_array($v[ 'addon_goods_key' ], $addon_name_arr)) {
$arr[] = $v;
}
}
}
}
return $arr;
}
}
}