本章节面向插件、模板和支付接口开发者,说明如何整理应用包、填写应用信息、发布版本、处理授权、下载和更新。
| 应用类型 | type | 安装目录 | 说明 |
|---|---|---|---|
| 网站插件 | plugin | content/plugins/slug/ | 功能增强、发货插件、营销插件、支付插件等。 |
| 首页/分店模板 | template | content/templates/slug/ | 前台商品列表、商品详情、下单和订单查询页面。 |
| 用户后台模板 | user_template | content/user_templates/slug/ | 用户中心、会员等级、余额、订单、分店后台等。 |
| 底部导航模板 | bottom_nav_template | content/bottom_nav_templates/slug/ | 移动端底部导航。 |
| 博客模板 | blog_template | content/blog_templates/slug/ | 文章、分类、归档、组件展示。 |
压缩包根目录应直接包含应用目录,不要多套一层无意义目录。
正确:example_plugin.zip
└── example_plugin/
├── example_plugin.php
├── example_plugin_setting.php
└── preview.jpg
错误:example_plugin.zip
└── dist/
└── example_plugin/
└── example_plugin.php
| 字段 | 说明 |
|---|---|
name | 应用名称,展示给用户。 |
slug | 应用英文标识,建议小写字母、数字、下划线。 |
type | 应用类型,见上表。 |
category_id | 应用分类 ID。 |
description | 短描述,列表页展示。 |
changelog | 当前版本更新日志,详情页和更新检测会展示。 |
cover | 封面图,建议本地上传。 |
version | 版本号,如 1.0.0,发布更新时必须递增。 |
download_url | 应用 ZIP 下载地址,由授权中心统一管理和鉴权。 |
price、price_vip、price_svip、price_supreme,并由 allow_buyout 控制是否允许买断。price_monthly_vip、price_monthly_svip、price_monthly_supreme 任一大于 0 即表示支持月付。trial_days 大于 0 表示支持试用;同一用户同一应用只能试用一次。free_for_supreme=1 时,至尊授权可免费获取。上架到应用商店并需要授权控制的插件,应在主文件顶部加入:
defined('DC_ROOT') || exit('access denied!');
$__slug = 'auto_clean_order';
if (basename(__DIR__) !== $__slug) {
return; // 防止改目录名绕过授权
}
require_once DC_ROOT . '/include/lib/plugin_license.php';
if (!PluginLicense::verify($__slug)) {
return; // 未授权、过期、封禁时不加载插件逻辑
}
授权中心支持在下载时按应用开关执行源码保护和水印追踪,再重新打包交付。具体追踪字段和处理实现属于运维内部细节,不需要应用开发者直接接触。
PluginLicense,不要自行硬编码授权地址。| 检查项 | 要求 |
|---|---|
| 目录与主文件 | 目录名、主文件名、slug 一致。 |
| 插件头信息 | 包含 Plugin Name、Version、Description、Author、Ui: Layui。 |
| 本地资源 | CSS/JS/字体/图片必须本地化,不依赖 CDN。 |
| 移动端 | 重要页面适配 375px 宽度,按钮和弹窗可点击。 |
| 深色模式 | 后台或用户端输出内容需兼容深色背景。 |
| 数据库 | 新增表字段应提供升级 SQL,并兼容已存在字段。 |
| 安全 | POST 写操作校验登录、权限和 Token;不输出敏感密钥。 |
| 版本 | 新版本号必须大于当前版本,更新日志清晰可读。 |