作者 liyuhang

gx

... ... @@ -172,11 +172,11 @@ class BaseController extends Controller
* @author :liyuhang
* @method
*/
public function send_openai_msg($url , $key){
public function send_openai_msg($url){
$url = HTTP_OPENAI_URL.$url;
$aiCommandModel = New AiCommandModel();
//指定库获取指令
$info = $aiCommandModel->read(['key'=>$key]);
$info = $aiCommandModel->read(['key'=>$this->param['key']]);
if($info === false){
$this->response('指令不存在',Code::USER_ERROR);
}
... ...
... ... @@ -20,6 +20,7 @@ class BlogCategoryController extends BaseController
*/
public function lists(BlogCategoryModel $blogCategoryModel){
//搜索条件
$this->map['project_id'] = $this->user['project_id'];
$lists = $blogCategoryModel->lists($this->map,$this->page,$this->row);
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -20,6 +20,7 @@ class BlogController extends BaseController
*/
public function lists(BlogModel $blogModel){
//搜索条件
$this->map['project_id'] = $this->user['project_id'];
$lists = $blogModel->lists($this->map,$this->page,$this->row);
$this->response('success',Code::SUCCESS,$lists);
}
... ... @@ -112,43 +113,24 @@ class BlogController extends BaseController
$blogLogic->blog_del();
$this->response('success');
}
/**
* @name :ai生成名称
* @name :ai生成
* @return void
* @author :liyuhang
* @method
*/
public function ai_blog_name(Request $request){
# id, key, scene, ai
public function ai_blog(Request $request){
$request->validate([
'keywords'=>['required'],
'key'=>['required']
],[
'keywords.required' => '关键字不能为空',
'key.required' => '场景不能为空',
]);
$key = 'blog_title';
#TODO 通过key获取到ai指令对象
$url = 'v2/openai_chat';
$data = $this->send_openai_msg($url,$key);
$data = $this->send_openai_msg($url);
$this->response('success',Code::SUCCESS,$data);
}
/**
* @name :ai生成内容
* @return void
* @author :liyuhang
* @method
*/
public function ai_blog_content(Request $request){
$request->validate([
'keywords'=>['required'],
],[
'keywords.required' => '关键字不能为空',
]);
$key = 'blog_content';
#TODO 通过key获取到ai指令对象
$url = 'v2/openai_chat';
$data = $this->send_openai_msg($url,$key);
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -18,6 +18,7 @@ class BlogLabelController extends BaseController
* @method
*/
public function lists(BlogLabelModel $blogLabelModel){
$this->map['project_id'] = $this->user['project_id'];
$lists = $blogLabelModel->lists($this->map,$this->page,$this->row,$this->order);
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -19,6 +19,7 @@ class NewsCategoryController extends BaseController
*/
public function lists(NewsCategoryModel $newsCategory){
//搜索条件
$this->map['project_id'] = $this->user['project_id'];
$lists = $newsCategory->lists($this->map,$this->page,$this->row,'sort');
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -116,41 +116,24 @@ class NewsController extends BaseController
}
/**
* @name :ai生成名称
* @name :ai生成
* @return void
* @author :liyuhang
* @method
*/
public function ai_news_name(Request $request){
public function ai_news(Request $request){
# id, key, scene, ai
$request->validate([
'keywords'=>['required'],
'key'=>['required']
],[
'keywords.required' => '关键字不能为空',
'key.required' => '场景不能为空',
]);
$key = 'news_title';
#TODO 通过key获取到ai指令对象
$url = 'v2/openai_chat';
$data = $this->send_openai_msg($url,$key);
$data = $this->send_openai_msg($url);
$this->response('success',Code::SUCCESS,$data);
}
/**
* @name :ai生成内容
* @return void
* @author :liyuhang
* @method
*/
public function ai_news_content(Request $request){
$request->validate([
'keywords'=>['required'],
],[
'keywords.required' => '关键字不能为空',
]);
$key = 'news_content';
#TODO 通过key获取到ai指令对象
$url = 'v2/openai_chat';
$data = $this->send_openai_msg($url,$key);
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
<?php
namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Models\Notice as NoticeModel;
class NoticeController extends BaseController
{
/**
* @name :登录首页获取通知列表
* @return void
* @author :liyuhang
* @method
*/
public function lists(){
$noticeModel = new NoticeModel();
//获取当前用户的通知消息列表
$this->map['user_list'] = ['like','%'.$this->uid,'%'];
$lists = $noticeModel->lists($this->map,$this->page,$this->row,'id',['title','content']);
$this->response('success',Code::SUCCESS,$lists);
}
}
... ...
... ... @@ -6,7 +6,6 @@ use App\Enums\Common\Code;
use App\Http\Logic\Bside\UserLogic;
use App\Http\Requests\Bside\UserRequest;
use App\Models\User as UserModel;
use App\Rules\Ids;
use Illuminate\Http\Request;
class UserController extends BaseController
... ...
... ... @@ -57,6 +57,10 @@ class NewsLogic extends BaseLogic
$this->param['project_id'] = $this->user['project_id'];
DB::beginTransaction();
try {
if(isset($this->param['image'])){
$data = $this->upload();
$this->param['image'] = $data['path'];
}
$rs = $this->model->insertGetId($this->param);
RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_NEWS, $rs, $this->user['project_id']);
DB::commit();
... ... @@ -64,7 +68,6 @@ class NewsLogic extends BaseLogic
DB::rollBack();
$this->fail('error',Code::USER_ERROR);
}
//TODO::写入日志
$this->success();
}
... ...
... ... @@ -29,10 +29,12 @@ class UserLogic extends BaseLogic
$this->fail('error',Code::USER_ERROR);
}
//密码加密
$param['password'] = base64_encode(md5($this->param['password']));
$this->param['password'] = base64_encode(md5($this->param['password']));
//上传头像
$data = $this->upload();
$this->param['image'] = $data['path'];
if(isset($this->param['image'])){
$data = $this->upload();
$this->param['image'] = $data['path'];
}
$rs = $this->model->add($this->param);
if($rs === false){
$this->fail('error',Code::USER_ERROR);
... ...
<?php
namespace App\Models;
class Notice extends Base
{
protected $table = 'gl_notice';
//自动维护create_at创建时间 updated_at修改时间
public $timestamps = true;
}
... ...
... ... @@ -14,6 +14,8 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu');
//获取当前登录用户项目详情
Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project');
//消息通知列表
Route::any('/notice/', [\App\Http\Controllers\Bside\NoticeController::class, 'lists'])->name('notice_lists');
//用户相关路由
Route::prefix('user')->group(function () {
Route::any('/', [\App\Http\Controllers\Bside\UserController::class, 'lists'])->name('user_lists');
... ... @@ -76,22 +78,28 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/category/del', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'del'])->name('blog_category_del');
Route::any('/category/status', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'status'])->name('blog_category_status');
//新闻
//博客
Route::any('/', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'lists'])->name('blog_lists');
Route::any('/add', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'add'])->name('blog_add');
Route::any('/info', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'info'])->name('blog_info');
Route::any('/edit', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'edit'])->name('blog_edit');
Route::any('/del', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'del'])->name('blog_del');
Route::any('/status', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'status'])->name('blog_status');
//博客标签
Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_lists');
Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_add');
Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_info');
Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_edit');
Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_del');
Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_status');
});
//ai指令
Route::prefix('command')->group(function () {
//新闻自动生成
Route::any('/ai_news_name', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news_name'])->name('ai_news_name');
Route::any('/ai_news_content', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news_content'])->name('ai_news_content');
Route::any('/ai_news', [\App\Http\Controllers\Bside\News\NewsController::class, 'ai_news'])->name('ai_news');
//博客自动生成
Route::any('/ai_blog_name', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog_name'])->name('ai_blog_name');
Route::any('/ai_blog_content', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog_content'])->name('ai_blog_content');
Route::any('/ai_blog', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'ai_blog'])->name('ai_blog');
});
//产品
... ...