fix : 修改细节

This commit is contained in:
lwh 2023-05-11 21:36:34 +08:00
parent 67582b95c1
commit 694a2394be
8 changed files with 303 additions and 37 deletions

View File

@ -61,4 +61,22 @@ class Common extends BaseController
'msg' => '上传成功!'
];
}
/**
* 上传视频
*/
public function uploadVideo(Request $request)
{
$dirName = $request->param('dirName');
$upload = new UploadFile('uploads', 'file');
$path = $upload->putFile($dirName . 'File');
return [
'code' => 0,
'data' => [
"name" => $path,
"url" => "/uploads/" . $path,
],
'msg' => '上传成功!'
];
}
}

View File

@ -31,6 +31,7 @@ class HomeEnv extends BaseController
'home_env_id',
'home_env_guid',
'home_env_img',
'home_env_video',
'home_env_sort'
])
->order('home_env_sort', 'asc');
@ -45,7 +46,7 @@ class HomeEnv extends BaseController
{
$params = $request->param();
$this->validate($params, [
'home_env_img|图片' => 'require',
// 'home_env_img|图片' => 'require',
'home_env_sort|排序' => 'require'
]);
$model = ModelHomeEnv::where('home_env_guid', $params['home_env_guid'])->find();
@ -53,6 +54,7 @@ class HomeEnv extends BaseController
$model->allowField([
'home_env_update_user_guid',
'home_env_img',
'home_env_video',
'home_env_sort'
])->save($params);
return msg('编辑成功!');
@ -65,19 +67,54 @@ class HomeEnv extends BaseController
{
$params = $request->param();
$this->validate($params, [
'home_env_img|图片' => 'require',
// 'home_env_img|图片' => 'require',
'home_env_sort|排序' => 'require'
]);
$model = ModelHomeEnv::create($params, [
'home_env_guid',
'home_env_create_user_guid',
'home_env_update_user_guid',
'home_env_video',
'home_env_img',
'home_env_sort'
]);
return msg('添加成功!');
}
/**
* 批量添加首页环境
*/
public function batchAddHomeEnv(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'home_env_img|图片' => 'require',
]);
$params['home_env_sort'] = 1;
$arr = explode(",", $params['home_env_img']);
// return $arr;
if (empty($arr)) {
$model = ModelHomeEnv::create($params, [
'home_env_guid',
'home_env_create_user_guid',
'home_env_update_user_guid',
'home_env_video',
'home_env_img',
'home_env_sort'
]);
} else {
foreach ($arr as $key => $value) {
ModelHomeEnv::create([
'home_env_img' => $value,
// 'home_env_sort' => 1
]);
}
}
return msg('批量添加成功!');
}
/**
* 删除首页环境
*/

View File

@ -43,7 +43,7 @@ class ContactInfo extends BaseController
'contact_scancode_title',
'contact_scancode_img',
])
->where('contact_scancode_status', 2)
->where('contact_scancode_status', 1)
->order('contact_scancode_order', 'asc')
->select();
@ -53,7 +53,7 @@ class ContactInfo extends BaseController
'contact_scancode_img',
'contact_scancode_icon',
])
->where('contact_scancode_status', 1)
->where('contact_scancode_status', 2)
->order('contact_scancode_order', 'asc')
->select();

View File

@ -26,8 +26,8 @@ class Crawler extends BaseController
$client = new Client();
// 获取目标网站的URL
$base_url = 'http://avers.fszhijun.com/';
$url = 'http://avers.fszhijun.com/product/1/117.html';
$base_url = 'http://www.zs521.com/';
$url = 'http://www.zs521.com/article_categories/guangzhou/articles';
// return $url;

View File

@ -0,0 +1,129 @@
<?php
namespace app\api\controller\Crawler;
use app\Request;
use app\common\model\Flow\Flow as ModelFlow;
use app\common\model\Home\HomeEnv as ModelHomeEnv;
use app\common\model\Home\HomeWorks as ModelHomeWorks;
use think\db\Where;
use think\facade\Validate;
use app\BaseController;
use app\exception\ErrorMsg;
use think\facade\Filesystem;
use app\common\arw\adjfut\src\UploadFile;
use app\common\exception\Tool;
use Goutte\Client;
class CrawlerHoude extends BaseController
{
/**
* 爬虫测试
*/
public function Test(Request $request)
{
// return 1;
// 创建Goutte客户端对象
$client = new Client();
// 获取目标网站的URL
// $base_url = 'http://www.zs521.com/';
// $url = 'http://www.zs521.com/article_categories/guangzhou/articles';
$base_url = 'http://www.zs521.com/';
$url = 'http://www.zs521.com/article_categories/guangzhou/articles';
// return $url;
// 发起请求并获取响应对象
$crawler = $client->request('GET', $url);
// 选择要解析的HTML元素
$imgs = $crawler->filter('.grid img');
// return $titles;
// dump($titles);
// die;
// 在全部元素中筛选
// $products = $crawler->filter('.productsBody .productItem .products');
// foreach ($products as $key => $value) {
// // dump($value->filter('.productType')->eq($key)->text());
// // die;
// foreach ($titles->filter('.productType')->eq($key) as $key => $value) {
// $title = $value->textContent;
// }
// // return $title;
// }
$titleArr = [];
// 遍历元素并输出结果
// foreach ($titles as $title) {
// $titleArr[] = $title->textContent;
// }
// return $titleArr;
// $imgArr = [];
foreach ($imgs as $img) {
// var_dump($img->getAttribute('lazyload'));
// die;
// return $img->getAttribute('lazyload');
$src = $img->getAttribute('src');
if (strpos($src, 'http') === 0) {
$img_url = $src;
} else {
$img_url = $base_url . $src;
}
// return $img_url;
// 文件夹名称
$dirName = "HomeWorks" . "Img";
// 文件保存位置
$fileSaveLocation = public_path('uploads') . $dirName . "\\";
// return $fileSaveLocation;
if (true !== $res = Tool::mkdir($fileSaveLocation)) {
return $res;
}
$saveFileSaveLocation = $fileSaveLocation . date('Ymd') . "\\";
if (true !== $res = Tool::mkdir($saveFileSaveLocation)) {
return $res;
}
// 获取图片二进制数据
$imageContent = file_get_contents($img_url);
// var_dump($imageContent);
// die;
// return $imageContent;
// return $saveFileSaveLocation;
// 保存图片到本地文件系统
file_put_contents($saveFileSaveLocation . basename($img_url), $imageContent);
$res_img_url = "/uploads" . "/" . $dirName . "/" . date('Ymd') . "/" . basename($img_url);
// return $res_img_url;
// $model = ModelHomeEnv::create([
// 'home_env_img' => $res_img_url,
// 'home_env_sort' => 1
// ]);
$model = ModelHomeWorks::create([
'home_works_img' => $res_img_url,
'home_works_sort' => 1
]);
// return $res_img_url;
}
// return $imgArr;
return $titleArr;
}
}

View File

@ -51,25 +51,21 @@ class Works extends BaseController
$con = [
['works_type.works_type_delete_time', 'NULL', null],
['classes.classes_delete_time', 'NULL', null],
['works.works_type_guid', '=', $works_type->works_type_guid],
];
$data = ModelWorks::field([
'works.works_id',
'works_type.works_type_id',
'works.works_author_type',
'works.works_img',
'works.works_name',
'works.works_author',
'works.works_intro',
'works.works_likes_count',
'works.works_order',
'works_type.works_type_name',
'classes.classes_name',
])
->where($con)
->leftJoin('works_type', 'works_type.works_type_guid = works.works_type_guid')
->leftJoin('classes', 'classes.classes_guid = works.classes_guid')
->append(['isLike', 'likeSrc'])
->append(['isLike', 'likeSrc','works_author_type_name'])
->order('works_order', 'asc')
->select();

View File

@ -21,31 +21,19 @@ class Test extends BaseModel
protected $disuse = [];
// 设置字段信息
protected $schema = [
"test_id" => "int",
"test_guid" => "string",
"test_name" => "string",
"test_show_status" => "string",
"test_score" => "",
"test_sort" => "int",
"test_create_time" => "datetime",
"test_create_user_guid" => "string",
"test_update_time" => "datetime",
"test_update_user_guid" => "string",
"test_delete_time" => "datetime",
"test_delete_user_guid" => "string",
'test_id' => 'int' ,
'test_guid' => 'string' ,
'test_name' => 'string' ,
'test_show_status' => 'string' ,
'test_score' => '' ,
'test_sort' => 'int' ,
'test_create_time' => 'datetime' ,
'test_create_user_guid' => 'string' ,
'test_update_time' => 'datetime' ,
'test_update_user_guid' => 'string' ,
'test_delete_time' => 'datetime' ,
'test_delete_user_guid' => 'string' ,
];
// 设置json类型字段
protected $json = [''];
@ -57,6 +45,14 @@ class Test extends BaseModel
protected $updateTime = 'test_update_time';
// excel导入/下载模板表头
public const EXCELFIELD = [
'test_name' => '名称',
'test_show_status' => '首页是否展示',
'test_score' => '评分',
'test_sort' => '排序',
];
/**
@ -86,10 +82,87 @@ class Test extends BaseModel
}
/**
* 导出Excel
*
* @param array $select 导出的数据
*/
public static function exportExcel(array $select): void
{
$data = [[
'名称',
'首页是否展示',
'评分',
'排序'
]];
foreach ($select as $key => $val) {
$data[] = [
$val['test_name'],
$val['test_show_status'],
$val['test_score'],
$val['test_sort'],
];
}
$excel = (new Excel())->exporTsheet($data);
$excel->save('测试.xlsx');
}
/**
* 导入excel
*
* @param \app\common\arw\adjfut\src\UploadFile $file excel
*/
public static function importExcel(\app\common\arw\adjfut\src\UploadFile $file): string
{
$msg = [];
Db::startTrans();
try {
$excel = new Excel($file);
$data = $excel->parseExcel(
Tool::getExcelRule(self::EXCELFIELD),
[
'titleLine' => [1]
]);
if (!$data) throwErrorMsg('excel无数据', 1);
$msg = [];
foreach ($data as $line => $value) {
try {
$model = self::importExcelInit($value);
$msg[] = "{$line} <span style='color:#27af49'>新增成功!</span><br>";
} catch (\Throwable $th) {
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
}
}
Db::commit();
return implode(', ', $msg);
} catch (\Throwable $th) {
Db::rollback();
throw $th;
}
}
/**
* 导入excel初始化
*
* @param array $value excel每行数据
*/
public static function importExcelInit(array $value):void
{
$test_name = $value['test_name'];$test_show_status = $value['test_show_status'];$test_score = $value['test_score'];$test_sort = $value['test_sort'];
self::create(
['test_name' => $test_name,
'test_show_status' => $test_show_status,
'test_score' => $test_score,
'test_sort' => $test_sort,
],
['test_name','test_show_status','test_score','test_sort',]
);
}
}

View File

@ -11,6 +11,7 @@ use app\common\exception\Tool;
use think\facade\Db;
use app\common\model\Works\WorksType as ModelWorksType;
use app\common\model\Enrol\Classes as ModelClasses;
use app\common\model\Dictionary\Dictionary as ModelDictionary;
class Works extends BaseModel
{
@ -182,4 +183,16 @@ class Works extends BaseModel
{
return "/img/business/works/like1.png";
}
/**
* 作品作者类型字典获取器
*/
public function getWorksAuthorTypeNameAttr($value, $data)
{
$works_author_type = $data['works_author_type'];
$dic_works_author_type = ModelDictionary::getDictionaryData('works_author_type');
$works_author_type = ModelDictionary::getDataDictionaryName($dic_works_author_type, $works_author_type);
return $works_author_type;
}
}