作者 李宇航

合并分支 'master-server' 到 'master'

Master server



查看合并请求 !704
... ... @@ -30,7 +30,7 @@ class ProductController extends BaseController
public function getImages(Request $request)
{
$project_id = $request->input('project_id');
$project = ProjectServer::useProject($project_id);
$project = ProjectServer::useProject($project_id); $project = ProjectServer::useProject($project_id);
if (!$project) {
$this->response('项目不存在', Code::SYSTEM_ERROR);
}
... ...
... ... @@ -66,7 +66,7 @@ class ExtensionModuleController extends BaseController
'module_id.required' => '模块id不能为空',
]);
$moduleFieldModel = new ExtensionModuleField();
$list = $moduleFieldModel->list(['module_id'=>$this->param['module_id']]);
$list = $moduleFieldModel->list(['module_id'=>$this->param['module_id']],'sort');
$moduleValueModel = new ExtensionModuleValue();
foreach ($list as $k => $v){
$v['is_use'] = 0;
... ... @@ -257,4 +257,23 @@ class ExtensionModuleController extends BaseController
}
$this->response('success',Code::SUCCESS,['str'=>$uniqueString]);
}
/**
* @remark :获取类型
* @name :getFieldType
* @author :lyh
* @method :post
* @time :2024/8/22 11:22
*/
public function getFieldType(){
$data = [
1=>'文本框',
2=>'多文本框',
3=>'图片框',
4=>'文件框',
5=>'下拉框',
6=>'自动订单'
];
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -17,6 +17,7 @@ use App\Models\Product\ExtendInfo;
use App\Models\Product\Keyword;
use App\Models\Product\KeywordRelated;
use App\Models\Product\Product;
use App\Models\Product\ProductType;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\Setting;
use App\Models\Template\BTemplate;
... ... @@ -665,4 +666,41 @@ class ProductController extends BaseController
$logic->delProductKeyword();
$this->response('success');
}
/**
* @remark :获取产品类型
* @name :getProductType
* @author :lyh
* @method :post
* @time :2024/8/21 17:18
*/
public function getProductType(){
$typeModel = new ProductType();
$data = $typeModel->list(['project_id'=>['in',[0,$this->user['project_id']]]]);
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :保存数据
* @name :saveType
* @author :lyh
* @method :post
* @time :2024/8/21 17:52
*/
public function saveType(){
$this->request->validate([
'name'=>'required',
],[
'name.required' => 'id不为空',
]);
$typeModel = new ProductType();
if(isset($this->param['id']) && !empty($this->param['id'])){
$id = $this->param['id'];
$typeModel->edit($this->param,['id'=>$this->param['id']]);
}else{
$this->param['project_id'] = $this->user['project_id'];
$id = $typeModel->addReturnId($this->param);
}
$this->response('success',Code::SUCCESS,['id'=>$id]);
}
}
... ...
... ... @@ -10,6 +10,7 @@ use App\Jobs\CopyProjectJob;
use App\Jobs\SyncImageFileJob;
use App\Models\File\ErrorFile;
use App\Models\File\Image as ImageModel;
use App\Models\File\WatermarkImage;
use App\Models\Project\Project;
use App\Services\AmazonS3Service;
use App\Services\CosService;
... ... @@ -525,16 +526,21 @@ class ImageController extends Controller
*/
public function coverOriginalImage(){
$this->request->validate([
'old_url'=>['required'],
'url'=>['required'],
'saveUrl'=>['required'],
],[
'old_url.required'=>'原图的相对路径',
'url.required'=>'请填写预览的链接',
'saveUrl.required'=>'保存的路径',
]);
$cos = new CosService();
$url = $cos->coverOriginalImage($this->param['url'],$this->param['saveUrl']);
$this->saveWatermarkImage($this->param['saveUrl'],$this->param['old_url']);
if($this->param['saveUrl'] == $this->param['old_url']){
$upYun = new UpyunService();
$upYun->purgePush($url);
}
$this->response('success',Code::SUCCESS,['url'=>$url]);
}
... ... @@ -583,4 +589,21 @@ class ImageController extends Controller
$data = $cos->getPosition();
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :保存水印图片记录
* @name :saveWatermarkImage
* @author :lyh
* @method :post
* @time :2024/8/21 14:34
*/
public function saveWatermarkImage($path,$old_path){
$watermarkImageModel = new WatermarkImage();
$data = [
'path' => $path,
'old_path'=>$old_path,
'project_id' =>$this->cache['project_id'] ?? 0
];
return $watermarkImageModel->addReturnId($data);
}
}
... ...
... ... @@ -149,6 +149,11 @@ class CustomModuleContentLogic extends BaseLogic
* @time :2023/12/7 15:04
*/
public function contentAdd(){
//验证当前name是否已添加
$info = $this->model->read(['name'=>$this->param['name'],'module_id'=>$this->param['module_id']]);
if($info !== false){
$this->fail('当前数据名称已存在');
}
try {
$this->param['sort'] = $this->setNewsSort();
$id = $this->model->addReturnId($this->param);
... ...
... ... @@ -178,6 +178,7 @@ class UserLoginLogic
$info['uptime'] = $project['uptime'];
$info['storage_type'] = $project['storage_type'];
$info['project_location'] = $project['project_location'];
$info['open_export_product'] = $project['open_export_product'];
$info['is_update_language'] = $project['is_update_language'];
$info['configuration'] = $project['deploy_build']['configuration'];
$info['file_cdn'] = $project['deploy_build']['file_cdn'];
... ... @@ -286,6 +287,7 @@ class UserLoginLogic
$info['configuration'] = $project['deploy_build']['configuration'];
$info['project_type'] = $project['type'];
$info['storage_type'] = $project['storage_type'];
$info['open_export_product'] = $project['open_export_product'];
$info['project_location'] = $project['project_location'];
$info['file_cdn'] = $project['deploy_build']['file_cdn'];
$info['service_duration'] = $project['deploy_build']['service_duration'] ?? 0;
... ...
<?php
/**
* @remark :
* @name :WatermarkImage.php
* @author :lyh
* @method :post
* @time :2024/8/21 14:29
*/
namespace App\Models\File;
use App\Models\Base;
class WatermarkImage extends Base
{
protected $table = 'gl_watermark_image';
}
... ...
<?php
/**
* @remark :
* @name :ProductType.php
* @author :lyh
* @method :post
* @time :2024/8/21 16:46
*/
namespace App\Models\Product;
use App\Models\Base;
class ProductType extends Base
{
protected $table = 'gl_product_type';
}
... ...
... ... @@ -257,6 +257,8 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/sendAiProduct', [\App\Http\Controllers\Bside\Product\ProductController::class, 'sendAiProduct'])->name('product_sendAiProduct');
Route::any('/getSearchCategoryList', [\App\Http\Controllers\Bside\Product\ProductController::class, 'getSearchCategoryList'])->name('product_getSearchCategoryList');
Route::any('/delProductKeyword', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delProductKeyword'])->name('product_delProductKeyword');
Route::any('/getProductType', [\App\Http\Controllers\Bside\Product\ProductController::class, 'getProductType'])->name('product_getProductType');
Route::any('/saveType', [\App\Http\Controllers\Bside\Product\ProductController::class, 'saveType'])->name('product_saveType');
//产品分类
Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category');
Route::get('category/info', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'info'])->name('product_category_info');
... ... @@ -582,6 +584,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/addModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'addModuleValue'])->name('extension_module_addModuleValue');
Route::any('/editModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'editModuleValue'])->name('extension_module_editModuleValue');
Route::any('/sendUniqueStr', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'sendUniqueStr'])->name('extension_module_sendUniqueStr');
Route::any('/getFieldType', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getFieldType'])->name('extension_module_getFieldType');
});
//自定义小语种文本信息
... ...