mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
3.2 KiB
3.2 KiB
不应该做的事情
- 一般而言你不需要直接修改开发环境,除了安装composer依赖或其他开发相关的资源。但你不应该自己安装docker、mysql、redis等基础环境,这些由开发者提前维护好。
- 一般而言你不需要修改环境配置文件(如
.env),这些由开发者提前维护好,如果你发现错误应当提示开发者完善相关的配置。 - 你不需要自己运行项目程序,开发者会提前运行好,以便你直接在开发过程中调试。
需要遵守的规则
基本规则参考 CODERULE.md; 更多规则参考在线文档 https://doc.ulthon.com/read/augushong/ulthon_admin/home/zh-cn/2.x.html
框架工具
数据库操作
项目内置了数据库操作工具,可以直接在命令行中执行数据库操作。命令是:
php think tools:db:execute
php think tools:db:query
php think tools:db:table
php think tools:db:count
php think tools:db:info
php think tools:db:desc
通过 --help 可以查看每个命令的详细说明。 该功能的作用是快捷调试数据库的数据,不要通过这个方式设计表结构,(临时调试修改表结构等可以使用,但要注意还原,关于表结构设计有专门的方案规范)。
命令行交互
所有命令行工具均支持使用 --force-force (简写 -ff) 全局参数来跳过交互确认。
理解和设计表结构
项目内置SCHEME机制,参考 CODERULE.md的 Scheme 机制 部分。通过scheme可以获得所有表结构,也可以用于设计数据库结构。
开发流程
项目内置CURD机制,基本流程在CODERULE.md的 CURD 部分,详细说明需要查看在线文档。
页面接口同体机制
系统支持页面和接口同体,即同一个控制器方法既可以返回 HTML 页面,也可以返回 JSON 接口数据。
- 触发方式:在请求头(Header)中设置
Accept包含application/json。 - 认证方式:支持在 Header 中传入
Authorization: Bearer tokenContent进行接口认证。 - 实现要求:控制器方法必须调用
$this->fetch()而非View::fetch()。 - 数据输出:
- 无论是
$this->assign()还是View::assign()的数据都会被转换为 JSON。 - 如果不希望某个数据出现在 JSON 中,可以使用
$this->assign('name', 'value', -1)(第三个参数设为 -1)。
- 无论是
- 特殊处理:
index方法GET方式默认返回分页数据。若需获取assign的数据,需在 URL 中添加参数get_page_data=1。 - 生效范围:仅在控制器模式(Controller Mode)中生效,路由模式(Route Mode)不生效。
登录认证机制
系统登录时会同时启用 Session 和 Token 机制。
- Session 机制:主要用于传统的浏览器环境,依赖 Cookie。
- Token 机制:专门为接口开发和无法使用 Cookie 的场景(如移动端、小程序、跨域请求等)设计。
- 使用方法:
- 登录成功后,接口会返回
token数据。 - 前端在后续请求中,需将此 token 放入请求头:
Authorization: Bearer <token>。 - 系统会自动识别并完成身份认证。
- 登录成功后,接口会返回