popphp / pop-bootstrap
Pop Web 应用框架的骨架应用,使用 Bootstrap Material Icons 和 Font Awesome 框架。
4.5.1
2021-02-13 01:21 UTC
Requires
- php: >=7.1.0
- popphp/popphp-framework: ^4.5.0
README
已结束生命周期
现在,pop-bootstrap
组件已结束生命周期,将不再维护。
版本信息
版本 4.2.0 2019年2月6日
概述
此仓库是使用 Bootstrap v4、Material Icons 和 Font Awesome 框架构建的 Pop Web 应用框架的骨架应用。此骨架框架背后的概念侧重于最小化功能集,允许访问查看基本网页界面、API以及控制台。
需求
- PHP 7.1.0 或更高版本
- Apache 2+、IIS 7+ 或任何支持 URL 重写的网络服务器
- MySQL 5.0+
安装
以下命令将安装所有必要的组件,初始化数据库,并自动进行安装步骤
$ composer create-project popphp/pop-bootstrap project-folder $ cd project-folder $ npm install $ npm run build
或者,上面的最后一个命令可以是 npm run dev
,如果您想为开发环境构建 UI 资产。
入门
您可以通过运行 kettle
命令启动网络服务器
$ ./kettle serve
访问主网络地址 https://:8000
。您将被重定向到登录页面。默认凭据为
- 用户名:
admin
- 密码:
password
网页访问
一旦通过网页浏览器登录,您会看到大部分导航显示均未激活,除了 订单
页面、用户
页面和 注销
图标。订单
页面演示了一个带有侧导航的模拟布局。用户
页面将允许您管理用户。注销
图标将执行用户注销操作。
API 访问
您还可以通过 API 访问进行用户身份验证或用户管理。以下示例使用 cURL 来演示访问 API
身份验证
curl -i -X POST -d"username=admin&password=password" \
https://:8000/api/auth
身份验证成功后,您将收到一个如下所示的 JSON 响应
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE
{
"id": 1,
"username": "admin",
"token": "449d8625fb26753ebce8acbbf38ba2321dd21621",
"refresh": "a5bba1af879c64e591307b48e1fdd7f2d85cba5f",
"expires": 1504754891
}
有了这个,您就可以继续访问 API。
验证令牌
curl -i -X POST --header "Authorization: Bearer 449d8625fb26753ebce8acbbf38ba2321dd21621" \
https://:8000/api/auth/token
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE
刷新令牌
curl -i -X POST --header "Authorization: Bearer 449d8625fb26753ebce8acbbf38ba2321dd21621" \ -d"refresh=a5bba1af879c64e591307b48e1fdd7f2d85cba5f" https://:8000/api/auth/token/refresh
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE
{
"token": "8012796bbedb79fc4cecedcf174640f1b5796f08",
"refresh": "a5bba1af879c64e591307b48e1fdd7f2d85cba5f",
"expires": 1504754891
}
吊销令牌
curl -i -X POST --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
https://:8000/api/auth/token/revoke
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE
管理用户
获取用户
curl -i -X GET --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
https://:8000/api/users
获取一个用户
curl -i -X GET --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
https://:8000/api/users/1
创建用户
curl -i -X POST --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \ -d"username=testuser1&password=123456" https://:8000/api/users
更新用户
curl -i -X PUT --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \ -d"username=testuser1&active=1" https://:8000/api/users/2
删除用户
curl -i -X DELETE --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
https://:8000/api/users/2
删除多个用户
curl -i -X DELETE --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \ -d"rm_users[]=2&rm_users[]=3" https://:8000/api/users
控制台访问
应用程序还附带一个简单的控制台界面,用于从 CLI 辅助应用程序管理。您可以在其基础上添加控制台级别的功能和功能。
$ ./app users List users $ ./app users add Add a user $ ./app users username <user> Change a user's username $ ./app users password <user> Change a user's password $ ./app users -a <user> Activate a user $ ./app users -d <user> Deactivate a user $ ./app users clear <user> Clear a user's failed login attempts $ ./app users revoke <user> Revoke a user's auth tokens $ ./app users remove <user> Remove a user $ ./app version Show the version $ ./app help Show the help screen