fix : 修改细节
This commit is contained in:
parent
67582b95c1
commit
694a2394be
@ -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' => '上传成功!'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -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('批量添加成功!');
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除首页环境
|
||||
*/
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
129
app/api/controller/Crawler/CrawlerHoude.php
Normal file
129
app/api/controller/Crawler/CrawlerHoude.php
Normal 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;
|
||||
}
|
||||
}
|
@ -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();
|
||||
|
||||
|
@ -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',]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user