TranslateController.php 4.3 KB
<?php
/**
 * @remark :
 * @name   :TranslateController.php
 * @author :lyh
 * @method :post
 * @time   :2024/1/12 9:39
 */

namespace App\Http\Controllers\Bside\Setting;

use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Setting\TranslateLogic;
use App\Models\Project\Project;
use App\Models\RouteMap\RouteMap;
use App\Models\WebSetting\WebLanguage;

class TranslateController extends BaseController
{
    /**
     * @remark :获取翻译校队列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2024/1/12 9:39
     */
    public function lists(TranslateLogic $logic){
        $this->request->validate([
            'type'=>'required',
            'language_id'=>'required',
            'url'=>'required',
        ],[
            'type.required' => 'type不能为空',
            'language_id.required' => 'language_id不能为空',
            'url.required' => 'url不能为空',
        ]);
        $data = $logic->getTranslateList();
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :图片列表
     * @name   :imageList
     * @author :lyh
     * @method :post
     * @time   :2024/1/12 11:18
     */
    public function imageList(TranslateLogic $logic){
        $this->request->validate([
            'type'=>'required',
            'language_id'=>'required',
            'url'=>'required',
        ],[
            'type.required' => 'type不能为空',
            'language_id.required' => 'language_id不能为空',
            'url.required' => 'url不能为空',
        ]);
        $data = $logic->getTranslateImageList();
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :保存数据
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2024/1/12 11:19
     */
    public function save(TranslateLogic $logic){
        $this->request->validate([
            'type'=>'required',
            'language_id'=>'required',
            'url'=>'required',
            'alias'=>'required',
        ],[
            'type.required' => 'type不能为空',
            'language_id.required' => 'language_id不能为空',
            'url.required' => 'url不能为空',
            'alias.required' => 'url不能为空',
        ]);
        $logic->translateSave();
        $this->response('success');
    }

    /**
     * @remark :获取所有路由
     * @name   :getUrl
     * @author :lyh
     * @method :post
     * @time   :2024/1/12 14:34
     */
    public function getUrl(){
        $data = [];
        $routeMapModel = new RouteMap();
        $list = $routeMapModel->list();
        foreach ($list as $k => $v){
            //查看项目是5.0还是6.0
            if($this->user['is_upgrade'] == Project::IS_UPGRADE_TRUE){//升级项目
                if(!empty($v['path'])){
                    if($v['path'] == 'blog'){
                        $v['path'] = $v['path'].'s';
                    }
                    $route = $v['path'].'/'.$v['route'];
                }else{
                    if($v['route'] == 'index'){
                        $v['route'] = '';
                    }
                    $route = $v['route'];
                }
            }else{
                if(!empty($v['path'])){
                    if($v['path'] == 'blog'){
                        $v['path'] = $v['path'].'s';
                    }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){
                        $routeMapModel->edit(['path'=>''],['id'=>$v['id']]);
                        $v['path'] = '';
                    }elseif ($v['path'] == RouteMap::PATH_NEWS_CATE){
                        $routeMapModel->edit(['path'=>''],['id'=>$v['id']]);
                        $v['path'] = '';
                    }
                    $route = $v['path'].'/'.$v['route'];
                }else{
                    if($v['route'] == 'index'){
                        $v['route'] = '';
                    }
                    $route = $v['route'];
                }
            }
        }
        $data[] = $this->user['domain'].$route;
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :获取路由表中没有的路由
     * @name   :getFiveUrl
     * @author :lyh
     * @method :post
     * @time   :2024/1/17 9:32
     */
    public function getFiveUrl($v){

    }
}