gadget/docs/cn/config.md
2023-12-05 11:33:44 +08:00

5.1 KiB
Executable File
Raw Blame History

使用$[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"
    }