作者 liyuhang

gx

@@ -172,11 +172,11 @@ class BaseController extends Controller @@ -172,11 +172,11 @@ class BaseController extends Controller
172 * @author :liyuhang 172 * @author :liyuhang
173 * @method 173 * @method
174 */ 174 */
175 - public function send_openai_msg($url , $key){ 175 + public function send_openai_msg($url){
176 $url = HTTP_OPENAI_URL.$url; 176 $url = HTTP_OPENAI_URL.$url;
177 $aiCommandModel = New AiCommandModel(); 177 $aiCommandModel = New AiCommandModel();
178 //指定库获取指令 178 //指定库获取指令
179 - $info = $aiCommandModel->read(['key'=>$key]); 179 + $info = $aiCommandModel->read(['key'=>$this->param['key']]);
180 if($info === false){ 180 if($info === false){
181 $this->response('指令不存在',Code::USER_ERROR); 181 $this->response('指令不存在',Code::USER_ERROR);
182 } 182 }
@@ -20,6 +20,7 @@ class BlogCategoryController extends BaseController @@ -20,6 +20,7 @@ class BlogCategoryController extends BaseController
20 */ 20 */
21 public function lists(BlogCategoryModel $blogCategoryModel){ 21 public function lists(BlogCategoryModel $blogCategoryModel){
22 //搜索条件 22 //搜索条件
  23 + $this->map['project_id'] = $this->user['project_id'];
23 $lists = $blogCategoryModel->lists($this->map,$this->page,$this->row); 24 $lists = $blogCategoryModel->lists($this->map,$this->page,$this->row);
24 $this->response('success',Code::SUCCESS,$lists); 25 $this->response('success',Code::SUCCESS,$lists);
25 } 26 }
@@ -20,6 +20,7 @@ class BlogController extends BaseController @@ -20,6 +20,7 @@ class BlogController extends BaseController
20 */ 20 */
21 public function lists(BlogModel $blogModel){ 21 public function lists(BlogModel $blogModel){
22 //搜索条件 22 //搜索条件
  23 + $this->map['project_id'] = $this->user['project_id'];
23 $lists = $blogModel->lists($this->map,$this->page,$this->row); 24 $lists = $blogModel->lists($this->map,$this->page,$this->row);
24 $this->response('success',Code::SUCCESS,$lists); 25 $this->response('success',Code::SUCCESS,$lists);
25 } 26 }
@@ -112,43 +113,24 @@ class BlogController extends BaseController @@ -112,43 +113,24 @@ class BlogController extends BaseController
112 $blogLogic->blog_del(); 113 $blogLogic->blog_del();
113 $this->response('success'); 114 $this->response('success');
114 } 115 }
115 -  
116 /** 116 /**
117 - * @name :ai生成名称 117 + * @name :ai生成
118 * @return void 118 * @return void
119 * @author :liyuhang 119 * @author :liyuhang
120 * @method 120 * @method
121 */ 121 */
122 - public function ai_blog_name(Request $request){  
123 - # id, key, scene, ai 122 + public function ai_blog(Request $request){
124 $request->validate([ 123 $request->validate([
125 'keywords'=>['required'], 124 'keywords'=>['required'],
  125 + 'key'=>['required']
126 ],[ 126 ],[
127 'keywords.required' => '关键字不能为空', 127 'keywords.required' => '关键字不能为空',
  128 + 'key.required' => '场景不能为空',
128 ]); 129 ]);
129 - $key = 'blog_title';  
130 #TODO 通过key获取到ai指令对象 130 #TODO 通过key获取到ai指令对象
131 $url = 'v2/openai_chat'; 131 $url = 'v2/openai_chat';
132 - $data = $this->send_openai_msg($url,$key); 132 + $data = $this->send_openai_msg($url);
133 $this->response('success',Code::SUCCESS,$data); 133 $this->response('success',Code::SUCCESS,$data);
134 } 134 }
135 135
136 - /**  
137 - * @name :ai生成内容  
138 - * @return void  
139 - * @author :liyuhang  
140 - * @method  
141 - */  
142 - public function ai_blog_content(Request $request){  
143 - $request->validate([  
144 - 'keywords'=>['required'],  
145 - ],[  
146 - 'keywords.required' => '关键字不能为空',  
147 - ]);  
148 - $key = 'blog_content';  
149 - #TODO 通过key获取到ai指令对象  
150 - $url = 'v2/openai_chat';  
151 - $data = $this->send_openai_msg($url,$key);  
152 - $this->response('success',Code::SUCCESS,$data);  
153 - }  
154 } 136 }
@@ -18,6 +18,7 @@ class BlogLabelController extends BaseController @@ -18,6 +18,7 @@ class BlogLabelController extends BaseController
18 * @method 18 * @method
19 */ 19 */
20 public function lists(BlogLabelModel $blogLabelModel){ 20 public function lists(BlogLabelModel $blogLabelModel){
  21 + $this->map['project_id'] = $this->user['project_id'];
21 $lists = $blogLabelModel->lists($this->map,$this->page,$this->row,$this->order); 22 $lists = $blogLabelModel->lists($this->map,$this->page,$this->row,$this->order);
22 $this->response('success',Code::SUCCESS,$lists); 23 $this->response('success',Code::SUCCESS,$lists);
23 } 24 }
@@ -19,6 +19,7 @@ class NewsCategoryController extends BaseController @@ -19,6 +19,7 @@ class NewsCategoryController extends BaseController
19 */ 19 */
20 public function lists(NewsCategoryModel $newsCategory){ 20 public function lists(NewsCategoryModel $newsCategory){
21 //搜索条件 21 //搜索条件
  22 + $this->map['project_id'] = $this->user['project_id'];
22 $lists = $newsCategory->lists($this->map,$this->page,$this->row,'sort'); 23 $lists = $newsCategory->lists($this->map,$this->page,$this->row,'sort');
23 $this->response('success',Code::SUCCESS,$lists); 24 $this->response('success',Code::SUCCESS,$lists);
24 } 25 }
@@ -116,41 +116,24 @@ class NewsController extends BaseController @@ -116,41 +116,24 @@ class NewsController extends BaseController
116 } 116 }
117 117
118 /** 118 /**
119 - * @name :ai生成名称 119 + * @name :ai生成
120 * @return void 120 * @return void
121 * @author :liyuhang 121 * @author :liyuhang
122 * @method 122 * @method
123 */ 123 */
124 - public function ai_news_name(Request $request){ 124 + public function ai_news(Request $request){
125 # id, key, scene, ai 125 # id, key, scene, ai
126 $request->validate([ 126 $request->validate([
127 'keywords'=>['required'], 127 'keywords'=>['required'],
  128 + 'key'=>['required']
128 ],[ 129 ],[
129 'keywords.required' => '关键字不能为空', 130 'keywords.required' => '关键字不能为空',
  131 + 'key.required' => '场景不能为空',
130 ]); 132 ]);
131 - $key = 'news_title';  
132 #TODO 通过key获取到ai指令对象 133 #TODO 通过key获取到ai指令对象
133 $url = 'v2/openai_chat'; 134 $url = 'v2/openai_chat';
134 - $data = $this->send_openai_msg($url,$key); 135 + $data = $this->send_openai_msg($url);
135 $this->response('success',Code::SUCCESS,$data); 136 $this->response('success',Code::SUCCESS,$data);
136 } 137 }
137 138
138 - /**  
139 - * @name :ai生成内容  
140 - * @return void  
141 - * @author :liyuhang  
142 - * @method  
143 - */  
144 - public function ai_news_content(Request $request){  
145 - $request->validate([  
146 - 'keywords'=>['required'],  
147 - ],[  
148 - 'keywords.required' => '关键字不能为空',  
149 - ]);  
150 - $key = 'news_content';  
151 - #TODO 通过key获取到ai指令对象  
152 - $url = 'v2/openai_chat';  
153 - $data = $this->send_openai_msg($url,$key);  
154 - $this->response('success',Code::SUCCESS,$data);  
155 - }  
156 } 139 }
  1 +<?php
  2 +
  3 +namespace App\Http\Controllers\Bside;
  4 +
  5 +use App\Enums\Common\Code;
  6 +use App\Models\Notice as NoticeModel;
  7 +
  8 +class NoticeController extends BaseController
  9 +{
  10 + /**
  11 + * @name :登录首页获取通知列表
  12 + * @return void
  13 + * @author :liyuhang
  14 + * @method
  15 + */
  16 + public function lists(){
  17 + $noticeModel = new NoticeModel();
  18 + //获取当前用户的通知消息列表
  19 + $this->map['user_list'] = ['like','%'.$this->uid,'%'];
  20 + $lists = $noticeModel->lists($this->map,$this->page,$this->row,'id',['title','content']);
  21 + $this->response('success',Code::SUCCESS,$lists);
  22 + }
  23 +
  24 +}
@@ -6,7 +6,6 @@ use App\Enums\Common\Code; @@ -6,7 +6,6 @@ use App\Enums\Common\Code;
6 use App\Http\Logic\Bside\UserLogic; 6 use App\Http\Logic\Bside\UserLogic;
7 use App\Http\Requests\Bside\UserRequest; 7 use App\Http\Requests\Bside\UserRequest;
8 use App\Models\User as UserModel; 8 use App\Models\User as UserModel;
9 -use App\Rules\Ids;  
10 use Illuminate\Http\Request; 9 use Illuminate\Http\Request;
11 10
12 class UserController extends BaseController 11 class UserController extends BaseController
@@ -57,6 +57,10 @@ class NewsLogic extends BaseLogic @@ -57,6 +57,10 @@ class NewsLogic extends BaseLogic
57 $this->param['project_id'] = $this->user['project_id']; 57 $this->param['project_id'] = $this->user['project_id'];
58 DB::beginTransaction(); 58 DB::beginTransaction();
59 try { 59 try {
  60 + if(isset($this->param['image'])){
  61 + $data = $this->upload();
  62 + $this->param['image'] = $data['path'];
  63 + }
60 $rs = $this->model->insertGetId($this->param); 64 $rs = $this->model->insertGetId($this->param);
61 RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_NEWS, $rs, $this->user['project_id']); 65 RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_NEWS, $rs, $this->user['project_id']);
62 DB::commit(); 66 DB::commit();
@@ -64,7 +68,6 @@ class NewsLogic extends BaseLogic @@ -64,7 +68,6 @@ class NewsLogic extends BaseLogic
64 DB::rollBack(); 68 DB::rollBack();
65 $this->fail('error',Code::USER_ERROR); 69 $this->fail('error',Code::USER_ERROR);
66 } 70 }
67 -  
68 //TODO::写入日志 71 //TODO::写入日志
69 $this->success(); 72 $this->success();
70 } 73 }
@@ -29,10 +29,12 @@ class UserLogic extends BaseLogic @@ -29,10 +29,12 @@ class UserLogic extends BaseLogic
29 $this->fail('error',Code::USER_ERROR); 29 $this->fail('error',Code::USER_ERROR);
30 } 30 }
31 //密码加密 31 //密码加密
32 - $param['password'] = base64_encode(md5($this->param['password'])); 32 + $this->param['password'] = base64_encode(md5($this->param['password']));
33 //上传头像 33 //上传头像
34 - $data = $this->upload();  
35 - $this->param['image'] = $data['path']; 34 + if(isset($this->param['image'])){
  35 + $data = $this->upload();
  36 + $this->param['image'] = $data['path'];
  37 + }
36 $rs = $this->model->add($this->param); 38 $rs = $this->model->add($this->param);
37 if($rs === false){ 39 if($rs === false){
38 $this->fail('error',Code::USER_ERROR); 40 $this->fail('error',Code::USER_ERROR);
  1 +<?php
  2 +
  3 +namespace App\Models;
  4 +
  5 +class Notice extends Base
  6 +{
  7 + protected $table = 'gl_notice';
  8 + //自动维护create_at创建时间 updated_at修改时间
  9 + public $timestamps = true;
  10 +}
@@ -14,6 +14,8 @@ Route::middleware(['bloginauth'])->group(function () { @@ -14,6 +14,8 @@ Route::middleware(['bloginauth'])->group(function () {
14 Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu'); 14 Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu');
15 //获取当前登录用户项目详情 15 //获取当前登录用户项目详情
16 Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project'); 16 Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project');
  17 + //消息通知列表
  18 + Route::any('/notice/', [\App\Http\Controllers\Bside\NoticeController::class, 'lists'])->name('notice_lists');
17 //用户相关路由 19 //用户相关路由
18 Route::prefix('user')->group(function () { 20 Route::prefix('user')->group(function () {
19 Route::any('/', [\App\Http\Controllers\Bside\UserController::class, 'lists'])->name('user_lists'); 21 Route::any('/', [\App\Http\Controllers\Bside\UserController::class, 'lists'])->name('user_lists');
@@ -76,22 +78,28 @@ Route::middleware(['bloginauth'])->group(function () { @@ -76,22 +78,28 @@ Route::middleware(['bloginauth'])->group(function () {
76 Route::any('/category/del', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'del'])->name('blog_category_del'); 78 Route::any('/category/del', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'del'])->name('blog_category_del');
77 Route::any('/category/status', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'status'])->name('blog_category_status'); 79 Route::any('/category/status', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'status'])->name('blog_category_status');
78 80
79 - //新闻 81 + //博客
80 Route::any('/', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'lists'])->name('blog_lists'); 82 Route::any('/', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'lists'])->name('blog_lists');
81 Route::any('/add', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'add'])->name('blog_add'); 83 Route::any('/add', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'add'])->name('blog_add');
82 Route::any('/info', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'info'])->name('blog_info'); 84 Route::any('/info', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'info'])->name('blog_info');
83 Route::any('/edit', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'edit'])->name('blog_edit'); 85 Route::any('/edit', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'edit'])->name('blog_edit');
84 Route::any('/del', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'del'])->name('blog_del'); 86 Route::any('/del', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'del'])->name('blog_del');
85 Route::any('/status', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'status'])->name('blog_status'); 87 Route::any('/status', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'status'])->name('blog_status');
  88 +
  89 + //博客标签
  90 + Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_lists');
  91 + Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_add');
  92 + Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_info');
  93 + Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_edit');
  94 + Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_del');
  95 + Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_status');
86 }); 96 });
87 //ai指令 97 //ai指令
88 Route::prefix('command')->group(function () { 98 Route::prefix('command')->group(function () {
89 //新闻自动生成 99 //新闻自动生成
90 - Route::any('/ai_news_name', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news_name'])->name('ai_news_name');  
91 - Route::any('/ai_news_content', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news_content'])->name('ai_news_content'); 100 + Route::any('/ai_news', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news'])->name('ai_news');
92 //博客自动生成 101 //博客自动生成
93 - Route::any('/ai_blog_name', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog_name'])->name('ai_blog_name');  
94 - Route::any('/ai_blog_content', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog_content'])->name('ai_blog_content'); 102 + Route::any('/ai_blog', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog'])->name('ai_blog');
95 }); 103 });
96 104
97 //产品 105 //产品