diff --git a/.env.example b/.env.example index 5d673c655bb0212a92a2fe0dfbfa09a721504c1b..da8ddb9976c81db875432680f5256ba2d472fb55 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,9 @@ APP_DEBUG=true # 博客地址 APP_URL=127.0.0.1 #博客版本 -APP_VERSION=v2 +APP_VERSION=v4 +# 默认调试编辑器 +IGNITION_EDITOR=vscode # 管理员用户名 USER_NAME=Blog2 @@ -37,6 +39,19 @@ DB_USERNAME= # 数据库用户密码 DB_PASSWORD= +# # 数据库系统(mssql/sqlsrv) +# DB_CONNECTION=sqlsrv +# # 数据库地址 +# DB_HOST= +# # 数据库端口 +# DB_PORT=1433 +# # 数据库名 +# DB_DATABASE=blog2 +# # 数据库用户名 +# DB_USERNAME=sa +# # 数据库用户密码 +# DB_PASSWORD= + BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DRIVER=local diff --git a/README.md b/README.md index 808433224e16f34c83f3254c1356c725a557174f..7c7ea357d7e4d59e74d83849a92174db564debba 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ server { - [x] 日志时间线 - [x] Search - [x] MD语法支持 +- [x] SQL Server支持 - [ ] 直接将账号密码写入.env(?) - [ ] [WIP] API @@ -67,6 +68,16 @@ server { - [x] 搜索/api/search?q={q} - [x] 文字内容/api/article/{$id} +### SQL Server支持 +需要额外的配置 +1. 下载`php_sqlsrv.dll` +2. 下载`php_pdo_sqlsrv.dll` +3. 下载`ODBC Driver for SQL Server` +4. 配置`php.ini` +5. 将`管理-服务和应用程序-SQL Server配置管理器-SQL Server网络配置-MSSQLSERVER-TCP/IP`设为启用 +6. 重启`SQL Server`、`Nginx` +7. 使用`database\migrations\mssql_blog2_iabu_xyz_v4.22.sql`来初始化数据库 +8. 配置`.env`参考`.env.example` ### 演示站点 https://blog2.iabu.xyz/ diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index d891da941d4cf4587b761a87c1dd9983632992b2..8697787c972ce64976d74fb88562c6ce4c440a27 100644 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -65,10 +65,10 @@ class ArticleController extends Controller if ($delete != 0) { // 日志 DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '删除', - 'atitle' => '文章'.$id, + 'atitle' => '文章aid:'.$id, 'date' => time() ]); return response('删除成功')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); @@ -97,15 +97,19 @@ class ArticleController extends Controller if (session('uEmail', 'null') == 'null') { return response('你还没有登录')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } - $img = $_POST['img']; - $img_alt = $_POST['img_alt']; - $title1 = $_POST['title1']; - $title2 = $_POST['title2']; - $content = $_POST['content']; + + $cid = $_POST['cid']??'1'; + $uid = session('uId'); + $img = $_POST['img']??'/img/bg/2021.jpg'; + $img_alt = $_POST['img_alt']??'默认图片'; + $title1 = $_POST['title1']??'填充用文章'; + $title2 = $_POST['title2']??'填充用文章'; + $content = $_POST['content']??'填充用文章'; // 发布 - $update = DB::table('articles') - ->insert([ + $re = DB::table('articles')->insertGetId([ + 'cid' => $cid, + 'uid' => $uid, 'img' => $img, 'img_alt' => $img_alt, 'title' => $title1, @@ -113,19 +117,20 @@ class ArticleController extends Controller 'content' => $content, 'date' => time(), 'lastdate' => time() - ]); - if ($update != 0) { + ],'aid'); + + if ($re != 0) { // 日志 DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '发布', - 'atitle' => '文章'.$id, + 'atitle' => '文章aid:'.$re, 'date' => time() ]); return response('新增成功')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); }else { - return response('返回错误的值: '.$delete)->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); + return response('受影响的行: '.$re)->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } // return response('updatec')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } @@ -158,6 +163,7 @@ class ArticleController extends Controller return response('你还没有登录')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } + $cid = $_POST['cid']??'0'; $aid = $_POST['aid']; $img = $_POST['img']; $img_alt = $_POST['img_alt']; @@ -171,6 +177,7 @@ class ArticleController extends Controller $update = DB::table('articles') ->where('aid', $aid) ->update([ + 'cid' => $cid, 'title' => $title1, 'title2' => $title2, 'content' => $content, @@ -181,15 +188,15 @@ class ArticleController extends Controller if ($update != 0) { // 日志 DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '修改', - 'atitle' => '文章'.$id, + 'atitle' => '文章aid:'.$aid, 'date' => time() ]); return response('更改成功')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); }else { - return response('返回错误的值: '.$delete)->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); + return response('返回错误的值: '.$update)->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } // return response('updatec')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); @@ -202,12 +209,12 @@ class ArticleController extends Controller if (session('uEmail', 'null') == 'null') { return response('你还没有登录')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } - $delete = DB::table('articles')->truncate(); + // $delete = DB::table('articles')->truncate(); // 日志 DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '删除', 'atitle' => '所有文章', 'date' => time() @@ -265,6 +272,6 @@ class ArticleController extends Controller } $classify = DB::table('classify')->get(); - return view('api.article', ['title'=>$id, 'article'=>$articles, 'classify'=>$classify, 'id'=>$id]); + return view('api.article', ['title'=>$title, 'article'=>$articles, 'classify'=>$classify, 'id'=>$id]); } } \ No newline at end of file diff --git a/app/Http/Controllers/userController.php b/app/Http/Controllers/userController.php index 71e6aeac8900b438b9e53a3b2eae69741245de58..f325f9759d3ad191dd15b6e1a190a549bf4c0d11 100644 --- a/app/Http/Controllers/userController.php +++ b/app/Http/Controllers/userController.php @@ -26,43 +26,53 @@ class userController extends Controller $uPwd = $_POST['pwd']??'passwd'; // 查询数据库 - $data = DB::table('users')->where('uemail', $uEmail)->first(); - // $data = DB::select('select * from user where uemail = ?', [$uEmail]); + $users = DB::table('users')->where('uemail', $uEmail)->first(); + // $users = DB::select('select * from user where uemail = ?', [$uEmail]); // 判断数据 - if ($data == NULL){ + if ($users == NULL){ return response('错误的用户或密码')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); - }elseif ($uPwd == $data->upasswd){ + }elseif ($uPwd == $users->upasswd){ // 注册session变量 - session(['uEmail' => $uEmail]); + session(['uId' => $users->uid]); + session(['uName' => $users->uname]); + session(['uEmail' => $users->uemail]); + DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => $users->uid, 'operate' => '登录', 'date' => time() ]); + + // $data = $request->session()->all(); + // return response(dump($request->session()->all())); + return redirect()->route('home'); }else { return response('错误的用户或密码')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } - if ($data){ - if ($value->upasswd == $uPwd) { - // echo ''; - // 注册session变量 - // session(['loginCheck' => 'true']); - session(['uEmail' => $uEmail]); - // $data = $request->session()->all(); - // return view('home'); - return redirect()->route('home'); - }else { - // echo ''; - // return view('login'); - } - }else { - // echo ''; - // return view('login'); - return redirect()->route('home'); - } + + // if ($users){ + // if ($users->upasswd == $uPwd) { + // // echo ''; + // // 注册session变量 + // // session(['loginCheck' => 'true']); + // session(['uId' => $users->uid]); + // session(['uName' => $users->uname]); + // session(['uEmail' => $users->uEmail]); + // $data = $request->session()->all(); + // // return view('home'); + // // return response($data); + // // $request->session()->all(); + + // // return redirect()->route('home'); + // } + // }else { + // // echo ''; + // // return view('login'); + // return redirect()->route('home'); + // } } // 登出 @@ -71,11 +81,14 @@ class userController extends Controller // 登录验证 if ($request->session()->has('uEmail')) { DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '登出', + 'atitle' => '', 'date' => time() - ]); + ]); + $request->session()->forget('uId'); + $request->session()->forget('uName'); $request->session()->forget('uEmail'); // $request->session()->flush(); return redirect()->back(); @@ -91,27 +104,29 @@ class userController extends Controller return response('你还没有登录')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } // return response($id.'管理页面'); - $data = DB::table('logs')->orderBy('lid', 'desc')->limit(6)->get(); - return view('admin', ['id'=>$id, 'title'=>'博客后台管理系统', 'logs'=>$data]); + $logs = DB::table('logs')->orderBy('lid', 'desc')->limit(6)->get(); + return view('admin', ['id'=>$id, 'title'=>'博客后台管理系统', 'logs'=>$logs]); } // 更改密码 - public function updatapwd(Request $request) + public function updatepwd(Request $request) { // 判断是否已经登录 if (!$request->session()->has('uEmail')) { return redirect()->route('login'); } - // 判断是否经过login - if ($_SERVER["HTTP_REFERER"] != env('APP_URL').'/updatapwd'){ + // if ($_SERVER['HTTP_REFERER'] != $_SERVER['HTTP_HOST'].'/updatepwd'){ + if ((url()->previous()) != env('APP_URL').'/updatepwd'){ + // return redirect()->route('updatepwd'); + // $str = env('APP_URL').'/updatepwd'; + // return response($str); return view('admin.updatapwd', ['title'=>'修改密码']); } - // 接收前端传过来的参数 $uEmail = $_POST['uEmail']??session('uEmail'); $uOldPwd = $_POST['uOldPwd']??'passwd'; - $uNewPwd = $_POST['uNewPwd']??'passwd'; + $uNewPwd = $_POST['uNewPwd']??$uOldPwd; $data = DB::table('users')->where('uemail', $uEmail)->first(); @@ -120,17 +135,19 @@ class userController extends Controller }elseif ($uOldPwd == $uNewPwd){ return response('新旧密码一致')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); }elseif ($uEmail == $data->uemail){ - $updata = DB::table('users')->where('uemail', $uEmail)->update(['upasswd'=>$uNewPwd]); - if ($updata) { + $update = DB::table('users')->where('uemail', $uEmail)->update(['upasswd'=>$uNewPwd]); + if ($update) { DB::table('logs')->insert([ - 'uid' => '1', - 'uname' => env('USER_NAME'), + 'cid' => '0', + 'uid' => session('uId')??'0', 'operate' => '修改', 'atitle' => '密码', 'date' => time() ]); + $request->session()->forget('uId'); + $request->session()->forget('uName'); $request->session()->forget('uEmail'); - $request->session()->forget('check'); + // $request->session()->forget('check'); return response('修改成功,请重新登录')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); }else { return response('修改失败')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); @@ -139,7 +156,7 @@ class userController extends Controller return response('未知错误')->header('refresh', env('USER_WAIT', '5').';url='.env('APP_URL')); } // $data = DB::select('select * from user where uemail = ?', [$uEmail]); - // return view('admin.updatapwd'); + // return view('admin.updatepwd'); // return view('debug', ['data'=>$data]); } } \ No newline at end of file diff --git a/database/migrations/mssql_blog2_iabu_xyz_v4.22.sql b/database/migrations/mssql_blog2_iabu_xyz_v4.22.sql new file mode 100644 index 0000000000000000000000000000000000000000..c301243272c4a361f7d2c5b7fd96cf6711e5b2d6 --- /dev/null +++ b/database/migrations/mssql_blog2_iabu_xyz_v4.22.sql @@ -0,0 +1,407 @@ +/* + Navicat Premium Data Transfer + + Source Server : local + Source Server Type : SQL Server + Source Server Version : 14002052 + Source Host : (local):1433 + Source Catalog : blog2 + Source Schema : dbo + + Target Server Type : SQL Server + Target Server Version : 14002052 + File Encoding : 65001 + + Date: 27/12/2023 21:51:53 +*/ + + +-- ---------------------------- +-- Table structure for articles +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[articles]') AND type IN ('U')) + DROP TABLE [dbo].[articles] +GO + +CREATE TABLE [dbo].[articles] ( + [aid] int IDENTITY(1,1) NOT NULL, + [uid] int NOT NULL, + [cid] int NOT NULL, + [title] nvarchar(40) COLLATE Chinese_PRC_CI_AS NOT NULL, + [title2] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL, + [img] nvarchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, + [img_alt] nvarchar(30) COLLATE Chinese_PRC_CI_AS NOT NULL, + [content] nvarchar(max) COLLATE Chinese_PRC_CI_AS NOT NULL, + [date] nvarchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL, + [lastdate] nvarchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL +) +GO + +ALTER TABLE [dbo].[articles] SET (LOCK_ESCALATION = TABLE) +GO + + +-- ---------------------------- +-- Records of articles +-- ---------------------------- +BEGIN TRANSACTION +GO + +SET IDENTITY_INSERT [dbo].[articles] ON +GO + +INSERT INTO [dbo].[articles] ([aid], [uid], [cid], [title], [title2], [img], [img_alt], [content], [date], [lastdate]) VALUES (N'1', N'1', N'0', N'标题', N'副标题', N'/img/bg/2021.jpg', N'111112', N'# 一级标题 + + +## 二级标题 + + +### 三级标题 + + +*Markdow* //斜体 + +**Markdow** //粗体', N'1661688162', N'1703678319'), (N'2', N'1', N'2', N'MD语法测试', N'这是一个MD语法测试的文章', N'https://cdn.io0288.cn/images/2023/11/29/IMG_516298a14e10858ef1b8.jpg', N'填充用文章', N'# Marked in the browser + +Rendered by **marked**. + +`hello` +```md +var a = 1; +var b = a; +``` + +## 创建你的第一个帖子 + +创建一个文件在 `blog/2021-02-28-greetings.md` : + +```md title="blog/2021-02-28-greetings.md" +--- +slug: greetings +title: Greetings! +authors: + - name: IO0288 + title: Hello + url: https://github.com/IO0288 + image_url: https://github.com/IO0288.png +tags: [greetings] +--- + +Congratulations, you have made your first post! + +Feel free to play around and edit this post as much you like. +``` + +如果blog下的authors.yml存在,则可以不必重复的写那些复杂的内容,只需要调用就好了 + +```md title="blog/2021-02-28-greetings.md" +--- +slug: greetings +title: Greetings! +authors: [IO0288] +tags: [greetings] +--- +``` + +', N'1702999463', N'1703684752'), (N'3', N'1', N'1', N'填充用文章', N'填充用文章', N'/img/bg/2021.jpg', N'填充用文章', N'填充用文章', N'1703684837', N'1703684837') +GO + +SET IDENTITY_INSERT [dbo].[articles] OFF +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for classify +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[classify]') AND type IN ('U')) + DROP TABLE [dbo].[classify] +GO + +CREATE TABLE [dbo].[classify] ( + [cid] int IDENTITY(1,1) NOT NULL, + [cname] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[classify] SET (LOCK_ESCALATION = TABLE) +GO + + +-- ---------------------------- +-- Records of classify +-- ---------------------------- +BEGIN TRANSACTION +GO + +SET IDENTITY_INSERT [dbo].[classify] ON +GO + +INSERT INTO [dbo].[classify] ([cid], [cname]) VALUES (N'0', N'system'), (N'1', N'文本'), (N'2', N'文章') +GO + +SET IDENTITY_INSERT [dbo].[classify] OFF +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for logs +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[logs]') AND type IN ('U')) + DROP TABLE [dbo].[logs] +GO + +CREATE TABLE [dbo].[logs] ( + [lid] int IDENTITY(1,1) NOT NULL, + [cid] int NOT NULL, + [uid] int NOT NULL, + [operate] nvarchar(40) COLLATE Chinese_PRC_CI_AS NOT NULL, + [atitle] nvarchar(40) COLLATE Chinese_PRC_CI_AS NULL, + [date] nvarchar(10) COLLATE Chinese_PRC_CI_AS NULL, + [text] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[logs] SET (LOCK_ESCALATION = TABLE) +GO + + +-- ---------------------------- +-- Records of logs +-- ---------------------------- +BEGIN TRANSACTION +GO + +SET IDENTITY_INSERT [dbo].[logs] ON +GO + +INSERT INTO [dbo].[logs] ([lid], [cid], [uid], [operate], [atitle], [date], [text]) VALUES (N'1', N'0', N'1', N'登录', NULL, N'1641469758', NULL), (N'2', N'0', N'1', N'发布', N'文章', N'1641469772', NULL), (N'3', N'0', N'1', N'登录', NULL, N'1641488230', NULL), (N'4', N'0', N'1', N'登出', NULL, N'1641488241', NULL), (N'5', N'0', N'1', N'登录', NULL, N'1641488318', NULL), (N'6', N'0', N'1', N'发布', N'文章', N'1641488351', NULL), (N'7', N'0', N'1', N'登录', NULL, N'1641489462', NULL), (N'8', N'0', N'1', N'修改', N'文章', N'1641490381', NULL), (N'9', N'0', N'1', N'修改', N'文章', N'1641490401', NULL), (N'10', N'0', N'1', N'修改', N'文章', N'1641490455', NULL), (N'11', N'0', N'1', N'发布', N'文章', N'1641490720', NULL), (N'12', N'0', N'1', N'发布', N'文章', N'1641490755', NULL), (N'13', N'0', N'1', N'修改', N'文章', N'1641491450', NULL), (N'14', N'0', N'1', N'登录', NULL, N'1641493147', NULL), (N'15', N'0', N'1', N'修改', N'文章', N'1641493508', NULL), (N'16', N'0', N'1', N'修改', N'文章', N'1641493915', NULL), (N'17', N'0', N'1', N'修改', N'文章', N'1641493998', NULL), (N'18', N'0', N'1', N'修改', N'文章', N'1641494022', NULL), (N'19', N'0', N'1', N'登录', NULL, N'1641535650', NULL), (N'20', N'0', N'1', N'发布', N'文章', N'1641536030', NULL), (N'21', N'0', N'1', N'登录', NULL, N'1641538213', NULL), (N'22', N'0', N'1', N'登出', NULL, N'1641541215', NULL), (N'23', N'0', N'1', N'登录', NULL, N'1641541413', NULL), (N'24', N'0', N'1', N'删除', N'文章5', N'1641542461', NULL), (N'25', N'0', N'1', N'登出', NULL, N'1641542822', NULL), (N'26', N'0', N'1', N'登录', NULL, N'1641542832', NULL), (N'27', N'0', N'1', N'登出', NULL, N'1641542838', NULL), (N'28', N'0', N'1', N'登录', NULL, N'1641542843', NULL), (N'29', N'0', N'1', N'发布', N'文章', N'1641542868', NULL), (N'30', N'0', N'1', N'修改', N'文章', N'1641542884', NULL), (N'31', N'0', N'1', N'删除', N'文章6', N'1641542899', NULL), (N'32', N'0', N'1', N'登出', NULL, N'1641543474', NULL), (N'33', N'0', N'1', N'登录', NULL, N'1641543499', NULL), (N'34', N'0', N'1', N'登出', NULL, N'1641543500', NULL), (N'35', N'0', N'1', N'登录', NULL, N'1641572260', NULL), (N'36', N'0', N'1', N'登录', NULL, N'1653708908', NULL), (N'37', N'0', N'1', N'登出', NULL, N'1653708953', NULL), (N'38', N'0', N'1', N'登录', NULL, N'1653708956', NULL), (N'39', N'0', N'1', N'登出', NULL, N'1653709006', NULL), (N'40', N'0', N'1', N'登录', NULL, N'1653709030', NULL), (N'41', N'0', N'1', N'登录', NULL, N'1653709043', NULL), (N'42', N'0', N'1', N'发布', N'文章', N'1653709170', NULL), (N'43', N'0', N'1', N'删除', N'文章7', N'1653709197', NULL), (N'44', N'0', N'1', N'删除', N'所有文章', N'1653709203', NULL), (N'45', N'0', N'1', N'登录', NULL, N'1660470549', NULL), (N'46', N'0', N'1', N'登录', NULL, N'1660544015', NULL), (N'47', N'0', N'1', N'登录', NULL, N'1661688035', NULL), (N'48', N'0', N'1', N'发布', N'文章', N'1661688071', NULL), (N'49', N'0', N'1', N'发布', N'文章', N'1661688071', NULL), (N'50', N'0', N'1', N'删除', N'文章1', N'1661688108', NULL), (N'51', N'0', N'1', N'删除', N'文章2', N'1661688111', NULL), (N'52', N'0', N'1', N'删除', N'所有文章', N'1661688127', NULL), (N'53', N'0', N'1', N'删除', N'所有文章', N'1661688127', NULL), (N'54', N'0', N'1', N'删除', N'所有文章', N'1661688129', NULL), (N'55', N'0', N'1', N'登出', NULL, N'1661688138', NULL), (N'56', N'0', N'1', N'登录', NULL, N'1661688149', NULL), (N'57', N'0', N'1', N'发布', N'文章', N'1661688162', NULL), (N'58', N'0', N'1', N'修改', N'文章', N'1661688173', NULL), (N'59', N'0', N'1', N'登录', NULL, N'1662726036', NULL), (N'60', N'0', N'1', N'登出', NULL, N'1662726251', NULL), (N'61', N'0', N'1', N'登录', NULL, N'1662726303', NULL), (N'62', N'0', N'1', N'登出', NULL, N'1662727527', NULL), (N'63', N'0', N'1', N'登录', NULL, N'1682730483', NULL), (N'64', N'0', N'1', N'修改', N'文章', N'1682732070', NULL), (N'65', N'0', N'1', N'修改', N'文章', N'1682732136', NULL), (N'66', N'0', N'1', N'修改', N'文章', N'1682732835', NULL), (N'67', N'0', N'1', N'修改', N'文章', N'1682733131', NULL), (N'68', N'0', N'1', N'修改', N'文章', N'1682733183', NULL), (N'69', N'0', N'1', N'修改', N'文章', N'1682733251', NULL), (N'70', N'0', N'1', N'修改', N'文章', N'1682733268', NULL), (N'71', N'0', N'1', N'修改', N'文章', N'1682733279', NULL), (N'72', N'0', N'1', N'修改', N'文章', N'1682734149', NULL), (N'73', N'0', N'1', N'修改', N'文章', N'1682734249', NULL), (N'74', N'0', N'1', N'修改', N'文章', N'1682734752', NULL), (N'75', N'0', N'1', N'修改', N'文章', N'1682734797', NULL), (N'76', N'0', N'1', N'登录', NULL, N'1682785198', NULL), (N'77', N'0', N'1', N'登录', NULL, N'1683906255', NULL), (N'78', N'0', N'1', N'登录', NULL, N'1684562621', NULL), (N'79', N'0', N'1', N'发布', N'文章', N'1684562675', NULL), (N'80', N'0', N'1', N'删除', N'文章2', N'1684562687', NULL), (N'81', N'0', N'1', N'登出', NULL, N'1684562694', NULL), (N'82', N'0', N'1', N'登录', NULL, N'1684568748', NULL), (N'83', N'0', N'1', N'登出', NULL, N'1684568898', NULL), (N'84', N'0', N'1', N'登录', NULL, N'1684568936', NULL), (N'85', N'0', N'1', N'登出', NULL, N'1684572784', NULL), (N'86', N'0', N'1', N'登录', NULL, N'1684572862', NULL), (N'87', N'0', N'1', N'登出', NULL, N'1684572885', NULL), (N'88', N'0', N'1', N'登录', NULL, N'1684572956', NULL), (N'89', N'0', N'1', N'登出', NULL, N'1684572978', NULL), (N'90', N'0', N'1', N'登录', NULL, N'1684573064', NULL), (N'91', N'0', N'1', N'登录', NULL, N'1684772562', NULL), (N'92', N'0', N'1', N'登录', NULL, N'1697003521', NULL), (N'93', N'0', N'1', N'登出', NULL, N'1697003526', NULL), (N'94', N'0', N'1', N'登录', NULL, N'1697003537', NULL), (N'95', N'0', N'1', N'发布', N'文章', N'1697003588', NULL), (N'96', N'0', N'1', N'发布', N'文章', N'1697003808', NULL), (N'97', N'0', N'1', N'修改', N'文章', N'1697003859', NULL), (N'98', N'0', N'1', N'登出', NULL, N'1697003868', NULL), (N'99', N'0', N'1', N'登录', NULL, N'1697003877', NULL), (N'100', N'0', N'1', N'删除', N'文章3', N'1697003957', NULL) +GO + +INSERT INTO [dbo].[logs] ([lid], [cid], [uid], [operate], [atitle], [date], [text]) VALUES (N'101', N'0', N'1', N'删除', N'文章4', N'1697003960', NULL), (N'102', N'0', N'1', N'登录', NULL, N'1702343313', NULL), (N'103', N'0', N'1', N'登录', NULL, N'1702995737', NULL), (N'104', N'0', N'1', N'发布', N'文章', N'1702999463', NULL), (N'105', N'0', N'1', N'登录', NULL, N'1703044250', NULL), (N'106', N'0', N'1', N'修改', N'文章', N'1703044258', NULL), (N'107', N'0', N'1', N'修改', N'文章', N'1703045382', NULL), (N'108', N'0', N'1', N'修改', N'文章', N'1703045401', NULL), (N'109', N'0', N'1', N'修改', N'文章', N'1703045521', NULL), (N'110', N'0', N'1', N'修改', N'文章', N'1703045652', NULL), (N'111', N'0', N'1', N'修改', N'文章', N'1703045911', NULL), (N'112', N'0', N'1', N'修改', N'文章', N'1703046154', NULL), (N'113', N'0', N'1', N'修改', N'文章', N'1703046933', NULL), (N'114', N'0', N'1', N'修改', N'文章', N'1703046934', NULL), (N'115', N'0', N'1', N'修改', N'文章', N'1703046970', NULL), (N'116', N'0', N'1', N'修改', N'文章', N'1703047023', NULL), (N'117', N'0', N'1', N'修改', N'文章', N'1703047697', NULL), (N'118', N'0', N'1', N'修改', N'文章', N'1703050292', NULL), (N'119', N'0', N'1', N'修改', N'文章', N'1703050368', NULL), (N'120', N'0', N'1', N'登录', NULL, N'1703061655', NULL), (N'121', N'0', N'1', N'发布', N'文章', N'1703061686', NULL), (N'122', N'0', N'1', N'发布', N'文章', N'1703061688', NULL), (N'123', N'0', N'1', N'发布', N'文章', N'1703061689', NULL), (N'124', N'0', N'1', N'登录', NULL, N'1703508560', NULL), (N'125', N'0', N'1', N'登录', NULL, N'1703564572', NULL), (N'126', N'0', N'1', N'修改', N'文章', N'1703565670', NULL), (N'127', N'0', N'1', N'发布', N'文章', N'1703567554', NULL), (N'128', N'0', N'1', N'删除', N'文章6', N'1703567911', NULL), (N'129', N'0', N'1', N'登录', NULL, N'1703649969', NULL), (N'130', N'0', N'1', N'登录', NULL, N'1703652580', NULL), (N'131', N'0', N'1', N'删除', N'所有文章', N'1703652587', NULL), (N'132', N'0', N'1', N'修改', N'密码', N'1703669421', NULL), (N'133', N'0', N'1', N'登录', NULL, N'1703669546', NULL), (N'134', N'0', N'1', N'登出', N'', N'1703672841', NULL), (N'135', N'0', N'1', N'修改', N'文章aid:', N'1703673381', NULL), (N'136', N'0', N'1', N'修改', N'文章aid:', N'1703673445', NULL), (N'137', N'0', N'1', N'修改', N'文章aid:', N'1703673483', NULL), (N'138', N'0', N'1', N'登出', N'', N'1703673657', NULL), (N'139', N'0', N'1', N'登出', N'', N'1703673714', NULL), (N'140', N'0', N'1', N'登录', NULL, N'1703673721', NULL), (N'141', N'0', N'1', N'登出', N'', N'1703673955', NULL), (N'142', N'0', N'1', N'登录', NULL, N'1703674002', NULL), (N'143', N'0', N'1', N'登出', N'', N'1703674170', NULL), (N'144', N'0', N'1', N'登录', NULL, N'1703674201', NULL), (N'145', N'0', N'1', N'修改', N'文章aid:', N'1703674466', NULL), (N'146', N'0', N'1', N'修改', N'文章aid:', N'1703674583', NULL), (N'147', N'0', N'1', N'修改', N'文章aid:', N'1703674978', NULL), (N'148', N'0', N'1', N'发布', N'文章aid:4', N'1703676113', NULL), (N'149', N'0', N'1', N'修改', N'文章aid:1', N'1703676143', NULL), (N'150', N'0', N'1', N'删除', N'文章aid:4', N'1703677229', NULL), (N'151', N'0', N'1', N'修改', N'文章aid:1', N'1703678310', NULL), (N'152', N'0', N'1', N'修改', N'文章aid:1', N'1703678319', NULL), (N'153', N'0', N'1', N'发布', N'文章aid:5', N'1703678346', NULL), (N'154', N'0', N'1', N'删除', N'文章aid:5', N'1703678387', NULL), (N'155', N'0', N'1', N'登出', N'', N'1703678540', NULL), (N'156', N'0', N'1', N'登录', NULL, N'1703678658', NULL), (N'157', N'0', N'1', N'登出', N'', N'1703678877', NULL), (N'158', N'0', N'1', N'登录', NULL, N'1703678906', NULL), (N'159', N'0', N'1', N'修改', N'文章aid:2', N'1703684752', NULL), (N'160', N'0', N'1', N'修改', N'密码', N'1703684772', NULL), (N'161', N'0', N'1', N'登录', NULL, N'1703684793', NULL), (N'162', N'0', N'1', N'修改', N'密码', N'1703684815', NULL), (N'163', N'0', N'1', N'登录', NULL, N'1703684822', NULL), (N'164', N'0', N'1', N'发布', N'文章aid:3', N'1703684837', NULL) +GO + +SET IDENTITY_INSERT [dbo].[logs] OFF +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for site_info +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[site_info]') AND type IN ('U')) + DROP TABLE [dbo].[site_info] +GO + +CREATE TABLE [dbo].[site_info] ( + [sid] int IDENTITY(1,1) NOT NULL, + [key] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL, + [value] nvarchar(1000) COLLATE Chinese_PRC_CI_AS NULL +) +GO + +ALTER TABLE [dbo].[site_info] SET (LOCK_ESCALATION = TABLE) +GO + + +-- ---------------------------- +-- Records of site_info +-- ---------------------------- +BEGIN TRANSACTION +GO + +SET IDENTITY_INSERT [dbo].[site_info] ON +GO + +INSERT INTO [dbo].[site_info] ([sid], [key], [value]) VALUES (N'1', N'网站名称', N'Blog2'), (N'2', N'网站地址', N'https://blog.iabu.xyz'), (N'3', N'网站描述', N'Blog2博客'), (N'4', N'网站图标', N''), (N'5', N'主页标题', N'Hey,欢迎回来!'), (N'6', N'网站版权', N'© 2023 Copyright IO0288'), (N'7', N'驱动程序', N'Blog2'), (N'8', N'样式作者', N'IO0288'), (N'9', N'补充样式', N'code{background: #eeeeee66;}') +GO + +SET IDENTITY_INSERT [dbo].[site_info] OFF +GO + +COMMIT +GO + + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[users]') AND type IN ('U')) + DROP TABLE [dbo].[users] +GO + +CREATE TABLE [dbo].[users] ( + [uid] int IDENTITY(1,1) NOT NULL, + [uname] nvarchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL, + [uemail] nvarchar(40) COLLATE Chinese_PRC_CI_AS NOT NULL, + [upasswd] nvarchar(100) COLLATE Chinese_PRC_CI_AS NOT NULL +) +GO + +ALTER TABLE [dbo].[users] SET (LOCK_ESCALATION = TABLE) +GO + + +-- ---------------------------- +-- Records of users +-- ---------------------------- +BEGIN TRANSACTION +GO + +SET IDENTITY_INSERT [dbo].[users] ON +GO + +INSERT INTO [dbo].[users] ([uid], [uname], [uemail], [upasswd]) VALUES (N'1', N'Test', N'admin@admin.cn', N'Aa123.') +GO + +SET IDENTITY_INSERT [dbo].[users] OFF +GO + +COMMIT +GO + + +-- ---------------------------- +-- Auto increment value for articles +-- ---------------------------- +DBCC CHECKIDENT ('[dbo].[articles]', RESEED, 3) +GO + + +-- ---------------------------- +-- Indexes structure for table articles +-- ---------------------------- +CREATE NONCLUSTERED INDEX [classify_cid] +ON [dbo].[articles] ( + [cid] ASC +) +GO + +CREATE NONCLUSTERED INDEX [aid] +ON [dbo].[articles] ( + [aid] ASC +) +GO + +CREATE NONCLUSTERED INDEX [a_uid] +ON [dbo].[articles] ( + [uid] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table articles +-- ---------------------------- +ALTER TABLE [dbo].[articles] ADD CONSTRAINT [PK__articles__DD5FB8D8BF0556B0] PRIMARY KEY CLUSTERED ([aid], [uid], [cid]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Auto increment value for classify +-- ---------------------------- +DBCC CHECKIDENT ('[dbo].[classify]', RESEED, 2) +GO + + +-- ---------------------------- +-- Primary Key structure for table classify +-- ---------------------------- +ALTER TABLE [dbo].[classify] ADD CONSTRAINT [PK__classify__D837D05F6F58A584] PRIMARY KEY CLUSTERED ([cid]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Auto increment value for logs +-- ---------------------------- +DBCC CHECKIDENT ('[dbo].[logs]', RESEED, 164) +GO + + +-- ---------------------------- +-- Indexes structure for table logs +-- ---------------------------- +CREATE NONCLUSTERED INDEX [l_cid] +ON [dbo].[logs] ( + [cid] ASC +) +GO + +CREATE NONCLUSTERED INDEX [l_uid] +ON [dbo].[logs] ( + [uid] ASC +) +GO + + +-- ---------------------------- +-- Primary Key structure for table logs +-- ---------------------------- +ALTER TABLE [dbo].[logs] ADD CONSTRAINT [PK__logs__564E5010FC0FD203] PRIMARY KEY CLUSTERED ([lid], [cid], [uid]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Auto increment value for site_info +-- ---------------------------- +DBCC CHECKIDENT ('[dbo].[site_info]', RESEED, 9) +GO + + +-- ---------------------------- +-- Primary Key structure for table site_info +-- ---------------------------- +ALTER TABLE [dbo].[site_info] ADD CONSTRAINT [PK__site_inf__DDDFDD367247C829] PRIMARY KEY CLUSTERED ([sid]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Auto increment value for users +-- ---------------------------- +DBCC CHECKIDENT ('[dbo].[users]', RESEED, 1) +GO + + +-- ---------------------------- +-- Primary Key structure for table users +-- ---------------------------- +ALTER TABLE [dbo].[users] ADD CONSTRAINT [PK__users__DD701264C2AC03B3] PRIMARY KEY CLUSTERED ([uid]) +WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +ON [PRIMARY] +GO + + +-- ---------------------------- +-- Foreign Keys structure for table articles +-- ---------------------------- +ALTER TABLE [dbo].[articles] ADD CONSTRAINT [a_cid] FOREIGN KEY ([cid]) REFERENCES [dbo].[classify] ([cid]) ON DELETE NO ACTION ON UPDATE NO ACTION +GO + +ALTER TABLE [dbo].[articles] ADD CONSTRAINT [a_uid] FOREIGN KEY ([uid]) REFERENCES [dbo].[users] ([uid]) ON DELETE NO ACTION ON UPDATE NO ACTION +GO + + +-- ---------------------------- +-- Foreign Keys structure for table logs +-- ---------------------------- +ALTER TABLE [dbo].[logs] ADD CONSTRAINT [l_cid] FOREIGN KEY ([cid]) REFERENCES [dbo].[classify] ([cid]) ON DELETE NO ACTION ON UPDATE NO ACTION +GO + +ALTER TABLE [dbo].[logs] ADD CONSTRAINT [l_uid] FOREIGN KEY ([uid]) REFERENCES [dbo].[users] ([uid]) ON DELETE NO ACTION ON UPDATE NO ACTION +GO + diff --git a/database/migrations/mysql_blog2_iabu_xyz_v4.22.sql b/database/migrations/mysql_blog2_iabu_xyz_v4.22.sql new file mode 100644 index 0000000000000000000000000000000000000000..00a32b8b09ac0bdabf5557315fd01d131795ad7b --- /dev/null +++ b/database/migrations/mysql_blog2_iabu_xyz_v4.22.sql @@ -0,0 +1,288 @@ +/* + Navicat Premium Data Transfer + + Source Server : sql.iabu.xyz + Source Server Type : MySQL + Source Server Version : 50743 + Source Host : localhost:3306 + Source Schema : blog2_iabu_xyz + + Target Server Type : MySQL + Target Server Version : 50743 + File Encoding : 65001 + + Date: 27/12/2023 20:29:51 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for articles +-- ---------------------------- +DROP TABLE IF EXISTS `articles`; +CREATE TABLE `articles` ( + `aid` int(4) UNSIGNED NOT NULL AUTO_INCREMENT, + `uid` int(4) UNSIGNED NOT NULL DEFAULT 1, + `cid` int(4) UNSIGNED NOT NULL DEFAULT 2, + `title` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `title2` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `img_alt` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `content` varchar(10000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `date` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `lastdate` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`aid`, `uid`, `cid`) USING BTREE, + INDEX `classify_cid`(`cid`) USING BTREE, + INDEX `aid`(`aid`) USING BTREE, + INDEX `a_uid`(`uid`) USING BTREE, + CONSTRAINT `a_cid` FOREIGN KEY (`cid`) REFERENCES `classify` (`cid`) ON DELETE NO ACTION ON UPDATE RESTRICT, + CONSTRAINT `a_uid` FOREIGN KEY (`uid`) REFERENCES `users` (`uid`) ON DELETE CASCADE ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of articles +-- ---------------------------- +INSERT INTO `articles` VALUES (1, 1, 0, '标题', '副标题', '/img/bg/2021.jpg', '111112', '# 一级标题\r\n\r\n\r\n## 二级标题\r\n\r\n\r\n### 三级标题\r\n\r\n\r\n*Markdow* //斜体\r\n\r\n**Markdow** //粗体', '1661688162', '1703678319'); +INSERT INTO `articles` VALUES (2, 1, 2, 'MD语法测试', '这是一个MD语法测试的文章', 'https://cdn.io0288.cn/images/2023/11/29/IMG_516298a14e10858ef1b8.jpg', '', '# Marked in the browser\r\n\r\nRendered by **marked**.\r\n\r\n`hello`\r\n```md\r\nvar a = 1;\r\nvar b = a;\r\n```\r\n\r\n## 创建你的第一个帖子\r\n\r\n创建一个文件在 `blog/2021-02-28-greetings.md` :\r\n\r\n```md title=\"blog/2021-02-28-greetings.md\"\r\n---\r\nslug: greetings\r\ntitle: Greetings!\r\nauthors:\r\n - name: IO0288\r\n title: Hello\r\n url: https://github.com/IO0288\r\n image_url: https://github.com/IO0288.png\r\ntags: [greetings]\r\n---\r\n\r\nCongratulations, you have made your first post!\r\n\r\nFeel free to play around and edit this post as much you like.\r\n```\r\n\r\n如果blog下的authors.yml存在,则可以不必重复的写那些复杂的内容,只需要调用就好了\r\n\r\n```md title=\"blog/2021-02-28-greetings.md\"\r\n---\r\nslug: greetings\r\ntitle: Greetings!\r\nauthors: [IO0288]\r\ntags: [greetings]\r\n---\r\n```\r\n\r\n', '1702999463', '1703674582'); + +-- ---------------------------- +-- Table structure for classify +-- ---------------------------- +DROP TABLE IF EXISTS `classify`; +CREATE TABLE `classify` ( + `cid` int(4) UNSIGNED NOT NULL AUTO_INCREMENT, + `cname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '分类名', + PRIMARY KEY (`cid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of classify +-- ---------------------------- +INSERT INTO `classify` VALUES (0, 'system'); +INSERT INTO `classify` VALUES (1, '文本'); +INSERT INTO `classify` VALUES (2, '文章'); + +-- ---------------------------- +-- Table structure for logs +-- ---------------------------- +DROP TABLE IF EXISTS `logs`; +CREATE TABLE `logs` ( + `lid` int(8) UNSIGNED NOT NULL AUTO_INCREMENT, + `cid` int(4) UNSIGNED NOT NULL, + `uid` int(4) UNSIGNED NOT NULL, + `operate` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `atitle` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `date` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, + PRIMARY KEY (`lid`, `cid`, `uid`) USING BTREE, + INDEX `l_cid`(`cid`) USING BTREE, + INDEX `l_uid`(`uid`) USING BTREE, + CONSTRAINT `l_cid` FOREIGN KEY (`cid`) REFERENCES `classify` (`cid`) ON DELETE NO ACTION ON UPDATE RESTRICT, + CONSTRAINT `l_uid` FOREIGN KEY (`uid`) REFERENCES `users` (`uid`) ON DELETE NO ACTION ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 159 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of logs +-- ---------------------------- +INSERT INTO `logs` VALUES (1, 0, 1, '登录', NULL, '1641469758', NULL); +INSERT INTO `logs` VALUES (2, 0, 1, '发布', '文章', '1641469772', NULL); +INSERT INTO `logs` VALUES (3, 0, 1, '登录', NULL, '1641488230', NULL); +INSERT INTO `logs` VALUES (4, 0, 1, '登出', NULL, '1641488241', NULL); +INSERT INTO `logs` VALUES (5, 0, 1, '登录', NULL, '1641488318', NULL); +INSERT INTO `logs` VALUES (6, 0, 1, '发布', '文章', '1641488351', NULL); +INSERT INTO `logs` VALUES (7, 0, 1, '登录', NULL, '1641489462', NULL); +INSERT INTO `logs` VALUES (8, 0, 1, '修改', '文章', '1641490381', NULL); +INSERT INTO `logs` VALUES (9, 0, 1, '修改', '文章', '1641490401', NULL); +INSERT INTO `logs` VALUES (10, 0, 1, '修改', '文章', '1641490455', NULL); +INSERT INTO `logs` VALUES (11, 0, 1, '发布', '文章', '1641490720', NULL); +INSERT INTO `logs` VALUES (12, 0, 1, '发布', '文章', '1641490755', NULL); +INSERT INTO `logs` VALUES (13, 0, 1, '修改', '文章', '1641491450', NULL); +INSERT INTO `logs` VALUES (14, 0, 1, '登录', NULL, '1641493147', NULL); +INSERT INTO `logs` VALUES (15, 0, 1, '修改', '文章', '1641493508', NULL); +INSERT INTO `logs` VALUES (16, 0, 1, '修改', '文章', '1641493915', NULL); +INSERT INTO `logs` VALUES (17, 0, 1, '修改', '文章', '1641493998', NULL); +INSERT INTO `logs` VALUES (18, 0, 1, '修改', '文章', '1641494022', NULL); +INSERT INTO `logs` VALUES (19, 0, 1, '登录', NULL, '1641535650', NULL); +INSERT INTO `logs` VALUES (20, 0, 1, '发布', '文章', '1641536030', NULL); +INSERT INTO `logs` VALUES (21, 0, 1, '登录', NULL, '1641538213', NULL); +INSERT INTO `logs` VALUES (22, 0, 1, '登出', NULL, '1641541215', NULL); +INSERT INTO `logs` VALUES (23, 0, 1, '登录', NULL, '1641541413', NULL); +INSERT INTO `logs` VALUES (24, 0, 1, '删除', '文章5', '1641542461', NULL); +INSERT INTO `logs` VALUES (25, 0, 1, '登出', NULL, '1641542822', NULL); +INSERT INTO `logs` VALUES (26, 0, 1, '登录', NULL, '1641542832', NULL); +INSERT INTO `logs` VALUES (27, 0, 1, '登出', NULL, '1641542838', NULL); +INSERT INTO `logs` VALUES (28, 0, 1, '登录', NULL, '1641542843', NULL); +INSERT INTO `logs` VALUES (29, 0, 1, '发布', '文章', '1641542868', NULL); +INSERT INTO `logs` VALUES (30, 0, 1, '修改', '文章', '1641542884', NULL); +INSERT INTO `logs` VALUES (31, 0, 1, '删除', '文章6', '1641542899', NULL); +INSERT INTO `logs` VALUES (32, 0, 1, '登出', NULL, '1641543474', NULL); +INSERT INTO `logs` VALUES (33, 0, 1, '登录', NULL, '1641543499', NULL); +INSERT INTO `logs` VALUES (34, 0, 1, '登出', NULL, '1641543500', NULL); +INSERT INTO `logs` VALUES (35, 0, 1, '登录', NULL, '1641572260', NULL); +INSERT INTO `logs` VALUES (36, 0, 1, '登录', NULL, '1653708908', NULL); +INSERT INTO `logs` VALUES (37, 0, 1, '登出', NULL, '1653708953', NULL); +INSERT INTO `logs` VALUES (38, 0, 1, '登录', NULL, '1653708956', NULL); +INSERT INTO `logs` VALUES (39, 0, 1, '登出', NULL, '1653709006', NULL); +INSERT INTO `logs` VALUES (40, 0, 1, '登录', NULL, '1653709030', NULL); +INSERT INTO `logs` VALUES (41, 0, 1, '登录', NULL, '1653709043', NULL); +INSERT INTO `logs` VALUES (42, 0, 1, '发布', '文章', '1653709170', NULL); +INSERT INTO `logs` VALUES (43, 0, 1, '删除', '文章7', '1653709197', NULL); +INSERT INTO `logs` VALUES (44, 0, 1, '删除', '所有文章', '1653709203', NULL); +INSERT INTO `logs` VALUES (45, 0, 1, '登录', NULL, '1660470549', NULL); +INSERT INTO `logs` VALUES (46, 0, 1, '登录', NULL, '1660544015', NULL); +INSERT INTO `logs` VALUES (47, 0, 1, '登录', NULL, '1661688035', NULL); +INSERT INTO `logs` VALUES (48, 0, 1, '发布', '文章', '1661688071', NULL); +INSERT INTO `logs` VALUES (49, 0, 1, '发布', '文章', '1661688071', NULL); +INSERT INTO `logs` VALUES (50, 0, 1, '删除', '文章1', '1661688108', NULL); +INSERT INTO `logs` VALUES (51, 0, 1, '删除', '文章2', '1661688111', NULL); +INSERT INTO `logs` VALUES (52, 0, 1, '删除', '所有文章', '1661688127', NULL); +INSERT INTO `logs` VALUES (53, 0, 1, '删除', '所有文章', '1661688127', NULL); +INSERT INTO `logs` VALUES (54, 0, 1, '删除', '所有文章', '1661688129', NULL); +INSERT INTO `logs` VALUES (55, 0, 1, '登出', NULL, '1661688138', NULL); +INSERT INTO `logs` VALUES (56, 0, 1, '登录', NULL, '1661688149', NULL); +INSERT INTO `logs` VALUES (57, 0, 1, '发布', '文章', '1661688162', NULL); +INSERT INTO `logs` VALUES (58, 0, 1, '修改', '文章', '1661688173', NULL); +INSERT INTO `logs` VALUES (59, 0, 1, '登录', NULL, '1662726036', NULL); +INSERT INTO `logs` VALUES (60, 0, 1, '登出', NULL, '1662726251', NULL); +INSERT INTO `logs` VALUES (61, 0, 1, '登录', NULL, '1662726303', NULL); +INSERT INTO `logs` VALUES (62, 0, 1, '登出', NULL, '1662727527', NULL); +INSERT INTO `logs` VALUES (63, 0, 1, '登录', NULL, '1682730483', NULL); +INSERT INTO `logs` VALUES (64, 0, 1, '修改', '文章', '1682732070', NULL); +INSERT INTO `logs` VALUES (65, 0, 1, '修改', '文章', '1682732136', NULL); +INSERT INTO `logs` VALUES (66, 0, 1, '修改', '文章', '1682732835', NULL); +INSERT INTO `logs` VALUES (67, 0, 1, '修改', '文章', '1682733131', NULL); +INSERT INTO `logs` VALUES (68, 0, 1, '修改', '文章', '1682733183', NULL); +INSERT INTO `logs` VALUES (69, 0, 1, '修改', '文章', '1682733251', NULL); +INSERT INTO `logs` VALUES (70, 0, 1, '修改', '文章', '1682733268', NULL); +INSERT INTO `logs` VALUES (71, 0, 1, '修改', '文章', '1682733279', NULL); +INSERT INTO `logs` VALUES (72, 0, 1, '修改', '文章', '1682734149', NULL); +INSERT INTO `logs` VALUES (73, 0, 1, '修改', '文章', '1682734249', NULL); +INSERT INTO `logs` VALUES (74, 0, 1, '修改', '文章', '1682734752', NULL); +INSERT INTO `logs` VALUES (75, 0, 1, '修改', '文章', '1682734797', NULL); +INSERT INTO `logs` VALUES (76, 0, 1, '登录', NULL, '1682785198', NULL); +INSERT INTO `logs` VALUES (77, 0, 1, '登录', NULL, '1683906255', NULL); +INSERT INTO `logs` VALUES (78, 0, 1, '登录', NULL, '1684562621', NULL); +INSERT INTO `logs` VALUES (79, 0, 1, '发布', '文章', '1684562675', NULL); +INSERT INTO `logs` VALUES (80, 0, 1, '删除', '文章2', '1684562687', NULL); +INSERT INTO `logs` VALUES (81, 0, 1, '登出', NULL, '1684562694', NULL); +INSERT INTO `logs` VALUES (82, 0, 1, '登录', NULL, '1684568748', NULL); +INSERT INTO `logs` VALUES (83, 0, 1, '登出', NULL, '1684568898', NULL); +INSERT INTO `logs` VALUES (84, 0, 1, '登录', NULL, '1684568936', NULL); +INSERT INTO `logs` VALUES (85, 0, 1, '登出', NULL, '1684572784', NULL); +INSERT INTO `logs` VALUES (86, 0, 1, '登录', NULL, '1684572862', NULL); +INSERT INTO `logs` VALUES (87, 0, 1, '登出', NULL, '1684572885', NULL); +INSERT INTO `logs` VALUES (88, 0, 1, '登录', NULL, '1684572956', NULL); +INSERT INTO `logs` VALUES (89, 0, 1, '登出', NULL, '1684572978', NULL); +INSERT INTO `logs` VALUES (90, 0, 1, '登录', NULL, '1684573064', NULL); +INSERT INTO `logs` VALUES (91, 0, 1, '登录', NULL, '1684772562', NULL); +INSERT INTO `logs` VALUES (92, 0, 1, '登录', NULL, '1697003521', NULL); +INSERT INTO `logs` VALUES (93, 0, 1, '登出', NULL, '1697003526', NULL); +INSERT INTO `logs` VALUES (94, 0, 1, '登录', NULL, '1697003537', NULL); +INSERT INTO `logs` VALUES (95, 0, 1, '发布', '文章', '1697003588', NULL); +INSERT INTO `logs` VALUES (96, 0, 1, '发布', '文章', '1697003808', NULL); +INSERT INTO `logs` VALUES (97, 0, 1, '修改', '文章', '1697003859', NULL); +INSERT INTO `logs` VALUES (98, 0, 1, '登出', NULL, '1697003868', NULL); +INSERT INTO `logs` VALUES (99, 0, 1, '登录', NULL, '1697003877', NULL); +INSERT INTO `logs` VALUES (100, 0, 1, '删除', '文章3', '1697003957', NULL); +INSERT INTO `logs` VALUES (101, 0, 1, '删除', '文章4', '1697003960', NULL); +INSERT INTO `logs` VALUES (102, 0, 1, '登录', NULL, '1702343313', NULL); +INSERT INTO `logs` VALUES (103, 0, 1, '登录', NULL, '1702995737', NULL); +INSERT INTO `logs` VALUES (104, 0, 1, '发布', '文章', '1702999463', NULL); +INSERT INTO `logs` VALUES (105, 0, 1, '登录', NULL, '1703044250', NULL); +INSERT INTO `logs` VALUES (106, 0, 1, '修改', '文章', '1703044258', NULL); +INSERT INTO `logs` VALUES (107, 0, 1, '修改', '文章', '1703045382', NULL); +INSERT INTO `logs` VALUES (108, 0, 1, '修改', '文章', '1703045401', NULL); +INSERT INTO `logs` VALUES (109, 0, 1, '修改', '文章', '1703045521', NULL); +INSERT INTO `logs` VALUES (110, 0, 1, '修改', '文章', '1703045652', NULL); +INSERT INTO `logs` VALUES (111, 0, 1, '修改', '文章', '1703045911', NULL); +INSERT INTO `logs` VALUES (112, 0, 1, '修改', '文章', '1703046154', NULL); +INSERT INTO `logs` VALUES (113, 0, 1, '修改', '文章', '1703046933', NULL); +INSERT INTO `logs` VALUES (114, 0, 1, '修改', '文章', '1703046934', NULL); +INSERT INTO `logs` VALUES (115, 0, 1, '修改', '文章', '1703046970', NULL); +INSERT INTO `logs` VALUES (116, 0, 1, '修改', '文章', '1703047023', NULL); +INSERT INTO `logs` VALUES (117, 0, 1, '修改', '文章', '1703047697', NULL); +INSERT INTO `logs` VALUES (118, 0, 1, '修改', '文章', '1703050292', NULL); +INSERT INTO `logs` VALUES (119, 0, 1, '修改', '文章', '1703050368', NULL); +INSERT INTO `logs` VALUES (120, 0, 1, '登录', NULL, '1703061655', NULL); +INSERT INTO `logs` VALUES (121, 0, 1, '发布', '文章', '1703061686', NULL); +INSERT INTO `logs` VALUES (122, 0, 1, '发布', '文章', '1703061688', NULL); +INSERT INTO `logs` VALUES (123, 0, 1, '发布', '文章', '1703061689', NULL); +INSERT INTO `logs` VALUES (124, 0, 1, '登录', NULL, '1703508560', NULL); +INSERT INTO `logs` VALUES (125, 0, 1, '登录', NULL, '1703564572', NULL); +INSERT INTO `logs` VALUES (126, 0, 1, '修改', '文章', '1703565670', NULL); +INSERT INTO `logs` VALUES (127, 0, 1, '发布', '文章', '1703567554', NULL); +INSERT INTO `logs` VALUES (128, 0, 1, '删除', '文章6', '1703567911', NULL); +INSERT INTO `logs` VALUES (129, 0, 1, '登录', NULL, '1703649969', NULL); +INSERT INTO `logs` VALUES (130, 0, 1, '登录', NULL, '1703652580', NULL); +INSERT INTO `logs` VALUES (131, 0, 1, '删除', '所有文章', '1703652587', NULL); +INSERT INTO `logs` VALUES (132, 0, 1, '修改', '密码', '1703669421', NULL); +INSERT INTO `logs` VALUES (133, 0, 1, '登录', NULL, '1703669546', NULL); +INSERT INTO `logs` VALUES (134, 0, 1, '登出', '', '1703672841', NULL); +INSERT INTO `logs` VALUES (135, 0, 1, '修改', '文章aid:', '1703673381', NULL); +INSERT INTO `logs` VALUES (136, 0, 1, '修改', '文章aid:', '1703673445', NULL); +INSERT INTO `logs` VALUES (137, 0, 1, '修改', '文章aid:', '1703673483', NULL); +INSERT INTO `logs` VALUES (138, 0, 1, '登出', '', '1703673657', NULL); +INSERT INTO `logs` VALUES (139, 0, 1, '登出', '', '1703673714', NULL); +INSERT INTO `logs` VALUES (140, 0, 1, '登录', NULL, '1703673721', NULL); +INSERT INTO `logs` VALUES (141, 0, 1, '登出', '', '1703673955', NULL); +INSERT INTO `logs` VALUES (142, 0, 1, '登录', NULL, '1703674002', NULL); +INSERT INTO `logs` VALUES (143, 0, 1, '登出', '', '1703674170', NULL); +INSERT INTO `logs` VALUES (144, 0, 1, '登录', NULL, '1703674201', NULL); +INSERT INTO `logs` VALUES (145, 0, 1, '修改', '文章aid:', '1703674466', NULL); +INSERT INTO `logs` VALUES (146, 0, 1, '修改', '文章aid:', '1703674583', NULL); +INSERT INTO `logs` VALUES (147, 0, 1, '修改', '文章aid:', '1703674978', NULL); +INSERT INTO `logs` VALUES (148, 0, 1, '发布', '文章aid:4', '1703676113', NULL); +INSERT INTO `logs` VALUES (149, 0, 1, '修改', '文章aid:1', '1703676143', NULL); +INSERT INTO `logs` VALUES (150, 0, 1, '删除', '文章aid:4', '1703677229', NULL); +INSERT INTO `logs` VALUES (151, 0, 1, '修改', '文章aid:1', '1703678310', NULL); +INSERT INTO `logs` VALUES (152, 0, 1, '修改', '文章aid:1', '1703678319', NULL); +INSERT INTO `logs` VALUES (153, 0, 1, '发布', '文章aid:5', '1703678346', NULL); +INSERT INTO `logs` VALUES (154, 0, 1, '删除', '文章aid:5', '1703678387', NULL); +INSERT INTO `logs` VALUES (155, 0, 1, '登出', '', '1703678540', NULL); +INSERT INTO `logs` VALUES (156, 0, 1, '登录', NULL, '1703678658', NULL); +INSERT INTO `logs` VALUES (157, 0, 1, '登出', '', '1703678877', NULL); +INSERT INTO `logs` VALUES (158, 0, 1, '登录', NULL, '1703678906', NULL); + +-- ---------------------------- +-- Table structure for site_info +-- ---------------------------- +DROP TABLE IF EXISTS `site_info`; +CREATE TABLE `site_info` ( + `sid` int(4) UNSIGNED NOT NULL AUTO_INCREMENT, + `key` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `value` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`sid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of site_info +-- ---------------------------- +INSERT INTO `site_info` VALUES (1, '网站名称', 'Blog2'); +INSERT INTO `site_info` VALUES (2, '网站地址', 'https://blog.iabu.xyz'); +INSERT INTO `site_info` VALUES (3, '网站描述', 'Blog2博客'); +INSERT INTO `site_info` VALUES (4, '网站图标', ''); +INSERT INTO `site_info` VALUES (5, '主页标题', 'Hey,欢迎回来!'); +INSERT INTO `site_info` VALUES (6, '网站版权', '© 2023 Copyright IO0288'); +INSERT INTO `site_info` VALUES (7, '驱动程序', 'Blog2'); +INSERT INTO `site_info` VALUES (8, '样式作者', 'IO0288'); +INSERT INTO `site_info` VALUES (9, '补充样式', 'code{background: #eeeeee66;}'); + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +DROP TABLE IF EXISTS `users`; +CREATE TABLE `users` ( + `uid` int(4) UNSIGNED NOT NULL AUTO_INCREMENT, + `uname` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `uemail` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `upasswd` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + PRIMARY KEY (`uid`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of users +-- ---------------------------- +INSERT INTO `users` VALUES (1, 'Test', 'admin@admin.cn', 'Aa123.'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/public/ms.php b/public/ms.php new file mode 100644 index 0000000000000000000000000000000000000000..f442c72ef85291d59ada78f7e7bbc6306e109f6c --- /dev/null +++ b/public/ms.php @@ -0,0 +1,24 @@ +$uid,"PWD"=>$pwd,"Database"=>$db); + $conn =sqlsrv_connect($server,$connectionInfo); + if( $conn == false) { + echo "连接失败!"; + die( var_dump( sqlsrv_errors(), true)); + }else{ + echo "成功连接"; + phpinfo(); + + // Laravel中MSSQL的使用 + // https://learnku.com/docs/laravel/8.5/eloquent/10403#1c2761 + + // Microsoft Drivers for PHP for SQL Server + // https://github.com/Microsoft/msphpsql + + // [Microsoft][ODBC Driver 17 for SQL Server]TCP 提供程序: 由于目标计算机积极拒 + // https://jingyan.baidu.com/article/9113f81b6e1ccc2b3214c78b.html + +} \ No newline at end of file diff --git a/resources/views/admin/footer.blade.php b/resources/views/admin/footer.blade.php index 49d786dab9c862d4441dea4e6210682dd41c5ea3..d3cad60a07abf2e3ae13404a525b42948dd220c0 100644 --- a/resources/views/admin/footer.blade.php +++ b/resources/views/admin/footer.blade.php @@ -5,17 +5,18 @@
{{ $log->uname }}{{ $log->operate }}了{{ $log->atitle }}
+记录{{ $log->lid }}|分类{{ $log->cid }}|用户{{ $log->uid }}{{ $log->operate }}了{{ $log->atitle }}
1234
+NULL
当前分类总记录数1234
+NULL
当前分类总记录数1234
+NULL
当前分类总记录数1234
+NULL
当前分类总记录数最后修改于:{{ date("Y-m-d H:i",$article->lastdate)." | $cid : $classify_kv[$cid]" }}
+最后修改于:{{ date("Y-m-d H:i",$article->lastdate)."| $cid:$classify_kv[$cid]| aid:$article->aid" }}
diff --git a/resources/views/insert.blade.php b/resources/views/insert.blade.php index f59b6ddc4852c3ca5e00e796035516fbbc299799..3e8fa6a44de8ec31bdcbffc961f58404d2e95439 100644 --- a/resources/views/insert.blade.php +++ b/resources/views/insert.blade.php @@ -19,38 +19,58 @@