最常用出租屋管理系统
自家用的出租屋管理系统,用来记录水电、租客等信息。系统分为3部分,房屋管理、我的账单和设置。主要采用thinkphp5.1+layUI开发。
技术栈
-
X-admin V2.2
-
layUI
-
Echarts 5.3.2
-
ThinkPHP 5.1.39 LTS
-
Grid++ Report
系统环境
-
PHP 7.4.28
-
Apache 2.4.41
-
MySQL 5.7.28
安装步骤
- 建立数据库
dev
git clone https://gitee.com/MarcoMaHH/rent2.git
- 将.example.env改为.env
composer install
php think migrate:run
php think seed:run
项目地址
gitee: 最常用出租屋管理系统rent2
界面及功能展示
登陆页面
主页面
房产管理-页面
房号管理-页面
未收账单-页面
到账账单-页面
租客档案-页面
核心代码
protected $auth;
protected $checkLoginExclude = [];
public function initialize()
{
if ($this->request->isPost()) {
$token = $this->getToken();
header('X-CSRF-TOKEN: ' . $token);
if ($token !== $this->request->header('X-CSRF-TOKEN')) {
$this->error('令牌已过期,请重新提交。');
}
}
$this->auth = Auth::getInstance();
$controller = $this->request->controller();
$action = $this->request->action();
if (in_array($action, $this->checkLoginExclude)) {
return;
}
if (!$this->auth->isLogin()) {
$this->error('您还没有登录。', 'Index/login');
}
if (!$this->auth->checkAuth($controller, $action)) {
$this->error('您没有权限访问。');
}
if ($this->auth->isTimeOut()) {
$this->error('您已超时,请重新登陆。');
}
$loginUser = $this->auth->getLoginUser();
$this->assign('layout_login_user', ['id' => $loginUser['id'], 'username' => $loginUser['username'], 'expiration_date' => $loginUser['expiration_date']]);
if (!$this->request->isAjax()) {
$this->view->engine->layout('common/layout');
$this->assign('layout_token', $this->getToken());
}
}
public function getToken()
{
$token = Session::get('X-CSRF-TOKEN');
if (!$token) {
$token = md5(uniqid(microtime(), true));
Session::set('X-CSRF-TOKEN', $token);
}
return $token;
}