3.8.1
This commit is contained in:
302
public/wiki/2x-config.md
Normal file
302
public/wiki/2x-config.md
Normal file
@@ -0,0 +1,302 @@
|
||||
# 重要项目配置
|
||||
考虑到为了方便项目进行配置,同时兼顾系统性能,将一些常用、需要进行个性但不频繁调整的配置,统一放置在./config/app.php配置文件中统一维护。
|
||||
|
||||
其中,project为项目配置,你可能会在你的项目中看到类似以下的配置内容:
|
||||
```php
|
||||
|
||||
/**
|
||||
* 项目配置
|
||||
*/
|
||||
'project' => array(
|
||||
// 项目名称
|
||||
'name' => '果果云',
|
||||
// logo链接
|
||||
'logo' => '/logo.png',
|
||||
// 顶端图标
|
||||
'ico' => '/favicon.ico',
|
||||
// 查看文档的密码,为空时不需要密码
|
||||
'doc_view_code' => '',
|
||||
// 总开关,是否允许会员注册,true允许,false不允许
|
||||
'is_member_register' => true,
|
||||
// 总开关,是否允许开放者注册,true允许,false不允许
|
||||
'is_dev_register' => true,
|
||||
// 用户等级及映射,下标对应member表的member_level字段,建议按权限从低到高配置
|
||||
// 0,100,101,200,201为系统自带等级,不宜更改。可扩展追加
|
||||
'member_level_map' => array(
|
||||
// 0~99区间表示会员
|
||||
0 => array(
|
||||
'name' => '普通会员',
|
||||
'is_register' => true, // 是否允许注册
|
||||
),
|
||||
|
||||
// 100~199区间表示开发者
|
||||
100 => array(
|
||||
'name' => '个人开发者',
|
||||
'is_register' => true, // 是否允许开放平台注册
|
||||
'app_limit' => 0, // 开发者角色每日接口调用次数限制,为0时表示无限制(优先使用应用的app_limit)
|
||||
),
|
||||
101 => array(
|
||||
'name' => '企业开发者',
|
||||
'is_register' => true, // 是否允许开放平台注册
|
||||
'app_limit' => 0, // 开发者角色每日接口调用次数限制,为0时表示无限制(优先使用应用的app_limit)
|
||||
),
|
||||
|
||||
// 200~255区间表示内部管理员
|
||||
200 => array(
|
||||
'name' => '普通管理员',
|
||||
'is_register' => false, // 是否允许注册
|
||||
),
|
||||
255 => array(
|
||||
'name' => '超级管理员',
|
||||
'is_register' => false, // 是否允许注册
|
||||
),
|
||||
),
|
||||
// 每个开发者最多可以创建的应用数量上限
|
||||
'dev_max_app_num' => 10,
|
||||
// 计划任务专用的静态访问令牌,可以自行修改,通过HTTP请求时需要使用,CLI执行时不需要
|
||||
'task_access_token' => 'erVDwgv98Ls',
|
||||
// 默认应用接口每日接口次数上限,0表示没有限制
|
||||
'default_daily_app_limit' => 100000,
|
||||
// 默认接口权限,没有任何配置时应用对于接口调用的默认权限,推荐设置为false
|
||||
'default_app_api_rigths_is_allow' => false,
|
||||
// 开放接口的命名空间,配置后可提供接口权限分配,可配置多个
|
||||
'open_api_namespaces' => array('App'),
|
||||
// 默认语言,简体中文,可选:zh_cn/zh_tw/fr/de/en,或自行扩展
|
||||
'default_language' => 'zh_cn',
|
||||
// 语言列表
|
||||
'language_list' => array(
|
||||
'zh_cn' => '简体中文',
|
||||
'en' => 'English',
|
||||
),
|
||||
// 验证码
|
||||
'captcha' => array(
|
||||
'switch' => array(
|
||||
'admin_login_captcha' => true, // 管理后台登录页面验证码开关
|
||||
'platform_login_catpcha' => true, // 开放平台登录页面验证码开关
|
||||
'platform_register_captcha' => true, // 开放平台注册页面验证码开关
|
||||
),
|
||||
'options' => array(
|
||||
'charset' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', // 验证码字符
|
||||
'length' => 4, // 验证码长度(默认长度为4,范围4~5)
|
||||
'height' => 50, // 验证码显示高度(默认40,单位像素)
|
||||
'width' => 200, // 验证码显示宽度(默认300,单位像素)
|
||||
'is_case_sensitive' => false, // 是否区分大小写
|
||||
),
|
||||
),
|
||||
// IP白名单,为空时不限制IP,只针对App开放接口
|
||||
'allow_ips' => array(
|
||||
// '127.0.0.1', // 每一组一个IP地址
|
||||
),
|
||||
),
|
||||
```
|
||||
|
||||
下面分别介绍一些重要的项目配置。
|
||||
|
||||
## 项目名称
|
||||
### 配置项:name
|
||||
|
||||
用于平台站点展示的项目名称,修改只影响展示和文案的显示,不影响功能使用。
|
||||
|
||||
```php
|
||||
// 项目名称
|
||||
'name' => '果果云',
|
||||
```
|
||||
|
||||
## 项目Logo和图标
|
||||
|
||||
### 配置项:logo和ico
|
||||
|
||||
```php
|
||||
// logo链接
|
||||
'logo' => '/logo.png',
|
||||
// 顶端图标
|
||||
'ico' => '/favicon.ico',
|
||||
```
|
||||
|
||||
## 接口文档查看密码
|
||||
### 配置项:doc_view_code
|
||||
查看文档的密码,为空时不需要密码,可防止外部非相关的人员查看接口文档。
|
||||
```php
|
||||
// 查看文档的密码,为空时不需要密码
|
||||
'doc_view_code' => '',
|
||||
```
|
||||
|
||||
## 是否允许会员注册
|
||||
### 配置项:is_member_register
|
||||
总开关,是否允许会员注册,true允许,false不允许。关闭后,顾客将不能进行注册。
|
||||
```php
|
||||
// 总开关,是否允许会员注册,true允许,false不允许
|
||||
'is_member_register' => true,
|
||||
```
|
||||
|
||||
## 每日接口请求次数限制
|
||||
### 配置项:app_limit
|
||||
角色级别的每日掊次数限制,优先使用应用配置。应用未限制时,再使用此配置。
|
||||
```php
|
||||
'app_limit' => 0, // 开发者角色每日接口调用次数限制,为0时表示无限制(优先使用应用的app_limit)
|
||||
|
||||
```
|
||||
|
||||
## 是否允许开放者注册
|
||||
### 配置项:is_dev_register
|
||||
总开关,是否允许开放者注册,true允许,false不允许。关闭后,开发者将不能在开放平台上进行注册。但可以通过管理后台进行添加。
|
||||
```php
|
||||
// 总开关,是否允许开放者注册,true允许,false不允许
|
||||
'is_dev_register' => true,
|
||||
```
|
||||
|
||||
## 用户等级及映射
|
||||
### 配置项:member_level_map
|
||||
用户等级及映射,下标对应member表的member_level字段,建议按权限从低到高配置。0,100,101,200,201为系统自带等级,不宜更改。可扩展追加。
|
||||
|
||||
```php
|
||||
// 用户等级及映射,下标对应member表的member_level字段,建议按权限从低到高配置
|
||||
// 0,100,101,200,201为系统自带等级,不宜更改。可扩展追加
|
||||
'member_level_map' => array(
|
||||
// 0~99区间表示会员
|
||||
0 => array(
|
||||
'name' => '普通会员',
|
||||
'is_register' => true, // 是否允许注册
|
||||
),
|
||||
|
||||
// 100~199区间表示开发者
|
||||
100 => array(
|
||||
'name' => '个人开发者',
|
||||
'is_register' => true, // 是否允许开放平台注册
|
||||
),
|
||||
101 => array(
|
||||
'name' => '企业开发者',
|
||||
'is_register' => true, // 是否允许开放平台注册
|
||||
),
|
||||
|
||||
// 200~255区间表示内部管理员
|
||||
200 => array(
|
||||
'name' => '普通管理员',
|
||||
'is_register' => false, // 是否允许注册
|
||||
),
|
||||
255 => array(
|
||||
'name' => '超级管理员',
|
||||
'is_register' => false, // 是否允许注册
|
||||
),
|
||||
),
|
||||
```
|
||||
|
||||
添加后,建议同步修改./src/base/Domain/UserType.php文件,定义账号类型常量,方便开发,避免使用魔法数字。
|
||||
```php
|
||||
/**
|
||||
* 账号类型和等级
|
||||
* - 依赖于app.project.member_level_map配置
|
||||
*/
|
||||
class UserType {
|
||||
|
||||
// 用户等级
|
||||
const MEMBER_LEVEL_USER = 0; // 普通用户
|
||||
const MEMBER_LEVEL_PERSON_DEVELOPER = 100; // 个人开发者
|
||||
const MEMBER_LEVEL_COMPAY_DEVELOPER = 101; // 企业开发者
|
||||
const MEMBER_LEVEL_ADMIN = 200; // 管理员
|
||||
const MEMBER_LEVEL_SUPER_ADMIN = 255; // 超级管理员
|
||||
```
|
||||
|
||||
## 开发者应用最大数量
|
||||
### 配置项:dev_max_app_num
|
||||
每个开发者最多可以创建的应用数量上限。管理后台添加应用不受数量限制。
|
||||
```php
|
||||
// 每个开发者最多可以创建的应用数量上限
|
||||
'dev_max_app_num' => 10,
|
||||
```
|
||||
|
||||
## 默认应用接口每日接口次数上限
|
||||
### 配置项:default_daily_app_limit
|
||||
默认应用接口每日接口次数上限,0表示没有限制,不分接口。每个应用的接口次数限制可通过管理后台单独修改和配置。
|
||||
|
||||
```php
|
||||
// 默认应用接口每日接口次数上限,0表示没有限制
|
||||
'default_daily_app_limit' => 100000,
|
||||
```
|
||||
|
||||
## 默认接口权限
|
||||
### 配置项:default_app_api_rigths_is_allow
|
||||
|
||||
```php
|
||||
// 默认接口权限,没有任何配置时应用对于接口调用的默认权限,推荐设置为false
|
||||
'default_app_api_rigths_is_allow' => false,
|
||||
```
|
||||
|
||||
## 开放接口的命名空间
|
||||
### 配置项:open_api_namespaces
|
||||
```php
|
||||
// 开放接口的命名空间,配置后可提供接口权限分配,可配置多个
|
||||
'open_api_namespaces' => array('App'),
|
||||
```
|
||||
可以追加自己新增的接口命名空间。后面文档会有专门介绍。
|
||||
|
||||
## 翻译语言
|
||||
|
||||
见default_language和language_list。
|
||||
|
||||
|
||||
## 验证码
|
||||
|
||||
见captcha。
|
||||
|
||||
|
||||
## 其他配置:JWT令牌
|
||||
jwt对应access_token的配置,你可以修改```key```,但修改后原来全部授权的access_token都会全部生效,需要客户端重新申请新的令牌。
|
||||
你还可以修改```exp```令牌有效的时间,只对新分配的令牌有影响。言下之意,对已经申请的令牌无影响。
|
||||
|
||||
```php
|
||||
/**
|
||||
* JWT令牌
|
||||
*/
|
||||
'jwt' => array(
|
||||
'key' => '*#FD2F9DM~E*', // 用于加密的key(安装时自动生成,不能修改!)
|
||||
'exp' => 30 * 86400, // 令牌生成后多少秒内有效,可自行修改
|
||||
),
|
||||
```
|
||||
|
||||
## 其他配置:用户
|
||||
账号用户里面有一个配置,是用于进行密码加密的公共盐值。不要修改,会导致原有的全部账号密码不正确。
|
||||
强烈建议不要修改,除非清楚在做什么。
|
||||
|
||||
```php
|
||||
/**
|
||||
* 用户
|
||||
*/
|
||||
'member' => array(
|
||||
'salt' => '9DfnseJ%sD#', // 用于增强用户密码(安装时自动生成,不能修改!)
|
||||
),
|
||||
```
|
||||
|
||||
## 其他配置:上传配置
|
||||
如果你需要单独为图片文件配置域名,可以修改```host```;如果需要切换上传的目录位置,可以修改```upload_folder_path```并确保有写入权限。
|
||||
|
||||
```php
|
||||
/**
|
||||
* 上传配置
|
||||
*/
|
||||
'upload' => [
|
||||
'host' => '', // 图片文件域名,为空时取当前域名,修改不影响原有的文件地址,可单独配置图片域名或CDN域名,格式:http://img.xxx.com(前面加协议,最后不用斜杠)
|
||||
'upload_folder_path' => 'uploads', // 上传目录,可修改,注意:1)目录存在且有写入权限;2)需要放置在public目录下,支持外部访问;
|
||||
|
||||
// 如果需要存储到阿里云OSS,请修改以下配置(全部必填方可生效)。若OSS上传失败,将会降级使用本地存储
|
||||
// 如何开通阿里云开通OSS服务:https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.11186623.2.15.d8f41c62os2XRV#task-njz-hf4-tdb
|
||||
// 开通后,创建bucket,并把权限设置为:公共读
|
||||
'aliyu_oss' => array(
|
||||
'accessKeyId' => '', // TODO:修改成你的配置
|
||||
'accessSecret' => '', // TODO
|
||||
'bucket' => '', // TODO Bucket名称
|
||||
'endpoint' => '', // TODO endpoint,例如:http://oss-cn-beijing.aliyuncs.com
|
||||
),
|
||||
],
|
||||
```
|
||||
|
||||
## IP白名单配置
|
||||
如果需要配置全局的IP白名单,这部分IP白名单只针对调用App命名空间的开放接口的客户端IP地址进行限制,可以修改以下配置。为空时不限制,每一组一个IP地址。
|
||||
```
|
||||
// IP白名单,为空时不限制IP,只针对App开放接口
|
||||
'allow_ips' => array(
|
||||
// '127.0.0.1', // 每一组一个IP地址
|
||||
),
|
||||
```
|
||||
> 温暖提示:如果需要针对单个应用进行限制,可以进入Admin管理后台单独修改应用的IP白名单。
|
||||
|
||||
Reference in New Issue
Block a user