浏览代码

【Mod】修改资讯文章功能,增加海报跳转功能

liuxiangxin 3 月之前
父节点
当前提交
3ffd479e49

+ 33 - 73
app/Http/Controllers/Admin/Article.php

@@ -78,43 +78,23 @@ class Article extends Auth{
 			// 验证参数
 			$request->scene('add')->validate();
 			// 组合数据
-			$data['poster']			= request('poster',0);
-			$data['title']			= request('title',0);
-			$data['qrcode_link']			= request('link',0);
-			$data['content']	= request('description',0);
+			$data['thumb']			= request('thumb','');
+			$data['poster']			= request('poster','');
+			$data['title']			= request('title','');
+			$data['path']			= request('path','');
+			$data['appid']			= request('appid','');
+			$data['content']		= request('content','');
 			$data['status']			= request('status',0);
-
-			// 验证信息
-			// if( $data['rebate_type'] == 2 && $data['rebate'] > 9.99 ) return json_send(['code'=>'error','msg'=>'不能设置大于9.99折']);
-
-
-			// 组合数据,写入订单表,子表
-			DB::beginTransaction();
-			try {
-				// 写入
-				$id						= $Model->add($data);
-				// 提示新增失败
-				if( !$id )				{
-					// 回滚
-					DB::rollBack();
-					// 提示
-					return json_send(['code'=>'error','msg'=>'新增失败']);
-				}
-			
-				// 提交
-				DB::commit();
-				// 记录行为
-				$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data);
-				// 告知结果
-				return					json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
-			} catch (\Throwable $th) 	{
-				// 回滚
-				DB::rollBack();
-				// 提示失败
-				return					json_send(['code'=>'error','msg'=>'内部错误,请重试','data'=>['error'=>$th->getMessage()]]);
-			}
+			// 写入
+			$id						= $Model->add($data);
+			// 提示新增失败
+			if( !$id )				return json_send(['code'=>'error','msg'=>'新增失败']);
+			// 记录行为
+			$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data);
+			// 告知结果
+			return					json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']);
 		}
-
+		// 分配数据
 		$this->assign('crumbs','新增');
 		// 加载模板
 		return 						$this->fetch();
@@ -129,56 +109,36 @@ class Article extends Auth{
 		$id							= request('id',0);
 		// 查询数据
 		$oldData					= $Model->where(['id'=>$id])->first();
-
+		$oldData					= $oldData ? $oldData->toArray() : [];
 		// 修改
 		if(request()->isMethod('post')){
 			// 验证参数
 			$request->scene('edit')->validate();
 			// 组合数据
-			$data['poster']			= request('poster',0);
-			$data['title']			= request('title',0);
-			$data['qrcode_link']			= request('link',0);
-			$data['content']	= request('description',0);
-			$data['status']			= request('status',0);
-
-			// 转换时间,默认现在现在生效
-			$data['update_time']		= time();
-
-			// 组合数据,写入订单表,子表
-			DB::beginTransaction();
-			try {
-				// 写入
-				$result				= $Model->edit($id,$data);
-				// 提示新增失败
-				if( !$result )		{
-					// 回滚
-					DB::rollBack();
-					// 提示
-					return json_send(['code'=>'error','msg'=>'修改失败']);
-				}
-				
-				// 提交
-				DB::commit();
-				// 记录行为
-				$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],$data);
-				// 告知结果
-				return				json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']);
-			} catch (\Throwable $th) {
-				// 回滚
-				DB::rollBack();
-				// 提示失败
-				return				json_send(['code'=>'error','msg'=>'内部错误,请重试','data'=>['error'=>$th->getMessage()]]);
-			}
+			$data['thumb']			= request('thumb','');
+			$data['poster']			= request('poster','');
+			$data['title']			= request('title','');
+			$data['path']			= request('path','');
+			$data['appid']			= request('appid','');
+			$data['content']		= request('content','');
+			// 写入
+			$result					= $Model->edit($id,$data);
+			// 提示新增失败
+			if( !$result )			return json_send(['code'=>'error','msg'=>'修改失败']);
+			// 删除结果
+			unset($oldData['content']);
+			// 记录行为
+			$this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,$oldData,$data);
+			// 告知结果
+			return					json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']);
 		}
 		// 如果是没有数据
 		if( !$oldData ) 			return $this->error('查无数据');
-		
 		// 分配数据
-	
 		$this->assign('oldData',$oldData);
 		$this->assign('crumbs','修改');
 		// 加载模板
-		return 					$this->fetch();
+		return 						$this->fetch();
 	}
 
 	

+ 1 - 1
app/Http/Controllers/Admin/ArticleEvent.php

@@ -19,7 +19,7 @@ class ArticleEvent extends Auth{
 	protected function _initialize(){
 		parent::_initialize();
 		$this->assign('breadcrumb1','资讯管理');
-		$this->assign('breadcrumb2','行为记录');
+		$this->assign('breadcrumb2','事件记录');
 	}
 
 	/**

+ 6 - 3
app/Http/Controllers/Api/Article/Comment.php

@@ -27,8 +27,10 @@ class Comment extends Api{
 		$Paginator					= $Model->query()->where($map)->orderByDesc('id')->paginate(request('limit',config('page_num',10)));
 		// 循环处理数据
 		foreach ($Paginator as $key => $value) {
-			// 重组
-			$value['poster']		= path_compat($value['poster']);
+			// 海报图
+			$value['poster']		= $value['poster'] ? path_compat($value['poster']) : '';
+			// 如果没有缩略图,使用海报图
+			$value['thmub']			= $value['thmub'] ? path_compat($value['thmub']) : $value['poster'];
 			// 获取数据
 		    $value['insert_time']   = date('Y-m-d',$value['insert_time']);
 			// 重组
@@ -57,7 +59,7 @@ class Comment extends Api{
 		// 接受参数
 		$id						= request('id',0);
 		// 获取旧数据
-        $articleData            = $Model->query()->where([['status','=',0]])->find($id,['id','title','poster','content','read_count','hand_count','like_count','share_count','insert_time']);
+        $articleData            = $Model->query()->where([['status','=',0]])->find($id,['id','title','poster','content','path','appid','read_count','hand_count','like_count','share_count','insert_time']);
 		// 用户是否点赞
 		if( !$articleData )		return 	json_send(['code'=>'error','msg'=>'文章不存在或者已下架']);
 		// 转数组
@@ -71,6 +73,7 @@ class Comment extends Api{
 		$articleData['is_like']	= $uid ? (int) $ArticleEvent->query()->where([['custom_uid','=',$uid],['article_id','=',$id],['type_id','=',4],['status','=',0]])->value('id') : 0;
 		$articleData['read_count'] += 1;
 		$articleData['insert_time'] = date('Y年m月d日 H:s',$articleData['insert_time']);
+		$articleData['poster']	= $articleData['poster'] ? path_compat($articleData['poster']) : '';
 		// 返回结果
 		return			json_send(['code'=>'success','msg'=>'暂无','data'=>$articleData]);
 		

+ 22 - 6
resources/views/admin/article/add.blade.php

@@ -5,22 +5,38 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @section('content')
 <form class="post-form" action="" method="post">
 	<div class="form-group col-sm-2">
-		<label class="control-label">图</label>
+		<label class="control-label">资讯配图</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
 				<img src="{{path_compat('')}}" height="100" />
 			</a>
-			<input type="hidden" name="poster" value="" id="input-image" />
+			<input type="hidden" name="thumb" value="" id="input-image" />
 		</div>
 	</div>
-	
 	<div class="form-group col-sm-2">
-		<label class="control-label">内容标题</label>
+		<label class="control-label">资讯海报</label>
+		<div id="poster">
+			<a id="poster-image" href="#" data-toggle="image" class="img-thumbnail">
+				<img src="{{path_compat('')}}" height="100" />
+			</a>
+			<input type="hidden" name="poster" value="" id="input-poster" />
+		</div>
+	</div>
+	<div class="form-group col-sm-6">
+		<label class="control-label">资讯标题</label>
 		<input class="form-control" required="required" type="text" placeholder="内容标题" maxlength="50" name="title" value="" />
 	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">跳转链接</label>
+		<input class="form-control" type="text" placeholder="海报跳转链接" maxlength="120" name="path" value="" />
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">appid</label>
+		<input class="form-control" type="text" placeholder="跳转的小程序appid" maxlength="32" name="appid" value="" />
+	</div>
 	<div class="form-group col-sm-12">
-		<label class="control-label">内容</label>
-		<textarea required="required" id="container" name="description" placeholder="内容" maxlength="1500"></textarea>
+		<label class="control-label">资讯内容</label>
+		<textarea required="required" id="container" name="content" placeholder="内容" maxlength="1500"></textarea>
 	</div>
 	<div class="form-group col-sm-12">
 		@csrf

+ 23 - 7
resources/views/admin/article/edit.blade.php

@@ -5,22 +5,38 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 @section('content')
 <form class="post-form" action="" method="post">
 	<div class="form-group col-sm-2">
-		<label class="control-label">图</label>
+		<label class="control-label">资讯配图</label>
 		<div id="thumb">
 			<a id="thumb-image" href="#" data-toggle="image" class="img-thumb">
-				<img src="{{path_compat($oldData['poster'])}}" height="100" />
+				<img src="{{path_compat($oldData['thumb'])}}" height="100" />
 			</a>
-			<input type="hidden" name="poster" value="{{$oldData['poster']}}" id="input-image" />
+			<input type="hidden" name="thumb" value="{{$oldData['thumb']}}" id="input-image" />
 		</div>
 	</div>
-	
 	<div class="form-group col-sm-2">
-		<label class="control-label">内容标题</label>
+		<label class="control-label">资讯海报</label>
+		<div id="poster">
+			<a id="poster-image" href="#" data-toggle="image" class="img-thumbnail">
+				<img src="{{path_compat($oldData['poster'])}}" height="100" />
+			</a>
+			<input type="hidden" name="poster" value="{{$oldData['poster']}}" id="input-poster" />
+		</div>
+	</div>
+	<div class="form-group col-sm-6">
+		<label class="control-label">资讯标题</label>
 		<input class="form-control" required="required" type="text" placeholder="内容标题" maxlength="50" name="title" value="{{$oldData['title']}}" />
 	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">跳转链接</label>
+		<input class="form-control" type="text" placeholder="海报跳转链接" maxlength="120" name="path" value="{{$oldData['path']}}" />
+	</div>
+	<div class="form-group col-sm-3">
+		<label class="control-label">appid</label>
+		<input class="form-control" type="text" placeholder="跳转的小程序appid" maxlength="32" name="appid" value="{{$oldData['appid']}}" />
+	</div>
 	<div class="form-group col-sm-12">
-		<label class="control-label">内容</label>
-		<textarea required="required" id="container" name="description" placeholder="内容" maxlength="1500">{{$oldData['content']}}</textarea>
+		<label class="control-label">资讯内容</label>
+		<textarea required="required" id="container" name="content" placeholder="资讯内容" maxlength="1500">{{$oldData['content']}}</textarea>
 	</div>
 	<div class="form-group col-sm-12">
 		@csrf

+ 3 - 1
resources/views/admin/article/index.blade.php

@@ -31,7 +31,8 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 						<th>ID</th>
 						<th>资讯标题</th>
 						<th>资讯数据</th>
-						<th>状态</th>
+						<th>跳转链接</th>
+						<th>资讯状态</th>
 						<th>修改时间</th>
 						<th>操作</th>
 					</tr>
@@ -47,6 +48,7 @@ style="margin: 0 auto;width: 96%;padding: 30px 0px;"
 							分享: {{$a['share_count']}} ;
 							收藏: {{$a['like_count']}};
 						</td>
+						<td> {{$a['path']}}  {{$a['appid']}} </td>
 						<td> @if ($a['status'] == 0) 启用 @endif @if ($a['status'] == 1) 停用 @endif</td>
 						<td> {{date('Y/m/d H:i',$a['update_time'])}}</td>
 						<td>