工具箱插件开发总结

admin2025-12-12
一、插件概述1.1基本信息插件名称:工具箱(ToolBox)插件ID:tool版本号:1.0适用系统:FourS2.11私域运营系统插件类型:全局插件(GlobalPlugin)1.2核心功能提供全流程的私...

一、插件概述

1.1 基本信息

插件名称:工具箱 (Tool Box)

插件ID:tool

版本号:1.0

适用系统:FourS 2.11 私域运营系统

插件类型:全局插件 (Global Plugin)

1.2 核心功能

提供全流程的私域运营工具,包含四大模块:

DIY调用规则生成 - 内容调用规则生成器

公众号网址获取 - 根据UIN生成公众号URL

系统图标库 - 系统内置图标浏览与复制

IP属地查询 - IP地址地理位置查询

二、详细功能需求

2.1 DIY调用规则生成模块

前端界面参数:

调用方式:指定文稿 / 按规则自动调用

文稿类型:文章、图集、视频(多选)

限定条件

标签Tagid(支持动态获取)

关键词Kid(支持动态获取)

合集Cid(支持动态获取)

作者UID(支持动态获取)

标题关键词(支持动态获取)

调用限制:推荐文稿、推广通稿、付费文稿、有封面

调用内容关键词:开关选项

时间限制:不限、一周内、一月内、一年内

排序方式:降序/升序

排序规则:发布时间、阅读次数、评论次数、收藏次数、权重大小

调用个数:数字输入

后端处理:

生成JSON格式的调用规则

保存到数据库(可选)

返回可复用的调用代码

2.2 公众号网址获取模块

前端界面参数:

公众号UIN码:输入框

生成按钮:触发URL生成

后端处理:

验证UIN格式

生成公众号URL格式:https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&uin={UIN}

返回可复制URL

2.3 系统图标库模块

前端界面:

图标分类:通用图标、PC版图标、手机版图标

图标展示:网格布局

图标信息:class名称、预览、复制功能

使用说明:HTML和PHP使用示例

数据来源:

系统内置图标字体

分类展示

2.4 IP属地查询模块

前端界面参数:

单IP查询:输入框 + 查询按钮

批量查询:文本框(每行一个IP,最多10个)

获取我的IP:自动获取当前用户IP

后端处理:

IP格式验证(IPv4)

调用第三方API或本地库查询

返回地理位置信息

记录查询日志(可选)

三、插件开发逻辑

3.1 系统兼容性

常量定义:使用 IN_FOURS 作为系统标识

函数兼容:确保与FourS系统函数兼容

表前缀:使用系统配置的表前缀

3.2 文件结构

/plugs/tool/
├── [核心文件]
│   ├── plugin.xml          # 插件XML配置文件(可选)
│   ├── profile.php         # 插件信息配置
│   ├── main.php            # 插件主文件
│   ├── include.inc.php     # 前台逻辑入口
│   ├── index.php           # 前台主入口
│   ├── install.php         # 安装脚本
│   ├── uninstall.php       # 卸载脚本
│   └── tool_class.php      # 插件类
├── admin/
│   └── admin.php           # 后台管理
├── template/
│   ├── index.php           # 主模板
│   ├── blockrule.php       # DIY调用规则模板
│   ├── uin.php             # 公众号获取模板
│   ├── icon.php            # 图标库模板
│   └── ip.php              # IP查询模板
├── resource/
│   ├── css/
│   │   ├── color.css
│   │   ├── diy.css
│   │   ├── pc.css
│   │   └── smsui_pc.css
│   └── js/
│       └── tool.js         # 前端JS
└── data/                   # 数据目录(如有)

3.3 数据库设计

-- 调用规则表
CREATE TABLE `[前缀]tool_rules` (
    `id` INT(11) AUTO_INCREMENT,
    `title` VARCHAR(255),
    `rule_type` TINYINT(1) DEFAULT 1,
    `setting` TEXT,
    `created_at` INT(11),
    PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARSET=utf8;

-- IP查询日志表
CREATE TABLE `[前缀]tool_ip_logs` (
    `id` INT(11) AUTO_INCREMENT,
    `ip` VARCHAR(50),
    `location` VARCHAR(255),
    `query_time` INT(11),
    PRIMARY KEY (`id`),
    KEY `ip` (`ip`),
    KEY `query_time` (`query_time`)
) ENGINE=MyISAM CHARSET=utf8;
 

3.4 权限控制

前台访问:所有注册用户可用

后台管理:仅管理员可访问

安装权限:超级管理员

四、环境及配置要求

4.1 系统要求

PHP版本:5.6+ (建议7.2+)

数据库:MySQL 5.5+ / MariaDB

Web服务器:Apache/Nginx

FourS系统:2.11版本以上

4.2 依赖组件

前端依赖

jQuery 1.8.3+

SMSUI 界面框架

系统内置图标字体

后端依赖

FourS 核心函数库

MySQLi 数据库扩展

4.3 配置文件

// profile.php 示例
$profiles['tool'] = array(
    'id'        => 'tool',
    'name'      => '工具箱',
    'version'   => '1.0',
    'about'     => '全流程的私域运营工具',
    'global'    => '1',
    'page'      => '0',
    'help'      => '',
    'admin'     => 'admin/admin.php',
);
 

4.4 插件设置项

IP查询API密钥 - 文本输入框

启用操作日志 - 单选按钮(0=禁用,1=启用)

五、公共调用接口

5.1 PHP函数调用

// 获取插件实例
$tool = new plug_tool();

// 获取插件设置
$settings = $tool->get_settings();

// 获取工具列表
$tools = $tool->get_tools();
 

5.2 模板标签调用


{plugin id="tool" tid="blockrule"}


IP查询
 

5.3 前台访问方式

前台访问:https://domain.com/plugin.php?id=tool&tid=[工具ID]
示例:
- DIY调用规则:plugin.php?id=tool&tid=blockrule
- 公众号获取:plugin.php?id=tool&tid=uin
- 图标库:plugin.php?id=tool&tid=icon
- IP查询:plugin.php?id=tool&tid=ip

 

5.4 后台管理入口

后台管理:https://domain.com/admin.php?mod=plugin&item=set&id=tool
功能模块:
- 规则管理:&ac=rules
- IP查询日志:&ac=iplogs
- 插件设置:&ac=settings
 

六、项目包结构详情

6.1 必须文件列表

/plugs/tool/profile.php - 插件注册信息

/plugs/tool/main.php - 插件主逻辑

/plugs/tool/index.php - 前台入口

/plugs/tool/include.inc.php - 前台逻辑

/plugs/tool/install.php - 安装脚本

/plugs/tool/uninstall.php - 卸载脚本

/plugs/tool/admin/admin.php - 后台管理

6.2 模板文件

/plugs/tool/template/index.php - 主模板框架

/plugs/tool/template/blockrule.php - DIY规则模板

/plugs/tool/template/uin.php - 公众号模板

/plugs/tool/template/icon.php - 图标库模板

/plugs/tool/template/ip.php - IP查询模板

6.3 资源文件

/plugs/tool/resource/js/tool.js - 前端交互

/plugs/tool/resource/css/pc.css - PC端样式

/plugs/tool/resource/css/smsui_pc.css - SMSUI样式

6.4 可选文件

/plugs/tool/plugin.xml - XML配置描述

/plugs/tool/config.json - JSON配置

/plugs/tool/set.inc.php - 后台设置

/plugs/tool/tool_class.php - 插件类

七、特殊注意事项

7.1 系统适配

常量检查:所有文件开头需检查 IN_FOURS 常量

函数兼容:使用FourS系统函数,如 formhash(), daddslashes(), showmessage()

表前缀:使用系统配置的表前缀,动态获取

7.2 安全考虑

SQL注入防护:所有用户输入使用 daddslashes() 过滤

XSS防护:输出时使用 htmlspecialchars() 转义

权限验证:后台操作验证管理员权限

表单令牌:使用 formhash() 防止CSRF攻击

7.3 性能优化

数据库索引:为查询频繁的字段添加索引

缓存机制:适当使用系统缓存

AJAX加载:部分功能使用异步加载提升体验

7.4 用户体验

响应式设计:适配PC和移动端

操作反馈:明确的成功/失败提示

数据验证:前端JS验证 + 后端PHP验证

复制功能:提供一键复制功能

八、安装部署流程

8.1 标准安装

上传插件文件到 /plugs/tool/ 目录

登录后台,进入插件管理

在插件列表中找到"工具箱"

点击安装按钮

根据提示完成安装

8.2 手动安装(备用)

创建数据库表(执行SQL语句)

修改插件配置文件

刷新系统插件缓存

测试插件功能

九、测试验证清单

9.1 功能测试

前台四个工具模块均可正常访问

生成调用规则功能正常

公众号URL生成正确

图标库复制功能正常

IP查询返回正确结果

9.2 兼容性测试

在FourS 2.11系统上运行正常

不同PHP版本兼容性

不同浏览器兼容性

9.3 安全性测试

SQL注入防护有效

XSS攻击防护有效

权限控制严格

表单令牌验证有效

通过以上详细的开发总结,你可以按照这个框架来开发工具箱插件,确保插件的完整性、安全性和可用性。

工具箱 插件 开发
评论
请先登录再发表评论!