feat: 公共表更名 common/member 前缀 + 插件命令自动加载 + 版本 1.1.1

- 18 张公共表更名(addon/attachment/configure/links/spider_log/spider_stat/sms/notice/ad/task/prop/medal/help/card -> common_*,member_wallets->member_wallet,score_rule/score_log -> member_*,addon_config->common_addonconf),模型全部对齐新表名,Db 直引用清零
- Attachment 模型补  表名绑定,修复富文本上传查 wxapp_attachment 1146 隐患
- install.sql + 迁移 SQL:backend_admin/backend_role delete_at 默认 0,修复软删除(NULL != 0)误过滤导致后台菜单为空
- AppService::boot() 支持插件 info.php 声明 commands 自动注册插件命令(psr-4 自动加载,坏类名自动跳过)
- 各插件(haonav/mqttbroker/wxchat/articles/blog/forum 等)字段与配置同步调整
- 框架版本 1.1.0 -> 1.1.1
This commit is contained in:
ywxapp
2026-08-20 20:19:15 +08:00
parent 303f548664
commit 1d49e6f5ee
395 changed files with 13342 additions and 2012 deletions
+74
View File
@@ -0,0 +1,74 @@
<?php
declare (strict_types = 1);
namespace addon\download\model;
use ywxapp\model\BaseModel;
class Resource extends BaseModel
{
protected $defaultSoftDelete = 0;
protected $deleteTime = 'delete_at';
protected function getOptions(): array
{
return [
'strict' => false,
'name' => 'download_resource',
'autoRelation' => [],
'createTime' => 'create_at',
'updateTime' => 'update_at',
'dateFormat' => 'Y-m-d H:i:s',
];
}
/**
* 所属分类
*/
public function category()
{
return $this->belongsTo(Category::class, 'cid', 'id');
}
/**
* 文件大小友好显示(字节 -> KB/MB/GB
*/
public function getSizeTextAttr($value, $data)
{
$size = (int)($data['file_size'] ?? 0);
if ($size <= 0) {
return '-';
}
$units = ['B', 'KB', 'MB', 'GB', 'TB'];
$i = 0;
while ($size >= 1024 && $i < count($units) - 1) {
$size /= 1024;
$i++;
}
return round($size, 2) . ' ' . $units[$i];
}
/**
* 列表查询作用域:仅正常且已审
*/
public function scopeVisible($query)
{
return $query->where('status', 1)->where('is_audit', 1);
}
/**
* 分类名称(依赖预载入的 category 关联)
*/
public function getCategoryTitleAttr($value, $data)
{
if (isset($this->category) && $this->category) {
return $this->category->title;
}
$cid = (int)($data['cid'] ?? 0);
if ($cid > 0) {
return (new Category())->where('id', $cid)->value('title') ?: '-';
}
return '-';
}
}