chore: 添加静态资源文件和版本配置文件

添加大量图片、字体、音频等静态资源文件,包括用户界面图片、模板文件和安装界面素材
添加系统版本配置文件(.version)和常量定义文件(.constant)
更新供应商依赖文件,包括Symfony VarDumper组件和相关许可证文件
添加验证码配置文件(captcha.php)和.gitignore规则
This commit is contained in:
2026-03-06 20:14:23 +08:00
commit c9a98f342c
4485 changed files with 490986 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
<?php
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
class AppVersion extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'app_version';
}

View File

@@ -0,0 +1,91 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
class CapitalFlow extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'capital_flow';
/**
* 交易类型搜索器
* @param $query
* @param $value
*/
public function searchTradingTypeAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('trading_type', $value);
} else {
if ($value) $query->where('trading_type', $value);
}
}
/**
* 门店搜索器
* @param $query
* @param $value
*/
public function searchStoreIdAttr($query, $value)
{
if ($value) $query->where('store_id', $value);
}
/**
* 关键字搜索器
* @param $query
* @param $value
*/
public function searchKeywordsAttr($query, $value)
{
if ($value !== '') $query->where('order_id|uid|nickname|phone', 'like', '%' . $value . '%');
}
/**
* 批量id搜索器
* @param $query
* @param $value
*/
public function searchIdsAttr($query, $value)
{
if ($value != '') $query->whereIn('id', $value);
}
/**
* UID搜索器
* @param Model $query
* @param $value
*/
public function searchUidAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('uid', $value);
} else {
if ($value !== '') $query->where('uid', $value);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
class PrintDocument extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'print_document';
}

View File

@@ -0,0 +1,257 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use app\services\system\SystemMenusRelevanceServices;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 菜单规则模型
* Class SystemMenus
* @package app\model\system
*/
class SystemMenus extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_menus';
/**
* 参数修改器
* @param $value
* @return false|string
*/
public function setParamsAttr($value)
{
$value = $value ? explode('/', $value) : [];
$params = array_chunk($value, 2);
$data = [];
foreach ($params as $param) {
if (isset($param[0]) && isset($param[1])) $data[$param[0]] = $param[1];
}
return json_encode($data);
}
/**
* 参数获取器
* @param $_value
* @return mixed
*/
public function getParamsAttr($_value)
{
return is_string($_value) ? json_decode($_value, true) : $_value;
}
/**
* pid获取器
* @param $value
* @return mixed|string
*/
public function getPidAttr($value)
{
return !$value ? '顶级' : $this->where('pid', $value)->value('menu_name');
}
/**
* 默认条件查询器
* @param Model $query
* @param $value
*/
public function searchDefaultAttr($query)
{
$query->where(['is_show' => 1, 'access' => 1]);
}
/**
* 是否显示搜索器
* @param Model $query
* @param $value
*/
public function searchIsShowAttr($query, $value)
{
if ($value != '') {
$query->where('is_show', $value);
}
}
/**
* 是否删除搜索器
* @param Model $query
* @param $value
*/
public function searchIsDelAttr($query, $value)
{
$query->where('is_del', $value);
}
/**
* Pid搜索器
* @param Model $query
* @param $value
*/
public function searchPidAttr($query, $value)
{
$query->where('pid', $value ?? 0);
}
/**
* type搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value) $query->where('type', $value);
}
/**
* 规格搜索器
* @param Model $query
* @param $value
*/
public function searchRuleAttr($query, $value)
{
$query->whereIn('id', $value)->where('is_del', 0)->whereOr('pid', 0);
}
/**
* 搜索菜单
* @param Model $query
* @param $value
*/
public function searchKeywordAttr($query, $value)
{
if ($value != '') {
$query->whereLike('menu_name|menu_path|unique_auth|api_url|id|pid', "%$value%");
}
}
/**
* 方法搜索器
* @param Model $query
* @param $value
*/
public function searchActionAttr($query, $value)
{
$query->where('action', $value);
}
/**
* 控制器搜索器
* @param Model $query
* @param $value
*/
public function searchControllerAttr($query, $value)
{
$query->where('controller', lcfirst($value));
}
/**
* 访问地址搜索器
* @param Model $query
* @param $value
*/
public function searchUrlAttr($query, $value)
{
$query->where('api_url', $value);
}
/**
* 参数搜索器
* @param Model $query
* @param $value
*/
public function searchParamsAttr($query, $value)
{
$query->where(function ($query) use ($value) {
$query->where('params', $value)->whereOr('params', "'[]'");
});
}
/**
* 权限标识搜索器
* @param Model $query
* @param $value
*/
public function searchUniqueAttr($query, $value)
{
$query->where('is_del', 0);
if ($value) {
$query->whereIn('id', $value);
}
}
/**
* 菜单规格搜索
* @param Model $query
* @param $value
*/
public function searchRouteAttr($query, $value)
{
$query->where('auth_type', 1)->where('is_show', 1)->where('is_del', 0);
if ($value) {
$query->whereIn('id', $value);
}
}
/**
* Id搜索器
* @param Model $query
* @param $value
*/
public function searchIdAttr($query, $value)
{
$query->whereIn('id', $value);
}
/**
* is_show_path
* @param Model $query
* @param $value
*/
public function searchIsShowPathAttr($query, $value)
{
$query->where('is_show_path', $value);
}
/**
* auth_type
* @param Model $query
* @param $value
*/
public function searchAuthTypeAttr($query, $value)
{
$query->where('auth_type', $value);
}
public function searchKeywordsAttr($query, $value)
{
if ($value !== '') {
$ids = app()->make(SystemMenusRelevanceServices::class)->search(['keyword' => $value])->column('menu_id');
$query->where(function ($q) use ($value, $ids) {
$q->whereIn('id', $ids)->whereOr('menu_name','like', "%{$value}%");
});
}
}
}

View File

@@ -0,0 +1,57 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 菜单关联模型
* Class SystemMenus
* @package app\model\system
*/
class SystemMenusRelevance extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_menus_relevance';
public function searchMenuIdAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('menu_id', $value);
} else {
if ($value !== '') {
$query->where('menu_id', $value);
}
}
}
public function searchKeywordAttr($query, $value)
{
if ($value !== '') {
$query->whereLike('keyword', "%{$value}%");
}
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
class SystemRecommend extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_recommend';
protected $updateTime = false;
}

View File

@@ -0,0 +1,116 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 管理员权限规则
* Class SystemRole
* @package app\model\system\admin
*/
class SystemRole extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_role';
/**
* 规则修改器
* @param Model $value
* @return string
*/
public static function setRulesAttr($value)
{
return is_array($value) ? implode(',', $value) : $value;
}
/**
* type搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value) $query->where('type', $value);
}
/**
* store_id搜索器
* @param Model $query
* @param $value
*/
public function searchStoreIdAttr($query, $value)
{
if ($value) $query->where('store_id', $value);
}
/**
* 权限规格状态搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '') {
$query->where('status', $value);
}
}
/**
* 权限等级搜索器
* @param Model $query
* @param $value
*/
public function searchLevelAttr($query, $value)
{
$query->where('level', $value);
}
/**
* id搜索器
* @param Model $query
* @param $value
*/
public function searchIdAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('id', $value);
} else {
$query->where('id', $value);
}
}
/**
* 身份管理搜索
* @param Model $query
* @param $value
*/
public function searchRoleNameAttr($query, $value)
{
if ($value) {
$query->whereLike('role_name', '%' . $value . '%');
}
}
}

View File

@@ -0,0 +1,49 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 签到奖励
* Class SystemSignReward
* @package app\model\system
*/
class SystemSignReward extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_sign_reward';
/**类型搜索器
* @param $query
* @param $value
* @return void
*/
public function searchTypeAttr($query, $value)
{
if ($value !== '') $query->where('type', $value);
}
}

View File

@@ -0,0 +1,165 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system;
use app\model\user\User;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 用户申请
* Class SystemUserApply
* @package app\model\system\admin
*/
class SystemUserApply extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_user_apply';
/**
* 多图
* @param $value
* @return string
*/
public function setImagesAttr($value)
{
if ($value) {
return is_array($value) ? json_encode($value) : $value;
}
return '';
}
/**
* 多图获取器
* @param $value
* @return array|mixed
*/
public function getImagesAttr($value)
{
return is_string($value) ? json_decode($value, true) : [];
}
/**
* 关联user
* @return model\relation\HasOne
*/
public function user()
{
return $this->hasOne(User::class, 'uid', 'uid');
}
/**
* id搜索器
* @param Model $query
* @param $value
*/
public function searchIdAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('id', $value);
} else {
$query->where('id', $value);
}
}
/**
* 关键词搜索器
* @param $query Model
* @param $value
*/
public function searchKeywordAttr($query, $value)
{
if ($value !== '') $query->where('id|uid|name|phone|system_name|fail_msg|mark', 'like', '%' . $value . '%');
}
/**
* uid搜索器
* @param Model $query
* @param $value
*/
public function searchUidAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('uid', $value);
} else {
if($value !== '') $query->where('uid', $value);
}
}
/**
* 商户搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('type', $value);
} else {
if ($value !== '') $query->where('type', $value);
}
}
/**
* 关联门店ID、供应商ID搜索器
* @param Model $query
* @param $value
*/
public function searchRelationIdAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('relation_id', $value);
} else {
if ($value !== '') $query->where('relation_id', $value);
}
}
/**
* 权限规格状态搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '') {
$query->where('status', $value);
}
}
/**
* 是否删除搜索器
* @param Model $query
* @param $value
* @param $data
*/
public function searchIsDelAttr($query, $value)
{
if ($value !== '') $query->where('is_del', $value);
}
}

View File

@@ -0,0 +1,188 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\admin;
use app\model\supplier\SystemSupplier;
use crmeb\basic\BaseModel;
use crmeb\traits\JwtAuthModelTrait;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 管理员模型
* Class SystemAdmin
* @package app\model\system\admin
*/
class SystemAdmin extends BaseModel
{
use ModelTrait;
use JwtAuthModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_admin';
protected $insert = ['add_time'];
/**
* 权限数据
* @param $value
* @return false|string[]
*/
public static function getRolesAttr($value)
{
return explode(',', $value);
}
/**
* 供应商
* @return \think\model\relation\HasOne
*/
public function supplier()
{
return $this->hasOne(SystemSupplier::class, 'id', 'relation_id')->field(['id', 'supplier_name', 'admin_id', 'avatar', 'is_show'])->bind([
'supplier_id' => 'id',
'supplier_name',
'avatar',
'is_show'
]);
}
/**
* 管理员级别搜索器
* @param Model $query
* @param $value
* @param $data
*/
public function searchLevelAttr($query, $value)
{
if (is_array($value)) {
$query->where('level', $value[0], $value[1]);
} else {
$query->where('level', $value);
}
}
/**
* 管理员账号和姓名搜索器
* @param Model $query
* @param $value
*/
public function searchAccountLikeAttr($query, $value)
{
if ($value) {
$query->whereLike('account|real_name', '%' . $value . '%');
}
}
public function searchIdAttr($query, $value)
{
if ($value !== '') {
if (is_array($value)) {
$query->whereIn('id', $value);
} else {
$query->where('id', $value);
}
}
}
/**
* 管理员账号搜索器
* @param Model $query
* @param $value
*/
public function searchAccountAttr($query, $value)
{
if ($value) {
$query->where('account', $value);
}
}
/**
* 管理员电话搜索器
* @param Model $query
* @param $value
*/
public function searchPhoneAttr($query, $value)
{
if ($value != '') {
$query->where('phone', $value);
}
}
/**
* 管理员权限搜索器
* @param Model $query
* @param $roles
*/
public function searchRolesAttr($query, $roles)
{
if ($roles) {
$query->where("CONCAT(',',roles,',') LIKE '%,$roles,%'");
}
}
/**
* 是否删除搜索器
* @param Model $query
* @param $value
*/
public function searchIsDelAttr($query)
{
$query->where('is_del', 0);
}
/**
* 状态搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '' && $value != null) {
$query->where('status', $value);
}
}
/**
* 关联ID搜索器
* @param Model $query
* @param $value
*/
public function searchRelationIdAttr($query, $value)
{
if ($value != '' && $value != null) {
$query->where('relation_id', $value);
}
}
/**
* 状态搜索器
* @param Model $query
* @param $value
*/
public function searchAdminTypeAttr($query, $value)
{
if ($value != '' && $value != null) {
$query->where('admin_type', $value);
}
}
}

View File

@@ -0,0 +1,125 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\attachment;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 附件管理模型
* Class SystemAttachment
* @package app\model\system\attachment
*/
class SystemAttachment extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'att_id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_attachment';
/**
* 图片类型搜索器
* @param Model $query
* @param $value
*/
public function searchModuleTypeAttr($query, $value)
{
$query->where('module_type', $value ?: 1);
}
/**
* pid搜索器
* @param Model $query
* @param $value
*/
public function searchPidAttr($query, $value)
{
if ($value) $query->where('pid', $value);
}
/**
* name模糊搜索
* @param Model $query
* @param $value
*/
public function searchLikeNameAttr($query, $value)
{
if ($value) $query->where('name', 'LIKE', "$value%");
}
/**
* type搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('type', $value);
} else {
if ($value !== '') $query->where('type', $value);
}
}
/**
* 关联门店ID、供应商ID搜索器
* @param Model $query
* @param $value
*/
public function searchRelationIdAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('relation_id', $value);
} else {
if ($value !== '') $query->where('relation_id', $value);
}
}
/**
* FileType搜索器
* @param Model $query
* @param $value
*/
public function searchFileTypeAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('file_type', $value);
} else {
if ($value !== '') $query->where('file_type', $value);
}
}
/**
* store_id搜索器
* @param Model $query
* @param $value
*/
public function searchStoreIdAttr($query, $value)
{
if ($value) $query->where('relation_id', $value)->where('type', 1);
}
public function searchRealNameAttr($query, $value, $data)
{
if ($value !== '') $query->whereLike('real_name', "%$value%");
}
}

View File

@@ -0,0 +1,108 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\attachment;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 附件管理分类模型
* Class SystemAttachmentCategory
* @package app\model\system\attachment
*/
class SystemAttachmentCategory extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_attachment_category';
/**
* 附件分类昵称搜索器
* @param Model $query
* @param $value
*/
public function searchNameAttr($query, $value)
{
if ($value !== '') $query->where('name', 'like', '%' . $value . '%');
}
/**
* pid搜索器
* @param Model $query
* @param $value
*/
public function searchPidAttr($query, $value)
{
if ($value !== '') $query->where('pid', $value);
}
/**
* type搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value) $query->where('type', $value);
}
/**
* 关联门店ID、供应商ID搜索器
* @param Model $query
* @param $value
*/
public function searchRelationIdAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('relation_id', $value);
} else {
if ($value !== '') $query->where('relation_id', $value);
}
}
/**
* FileType搜索器
* @param Model $query
* @param $value
*/
public function searchFileTypeAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('file_type', $value);
} else {
if ($value !== '') $query->where('file_type', $value);
}
}
/**
* store_id搜索器
* @param Model $query
* @param $value
*/
public function searchStoreIdAttr($query, $value)
{
if ($value) $query->where('relation_id', $value)->where('type', 1);
}
}

View File

@@ -0,0 +1,107 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\config;
use app\model\store\StoreConfig;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 系统配置模型
* Class SystemConfig
* @package app\model\system\config
*/
class SystemConfig extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_config';
/**
* 一对一关联门店配置表
* @return \think\model\relation\HasOne
*/
public function storeConfig()
{
return $this->hasOne(StoreConfig::class, 'key_name', 'menu_name')->field(['key_name', 'type', 'relation_id', 'value'])->bind([
'store_value' => 'value',
]);
}
/**
* 菜单名搜索器
* @param Model $query
* @param $value
*/
public function searchMenuNameAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('menu_name', $value);
} else {
$query->where('menu_name', $value);
}
}
/**
* tab id 搜索
* @param Model $query
* @param $value
*/
public function searchTabIdAttr($query, $value)
{
$query->where('config_tab_id', $value);
}
/**
* 状态搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
$query->where('status', $value ?: 1);
}
/**
* value搜索器
* @param Model $query
* @param $value
*/
public function searchValueAttr($query, $value)
{
$query->where('value', $value);
}
/**
* is_store 搜索
* @param $query
* @param $value
*/
public function searchIsStoreAttr($query, $value)
{
if ($value) {
$query->where('is_store', $value);
}
}
}

View File

@@ -0,0 +1,99 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\config;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 配置分类模型
* Class SystemConfigTab
* @package app\model\system\config
*/
class SystemConfigTab extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_config_tab';
/**
* 状态搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '') {
$query->where('status', $value);
}
}
/**
* pid搜索器
* @param Model $query
* @param $value
*/
public function searchPidAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('pid', $value);
} else {
$value && $query->where('pid', $value);
}
}
/**
* 类型搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
$query->where('status', 1);
if ($value > -1) {
$query->where(['type' => $value, 'pid' => 0]);
}
}
/**
* 分类名称搜索器
* @param Model $query
* @param $value
*/
public function searchTitleAttr($query, $value)
{
$query->whereLike('title', '%' . $value . '%');
}
/**
* @param $query
* @param $value
*/
public function searchIsStoreAttr($query, $value)
{
if ($value !== '') {
$query->where('is_store', $value);
}
}
}

View File

@@ -0,0 +1,69 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\config;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 组合数据配置模型
* Class SystemGroup
* @package app\model\system\config
*/
class SystemGroup extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_group';
/**
* 配置名搜索器
* @param Model $query
* @param $value
*/
public function searchConfigNameAttr($query, $value)
{
$query->where('config_name', $value);
}
/**
* @param Model $query
* @param $value
*/
public function searchTitleAttr($query, $value)
{
if ($value != '') {
$query->whereLIke('id|name|info|config_name', "%$value%");
}
}
/**
* 查询分类
* @param Model $query
* @param $value
*/
public function searchCateIdAttr($query, $value)
{
$query->where('cate_id', $value);
}
}

View File

@@ -0,0 +1,64 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\config;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 组合数据数据列表模型
* Class SystemGroupData
* @package app\model\system\config
*/
class SystemGroupData extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_group_data';
/**
* 状态搜索器
* @param $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '') {
$query->where('status', $value);
}
}
/**
* Gid搜索器
* @param Model $query
* @param $value
*/
public function searchGidAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn('gid', $value);
} else {
$query->where('gid', $value);
}
}
}

View File

@@ -0,0 +1,59 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\config;
use crmeb\basic\BaseModel;
/**
* 云存储
* Class SystemStorage
* @package app\model\system\config
*/
class SystemStorage extends BaseModel
{
/**
* @var string
*/
protected $name = 'system_storage';
/**
* @var string
*/
protected $pk = 'id';
/**
* @var bool
*/
protected $autoWriteTimestamp = false;
/**
* @param $query
* @param $value
*/
public function searchNameAttr($query, $value)
{
$query->where('name', $value);
}
/**
* @param $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value !== '') {
$query->where('type', $value);
}
}
}

View File

@@ -0,0 +1,113 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\form;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
class SystemForm extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_form';
protected $updateTime = false;
/**
* 添加时间获取器
* @param $value
* @return false|string
*/
public function getAddTimeAttr($value)
{
return date('Y-m-d H:i:s', $value);
}
/**
* 修改时间获取器
* @param $value
* @return false|string
*/
public function getUpdateTimeAttr($value)
{
return date('Y-m-d H:i:s', $value);
}
/**
* 类型搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value != '') {
if (is_array($value)) {
$query->whereIn('type', $value);
} else {
$query->where('type', $value);
}
}
}
/**
* 版本号搜索器
* @param Model $query
* @param $value
*/
public function searchVersionAttr($query, $value)
{
if ($value != '') $query->where('version', $value);
}
/**
* 是否使用搜索器
* @param Model $query
* @param $value
*/
public function searchStatusAttr($query, $value)
{
if ($value != '') $query->where('status', $value);
}
/**
* 名称搜索器
* @param Model $query
* @param $value
*/
public function searchNameAttr($query, $value)
{
if ($value != '') $query->where('name', $value);
}
/**
* 是否删除搜索器
* @param Model $query
* @param $value
*/
public function searchIsDelAttr($query, $value)
{
if ($value !== '') $query->where('is_del', $value);
}
}

View File

@@ -0,0 +1,149 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\form;
use app\model\user\User;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
class SystemFormData extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_form_data';
protected $updateTime = false;
/**
* 添加时间获取器
* @param $value
* @return false|string
*/
public function getAddTimeAttr($value)
{
return date('Y-m-d H:i:s', $value);
}
/**
* 收集数据信息
* @param $value
* @return array|mixed
*/
protected function getValueAttr($value)
{
if ($value) {
return is_string($value) ? json_decode($value, true) : $value;
}
return [];
}
/**
* 关联user
* @return \think\model\relation\HasOne
*/
public function user()
{
return $this->hasOne(User::class, 'uid', 'uid')->field('uid,nickname,avatar,phone')->bind(['nickname', 'avatar', 'phone']);
}
/**
* 关联系统表单
* @return \think\model\relation\HasOne
*/
public function systemForm()
{
return $this->hasOne(SystemForm::class, 'id', 'system_form_id')->field('id,name')->bind(['system_form_name' => 'name']);
}
/**
* UID搜索器
* @param Model $query
* @param $value
*/
public function searchUidAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('uid', $value);
} else {
if ($value !== '') $query->where('uid', $value);
}
}
/**
* system_form_id搜索器
* @param Model $query
* @param $value
*/
public function searchSystemFormIdAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('system_form_id', $value);
} else {
if ($value !== '') $query->where('system_form_id', $value);
}
}
/**
* 类型搜索器
* @param Model $query
* @param $value
*/
public function searchTypeAttr($query, $value)
{
if ($value != '') {
if (is_array($value)) {
$query->whereIn('type', $value);
} else {
$query->where('type', $value);
}
}
}
/**
* 关联门店ID、供应商ID搜索器
* @param Model $query
* @param $value
*/
public function searchRelationIdAttr($query, $value)
{
if (is_array($value)) {
if ($value) $query->whereIn('relation_id', $value);
} else {
if ($value !== '') $query->where('relation_id', $value);
}
}
/**
* 是否删除搜索器
* @param Model $query
* @param $value
*/
public function searchIsDelAttr($query, $value)
{
if ($value !== '') $query->where('is_del', $value);
}
}

View File

@@ -0,0 +1,38 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\log;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
/**
* 文件校验模型
* Class SystemFile
* @package app\model\system\log
*/
class SystemFile extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_file';
}

View File

@@ -0,0 +1,94 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\log;
use crmeb\basic\BaseModel;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 日志模型
* Class SystemLog
* @package app\model\system\log
*/
class SystemLog extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_log';
protected $insert = ['add_time'];
protected function setAddTimeAttr()
{
return time();
}
/**
* @param $query
* @param $value
*/
public function searchStoreIdAttr($query, $value)
{
$query->where('store_id', $value);
}
/**
* 访问方式搜索器
* @param Model $query
* @param $value
*/
public function searchPagesAttr($query, $value)
{
$query->whereLike('page', '%' . $value . '%');
}
/**
* 访问路径搜索器
* @param Model $query
* @param $value
*/
public function searchPathAttr($query, $value)
{
$query->whereLike('path', '%' . $value . '%');
}
/**
* ip搜索器
* @param Model $query
* @param $value
*/
public function searchIpAttr($query, $value)
{
$query->where('ip', 'LIKE', "%$value%");
}
/**
* 管理员id搜索器
* @param Model $query
* @param $value
*/
public function searchAdminIdAttr($query, $value)
{
$query->whereIn('admin_id', $value);
}
}

View File

@@ -0,0 +1,43 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\model\system\timer;
use crmeb\basic\BaseModel;
use crmeb\traits\JwtAuthModelTrait;
use crmeb\traits\ModelTrait;
use think\Model;
/**
* 定时任务模型
* Class SystemTimer
* @package app\model\system\timer
*/
class SystemTimer extends BaseModel
{
use ModelTrait;
use JwtAuthModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_timer';
protected $insert = ['add_time'];
}