添加多运行环境支持 #14
@@ -6,11 +6,10 @@ import cn.celess.blog.enmu.ResponseEnum;
|
||||
import cn.celess.blog.entity.Config;
|
||||
import cn.celess.blog.entity.InstallParam;
|
||||
import cn.celess.blog.entity.Response;
|
||||
import cn.celess.blog.entity.User;
|
||||
import cn.celess.blog.exception.MyException;
|
||||
import cn.celess.blog.mapper.ConfigMapper;
|
||||
import cn.celess.blog.mapper.UserMapper;
|
||||
import cn.celess.blog.service.InstallService;
|
||||
import cn.celess.blog.util.RegexUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -50,10 +49,23 @@ public class InstallController {
|
||||
@PostMapping("/install")
|
||||
@ResponseBody
|
||||
public Response<Object> install(@Valid @RequestBody InstallParam installParam) {
|
||||
if (!RegexUtil.emailMatch(installParam.getEmail())) {
|
||||
throw new MyException(ResponseEnum.PARAMETERS_EMAIL_ERROR);
|
||||
}
|
||||
if (!RegexUtil.pwdMatch(installParam.getPassword())) {
|
||||
throw new MyException(ResponseEnum.PARAMETERS_PWD_ERROR);
|
||||
}
|
||||
return Response.success(installService.install(installParam));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/default_config")
|
||||
@ResponseBody
|
||||
public Response<String> defaultConfig() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/install")
|
||||
public String install() {
|
||||
Config configuration = configMapper.getConfiguration(ConfigKeyEnum.BLOG_INSTALLED.getKey());
|
||||
|
||||
@@ -14,8 +14,11 @@ public class InstallParam {
|
||||
@NotBlank(message = "数据库类型不可为空")
|
||||
private String dbType;
|
||||
|
||||
@NotBlank(message = "数据库链接不可为空")
|
||||
private String dbUrl;
|
||||
@NotBlank(message = "数据库主机不可为空")
|
||||
private String dbHost;
|
||||
|
||||
@NotBlank(message = "数据库名称不可为空")
|
||||
private String dbName;
|
||||
|
||||
@NotBlank(message = "数据库用户名不可为空")
|
||||
private String dbUsername;
|
||||
|
||||
@@ -79,12 +79,17 @@ public class InstallServiceImpl implements InstallService {
|
||||
Config config = new Config(ConfigKeyEnum.DB_TYPE);
|
||||
config.setValue(installParam.getDbType());
|
||||
Properties properties = new Properties();
|
||||
StringBuilder urlSb = new StringBuilder();
|
||||
if ("h2".equals(installParam.getDbType())) {
|
||||
properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), H2_DRIVER_CLASS_NAME);
|
||||
urlSb.append("jdbc:h2:");
|
||||
} else {
|
||||
properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), MYSQL_DRIVER_CLASS_NAME);
|
||||
urlSb.append("jdbc:mysql:");
|
||||
}
|
||||
properties.setProperty(ConfigKeyEnum.DB_URL.getKey(), installParam.getDbUrl());
|
||||
// TODO ::
|
||||
urlSb.append(installParam.getDbHost()).append('/').append(installParam.getDbName());
|
||||
properties.setProperty(ConfigKeyEnum.DB_URL.getKey(), urlSb.toString());
|
||||
properties.setProperty(ConfigKeyEnum.DB_USERNAME.getKey(), installParam.getDbUsername());
|
||||
properties.setProperty(ConfigKeyEnum.DB_PASSWORD.getKey(), installParam.getDbPassword());
|
||||
|
||||
|
||||
@@ -29,12 +29,19 @@
|
||||
<option value="h2">H2数据库</option>
|
||||
<option value="mysql">Mysql数据库</option>
|
||||
</select>
|
||||
<input id="db-url" type="text" placeholder="请输入数据库的地址">
|
||||
<span class="err-msg" id="err-tip-db-url">数据库的地址不可为空</span>
|
||||
|
||||
<input id="db-host" type="text" placeholder="请输入数据库的主机地址">
|
||||
<span class="err-msg" id="err-tip-db-host">数据库的主机地址不可为空</span>
|
||||
|
||||
<input id="db-name" type="text" placeholder="请输入数据库的名称">
|
||||
<span class="err-msg" id="err-tip-db-name">数据库的地址名称不可为空</span>
|
||||
|
||||
<input id="db-username" type="text" placeholder="请输入数据库用户名">
|
||||
<span class="err-msg" id="err-tip-db-username">数据库用户名不可为空</span>
|
||||
|
||||
<input id="db-password" type="password" placeholder="请输入数据库密码">
|
||||
<span class="err-msg" id="err-tip-db-password">数据库密码不可为空</span>
|
||||
|
||||
<button onclick="nextPage()" id="next-step">下一步</button>
|
||||
</div>
|
||||
<div id="second-page" class="hidden">
|
||||
@@ -105,19 +112,22 @@
|
||||
requestData = {
|
||||
dbPassword: $('#db-password').val(),
|
||||
dbType: $('#db-type').val(),
|
||||
dbUrl: $('#db-url').val(),
|
||||
dbHost: $('#db-host').val(),
|
||||
dbName: $('#db-name').val(),
|
||||
dbUsername: $('#db-username').val(),
|
||||
email: '',
|
||||
password: '',
|
||||
}
|
||||
$('#err-tip-db-type').removeClass("show-err-tip");
|
||||
$('#err-tip-db-url').removeClass("show-err-tip");
|
||||
$('#err-tip-db-host').removeClass("show-err-tip");
|
||||
$('#err-tip-db-name').removeClass("show-err-tip");
|
||||
$('#err-tip-db-username').removeClass("show-err-tip");
|
||||
$('#err-tip-db-password').removeClass("show-err-tip");
|
||||
!requestData.dbPassword && checkInput($('#db-password'), $('#err-tip-db-password'))
|
||||
!requestData.dbUsername && checkInput($('#db-username'), $('#err-tip-db-username'))
|
||||
!requestData.dbUrl && checkInput($('#db-url'), $('#err-tip-db-url'))
|
||||
!requestData.dbType && checkInput($('#db-type'), $('#err-tip-db-type'))
|
||||
!requestData.dbHost && checkInput($('#db-host'), $('#err-tip-db-host'))
|
||||
!requestData.dbName && checkInput($('#db-name'), $('#err-tip-db-name'))
|
||||
!requestData.dbUsername && checkInput($('#db-username'), $('#err-tip-db-username'))
|
||||
!requestData.dbPassword && checkInput($('#db-password'), $('#err-tip-db-password'))
|
||||
if (!requestData.dbType || !requestData.dbUrl || !requestData.dbUsername || !requestData.dbPassword) return
|
||||
$('#first-page').addClass('hidden');
|
||||
$('#first-page').removeClass('show');
|
||||
@@ -151,4 +161,4 @@
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user