## 插件规范
### 通用规范
1. **插件内不可包含存在侵权的图标、字体、代码、文字、图片、图片中的文字、样式或素材等**
2. 插件必须能在`后台管理`\->`插件管理`正常离线安装
3. 插件内请勿附带任何推广文字或链接
4. 插件内不能包含插件内子市场(远程下载模块)功能
5. 插件内不能包含加密的代码
6. 插件内必须包含完整的代码,不能提供额外链接用于下载其它资源
7. 插件非辅助类别插件功能不能过于单一
8. 插件必须提供完整的功能介绍、截图和文档
9. 插件内服务端代码必须基于PSR-2规范进行编码和格式化
10. 插件目录、插件标识、数据库前缀、菜单规则标识等必须一一匹配
11. 插件目录控制器、模型、类、视图等如有多个时必须使用层级,且层级的`顶层目录`必须为`插件标识`
12. 插件安装时不能覆盖修改FastAdmin框架的核心文件和核心数据表结构
13. 插件目录不能包含任何隐藏脚本文件
14. `public`目录下不允许任何的`php/asp/jsp`等服务端脚本文件
15. 插件内API接口图片和资源必须使用`cdnurl("地址", true);`进行补全URL前缀
16. 插件内如有使用自定义函数,请务必在自定义函数前加`插件标识_`或使用命名空间进行自定义函数
### 插件依赖规范
我们在开发插件中如果需要依赖到插件市场的插件时,需要注意以下依赖规范
1.如有必选依赖插件时,必须包含一款免费插件,确保基础功能可用,例如`(编辑器、短信发送)`。
2.如有可选依赖插件时,应用插件可以是收费的,但插件在没有安装这些可选依赖插件时,必须能够正常运行,以保证插件的灵活性和兼容性。
3.在开发自己的插件时,要尽量确保插件在没有安装可选依赖插件的情况下仍能正常运行,以提供更好的用户体验。
### 版本号规范
我们在开发FastAdmin应用插件时需做好版本号的更新和维护。
版本格式:`主版本号.次版本号.修订号`
版本号递增规则如下:
1.主版本号:当你做了不兼容的 API 修改。
2.次版本号:当你做了向下兼容的功能性新增。
3.修订号:当你做了向下兼容的问题修正。
具体语义化规范请参考:https://semver.org/lang/zh-CN/
### 命名规范
具体命名规范可以参考:https://www.kancloud.cn/manual/thinkphp5/118007