hlw2326 / think-plugin-qz
查权重
Package info
github.com/hlw2326/think-plugin-qz
Language:HTML
Type:think-admin-plugin
pkg:composer/hlw2326/think-plugin-qz
Requires
- php: >=8.2
- ext-json: *
README
hlw2326/think-plugin-qz· ThinkAdmin v6 插件 · PHP >= 8.2
一、插件概述
查权重,提供权重查询、用户管理、卡密管理、广告配置、通知公告、帮助反馈、菜单管理、数据备份、工具管理等功能。插件以 plugin\qz 为命名空间,代码位于 package/think-plugin-qz/src/ 目录。
二、目录结构
package/think-plugin-qz/
├── composer.json # 插件元信息
├── src/
│ ├── Service.php # 插件服务注册(菜单定义)
│ ├── lang/
│ │ └── en-us.php # 中英文语言包
│ ├── controller/
│ │ ├── base/ # 基础管理(广告/通知/备份/程序/工具/表格)
│ │ ├── card/ # 卡密管理(积分卡/会员卡/使用记录)
│ │ ├── collect/ # 采集管理(Cookie/标签/配置/查询日志)
│ │ ├── help/ # 帮助反馈(帮助/反馈/分类)
│ │ ├── menu/ # 菜单管理(分类/列表)
│ │ ├── user/ # 用户管理(列表/查询/积分/登录设备)
│ │ ├── api/v1/ # 小程序 API 接口
│ │ │ ├── Ad.php # 广告配置接口
│ │ │ ├── Backup.php # 备份操作接口
│ │ │ ├── Base.php # API 基类
│ │ │ ├── Collect.php # 采集接口
│ │ │ ├── Feedback.php # 反馈接口
│ │ │ ├── Help.php # 帮助接口
│ │ │ ├── Login.php # 登录接口
│ │ │ ├── Notice.php # 通知公告接口
│ │ │ └── Tools.php # 工具箱接口
│ │ ├── Main.php # 主页
│ │ └── Worker.php # 队列Worker
│ ├── model/ # 数据模型(以 PluginQz 为前缀)
│ ├── service/ # 业务服务层
│ │ ├── BackupService.php # 数据库备份服务
│ │ ├── CardUseService.php # 卡密使用服务
│ │ └── QueryService.php # 查询服务
│ ├── stc/
│ │ └── database/ # Phinx 数据库迁移文件
│ └── view/ # 视图模板
│ ├── main/index.html # 数据概览主页
│ ├── base/ # 基础管理视图
│ ├── card/ # 卡密视图
│ ├── collect/ # 采集视图
│ ├── help/ # 帮助反馈视图
│ ├── menu/ # 菜单视图
│ └── user/ # 用户视图
三、数据库表
插件数据表统一以 plugin_qz_ 为前缀:
| 表名 | 说明 |
|---|---|
plugin_qz_user |
小程序用户,含积分/会员/软删除 |
plugin_qz_user_token |
用户登录 Token |
plugin_qz_user_score_log |
用户积分流水 |
plugin_qz_user_query |
用户查询记录 |
plugin_qz_card_score |
积分充值卡密 |
plugin_qz_card_vip |
会员充值卡密 |
plugin_qz_card_log |
卡密使用记录 |
plugin_qz_mp |
小程序配置 |
plugin_qz_mp_cate |
小程序菜单分类 |
plugin_qz_mp_menu |
小程序菜单项 |
plugin_qz_ad |
广告配置 |
plugin_qz_notice |
通知公告 |
plugin_qz_help_cate |
帮助分类 |
plugin_qz_help |
帮助文章 |
plugin_qz_feedback |
用户反馈 |
plugin_qz_feedback_reply |
反馈回复 |
plugin_qz_feedback_type |
反馈类型 |
plugin_qz_tools |
工具箱 |
plugin_qz_tools_cate |
工具分类 |
plugin_qz_collect_cookie |
Cookie 管理 |
plugin_qz_collect_query_log |
采集查询日志 |
plugin_qz_collect_tag |
采集标签 |
plugin_qz_backup_record |
备份记录 |
plugin_qz_backup_table |
备份表记录 |
四、功能模块
4.1 卡密管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 积分卡密列表 | card/Score |
支持批量生成、使用(后台手动充值) |
| 会员卡密列表 | card/Vip |
支持批量生成、使用(含已使用用户数子查询) |
| 卡密记录 | card/Log |
记录所有卡密使用日志 |
卡密生成:16位字母数字,格式 ABCD-EFGH-IJKL-MNOP,后台单条添加或批量生成(最多1000张/批)。
卡密使用:通过 CardUseService 在事务中完成:
- 积分卡密:增加用户积分 + 记录积分流水
- 会员卡密:延长用户会员时间(已开通未过期则累加)
4.2 用户管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 用户列表 | user/Index |
支持按设备/渠道/SDK版本等搜索 |
| 查询记录 | user/Query |
支持退积分(含VIP免��查询判断) |
| 积分流水 | user/ScoreLog |
记录积分变动来源 |
| 登录设备 | user/Token |
管理用户登录态 |
4.3 内容管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 广告配置 | base/Ad |
支持 banner/插屏/激励视频/原生/格子 等类型 |
| 通知公告 | base/Notice |
支持多小程序/跳转类型(navigateTo/redirectTo/switchTab 等) |
4.4 帮助反馈
| 功能 | 控制器 | 说明 |
|---|---|---|
| 帮助分类 | help/HelpCate |
分类管理 |
| 帮助文章 | help/Help |
富文本文章 |
| 反馈列表 | help/Feedback |
支持回复/关闭/状态管理 |
| 反馈类型 | help/FeedbackType |
反馈类型枚举 |
4.5 菜单管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 菜单分类 | menu/Cate |
分类管理 |
| 菜单列表 | menu/Index |
支持页面跳转/TabBar/小程序/网页等类型 |
4.6 数据管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 备份列表 | base/Backup |
数据库备份/还原/下载/清理孤立文件 |
| 数据配置 | base/Config |
备份存储路径/本地或远程对象存储 |
| 数据管理 | base/Table |
数据库表管理(优化/分析/检查/修复) |
4.7 系统管理
| 功能 | 控制器 | 说明 |
|---|---|---|
| 程序管理 | base/Mp |
小程序配置 + pages.json 可视化配置 |
| 工具管理 | base/Tools |
工具箱列表 |
| 工具分类 | base/ToolsCate |
工具分类 |
| Cookie管理 | collect/Cookie |
多平台 Cookie 管理,支持按平台 tab 筛选 |
| 查询日志 | collect/QueryLog |
采集查询执行日志 |
| 标签列表 | collect/Tag |
采集标签管理 |
| 采集配置 | collect/Config |
默认平台/超时/重试/UA/代理设置 |
五、API 接口
API 控制器位于 src/controller/api/v1/,统一返回 ThinkAdmin 标准 JSON 格式。
Important
路由规则:插件 API 的实际访问路径格式为 /plugin-qz/api.v1.{controller}/{action},
例如 Ad 控制器的 config 方法,完整 URL 为:
https://admin.ka57.net/plugin-qz/api.v1.ad/config
通用格式:https://{domain}/plugin-qz/api.v1.{controller}/{action}?{params}
5.1 广告配置
GET /plugin-qz/api.v1.ad/config?appid=xxx
# 完整示例: https://admin.ka57.net/plugin-qz/api.v1.ad/config?appid=xxx
{
"code": 1,
"info": "获取成功",
"data": {
"list": [{ "id": 1, "name": "首页顶部", "unit_id": "adunit-xxx", "ad_type": "banner", "position": "home_top" }],
"map": { "home_top": { "unit_id": "adunit-xxx", "ad_type": "banner" } }
}
}
5.2 通知列表
GET /plugin-qz/api.v1.notice/list?appid=xxx&type=xxx
{
"code": 1,
"info": "获取成功",
"data": {
"list": [{ "id": 1, "type": "system", "title": "系统通知", "content": "..." }]
}
}
5.3 登录
POST /plugin-qz/api.v1.login/in?appid=xxx
Body: { "code": "微信授权code" }
5.4 工具箱
GET /plugin-qz/api.v1.tools/cates # 获取工具分类
GET /plugin-qz/api.v1.tools/list?cate_id=1 # 获取工具列表
GET /plugin-qz/api.v1.tools/click?id=1 # 记录点击
六、服务层
| 服务类 | 路径 | 说明 |
|---|---|---|
CardUseService |
service/CardUseService.php |
卡密使用(积分/会员),事务控制,返回 ['success' => bool, 'message' => string, 'data' => [...]] |
BackupService |
service/BackupService.php |
数据库备份/还原/删除/清理 |
QueryService |
service/QueryService.php |
查询相关业务逻辑 |
七、菜单结构
插件在后台的完整菜单树:
├── 数据概览
├── 卡密管理
│ ├── 积分卡密
│ ├── 会员卡密
│ └── 卡密记录
├── 用户管理
│ ├── 用户列表
│ ├── 查询记录
│ ├── 积分流水
│ └── 登录设备
├── 内容管理
│ ├── 广告配置
│ └── 通知公告
├── 帮助反馈
│ ├── 帮助分类
│ ├── 帮助文章
│ ├── 反馈列表
│ └── 反馈类型
├── 菜单管理
│ ├── 菜单分类
│ └── 菜单列表
├── 数据管理
│ ├── 备份列表
│ ├── 数据配置
│ └── 数据管理
└── 系统管理
├── 程序管理
├── 工具管理
├── 工具分类
├── Cookie管理
├── 查询日志
└── 标签列表
八、命名规范
- 模型类:以
PluginQz前缀,如PluginQzUser、PluginQzAd - 表名:
plugin_qz_前缀,如plugin_qz_user - 控制器:
plugin\qz\controller\下按功能子目录划分 - 视图:
src/view/下按controller子目录结构对应存放
九、快速开始
安装插件后访问后台,插件菜单自动注册到管理侧边栏。数据库迁移文件位于 stc/database/,安装时会自动复制到 database/migrations/。