Browse Source

bugfix

master
timlai 2 months ago
parent
commit
51cc50dafe
  1. 4
      src/SSCMS.Core/Services/SettingsManager.Environments.cs
  2. 6
      src/SSCMS.Core/Utils/InstallUtils.cs
  3. 2
      src/SSCMS.Web/Controllers/Admin/InstallController.Prepare.cs
  4. 2
      src/SSCMS.Web/Controllers/Admin/InstallController.RedisConnect.cs
  5. 1
      src/SSCMS.Web/Controllers/Admin/InstallController.cs
  6. 4
      src/SSCMS.Web/Pages/ss-admin/install.cshtml
  7. 3
      src/SSCMS.Web/wwwroot/sitefiles/assets/js/admin/install.js

4
src/SSCMS.Core/Services/SettingsManager.Environments.cs

@ -22,6 +22,7 @@ namespace SSCMS.Core.Services
public const string EnvRedisPort = "REDIS_PORT";
public const string EnvRedisSsl = "REDIS_SSL";
public const string EnvRedisPassword = "REDIS_PASSWORD";
public const string EnvRedisDatabase = "REDIS_DATABASE";
public const string EnvRedisConnectionString = "REDIS_CONNECTION_STRING";
public const string EnvMaxSites = "MAX_SITES";
@ -41,6 +42,7 @@ namespace SSCMS.Core.Services
var envRedisPort = GetEnvironmentVariable(EnvRedisPort);
var envRedisSsl = GetEnvironmentVariable(EnvRedisSsl);
var envRedisPassword = GetEnvironmentVariable(EnvRedisPassword);
var envRedisDatabase = GetEnvironmentVariable(EnvRedisDatabase);
var envRedisConnectionString = GetEnvironmentVariable(EnvRedisConnectionString);
var envMaxSites = TranslateUtils.ToInt(GetEnvironmentVariable(EnvMaxSites));
@ -70,7 +72,7 @@ namespace SSCMS.Core.Services
var port = TranslateUtils.ToInt(envRedisPort);
RedisConnectionString = InstallUtils.GetRedisConnectionString(envRedisHost,
port == 0, port,
TranslateUtils.ToBool(envRedisSsl), envRedisPassword);
TranslateUtils.ToBool(envRedisSsl), envRedisPassword, envRedisDatabase);
}
MaxSites = envMaxSites;
}

6
src/SSCMS.Core/Utils/InstallUtils.cs

@ -138,7 +138,7 @@ namespace SSCMS.Core.Utils
}
}
public static string GetRedisConnectionString(string redisHost, bool isRedisDefaultPort, int redisPort, bool isSsl, string redisPassword)
public static string GetRedisConnectionString(string redisHost, bool isRedisDefaultPort, int redisPort, bool isSsl, string redisPassword, string redisDatabase)
{
var connectionString = string.Empty;
if (!string.IsNullOrEmpty(redisHost))
@ -157,6 +157,10 @@ namespace SSCMS.Core.Utils
{
connectionString += $",password={redisPassword}";
}
if (!string.IsNullOrEmpty(redisDatabase))
{
connectionString += $",database={redisDatabase}";
}
}
return connectionString;

2
src/SSCMS.Web/Controllers/Admin/InstallController.Prepare.cs

@ -51,7 +51,7 @@ namespace SSCMS.Web.Controllers.Admin
var redisConnectionString = string.Empty;
if (request.IsRedis)
{
redisConnectionString = InstallUtils.GetRedisConnectionString(request.RedisHost, request.IsRedisDefaultPort, request.RedisPort, request.IsSsl, request.RedisPassword);
redisConnectionString = InstallUtils.GetRedisConnectionString(request.RedisHost, request.IsRedisDefaultPort, request.RedisPort, request.IsSsl, request.RedisPassword, request.RedisDatabase);
}
_settingsManager.SaveSettings(request.IsProtectData, false, false, request.DatabaseType, databaseConnectionString,

2
src/SSCMS.Web/Controllers/Admin/InstallController.RedisConnect.cs

@ -23,7 +23,7 @@ namespace SSCMS.Web.Controllers.Admin
{
if (request.IsRedis)
{
redisConnectionString = InstallUtils.GetRedisConnectionString(request.RedisHost, request.IsRedisDefaultPort, request.RedisPort, request.IsSsl, request.RedisPassword);
redisConnectionString = InstallUtils.GetRedisConnectionString(request.RedisHost, request.IsRedisDefaultPort, request.RedisPort, request.IsSsl, request.RedisPassword, request.RedisDatabase);
}
}

1
src/SSCMS.Web/Controllers/Admin/InstallController.cs

@ -76,6 +76,7 @@ namespace SSCMS.Web.Controllers.Admin
public int RedisPort { get; set; }
public bool IsSsl { get; set; }
public string RedisPassword { get; set; }
public string RedisDatabase { get; set; }
}
public class PrepareRequest : RedisConnectRequest

4
src/SSCMS.Web/Pages/ss-admin/install.cshtml

@ -201,6 +201,10 @@
<el-input v-model="redisForm.redisPassword" type="password" placeholder="连接Redis的密码"></el-input>
<small class="tips">连接Redis的密码,可以为空</small>
</el-form-item>
<el-form-item label="Redis数据库">
<el-input v-model="redisForm.redisDatabase" placeholder="连接Redis的指定数据库"></el-input>
<small class="tips">连接Redis的指定数据库,可以为空</small>
</el-form-item>
</template>

3
src/SSCMS.Web/wwwroot/sitefiles/assets/js/admin/install.js

@ -43,7 +43,8 @@ var data = utils.init({
isRedisDefaultPort: true,
redisPort: 6379,
isSsl: false,
redisPassword: null
redisPassword: null,
redisDatabase: null
},
adminForm: {

Loading…
Cancel
Save