jncinet/qihucms-role
Composer 安装命令:
composer require jncinet/qihucms-role
包简介
qihucms role.
README 文档
README
安装
$ composer require jncinet/qihucms-role
使用
数据迁移
$ php artisan migrate
发布资源
$ php artisan vendor:publish --provider="Qihucms\Role\RoleServiceProvider"
添加到会员模型
... use Qihucms\Role\Models\HasPermissions ... class User extends Authenticatable { use HasPermissions; ... }
删除过期权限,可以宝塔定时任务中添加运行此命令
$ php artisan role:checkExpires
后台菜单
- 规则
role/roles - 权限
role/permissions
接口
所有可开通的功能
- 请求方式:GET
- 请求地址:role/roles
- 请求参数:
{
"name": "名称", // 可选
"slug": "标识", // 可选
"currency_type_id": 1, // 支付货币类型 可选
"times": 1, // 有效时长 可选
"unit": "days", // 有效时长单位 可选
"is_pa": 1, // 是否需要完成个人认证 可选
"is_co": 0, // 是否需要完成企业认证 可选
}
- 返回值:
{
"data": [
{
'id': 1,
'name': "名称",
'slug': "标识",
'desc': "介绍",
'times': 3,
'unit': "days",
'is_qualification_pa': 0,
'is_qualification_co': 1,
'price': 1.00,
'currency_type': {货币详细信息},
},
...
],
"meta": {},
"links": {},
}
开通功能
- 请求方式:POST
- 请求地址:role/roles
- 请求参数:{'role_id': 1, // 功能ID}
- 返回值:
{
"status": "SUCCESS",
"result" : {
'user_id': 1, // 会员ID号
'role_id': 1, // 已开通的功能ID
}
}
权限详细说明
- 请求方式:POST
- 请求地址:role/roles/{id=功能ID}
- 返回值:
{
'id': 1,
'name': "名称",
'slug': "标识",
'desc': "介绍",
'times': 3,
'unit': "days",
'is_qualification_pa': 0,
'is_qualification_co': 1,
'price': 1.00,
'currency_type': {货币详细信息},
}
数据库
签约项目表:roles
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| name | varchar | 255 | 签约名称 | ||
| slug | varchar | 255 | 标识 | ||
| desc | varchar | 255 | Y | NULL | 简介 |
| times | mediumint | 0 | 有效时长 | ||
| unit | enum | 'days','weeks','months','year' | days | 单位 | |
| is_qualification_pa | tinyint | 0 | 个人认证? | ||
| is_qualification_co | tinyint | 0 | 企业认证? | ||
| currency_type_id | bigint | 0 | 货币类型 | ||
| price | decimal | 0.00 | 价格 | ||
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
功能权限表:permissions
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| name | varchar | 255 | 功能名称 | ||
| slug | varchar | 255 | Y | NULL | 标识 |
| amount | mediumint | 0 | 数量限制 | ||
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
签约项目后拥有功能权限表:role_permissions
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| permission_id | bigint | 功能权限ID | |||
| role_id | bigint | 签约项目ID | |||
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
会员己经签约的项目表:role_users
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| user_id | bigint | 会员ID | |||
| role_id | bigint | 签约项目ID | |||
| expires | timestamp | Y | NULL | 到期时间 | |
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
会员已经拥有的功能权限表:user_permissions
| Field | Type | Length | AllowNull | Default | Comment |
|---|---|---|---|---|---|
| id | bigint | ||||
| user_id | bigint | 会员ID | |||
| permission_id | bigint | 功能权限ID | |||
| expires | timestamp | Y | NULL | 到期时间 | |
| created_at | timestamp | Y | NULL | 创建时间 | |
| updated_at | timestamp | Y | NULL | 更新时间 |
jncinet/qihucms-role 适用场景与选型建议
jncinet/qihucms-role 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 11 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「role」 「qihucms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jncinet/qihucms-role 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jncinet/qihucms-role 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jncinet/qihucms-role 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Provide a way to secure accesses to all routes of an symfony application.
The library provides a flexible way to add role-based access control management to CakePHP 3.x
A Laravel Nova tool for `ACL` based on `laratrust` package.
Menu and role management helper.
Alfabank REST API integration
Role based access control for company and module based application.
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-11-20