返回首页

开发指南

欢迎使用 DCSHOP 应用开发文档!本文档将帮助您快速了解如何为 DCSHOP 发卡系统开发插件、支付接口和模板。

应用类型

DCSHOP 支持三种类型的应用开发:

类型 说明 存放目录
插件 功能扩展插件,如支付接口、美化效果、功能增强等 content/plugins/插件名/
模板 前台网站模板,控制商品展示、下单页面等 content/templates/模板名/
分站模板 分站专用模板 content/station_templates/模板名/

开发环境准备

  1. 安装 PHP 7.4+ 环境(推荐 PHP 8.0+)
  2. 安装 MySQL 5.7+ 数据库
  3. 部署 DCSHOP 发卡系统
  4. 准备代码编辑器(推荐 VS Code)

快速开始

1. 创建插件目录

content/plugins/
└── my_plugin/ # 插件目录名(英文小写+下划线)
    ├── my_plugin.php # 主文件(必须与目录同名)
    └── my_plugin_setting.php # 设置页面(可选)

2. 编写插件头部声明

<?php
/*
Plugin Name: 我的插件
Version: 1.0.0
Plugin URL: https://your-website.com
Description: 这是一个示例插件
Author: 作者名
Author URL: https://your-website.com
Ui: Layui
*/

defined('DC_ROOT') || exit('access denied!');
重要:Ui: Layui 声明是必须的!这样插件配置页面才会以弹窗方式打开。

3. 使用钩子扩展功能

// 注册钩子
addAction('钩子名称', '回调函数名');

// 示例:在后台页脚添加内容
function myPluginFooter() {
    echo '<script>console.log("Hello from my plugin!");</script>';
}
addAction('adm_footer', 'myPluginFooter');

开发规范

禁止使用 CDN!绝对不要使用 CDN 引入 CSS/JS 资源,CDN 容易加载失败。必须将资源文件保存到本地项目中。
统一使用 Remix Icon:所有图标必须使用 Remix Icon,禁止使用 emoji 或 layui-icon。
引入方式:<link rel="stylesheet" href="./assets/remixicon/remixicon.css">
支持深色模式:所有插件输出的前端内容必须支持深色模式,使用 html[data-theme="dark"] 选择器。

数据存储

使用 Storage 类存储插件配置:

// 获取存储实例
$storage = Storage::getInstance('插件名');

// 保存配置
$storage->setValue('key', 'value');

// 读取配置
$value = $storage->getValue('key');

常用函数

函数说明
addAction($hook, $func)注册钩子回调函数
doAction($hook, ...)触发钩子
Option::get($key)获取系统配置
Input::getStrVar($key)获取 GET 字符串参数
Input::postStrVar($key)获取 POST 字符串参数
Output::ok($data)返回成功 JSON
Output::error($msg)返回错误 JSON
isMobile()判断是否移动端
getClientIP()获取客户端 IP