diff --git a/app/install/controller/Index.php b/app/install/controller/Index.php
new file mode 100644
index 0000000..11d51a4
--- /dev/null
+++ b/app/install/controller/Index.php
@@ -0,0 +1,207 @@
+alert('已经成功安装了TaoLer社区系统,安装系统已锁定。如需重新安装,请删除根目录下的install.lock文件')";
+ die();
+ }
+ }
+
+ //安装首页
+ public function index()
+ {
+ Session::set('agre',true);
+ return View::fetch('agreement');
+ }
+
+ //test
+ public function test()
+ {
+ if(Session::pull('agre')){
+ Session::set('cre',true);
+ return View::fetch('test');
+ } else {
+ return 'error,请返回安装!';
+ }
+ }
+
+ //test
+ public function create(){
+ if(Session::pull('cre')){
+ Session::set('suc',true);
+ return View::fetch('create');
+ } else {
+ return 'error,请返回安装!';
+ }
+ }
+
+ // 安装成功页面
+ public function complete(){
+
+ if(Session::has('suc') != 'true'){
+ return 'error,请返回安装!';
+ }
+
+ // 判断是否为post
+ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+
+ $data = $_POST;
+ //var_dump($data);
+ if (!preg_match("/^[a-zA-Z]{1}([0-9a-zA-Z]|[._]){4,19}$/", $data['admin_user'])) {
+ die("");
+ }
+
+ if (!preg_match("/^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]{6,22}$/", $data['admin_pass'])) {
+ die("");
+ }
+ if ($data['admin_pass'] != $data['admin_pass2']) {
+ die("");
+
+ }
+ $_SESSION['adminusername'] = $data['admin_user'];
+ // 生成管理员
+ $username = $data['admin_user'];
+ $create_time = time();
+ $salt = substr(md5($create_time),-6);
+ $pass = md5(substr_replace(md5($data['admin_pass']),$salt,0,6));
+
+
+ if ($data['DB_TYPE'] == 'mysql') {
+
+ //数据库
+ $db_s = << [
+ 'mysql' => [
+ // 数据库类型
+ 'type' => 'mysql',
+ // 服务器地址
+ 'hostname' => '{$data['DB_HOST']}',
+ // 数据库名
+ 'database' => '{$data['DB_NAME']}',
+ // 用户名
+ 'username' => '{$data['DB_USER']}',
+ // 密码
+ 'password' => '{$data['DB_PWD']}',
+ // 端口
+ 'hostport' => '{$data['DB_PORT']}',
+ // 数据库连接参数
+ 'params' => [],
+ // 数据库编码默认采用utf8
+ 'charset' => 'utf8',
+ // 数据库表前缀
+ 'prefix' => '{$data['DB_PREFIX']}',
+ ],
+ ],
+];
+php;
+ // 创建数据库链接配置文件
+
+ $fp = fopen('../app/install/config/database.php', "r+b");
+ fputs($fp, $db_s);
+ fclose($fp);
+
+
+ $db = Db::connect('mysql');
+ //var_dump($db);
+ $sql = 'CREATE DATABASE IF NOT EXISTS '.$data['DB_NAME'].' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci';
+ //$db->execute($sql);
+
+ //创建数据表
+ create_tables($db, $data['DB_PREFIX']);
+
+ //管理员
+ $table_admin = $data['DB_PREFIX'] . "admin";
+ $table_user = $data['DB_PREFIX'] . "user";
+ $sql_admin = "UPDATE $table_admin SET username = '{$username}', password = '{$pass}', status=1,create_time = '{$create_time}' WHERE id = 1";
+ $sql_user = "UPDATE $table_user SET name = '{$username}', password = '{$pass}', status=1, auth=1, create_time = '{$create_time}' WHERE id = 1";
+ $db->execute($sql_admin);
+ $db->execute($sql_user);
+
+ Db::getConnection()->close();
+ }
+
+ $db_str = << [],
+ // 自动写入时间戳字段
+ // true为自动识别类型 false关闭
+ // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
+ 'auto_timestamp' => true,
+ // 时间字段取出后的默认时间格式
+ 'datetime_format' => 'Y-m-d H:i:s',
+ // 数据库连接配置信息
+ 'connections' => [
+ 'mysql' => [
+ // 数据库类型
+ 'type' => 'mysql',
+ // 服务器地址
+ 'hostname' => '{$data['DB_HOST']}',
+ // 数据库名
+ 'database' => '{$data['DB_NAME']}',
+ // 用户名
+ 'username' => '{$data['DB_USER']}',
+ // 密码
+ 'password' => '{$data['DB_PWD']}',
+ // 端口
+ 'hostport' => '{$data['DB_PORT']}',
+ // 数据库连接参数
+ 'params' => [],
+ // 数据库编码默认采用utf8
+ 'charset' => 'utf8',
+ // 数据库表前缀
+ 'prefix' => '{$data['DB_PREFIX']}',
+ // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
+ 'deploy' => 0,
+ // 数据库读写是否分离 主从式有效
+ 'rw_separate' => false,
+ // 读写分离后 主服务器数量
+ 'master_num' => 1,
+ // 指定从服务器序号
+ 'slave_no' => '',
+ // 是否严格检查字段是否存在
+ 'fields_strict' => true,
+ // 是否需要断线重连
+ 'break_reconnect' => false,
+ // 监听SQL
+ 'trigger_sql' => true,
+ // 开启字段缓存
+ 'fields_cache' => false,
+ // 字段缓存路径
+ 'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
+ ],
+ ],
+];
+php;
+ // 创建数据库链接配置文件
+
+ $fp = fopen('../config/database.php', "r+b");
+ fwrite($fp, $db_str);
+ fclose($fp);
+
+ file_put_contents('../install.lock', 'lock');
+ Session::clear();
+ return View::fetch('complete');
+ } else {
+ return '安装失败';
+ }
+
+ }
+}
\ No newline at end of file