hotime/var.go
2022-07-18 19:44:00 +08:00

138 lines
8.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package hotime
import (
. "code.hoteas.com/golang/hotime/common"
)
var IsRun = false //当前状态
var App = map[string]*Application{} //整个项目
//var Db = HoTimeDB{} //数据库实例
var Config = Map{
"mode": 2, //模式 0生产模式1测试模式2开发模式
//"codeConfig": Map{
// "admin": "config/app.json",
//},
"codeConfig": Slice{
Map{
"table": "admin", //默认admin必须有则根据数据库内当前表名做为用户生成数据
"name": "", //默认admin非必须有则生成代码到此目录无则采用缺省模式使用表名
"config": "config/app.json", //默认config/app.json必须接口描述配置文件无则自动生成
"rule": "config/rule.json", //默认config/rule.json非必须有则按改规则生成接口无则按系统内嵌方式生成
"mode": 0, //默认0非必须0为内嵌代码模式1为生成代码模式
},
},
"db": Map{
"sqlite": Map{
"path": "config/data.db",
},
},
"cache": Map{
"memory": Map{
"timeout": 60 * 60 * 2,
"db": true,
"session": true,
},
},
"error": Map{
"1": "内部系统异常",
"2": "访问权限异常",
"3": "请求参数异常",
"4": "数据处理异常",
"5": "数据结果异常",
},
"tpt": "tpt",
"defFile": []string{"index.html", "index.htm"},
"port": "80",
"sessionName": "HOTIME",
}
var ConfigNote = Map{
"logLevel": "默认0必须0关闭1打印日志等级",
"logFile": "无默认,非必须,如果需要存储日志文件时使用,保存格式为:a/b/c/20060102150405.txt,将生成a/b/c/年月日时分秒.txt按需设置",
"webConnectLogShow": "默认true非必须访问日志如果需要web访问链接、访问ip、访问时间打印false为关闭true开启此功能",
"webConnectLogFile": "无默认非必须webConnectLogShow开启之后才能使用如果需要存储日志文件时使用保存格式为:a/b/c/20060102150405.txt,将生成a/b/c/年月日时分秒.txt按需设置",
"mode": "默认0,非必须0生产模式1测试模式2开发模式3内嵌代码模式在开发模式下会显示更多的数据用于开发测试并能够辅助研发自动生成配置文件、代码等功能,web无缓存数据库不启用缓存", //debug 0关闭1开启
//"codeConfig": Map{
// "注释": "配置即启用,非必须,默认无",
// //"package":"默认admin必须mode模式为2时会自动生成包文件夹和代码文件",
// //"path":""
//
// "packageName": "默认无必须包名称以及应用名生成代码的配置文件地址比如config/app.json数据库有更新时自动更新配置文件以及对应的生成文件",
//},
"codeConfig": Slice{
"注释:配置即启用,非必须,默认无",
Map{ //默认无,必须,接口类别名称
//"注释": "", //
"table": "默认admin必须根据数据库内当前表名做为用户生成数据",
"name": "默认无非必须有则生成代码到此目录无则采用缺省模式使用表名如设置为admin将在admin目录生成包名为admin的代码",
"config": "默认config/app.json必须接口描述配置文件", //
"configDB": "默认无,非必须,有则每次将数据库数据生成到此目录用于配置读写,无则不生成", //
"rule": "默认config/rule.json非必须有则按改规则生成接口无则按系统内嵌方式生成",
"mode": "默认0非必须0为内嵌代码模式1为生成代码模式",
},
},
"db": Map{
"注释": "配置即启用非必须默认使用sqlite数据库",
"mysql": Map{
"注释": "除prefix及主从数据库slave项其他全部必须",
"host": "默认127.0.0.1必须数据库ip地址",
"name": "默认test必须数据库名称",
"user": "默认root必须数据库用户名",
"password": "默认root必须数据库密码",
"port": "默认3306必须数据库端口",
"prefix": "默认空,非必须,数据表前缀",
"slave": Map{
"注释": "从数据库配置mysql里配置slave项即启用主从读写减少数据库压力",
"host": "默认127.0.0.1必须数据库ip地址",
"name": "默认test必须数据库名称",
"user": "默认root必须数据库用户名",
"password": "默认root必须数据库密码",
"port": "默认3306必须数据库端口",
},
},
"sqlite": Map{
"path": "默认config/data.db必须数据库位置",
},
},
"cache": Map{
"注释": "可配置memorydbredis默认启用memory默认优先级为memory>redis>db,memory与数据库缓存设置项一致缓存数据填充会自动反方向反哺加入memory缓存过期将自动从redis更新但memory永远不会更新redis如果是集群建议不要开启memory配置即启用",
"memory": Map{
"timeout": "默认60 * 60 * 2非必须过期时间超时自动删除",
"db": "默认true非必须缓存数据库启用后能减少数据库的读写压力",
"session": "默认true非必须缓存web session同时缓存session保持的用户缓存",
},
"db": Map{
"timeout": "默认60 * 60 * 24 * 30非必须过期时间超时自动删除",
"db": "默认false非必须缓存数据库启用后能减少数据库的读写压力",
"session": "默认true非必须缓存web session同时缓存session保持的用户缓存",
},
"redis": Map{
"host": "默认服务ip127.0.0.1必须如果需要使用redis服务时配置",
"port": "默认服务端口6379必须如果需要使用redis服务时配置",
"password": "默认密码空必须如果需要使用redis服务时配置默认密码空",
"timeout": "默认60 * 60 * 24 * 15非必须过期时间超时自动删除",
"db": "默认true非必须缓存数据库启用后能减少数据库的读写压力",
"session": "默认true非必须缓存web session同时缓存session保持的用户缓存",
},
},
"error": Map{
"1": "内部系统异常,在环境配置,文件访问权限等基础运行环境条件不足造成严重错误时使用",
"2": "访问权限异常,没有登录或者登录异常等时候使用",
"3": "请求参数异常request参数不满足要求比如参数不足参数类型错误参数不满足要求等时候使用",
"4": "数据处理异常,数据库操作或者三方请求返回的结果非正常结果,比如数据库突然中断等时候使用",
"5": "数据结果异常一般用于无法给出response要求的格式要求下使用比如response需要的是string格式但你只能提供int数据时",
"注释": "web服务内置错误提示自定义异常建议10开始",
},
"tpt": "默认tpt必须web静态文件目录默认为程序目录下tpt目录",
"defFile": "默认访问index.html或者index.htm文件必须默认访问文件类型",
"crossDomain": "默认空 非必须空字符串为不开启如果需要跨域设置auto为智能开启所有网站允许跨域http://www.baidu.com为指定域允许跨域", //是否开启跨域
"modeRouterStrict": "默认false,必须路由严格模式false,为大小写忽略必须匹配true必须大小写匹配", //路由严格模式/a/b/c
"sessionName": "默认HOTIME必须设置session的cookie名",
"port": "默认80必须web服务开启Http端口0为不启用http服务,默认80",
"tlsPort": "默认空非必须web服务https端口0为不启用https服务",
"tlsKey": "默认空非必须https密钥",
"tlsCert": "默认空非必须https证书",
}