diff --git a/src/common/model/global/i18n/LangEn.ts b/src/common/model/global/i18n/LangEn.ts index c5c814c..1a8f15e 100644 --- a/src/common/model/global/i18n/LangEn.ts +++ b/src/common/model/global/i18n/LangEn.ts @@ -21,7 +21,8 @@ let LangEn = { reRun: 'ReRun', }, install: { - configMysql: "Config MySQL", + configMysql: "Config Database", + dbType: "Database Type", port: "Port", schema: "Schema", username: "Username", @@ -30,6 +31,7 @@ let LangEn = { mysqlConnectionPass: "Connect MySQL Ok", testMysqlConnection: "Tes MySQL Connection", notice: "Notice", + sqliteNotice1: "Sqlite is a tiny file database, you can use it without installation", mysqlNotice1: "If Mysql and EyeblueTank installed on the same server, Host is 127.0.0.1", mysqlNotice2: "Your mysql account must have access to create table, or the second step will fail.", validateMysqlFirst: "Please test the mysql connection firstly.", diff --git a/src/common/model/global/i18n/LangZh.ts b/src/common/model/global/i18n/LangZh.ts index e198531..5a44220 100644 --- a/src/common/model/global/i18n/LangZh.ts +++ b/src/common/model/global/i18n/LangZh.ts @@ -21,7 +21,8 @@ let LangZh = { reRun: '立即重跑', }, install: { - configMysql: "配置MySQL", + configMysql: "配置数据库", + dbType: "数据库类型", port: "端口", schema: "库名", username: "用户名", @@ -30,6 +31,7 @@ let LangZh = { mysqlConnectionPass: "MySQL连接测试通过", testMysqlConnection: "测试MySQL连接", notice: "注意", + sqliteNotice1: "sqlite是一个轻量的文件数据库,无需安装即可使用", mysqlNotice1: "如果数据库和蓝眼云盘安装在同一台服务器,Host可以直接填写 127.0.0.1。", mysqlNotice2: "数据库账户的权限要求要能够创建表,否则第二步\"创建表\"操作会出错", validateMysqlFirst: "请首先验证数据库连接", diff --git a/src/common/model/install/Install.ts b/src/common/model/install/Install.ts index 550ef03..25d5c37 100644 --- a/src/common/model/install/Install.ts +++ b/src/common/model/install/Install.ts @@ -14,6 +14,9 @@ export default class Install extends BaseEntity { static URL_VALIDATE_ADMIN = '/api/install/validate/admin' static URL_FINISH = '/api/install/finish' + //数据库类型 + dbType: string = "mysql" + //数据库名 mysqlPort: number = 3306 mysqlHost: string = "127.0.0.1" @@ -52,6 +55,7 @@ export default class Install extends BaseEntity { getMysqlForm() { return { + dbType: this.dbType, mysqlHost: this.mysqlHost, mysqlPort: this.mysqlPort, mysqlSchema: this.mysqlSchema, @@ -63,6 +67,7 @@ export default class Install extends BaseEntity { getForm() { return { + dbType: this.dbType, mysqlPort: this.mysqlPort, mysqlHost: this.mysqlHost, mysqlSchema: this.mysqlSchema, diff --git a/src/pages/dashboard/Index.tsx b/src/pages/dashboard/Index.tsx index 926c24f..2db76f4 100644 --- a/src/pages/dashboard/Index.tsx +++ b/src/pages/dashboard/Index.tsx @@ -252,7 +252,9 @@ export default class Index extends TankComponent { refreshActiveIpTop10() { let that = this that.dashboard.httpActiveIpTop10(function (data: any) { - that.activeIpTop10 = data + if (data) { + that.activeIpTop10 = data + } that.updateUI() }) } @@ -410,7 +412,7 @@ export default class Index extends TankComponent { - +
diff --git a/src/pages/install/widget/MysqlPanel.tsx b/src/pages/install/widget/MysqlPanel.tsx index cad7388..797ca2e 100644 --- a/src/pages/install/widget/MysqlPanel.tsx +++ b/src/pages/install/widget/MysqlPanel.tsx @@ -38,6 +38,7 @@ export default class MysqlPanel extends TankComponent { let that = this let install: Install = this.props.install + install.dbType = values["dbType"] install.mysqlHost = values["mysqlHost"] install.mysqlPort = values["mysqlPort"] install.mysqlSchema = values["mysqlSchema"] @@ -67,18 +68,31 @@ export default class MysqlPanel extends TankComponent { goToNext() { let that = this let install: Install = this.props.install + let useMysql = this.useMysql(); + if (!useMysql) { + install.verified = true + } if (install.verified) { - this.props.onNextStep() - } else { MessageBoxUtil.error(Lang.t("install.validateMysqlFirst")) - } } + useMysql(): boolean { + let that = this; + + let install: Install = this.props.install + let dbType = install.dbType + if (that.formRef && that.formRef.current) { + dbType = that.formRef.current!.getFieldValue("dbType") + install.dbType = dbType + } + + return dbType === "mysql" + } render() { @@ -91,6 +105,9 @@ export default class MysqlPanel extends TankComponent { wrapperCol: {span: 18}, }; + + let useMysql: boolean = this.useMysql() + return (
@@ -105,75 +122,111 @@ export default class MysqlPanel extends TankComponent { }} > - - - - - - - - - - - - - - - - - - - - - - - + { + useMysql && ( + + ) + } + + + { + useMysql && ( + + ) + } + + + { + useMysql && ( + + ) + } + + + { + useMysql && ( + + ) + } + + + { + useMysql && ( + + ) + } + + + { + useMysql && ( + + ) + } + +
{Lang.t("install.notice")}
-
    -
  1. {Lang.t("install.mysqlNotice1")}
  2. -
  3. {Lang.t("install.mysqlNotice2")}
  4. -
+ { + useMysql ? (
    +
  1. {Lang.t("install.mysqlNotice1")}
  2. +
  3. {Lang.t("install.mysqlNotice2")}
  4. +
+ + ) : ( +
    +
  1. {Lang.t("install.sqliteNotice1")}
  2. +
+ ) + } +
} type="info" @@ -181,10 +234,13 @@ export default class MysqlPanel extends TankComponent {
- + { + useMysql && () + } +