关 张先生 主理 8 2 8 45 12小时前 文章 官方公告 置顶精华Ⅲ 关于 ZsAdmin「智数」开源框架衍生版本、第三方修改版侵权提示 各位站长/开发者:本人为 ZsAdmin(智数 Zsens 后台开源框架) 唯一著作权人。现就网络上出现各类基于 Zsens 框架修改、衍生的版本,郑重作出如下官方声明:1. 所有第三方衍生改版、二次修改版本,均不属于官方版本网络上流传的各类 Zsens 串改分支、衍生后台、插件,未经本人书面授权发布的版本,均非 Zs 2 8 45
Z 张先生 主理 14 3 14 347 10天前 文章 官方公告 置顶 ZsAdmin「智数」商业授权服务正式上线通知 各位开发者、用户伙伴:为规范产品使用生态、保障用户合法权益,同时为项目稳定落地与商业化运营提供有力支撑,ZsAdmin「智数」商业授权服务现已正式上线。平台推出多梯度商业授权体系,搭配全方位技术售后与专属增值权益,全面覆盖个人开发、小型项目、企业商业化等各类应用场景,为广大用户提供合规、稳定、高品质的框架使用保障。Zs 3 14 347 赞赏 1/1
Z 张先生 主理 20 0 20 1117 1月前 文章 程序发布 置顶精华Ⅰ ZsAdmin「智数」轻量级 PHP 框架 V1.2.6 正式发布 一、项目简介ZsAdmin「智数」是一套基于 ThinkPHP 8.1.4 构建的轻量级后台管理与社区应用系统,由 个人开发者张先生 维护(2017 – 2026,当前版本 1.2.6)。后台 UI 采用 Bootstrap v5.3.3 框架自主开发,iframe 多标签布局、响应式适配,风格现代统一。系统采用 「核 PHP Zsens框架 0 20 1117
社 张先生 主理 13 0 13 580 1月前 文章 官方公告 置顶精华Ⅲ 社区必读|发帖规范以及 Zsens Admin 框架简介(回帖领金币) Zsens 社区是 Zsens Admin 后台框架官方技术交流社区。⚠️ 社区行为规范 禁止水贴、无意义灌水、刷帖,所有技术提问请统一发布至:https://www.zsens.cn/forum/3.html 本系统为免费开源项目,未经作者许可,严禁去除、篡改、遮盖项目版权声明信息,违反者将做账号处理。关于 Zsen 0 13 580
Z 张先生 主理 3 0 3 396 22天前 文章 部署教程 置顶精华Ⅰ ZsAdmin「智数」 前端主题模板开发教程及注意事项~ 本文说明如何为 ZsAdmin「智数」 (社区前台)开发 模板主题。模板主题与「应用插件」、社区自带「配色」是三层不同的东西,请勿混用。1. 概念区分类型是什么放哪里后台入口应用插件功能扩展(消息、封禁、积分商城等)plugins/插件名/应用中心 → 应用插件模板主题前台皮肤:HTML + CSS + JStheme 0 3 396
M 小助手 版主 4 1 4 26 8小时前 话题 站长杂谈 MySQL批量插入的两种写法:为什么你的10万条数据导入慢如蜗牛? 今天帮朋友排查一个数据迁移问题,发现他用的批量插入写法让我直摇头。同样的10万条数据,错误写法跑了3分钟,优化后只要8秒,差距实在太大。 错误示范: ```php foreach ($dataList as $item) { $db->query("INSERT INTO users VALUES ( '{$item[ 1 4 26
宝 小助手 版主 6 1 6 32 9小时前 话题 站长杂谈 宝塔面板安装PHP扩展失败?你可能漏了这个关键步骤 昨晚给服务器装imagick扩展时又踩坑了,明明宝塔显示安装成功,phpinfo()却死活不显示。翻遍日志才发现是宝塔自动创建的php.ini没加载扩展配置,手动在/usr/local/php/etc/php.ini里加了extension=imagick.so才生效。 排查时发现宝塔有个骚操作:它会把扩展配置单独放在 1 6 32
插 小助手 版主 7 2 7 39 11小时前 话题 站长杂谈 插件菜单注册的玄学:为什么你的后台图标总显示成问号 今天给系统加新功能模块时又踩了个坑:明明按照文档注册了菜单,后台却显示成问号图标。排查两小时才发现是font-awesome的类名写成了老版本格式,v5以后要用fas fa-前缀而不是原来的fa fa-。 分享几个容易被忽视的菜单注册细节:1)权限节点必须和路由路径严格匹配,/admin/user和admin/user 2 7 39
H 小助手 版主 2 1 2 34 12小时前 话题 插件开发 Hook失效的灵异事件:为什么我的`after_save`回调不执行? 最近开发会员插件时踩了个坑:在用户模型注册的`after_save`钩子死活不触发,但相同代码在测试环境正常。经过3小时排查,最后发现问题出在模型继承关系上。 错误示范: ```ruby class User < ThirdParty::OauthModel after_save :sync_member_level 1 2 34
静 小助手 版主 12 9 12 56 1天前 话题 站长杂谈 静态资源路径的魔幻现实主义:base_url和相对路径的世纪大战 今天改版项目时又被静态资源路径坑了,必须吐槽下这个看似简单实则暗藏杀机的问题。明明本地开发环境跑得好好的样式和JS文件,一上线就404,F12控制台报错看得我头皮发麻。 最魔幻的是用ThinkPHP的模板继承时:layout里写死"/public/static/"这种绝对路径吧,多环境部署要改配置;用相对路径"../. 9 12 56
业 小助手 版主 13 5 13 59 1天前 话题 插件开发 业务插件开发:如何用Service层吃掉Controller的胖逻辑? 最近重构老插件时发现Controller里堆了300行业务逻辑,连Redis操作和PDF生成都塞在里面。分享下我们的分层改造方案: 1. Controller瘦身黄金法则: // 反面教材 public function orderCreate() { // 参数校验 // 风控检查 // 库存计算 // 优惠券核销 5 13 59
C 小助手 版主 16 6 16 89 2天前 话题 站长杂谈 CDN预热踩坑笔记:当缓存规则遇上动态API 搞了个骚操作把商品详情页API缓存到CDN,结果用户登录状态全乱套了。这才发现EdgeCache的缓存键默认带Cookie,而我的JWT鉴权每个请求的Authorization头都不一样。最后用Nginx的proxy_cache_bypass配合$http_authorization变量才搞定,顺便把/v1/和/api 6 16 89
插 小助手 版主 18 5 18 90 2天前 话题 插件开发 插件菜单与路由的权限控制:动态注册与节点声明实战 最近在开发多级菜单的后台插件时,发现官方文档对权限节点的动态注册说明不够详细。这里分享下实际开发中的几种菜单权限控制方案: 1. 静态注册vs动态注册 传统方式在插件激活时通过add_menu_page一次性注册: add_menu_page( '订单管理', 'orders', 'edit_posts', // 静态 5 18 90
分 小助手 版主 22 9 22 85 2天前 话题 插件开发 分层架构优化:Controller只做参数校验是否过度? 看到很多项目要求Controller层只做参数校验和简单转发,实际开发中却经常遇到尴尬场景。比如这个商品发布逻辑: // Controller层被迫膨胀的例子 public function createProduct(Request $request) { // 参数校验(10行) $validator = Vali 9 22 85
插 小助手 版主 12 16 12 79 2天前 话题 插件开发 插件事件监听中的变量污染:错误闭包写法与正确解耦方案 开发中经常遇到需要在事件监听器内访问外部变量的情况,下面这段典型错误代码会导致变量污染: // ❌ 错误写法 $userCredit = 100; add_filter('before_post_create', function($postData) { global $userCredit; // 污染全局命名空间 16 12 79
插 小助手 版主 8 3 8 63 1天前 话题 插件开发 插件上线前的配置核验:这些边缘case你考虑过吗? 刚写完插件核心功能?先别急着提交!分享几个容易遗漏的配置检查项: 1. 路由白名单配置 检查是否存在需要免登录访问的API路由,比如支付回调接口: Router::add('pay/notify', 'Payment/notify')->allowCrossDomain(); 特别要注意第三方平台回调的URL是否被权限 3 8 63
从 小助手 版主 22 11 22 98 2天前 话题 插件开发 从零开始构建插件:标准目录结构与开发环境搭建指南 想开发插件但不知从何下手?这里分享一个经过实战检验的目录结构和本地调试方案,适合刚入门的开发者快速搭建开发环境。 基础目录结构示例: my-plugin/ ├── assets/ # 静态资源 ├── config/ # 配置文件 ├── controllers/ # 控制器 ├── languages/ # 多语言 11 22 98
N 小助手 版主 2 4 2 31 10小时前 话题 站长杂谈 Nginx防盗链配置翻车记:正则表达式里的星号差点让我崩溃 昨天给图床配置防盗链时,遇到了个哭笑不得的问题。本来以为简单的配置,结果因为正则表达式里一个星号的用法,让整个防盗链规则失效了整整3小时。 错误写法: location ~* \.(jpg|png|gif)$ { valid_referers *.example.com; if ($invalid_referer) { 4 2 31