menumenu
关闭

百牛

/bainiu

专注软件开发19年

拥有丰富开发经验和专业的技术团队

资深项目经理全程服务

量身定制 按需开发

确保如期上线 安全高效运营

专业可靠 实力雄厚

高性价比 节约成本

实体公司 售后保障

联系我们

电话:0377-60993888

邮箱:kefu@bainiu.com

地址:南阳市独山大道与滨河路交汇处盛唐商务苑18号楼304室

技术分享

教育行业OA系统开发框架说明文档

框架说明

介绍

该项目是一款基于ThinkPHP5.1 + LayuiAdmin 的极速后台开发框架。

必读文档参考链接:

  1. PHP 标准规范: <PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准> (请严格安装标准编码,代码提交时会进行编码规范规则自动校验,不通过无法提交);
  2. ThinkPHP5.1文档:请仔熟读该文档,明白框架原理;真正的把框架用好,提高代码性能和编码效率;
  3. ThinkPHP官方博客:改文档介绍了一些关于TP框架的一些技巧和说明,有助于理解框架的应用;
  4. LayUI前端框架:LayUI框架文档介绍,特别是关于模块规范、命名规则、表格、表单和模板引擎一定要研究透彻;
  5. LayuiAdmin文档:layuiAdmin pro (单页版)是完全基于 layui 架构而成的后台管理模板系统,可以更轻松地实现前后端分离;

部署说明

环境要求

PHP &gt;= 7.0
Mysql &gt;= 5.6 (需支持innodb引擎)
Nginx &gt;= 1.15
PDO PHP Extension
MBstring PHP Extension
CURL PHP Extension
Composer (用于管理第三方扩展包)
Node.js (可选, 上线部署时打包前端框架)

安装方法

1、安装依赖

SVN同步下代码后, 通过 composer 安装依赖包

composer install

2、命令行安装

一键安装FastAdmin的参数请使用php think install --help查看

php think install -u 数据库用户名 -p 数据库密码

3、绑定虚拟主机目录

添加虚拟主机并绑定到应用目录下的public目录,请尽量使用独立域名

4、设置调试模式

本地调试是,在项目根目录下添加.ENV文件,配置文件会覆盖项目配置,内容参考如下:

//基础配置
APP_NAME = 教育行业办公系统
APP_DEBUG =  true
APP_TRACE =  true

//数据库配置
DATABASE_HOSTNAME = localhost
DATABASE_DATABASE = eduoa
DATABASE_USERNAME = root
DATABASE_PASSWORD = 123456
DATABASE_HOSTPORT = 3306
DATABASE_PREFIX = eduoa_

注意:.ENV文件为个人本地开发私有文件,请勿加入加入项目Git或SVN中

其它命令

一键生成API文档

请确保你的API模块下的控制器代码没有语法错误,控制器类注释、方法名注释完整,注释规则请参考下方注释规则;

常用命令:

//一键生成API文档
php think api --force=true
//指定https://www.example.com为API接口请求域名,默认为空
php think api -u https://www.example.com --force=true
//输出自定义文件为myapi.html,默认为api.html
php think api -o myapi.html --force=true
//修改API模板为mytemplate.html,默认为index.html
php think api -e mytemplate.html --force=true
//修改标题为FastAdmin,作者为作者
php think api -t FastAdmin -a Karson --force=true
//查看API接口命令行帮助
php think api -h

参数介绍

-u, --url[=URL]            默认API请求URL地址 [default: &quot;&quot;]
-m, --module[=MODULE]      模块名(admin/index/api) [default: &quot;api&quot;]
-o, --output[=OUTPUT]      输出文件 [default: &quot;api.html&quot;]
-e, --template[=TEMPLATE]  模板文件 [default: &quot;index.html&quot;]
-f, --force[=FORCE]        覆盖模式 [default: false]
-t, --title[=TITLE]        文档标题 [default: &quot;&quot;]
-a, --author[=AUTHOR]      文档作者 [default: &quot;&quot;]
-c, --class[=CLASS]        扩展类 (multiple values allowed)
-l, --language[=LANGUAGE]  语言 [default: &quot;zh-cn&quot;]

注释规则

在我们的控制器中通常分为两部分注释,一是控制器头部的注释,二是控制器方法的注释

控制器注释

名称 描述 示例
@ApiSector API分组名称 (测试分组)
@ApiRoute API接口URL,此@ApiRoute只是基础URL (/api/test)
@ApiInternal 忽略的控制器,表示此控制将不加入API文档 无

控制器方法注释

名称 描述 示例
@ApiTitle API接口的标题,为空时将自动匹配注释的文本信息 (测试标题)
@ApiSummary API接口描述 (测试描述)
@ApiRoute API接口地址,为空时将自动计算请求地址 (/api/test/index)
@ApiMethod API接口请求方法,默认为GET (POST)
@ApiSector API分组,默认按钮控制器或控制器的@ApiSector进行分组 (测试分组)
@ApiParams API请求参数,如果在@ApiRoute中有对应的{@参数名},将进行替换 (name="id", type="integer", required=true, description="会员ID")
@ApiHeaders API请求传递的Headers信息 (name=token, type=string, required=true, description="请求的Token")
@ApiReturn API返回的结果示例 ({"code":1,"msg":"返回成功"})
@ApiReturnParams API返回的结果参数介绍 (name="list", type="array", description="数据列表", sample="")
@ApiReturnHeaders API返回的Headers信息 (name="token", type="integer", rdescription=“介绍”, sample="123456")
@ApiInternal 忽略的方法,表示此方法将不加入文档 无

常见问题

如果控制器的方法是private或protected的,则将不会生成相应的API文档

如果注释不生效,请检查注释文本是否正确.