You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
391 lines
20 KiB
391 lines
20 KiB
6 months ago
|
<!doctype html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="UTF-8"/>
|
||
|
<title><?php echo $Title; ?> - <?php echo $Powered; ?></title>
|
||
|
<link rel="stylesheet" href="./css/install.css?v=9.0"/>
|
||
|
<link rel="stylesheet" href="./css/step3.css"/>
|
||
|
<!-- 引入样式 -->
|
||
|
<link rel="stylesheet" href="./css/theme-chalk.css">
|
||
|
<!-- import Vue before Element -->
|
||
|
<script src="./js/vue2.6.11.js"></script>
|
||
|
<!-- import JavaScript -->
|
||
|
<script src="./js/element-ui.js?v=9.0"></script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="wrap" id="step3">
|
||
|
<div class="title">
|
||
|
创建数据
|
||
|
</div>
|
||
|
<section class="section">
|
||
|
<form id="J_install_form" action="index.php?step=4" method="post">
|
||
|
<div class="server" ref="mianscroll">
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td class="td1" width="100">数据库信息</td>
|
||
|
<td class="td1" width="200"> </td>
|
||
|
<td class="td1"> </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td class="tar">数据库用户名:</td>
|
||
|
<td><input type="text" name="dbuser" id="dbuser" value="root" class="input"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_dbuser"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">数据库密码:</td>
|
||
|
<td><input type="password" name="dbpw" id="dbpw" value="" class="input" autoComplete="off"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_dbpw"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">数据库名:</td>
|
||
|
<td><input type="text" name="dbname" id="dbname" value="crmeb" class="input"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_dbname"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">高级设置:</td>
|
||
|
<td colspan="2">
|
||
|
<el-switch
|
||
|
v-model="value"
|
||
|
active-color="#37CA71"
|
||
|
inactive-color="#575869">
|
||
|
</el-switch>
|
||
|
</td>
|
||
|
<td>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr v-show="value">
|
||
|
<td class="tar">数据库服务器:</td>
|
||
|
<td><input type="text" name="dbhost" id="dbhost" value="127.0.0.1" class="input"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_dbhost"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr v-show="value">
|
||
|
<td class="tar">数据库端口:</td>
|
||
|
<td><input type="text" name="dbport" id="dbport" value="3306" class="input"
|
||
|
onBlur="mysqlDbPwd(0)"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_dbport"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr v-show="value">
|
||
|
<td class="tar">数据库表前缀:</td>
|
||
|
<td><input type="text" name="dbprefix" id="dbprefix" value="eb_" class="input"></td>
|
||
|
<td></td>
|
||
|
</tr>
|
||
|
<tr v-show="value">
|
||
|
<td class="tar">演示数据:</td>
|
||
|
<td colspan="2"><input style="width:14px;height:14px;" type="checkbox" id="demo" name="demo"
|
||
|
value="demo" checked></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td class="td1" width="100">管理员信息</td>
|
||
|
<td class="td1" width="200"> </td>
|
||
|
<td class="td1"> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">管理员帐号:</td>
|
||
|
<td><input type="text" name="manager" id="manager" value="admin" class="input"
|
||
|
onblur="checkForm()"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_manager"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">管理员密码:</td>
|
||
|
<td><input type="password" name="manager_pwd" id="manager_pwd" class="input" autoComplete="off"
|
||
|
placeholder="请输入密码(至少6个字符)" placeholder-class="pl-style" onblur="checkForm()">
|
||
|
</td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_manager_pwd"><span class="gray">请输入至少6个字符密码</span></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">重复密码:</td>
|
||
|
<td><input type="password" name="manager_ckpwd" id="manager_ckpwd" class="input"
|
||
|
autoComplete="off" placeholder="请再次输入密码" onkeyup="checkForm()"></td>
|
||
|
<td>
|
||
|
<div id="J_install_tip_manager_ckpwd"></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
</table>
|
||
|
<table>
|
||
|
<tr>
|
||
|
<td class="td1" width="100">缓存设置</td>
|
||
|
<td class="td1" width="200"> </td>
|
||
|
<td class="td1"> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="tar">缓存方式:</td>
|
||
|
<td>
|
||
|
<el-radio v-model="radio" :label="0" name="cache_type" id="cache_type1">文件缓存</el-radio>
|
||
|
<el-radio v-model="radio" :label="1" name="cache_type" id="cache_type2">redis缓存</el-radio>
|
||
|
</td>
|
||
|
<td></td>
|
||
|
</tr>
|
||
|
<tr v-show="radio == 1">
|
||
|
<td class="tar">服务器地址:</td>
|
||
|
<td><input type="text" name="rbhost" id="rbhost" value="127.0.0.1" class="input"></td>
|
||
|
<td>
|
||
|
<div id="J_install_redis_host"><span class="gray">redis服务器地址,一般为127.0.0.1</span></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr v-show="radio == 1">
|
||
|
<td class="tar">端口号:</td>
|
||
|
<td><input type="text" name="rbport" id="rbport" value="6379" class="input" autoComplete="off">
|
||
|
</td>
|
||
|
<td>
|
||
|
<div id="J_install_redis_port"><span class="gray">redis端口,默认为6379</span></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr v-show="radio == 1">
|
||
|
<td class="tar">数据库:</td>
|
||
|
<td><input type="text" name="rbselect" id="rbselect" value="0" class="input" autoComplete="off">
|
||
|
</td>
|
||
|
<td>
|
||
|
<div id="J_install_redis_select"><span class="gray">redis数据库,默认为0,一般不做更改</span></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr v-show="radio == 1" id="scrollBtn">
|
||
|
<td class="tar">数据库密码:</td>
|
||
|
<td><input type="text" name="rbpw" id="rbpw" value="" class="input" autoComplete="off"></td>
|
||
|
<td>
|
||
|
<div id="J_install_redis_dbpw"><span class="gray">redis数据库密码</span></div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div class="bottom-btn">
|
||
|
<div class="bottom tac up-btn">
|
||
|
<a href="./index.php?step=2" class="btn">上一步</a>
|
||
|
</div>
|
||
|
<div class="bottom tac next">
|
||
|
<a @click="submitForm();" class="btn">下一步</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</form>
|
||
|
</section>
|
||
|
<div style="width:0;height:0;overflow:hidden;"><img src="./images/install/pop_loading.gif"></div>
|
||
|
<script src="./js/jquery.js?v=9.0"></script>
|
||
|
<script src="./js/validate.js?v=9.0"></script>
|
||
|
<script src="./js/ajaxForm.js?v=9.0"></script>
|
||
|
<script>
|
||
|
//验证管理员信息
|
||
|
function checkForm() {
|
||
|
let manager = $.trim($('#manager').val()); //用户名表单
|
||
|
let manager_pwd = $.trim($('#manager_pwd').val()); //密码表单
|
||
|
let manager_ckpwd = $.trim($('#manager_ckpwd').val()); //密码提示区
|
||
|
if (manager.length == 0) {
|
||
|
$('#J_install_tip_manager').html('<span for="dbname" generated="true" class="tips_error" style="">请输入管理账号</span>');
|
||
|
return false;
|
||
|
}
|
||
|
if (!(/^[a-zA-Z0-9]{0,32}$/.test(manager))) {
|
||
|
$('#J_install_tip_manager').html('<span generated="true" class="tips_error" style="">账号必须为英文或者数字</span>');
|
||
|
return false;
|
||
|
} else {
|
||
|
$('#J_install_tip_manager').html('<span generated="true" class="tips_success" style="">用户名可用</span>');
|
||
|
}
|
||
|
if (manager_pwd.length < 6) {
|
||
|
$('#J_install_tip_manager_pwd').html('<span for="dbname" generated="true" class="tips_error" style="">管理员密码必须5位数以上</span>');
|
||
|
return false;
|
||
|
} else {
|
||
|
$('#J_install_tip_manager_pwd').html('<span generated="true" class="tips_success" style="">密码可用</span>');
|
||
|
}
|
||
|
if (manager_ckpwd != manager_pwd) {
|
||
|
$('#J_install_tip_manager_ckpwd').html('<span for="dbname" generated="true" class="tips_error" style="">两次密码不一致</span>');
|
||
|
return false;
|
||
|
} else {
|
||
|
$('#J_install_tip_manager_ckpwd').html('<span generated="true" class="tips_success" style="">密码正确</span>');
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
new Vue({
|
||
|
el: '#step3',
|
||
|
data() {
|
||
|
return {value: false, radio: 0}
|
||
|
},
|
||
|
created() {
|
||
|
|
||
|
},
|
||
|
methods: {
|
||
|
mysqlDbPwd() {
|
||
|
let data = {
|
||
|
'dbHost': $('#dbhost').val(),
|
||
|
'dbUser': $('#dbuser').val(),
|
||
|
'dbPwd': $('#dbpw').val(),
|
||
|
'dbName': $('#dbname').val(),
|
||
|
'dbport': $('#dbport').val(),
|
||
|
'demo': $('#demo').val()
|
||
|
};
|
||
|
let url = "<?php echo $_SERVER['PHP_SELF']; ?>?step=3&mysqldbpwd=1";
|
||
|
return new Promise((resolve, reject) => {
|
||
|
$.ajax({
|
||
|
type: "POST",
|
||
|
url: url,
|
||
|
data: data,
|
||
|
dataType: 'JSON',
|
||
|
success: (msg) => {
|
||
|
resolve(msg);
|
||
|
},
|
||
|
error: (err) => {
|
||
|
reject(err)
|
||
|
}
|
||
|
});
|
||
|
})
|
||
|
|
||
|
},
|
||
|
|
||
|
redisDbPwd() {
|
||
|
let data = {
|
||
|
rbhost: $('#rbhost').val(),
|
||
|
rbport: $("#rbport").val(),
|
||
|
rbselect: $("#rbselect").val(),
|
||
|
rbpw: $('#rbpw').val(),
|
||
|
};
|
||
|
let url = "<?php echo $_SERVER['PHP_SELF']; ?>?step=3&redisdbpwd=1";
|
||
|
return new Promise((resolve, reject) => {
|
||
|
$.ajax({
|
||
|
type: "POST",
|
||
|
url: url,
|
||
|
data: data,
|
||
|
dataType: 'JSON',
|
||
|
success: function (msg) {
|
||
|
resolve(msg)
|
||
|
},
|
||
|
error: function () {
|
||
|
reject()
|
||
|
}
|
||
|
});
|
||
|
})
|
||
|
|
||
|
},
|
||
|
|
||
|
|
||
|
jumpButton(){
|
||
|
this.$refs.mianscroll.scrollTop = this.$refs.mianscroll.clientHeight
|
||
|
},
|
||
|
submitForm() {
|
||
|
this.mysqlDbPwd().then(res => {
|
||
|
if (res == 2002) {
|
||
|
this.value = true
|
||
|
$('#J_install_tip_dbhost').html('<span for="dbname" generated="true" class="tips_error" >地址或端口错误</span>');
|
||
|
$('#J_install_tip_dbport').html('<span for="dbname" generated="true" class="tips_error" >地址或端口错误</span>');
|
||
|
return false;
|
||
|
} else if (res == -1) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >数据库链接配置失败</span>');
|
||
|
return false;
|
||
|
} else if (res == -2) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >请在mysql配置文件修sql-mode或sql_mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION</span><a href="https://doc.crmeb.com/web/single/crmeb_v4/936" target="_blank">查看文档</a>');
|
||
|
return false;
|
||
|
} else if (res == 1045) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbname').html('');
|
||
|
$('#J_install_tip_dbuser').html('<span for="dbname" generated="true" class="tips_error" >用户名或密码错误</span>');
|
||
|
$('#J_install_tip_dbpw').html('<span for="dbname" generated="true" class="tips_error" >用户名或密码错误</span>');
|
||
|
return false;
|
||
|
} else if (res == -4) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >无权限创建数据,请先手动创建数据库</span>');
|
||
|
return false;
|
||
|
} else if (res == -3) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >数据库不为空,请更换一个数据库</span>');
|
||
|
return false;
|
||
|
} else if (res == -5) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >MySql数据库必须是5.6及以上版本</span>');
|
||
|
return false;
|
||
|
} else if (res == 1) {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span generated="true" class="tips_success" style="">数据库配置成功</span>');
|
||
|
} else {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >未知错误</span>');
|
||
|
return false;
|
||
|
}
|
||
|
let redisStatus = $("input[name='cache_type']:checked").val();
|
||
|
if (redisStatus == 1) {
|
||
|
this.redisDbPwd().then(msg => {
|
||
|
if (msg == -1) {
|
||
|
$('#J_install_redis_host').html('<span for="dbname" generated="true" class="tips_error" style="">Redis扩展没有安装</span>');
|
||
|
this.$nextTick(() => {this.jumpButton()});
|
||
|
return false;
|
||
|
} else if (msg == -3) {
|
||
|
$('#J_install_redis_host').html('');
|
||
|
$('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">Redis数据库没有启动或者配置错误</span>');
|
||
|
this.$nextTick(() => {this.jumpButton()});
|
||
|
|
||
|
return false;
|
||
|
} else if (msg == 1) {
|
||
|
$('#J_install_redis_host').html('');
|
||
|
$('#J_install_redis_dbpw').html('<span generated="true" class="tips_success" style="">Redis配置成功</span>');
|
||
|
} else {
|
||
|
$('#J_install_redis_host').html('');
|
||
|
$('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" style="">Redis配置失败</span>');
|
||
|
this.$nextTick(() => {this.jumpButton()});
|
||
|
return false;
|
||
|
}
|
||
|
if (checkForm()) {
|
||
|
$("#J_install_form").submit(); // ajax 验证通过后再提交表单
|
||
|
}
|
||
|
}).catch(err => {
|
||
|
$('#J_install_redis_host').html('');
|
||
|
$('#J_install_redis_dbpw').html('<span for="dbname" generated="true" class="tips_error" >未知错误</span>');
|
||
|
this.$nextTick(() => {this.jumpButton()});
|
||
|
return false;
|
||
|
})
|
||
|
} else {
|
||
|
if (checkForm()) {
|
||
|
$("#J_install_form").submit(); // ajax 验证通过后再提交表单
|
||
|
}
|
||
|
}
|
||
|
}).catch(err => {
|
||
|
$('#J_install_tip_dbhost').html('');
|
||
|
$('#J_install_tip_dbport').html('');
|
||
|
$('#J_install_tip_dbuser').html('');
|
||
|
$('#J_install_tip_dbpw').html('');
|
||
|
$('#J_install_tip_dbname').html('<span for="dbname" generated="true" class="tips_error" >未知错误1</span>');
|
||
|
return false;
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
|
||
|
|
||
|
</script>
|
||
|
</div>
|
||
|
<?php require './templates/footer.php'; ?>
|
||
|
</body>
|
||
|
</html>
|