response->redirect(['index.php/admin/login/index'], 301)->send();die; }else{ //二次安装查询授权后台是否安装过 $url=Yii::$app->params['domain_url'].'/cloud/auth/installAuth'; $data=['domain_url'=>Yii::$app->request->hostInfo,'auth_type'=>1]; $result=httpRequest($url,$data); $data=json_decode($result,true); if($data['code']==1){ //file_put_contents('./web/secret.json',$data['authData']); Yii::$app->session->set('vip_no',$data['phone']); Yii::$app->response->redirect(['index.php/admin/install/monitor'], 301)->send();die; } } return $this->renderpartial('login'); } public function actionComplete(){ $url=Yii::$app->params['domain_url'].'/cloud/auth/installAuth'; $data=['domain_url'=>Yii::$app->request->hostInfo]; $result=httpRequest($url,$data); $data=json_decode($result,true); if($data['code']==1){ file_put_contents('./web/secret.json',$data['authData']); } return $this->renderpartial('complete'); } public function actionMonitor(){ return $this->renderpartial('monitor'); } public function actionMysql_install(){ return $this->renderpartial('mysql_install'); } public function actionRegistered_account(){ $phone=Yii::$app->session->get('vip_no'); return $this->renderpartial('registered_account',['phone'=>$phone]); } public function actionDekjo(){ dd(\Yii::$app->db);die; } public function actionReset_mysql(){ if(YII::$app->request->isPost){ // echo date("Y-m-d H:i:s",time()); $data=axios_request(); $db=trim($data['databaseName']); $username=trim($data['databaseUser']); $password=trim($data['databasePassword']); $dbprefix=trim($data['databasePrefix']); if(strpos(trim($data['databaseHost']),'127.0.0.1')!==false){ $dbIp='localhost'; }else{ $dbIp=trim($data['databaseHost']); } if($db&&$username&&$password&&$dbprefix){ if(substr($dbprefix, -1)!=='_'){ $this->result(2,'数据表前缀不符合规范');die; } if (!preg_match("/^[a-zA-Z]/",$dbprefix)){ $this->result(2,'数据表前缀不符合规范');die; } $content=" 'yii\db\Connection', 'dsn' => 'mysql:host=$dbIp;dbname=$db', 'username' => '$username', 'password' => '$password', 'charset' => 'utf8', 'tablePrefix'=> '$dbprefix', ];"; $config_file=\Yii::$app->basePath.'/config/db.php'; chmod($config_file,0777,true); $write_bool=file_put_contents($config_file,$content); // dd($write_bool);die; if($write_bool){ set_time_limit(0); $connection = new Connection([ 'dsn' => 'mysql:host=localhost;dbname='.$db, 'username' => $username, 'password' => $password, 'tablePrefix'=>$dbprefix, ]); //打开 $connection->open(); //导入sql文件 $filename=\Yii::$app->basePath.'/web/backsql.sql'; if(!file_exists($filename)){ return $this->result(2,'导入的sql文件不存在'); } $sql =file_get_contents($filename); $sql_arr=explode(';',$sql); foreach ($sql_arr as $k=>$v){ if($dbprefix!=='ims_'){ $v=str_replace("ims_",$dbprefix,trim($v)); } if(trim($v)){ $connection->createCommand(trim($v))->execute(); } } $connection->close(); return $this->result(1,'数据库创建成功'); } } //echo date("Y-m-d H:i:s",time());die; } $this->result(2,'请求异常'); } public function actionGetvesion(){ $request = Yii::$app->request; if ($request->isPost){ if(axios_request()['install_type']=='get_version'){ //echo 111;die; $data=array( 'os_version'=>PHP_OS,//服务器操作系统 'nginx_version'=>php_uname('s').php_uname('r'),//服务器版本 'php_version'=>PHP_VERSION,//php版本 'total'=>disk_total_space(dirname(__FILE__)),//磁盘空间 ); if(!extension_loaded("pdo")){ $data['module'][]='pdo'; } if(!extension_loaded("openssl")){ $data['module'][]='openssl'; } if(!extension_loaded("gd")){ $data['module'][]='gd'; } if(!extension_loaded("redis")){ $data['module'][]='redis'; } if(!extension_loaded("curl")){ $data['module'][]='curl'; } if($data['module']){ $data['status']='fail'; } $this->result(1,'成功',$data);die; } }else{ $this->result(2,'请求异常'); } } public function actionUser_add(){ $arr=axios_request(); //$url=parse_url($_SERVER['HTTP_REFERER'])['host']; // if(!preg_match("/^[A-Za-z0-9]+$/",trim($arr['webPassword']))){ // return $this->result(2, '密码不能包含中文和特殊字符!');die; // } $salt=randoms(8); $auth_key=Yii::$app->params['authkey']; $password=checkPassWord($salt,$auth_key,trim($arr['webPassword'])); $data=array( 'domainName'=>$arr['webName'], 'username'=>$arr['webAccount'], 'password'=>$password, 'salt'=>$salt, 'phone'=>Yii::$app->session->get('vip_no'), 'createdAt'=>time(), 'joinip'=>getIps(), 'userType'=>1 ); //dd($data);die; $re= YII::$app->db->createCommand('select * from {{%ybwm_admin}} where username=:username', ['username' =>$arr['webAccount']])->queryAll(); if($re){ return $this->result(2,'用户已存在'); }else{ $res=Yii::$app->db->createCommand()->insert('{{%ybwm_admin}}', $data)->execute(); if($res){ Yii::$app->session->remove('vip_no'); $installData=array( 'domain_url'=>Yii::$app->request->hostInfo, 'success_time'=>time(), 'joinip'=>getIps(), ); $row=ybwmEncrypt(json_encode($installData),Yii::$app->params['channel_model_name']); file_put_contents('install.lock',$row); $this->result(1,'成功'); }else{ $this->result(2,'网络异常,请稍后再试'); } } } public function result($code=1,$msg='成功',$data=[],$count=null) { echo json_encode([ 'code'=>$code, 'msg'=>$msg, 'data'=>$data, 'count'=>$count ]); } public function actionGetcode(){ if(YII::$app->request->isPost){ $data=axios_request(); $code=generate_code(4); $aliSms = new AliSms(); $phone=$data['phone']; Yii::$app->session->set('vip_no',$phone); $response = object_array($aliSms->sendSms($phone, Yii::$app->params['smsconfig']['smsCode'], ['code'=>$code], Yii::$app->params['smsconfig'])); if($response['Message']=='OK'&&$response['Code']=='OK'){ Yii::$app->session->remove('smscode'); Yii::$app->session->set('smscode',$code); $this->result(1,'成功'); }else{ $this->result(2,$response['Message']); } } } public function actionCheckcode(){ if(YII::$app->request->isPost){ return $this->result(1,'验证成功'); $data=axios_request(); if($data['code']==Yii::$app->session->get('smscode')){ $datas['auth_code']=$data['activeCode']; $datas['domain_url']=$data['domain_url']; $datas['code_type']=$data['code_type']; $datas['phone']=$data['phone']; $datas['dev']=Yii::$app->params['isDev']?1:2; if($data['activeCode']){ $url=Yii::$app->params['domain_url'].'/cloud/auth/checkAuth'; $result=httpRequest($url,$datas); $authData=json_decode($result,true)['authData']; //var_dump($result);die; if($authData){ //var_dump($authData);die; $row=ybwmEncrypt(json_encode($authData),Yii::$app->params['channel_model_name']); touch('./web/secret.json'); chmod('./web/secret.json',0777); file_put_contents('./web/secret.json',$row); if($result){ $this->result(1,'验证成功'); }else{ $this->result(2,'验证失败,请保证数据合法性!'); } }else{ $this->result(2,'激活码校验错误,请联系官方客服获取!'); } }else{ $this->result(2,'请输入激活码'); } }else{ $this->result(2,'验证码错误'); } } } public function actionNoticeList(){ if(YII::$app->request->isPost){ $data['page']=Yii::$app->request->get('page'); $url=Yii::$app->params['domain_url'].'/admin/news/getnotice'; $result=httpRequest($url); if($result){ $this->result(1,'成功',$result); }else{ $this->result(2,'网络异常,请稍后再试'); } } $this->result(2,'请求异常'); } }