# EcmsAPI **Repository Path**: bangshang/ecmsapi ## Basic Information - **Project Name**: EcmsAPI - **Description**: 帝国7.5,8.0EcmsAPI开发包搭建。对象开发形式,使用自动加载(支持composer管理),让代码写的更少,帝国7.5选择分支cmsapi75,帝国8.0选择master(php大于8.x)。 - **Primary Language**: PHP - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://coach.twoir.com/ecms/api/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-05-14 - **Last Updated**: 2025-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 帝国EcmsAPI接口 ## 帝国8.0 API概览 ### 插件特点如下: - 使用`php`自加载特性,或使用`composer`包管理工具,任选一种; - 除入口文件,其余全部采用类文件编写,错误全部由异常处理接管,逻辑更简洁、更高效(代码高可用); - 版本控制更加灵活(/api/v1/),统一入口,安全性更高,做到一次性安全过虑,如`v2`,`v3`; - 自动联表处理,写sql语句时不用关心主、副表及模型表已审核/待审核/存档表位置等,支持批量处理插入数据(将在下一个版本可能会更新); - 内置基础功能如注册、登陆、退出、验证码、授权接口、公众号授权、小程序授权,`sitemap`生成(含`html`,`xml`,`txt`),`JWT`;(不定期发布、更新); - 后台可以编辑`Controller`文件夹(接口权限控制)和`Model`文件夹(字段维护)及列表指定显示字段,出于安全可以选择关闭(暂时未上线); - 致力于完全独立的API接口(去除依赖帝国系统程序 -- 切换分支查看)。 ### 插件目录结构如下 ``` upload/ └── api/ ╌╌╌ └── v1/ (api入口) └── e/ ╌╌╌ └── extend/ ╌╌╌ ╌╌╌ └── twoir/ ╌╌╌ ╌╌╌ ╌╌╌ ├── src/ (核心目录) ╌╌╌ ╌╌╌ ╌╌╌ └── config/ ╌╌╌ ╌╌╌ ╌╌╌ ╌╌╌ └── ... ╌╌╌ ╌╌╌ ╌╌╌ autoload.php (自动加载) ``` 新站可以直接覆盖 ### 安装环境安要 - PHP8.1以上版本 - 帝国ecms 8.0(需旧版切换对应分支) ### 安装教程 只需2步即时拥有高可用API #### 第一步,复制文件到指定位置 将`upload`目录下所有文件复制根目录,如果是新安装直接覆盖即可。 #### 第二步,安装自动加载功能 在`class`目录的`connect.php`文件中 加入以下代码 在10行左右(中间代码) ``` /** * 2021.09.01 自动载功能 * cighsen02 365182575 */ define('EXTEND_DIR', ECMS_PATH . 'e' . DIRECTORY_SEPARATOR . 'extend'); require_once EXTEND_DIR . DIRECTORY_SEPARATOR . 'twoir' . DIRECTORY_SEPARATOR . 'autoload.php'; ``` #### 第三步,后台接口管理菜单 在后台系统设置里<扩展菜单> -> <管理菜单>: ---- 暂时不开放,后续考虑增加 ### 常用接口地址 1. 列表接口 请求方法:GET ``` /api/v1/?classid={classid} /api/v1/?tablename={tablename} ``` 接口通用,无需每个模型写相应代码 2. 详情接口 请求方法:GET ``` /api/v1/?classid={classid}&id={id} /api/v1/?tablename={tablename}&id={id} ``` 接口通用,无需每个模型写相应代码 3. 注册接口 请求方法:POST 表单参数以实现为准 ``` /api/v1/?act=register ``` 4. 登陆接口 请求方法:POST 表单参数以实现为准 ``` /api/v1/?act=login ``` 5. 退出接口 请求方法:POST/GET ``` /api/v1/?act=logout ``` 6. 验证码接口 请求方法:GET ``` /api/v1/?act=show_key&v=login ``` 返回base64, 这样可以减少一个请求数 7. 点击数统计接口 请求方法:GET ``` /api/v1/?act=click&classid={classid}&id={id} /api/v1/?act=click&tablename={tablename}&id={id} ``` 8. 公众号配置验证(回调地址) ``` /api/v1/ ``` 无需要参数 ### 其它相关 1. 更多教程: http://coach.twoir.com/ecms/api/ 2. 帝国原版UI演示城市分站 [演示站](http://v8.959602.com/) 3. 省市区,带有周边城市功能演示城市分站`AllCity` [演示站](http://y.sj42.com/) 4. 高级筛选`AllInfo` [演示站](http://x.sj42.com/zuowen/c53/) ### QQ交流群 1. 206865209 ### 更新日志 #### 2025.01.20(v1.8.1) 1. 帝国8.0cms `API`发布; 2. 把目录名原`class`改为`src`,跟`composer`管理一致。 ### 参与贡献 - 学习php代码最好机会,写出优质代码 1. 版本号说明:中间一位代表php版本系列,php7,则v1.7.x,v1.8.1适用php8.x版的 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request