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:
@@ -62,18 +62,63 @@
|
||||
<div class="section-title">
|
||||
<h2>📋 {$info.title}</h2>
|
||||
</div>
|
||||
<div class="website-list">
|
||||
{volist name="info.links" id="link"}
|
||||
<a href="/haonav/site/{$link.id}.html" class="website-item">
|
||||
<span class="website-item-icon"><img src="{$link.show_icon}" loading="lazy" alt="{$link.title}"></span>
|
||||
<span class="website-item-info">
|
||||
<h3>{$link.title}</h3>
|
||||
<p>{$link.description|default='暂无描述'}</p>
|
||||
</span>
|
||||
<span class="qr-btn js-qr" data-url="{$link.url}" title="二维码">▦</span>
|
||||
</a>
|
||||
{/volist}
|
||||
|
||||
{if $mode == 'group'}
|
||||
<!-- 顶级分类:按二级子分类分组展示 -->
|
||||
{volist name="info.children" id="sub"}
|
||||
<div class="sub-category">
|
||||
<div class="sub-title"><span>{$sub.title}</span></div>
|
||||
<div class="website-list">
|
||||
{volist name="sub.sub_links" id="link"}
|
||||
<a href="/haonav/site/{$link.id}.html" class="website-item">
|
||||
<span class="website-item-icon"><img src="{$link.show_icon}" loading="lazy" alt="{$link.title}"></span>
|
||||
<span class="website-item-info">
|
||||
<h3>{$link.title}</h3>
|
||||
<p>{$link.description|default='暂无描述'}</p>
|
||||
</span>
|
||||
<span class="qr-btn js-qr" data-url="{$link.url}" title="二维码">▦</span>
|
||||
</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
{/volist}
|
||||
|
||||
<!-- 未细分二级的常用链接(sub_cid=0) -->
|
||||
{notempty name="others"}
|
||||
<div class="sub-category">
|
||||
<div class="sub-title"><span>常用</span></div>
|
||||
<div class="website-list">
|
||||
{volist name="others" id="link"}
|
||||
<a href="/haonav/site/{$link.id}.html" class="website-item">
|
||||
<span class="website-item-icon"><img src="{$link.show_icon}" loading="lazy" alt="{$link.title}"></span>
|
||||
<span class="website-item-info">
|
||||
<h3>{$link.title}</h3>
|
||||
<p>{$link.description|default='暂无描述'}</p>
|
||||
</span>
|
||||
<span class="qr-btn js-qr" data-url="{$link.url}" title="二维码">▦</span>
|
||||
</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
{/notempty}
|
||||
{else /}
|
||||
<!-- 二级/叶子分类:直接列出该分类下的全部链接 -->
|
||||
<div class="sub-category">
|
||||
<div class="sub-title"><span>{$info.title}</span></div>
|
||||
<div class="website-list">
|
||||
{volist name="links" id="link"}
|
||||
<a href="/haonav/site/{$link.id}.html" class="website-item">
|
||||
<span class="website-item-icon"><img src="{$link.show_icon}" loading="lazy" alt="{$link.title}"></span>
|
||||
<span class="website-item-info">
|
||||
<h3>{$link.title}</h3>
|
||||
<p>{$link.description|default='暂无描述'}</p>
|
||||
</span>
|
||||
<span class="qr-btn js-qr" data-url="{$link.url}" title="二维码">▦</span>
|
||||
</a>
|
||||
{/volist}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
|
||||
@@ -143,21 +143,28 @@
|
||||
<!-- 分类区块 -->
|
||||
<div class="category-block" id="cat-{$k}">
|
||||
<div class="section-title">
|
||||
<h2>📋 <a href="/haonav/category/{$vo.id}.html" target="_blank"> {$vo.title} </a></h2>
|
||||
<h2>📋 <a href="/haonav/category/{$vo.id}.html" target="_blank"> {$vo.title} </a></h2> <div class="sub-title"><span>全部</span> <a class="sub-more" href="/haonav/category/{$vo.id}.html">更多 ›</a></div>
|
||||
|
||||
</div>
|
||||
<div class="website-grid">
|
||||
{volist name="vo.links" id="site"}
|
||||
<div class="website-card" data-sid="{$site.id}">
|
||||
<span class="fav-btn js-fav" data-id="{$site.id}" data-title="{$site.title}" data-url="{$site.url}" data-icon="{$site.show_icon}" title="收藏">★</span>
|
||||
<span class="qr-btn js-qr" data-url="{$site.url}" title="二维码">▦</span>
|
||||
<a href="/haonav/site/{$site.id}.html" target="_blank" title="{$site.title}" style="text-decoration:none;color:inherit;display:block;">
|
||||
<div class="website-icon"><img src="{$site.show_icon}" loading="lazy" alt="{$site.title}"></div>
|
||||
<div class="website-name">{$site.title}</div>
|
||||
{if $site.rating_count > 0}<div class="website-rating">⭐ {$site.rating}<span class="rc">({$site.rating_count})</span></div>{/if}
|
||||
</a>
|
||||
|
||||
<!-- 首页只展示一级分类下的全部链接,二级分类在分类页展示 -->
|
||||
{notempty name="vo.links"}
|
||||
<div class="sub-category">
|
||||
<div class="website-grid">
|
||||
{volist name="vo.links" id="site"}
|
||||
<div class="website-card" data-sid="{$site.id}">
|
||||
<span class="fav-btn js-fav" data-id="{$site.id}" data-title="{$site.title}" data-url="{$site.url}" data-icon="{$site.show_icon}" title="收藏">★</span>
|
||||
<span class="qr-btn js-qr" data-url="{$site.url}" title="二维码">▦</span>
|
||||
<a href="/haonav/site/{$site.id}.html" target="_blank" title="{$site.title}" style="text-decoration:none;color:inherit;display:block;">
|
||||
<div class="website-icon"><img src="{$site.show_icon}" loading="lazy" alt="{$site.title}"></div>
|
||||
<div class="website-name">{$site.title}</div>
|
||||
{if $site.rating_count > 0}<div class="website-rating">⭐ {$site.rating}<span class="rc">({$site.rating_count})</span></div>{/if}
|
||||
</a>
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
{/volist}
|
||||
</div>
|
||||
{/notempty}
|
||||
</div>
|
||||
{/volist}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user