207 lines
5.1 KiB
Markdown
207 lines
5.1 KiB
Markdown
|
#
|
|||
|
|
|||
|
## 宏
|
|||
|
使用$[x]$来引用宏,目前config.json文件中支持两个宏
|
|||
|
### workdir
|
|||
|
工作目录,gadget程序启动时的目录
|
|||
|
### ProgramPath
|
|||
|
gadget程序所在目录
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
"logger":{
|
|||
|
"name":"iptvserver",
|
|||
|
"levelname":"debug",
|
|||
|
"logfile":"$[workdir]$/logs/iptv.log"
|
|||
|
}
|
|||
|
```
|
|||
|
上述例子定义了logfile为工作目录下的logs/iptv.log
|
|||
|
|
|||
|
## logger
|
|||
|
定义日志
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
"logger":{
|
|||
|
"name":"iptvserver",
|
|||
|
"levelname":"debug",
|
|||
|
"logfile":"$[workdir]$/logs/iptv.log"
|
|||
|
},
|
|||
|
```
|
|||
|
### name
|
|||
|
日志名称
|
|||
|
### levelname
|
|||
|
日志级别名称
|
|||
|
* debug
|
|||
|
* info
|
|||
|
* error
|
|||
|
### logfile
|
|||
|
日志文件路径
|
|||
|
|
|||
|
## databases
|
|||
|
字典类型,每个key定义一个数据库定义, 支持链接多个数据库,可以同时定义多个不同类型的数据库
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
“databases”:{
|
|||
|
"kboss":{
|
|||
|
"driver":"aiomysql",
|
|||
|
"async_mode":true,
|
|||
|
"coding":"utf8",
|
|||
|
"dbname":"kboss",
|
|||
|
"maxconn":100,
|
|||
|
"kwargs":{
|
|||
|
"user":"test",
|
|||
|
"db":"kboss",
|
|||
|
"password":"QUZVcXg5V1p1STMybG5Ia6mX9D0v7+g=",
|
|||
|
"host":"localhost"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
```
|
|||
|
上述定义了一个名为“kboss”的数据库,使用aiomysql“模块操作数据库
|
|||
|
异步模式
|
|||
|
最大支持100个链接,链接参数等
|
|||
|
|
|||
|
## website
|
|||
|
字典类型,定义website属性
|
|||
|
### port
|
|||
|
端口号
|
|||
|
|
|||
|
### host
|
|||
|
定义网站主机ip地址,通常设置为”0.0.0.0“, 内网外网都能访问
|
|||
|
|
|||
|
### ssl
|
|||
|
定义网站使用https访问,格式如下
|
|||
|
```
|
|||
|
"ssl":{
|
|||
|
"crtfile":证书绝对路径,
|
|||
|
"keyfile":证书密码文件绝对路径
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### coding
|
|||
|
定义网站编码,建议使用”utf-8“编码
|
|||
|
|
|||
|
### processors
|
|||
|
数组,定义文件后缀网站路由,每一个元素定义一个后缀
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
"processors":[
|
|||
|
[".proxy","proxy"],
|
|||
|
[".xlsxds","xlsxds"],
|
|||
|
[".sqlds","sqlds"],
|
|||
|
[".tmpl.js","tmpl"],
|
|||
|
[".tmpl.css","tmpl"],
|
|||
|
[".tmpl.html","tmpl"],
|
|||
|
[".bcrud", "bricks_crud"],
|
|||
|
[".tmpl","tmpl"],
|
|||
|
[".ui","tmpl"],
|
|||
|
[".dspy","dspy"],
|
|||
|
[".md","md"]
|
|||
|
|
|||
|
```
|
|||
|
上述例子定义:
|
|||
|
* .proxy 后缀的路径,使用ProxyProcessor来处理
|
|||
|
* .xlsxds后缀的路径,使用XlsxdsProcessor处理器来处理
|
|||
|
* .sqlds后缀的路径,采用SqldsProcessor处理器来处理
|
|||
|
* .tmpl.js后缀的路径,使用TmplProcessor处理器来处理
|
|||
|
* .tmpl.css后缀的路径,使用TmplProcessor处理器来处理
|
|||
|
* .tmpl.html后缀的路径,使用TmplProcessor处理器来处理
|
|||
|
* .bcrud后缀的路径,使用BricksCrudProcessor处理器来处理
|
|||
|
* .tmpl后缀的路径,使用TmplProcessor处理器来处理
|
|||
|
* .ui后缀的路径,使用TmplProcessor处理器来处理
|
|||
|
* .dspy后缀的路径,使用DspyProcessor处理器来处理
|
|||
|
* .md后缀的路径,使用MarkdownProcessor处理器来处理
|
|||
|
|
|||
|
### startswiths
|
|||
|
数组类型,定义网站的前缀路由,前缀路由使用注册函数实现
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
"startswiths":[
|
|||
|
{
|
|||
|
"leading":"/public/publickey",
|
|||
|
"registerfunction":"getPublicKey"
|
|||
|
},
|
|||
|
{
|
|||
|
"leading":"/public/i18n",
|
|||
|
"registerfunction":"getI18nMapping"
|
|||
|
},
|
|||
|
{
|
|||
|
"leading":"/idfile",
|
|||
|
"registerfunction":"idFileDownload"
|
|||
|
},
|
|||
|
{
|
|||
|
"leading":"/thumb",
|
|||
|
"registerfunction":"makeThumb",
|
|||
|
"width":512,
|
|||
|
"quality":50,
|
|||
|
"keep_ratio":1
|
|||
|
}
|
|||
|
],
|
|||
|
```
|
|||
|
上述定义了4个前缀路由,除“leading”,”registerfunction“外的属性均被当作参数传递给注册函数
|
|||
|
|
|||
|
### rsakey
|
|||
|
支持rsa公开密钥加密,在这个属性下提供rsa的私钥和公钥
|
|||
|
例子
|
|||
|
```
|
|||
|
"rsakey":{
|
|||
|
"privatekey":"$[workdir]$/conf/rsa_private_key.pem",
|
|||
|
"publickey":"$[workdir]$/conf/rsa_public_key.pem"
|
|||
|
}
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
## 登录控制
|
|||
|
|
|||
|
在config.json文件对website属性下
|
|||
|
### authpaths
|
|||
|
authpaths是一个数组, 每个元素定义一个路径或路径的起始字符串,在authpaths中定义的路径,用户访问的URL的起始字符串与其相同时需要登录
|
|||
|
|
|||
|
例子1
|
|||
|
```
|
|||
|
"authpaths":[
|
|||
|
"/"
|
|||
|
]
|
|||
|
```
|
|||
|
上面的例子整个网站都需要登录后才能访问,这种情况需要设置例外,放出登录界面让用户访问
|
|||
|
|
|||
|
例子2
|
|||
|
```
|
|||
|
"authparhs":[
|
|||
|
"/scrent",
|
|||
|
"/private"
|
|||
|
]
|
|||
|
```
|
|||
|
以上例子定义了需要登录后才能访问的路径,所以以上述两个字符串开始的路径的访问都需要登录
|
|||
|
|
|||
|
### whitelist
|
|||
|
白名单,数组,每项定义一个例外
|
|||
|
例子1
|
|||
|
```
|
|||
|
"whitelist":[
|
|||
|
"/login",
|
|||
|
"/login"
|
|||
|
]
|
|||
|
```
|
|||
|
以上例子将根目录下所有以“login”开始的路径都设置成例外,不用登录也可以访问
|
|||
|
|
|||
|
## langMapping
|
|||
|
语言对照
|
|||
|
不同的浏览器和操作系统,向后台船队的语言差异挺大,这里定义了一个映射
|
|||
|
|
|||
|
例子
|
|||
|
```
|
|||
|
"langMapping":{
|
|||
|
"zh-Hans-CN":"zh-cn",
|
|||
|
"zh-CN":"zh-cn",
|
|||
|
"en-us":"en",
|
|||
|
"en-US":"en"
|
|||
|
}
|
|||
|
|
|||
|
```
|