diff --git a/app/admin/controller/Common.php b/app/admin/controller/Common.php
index b67f6b5..82feb19 100644
--- a/app/admin/controller/Common.php
+++ b/app/admin/controller/Common.php
@@ -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' => '上传成功!'
+ ];
+ }
}
diff --git a/app/admin/controller/Home/HomeEnv.php b/app/admin/controller/Home/HomeEnv.php
index 1403da6..2243a19 100644
--- a/app/admin/controller/Home/HomeEnv.php
+++ b/app/admin/controller/Home/HomeEnv.php
@@ -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('批量添加成功!');
+ }
+
/**
* 删除首页环境
*/
diff --git a/app/api/controller/ContactUs/ContactInfo.php b/app/api/controller/ContactUs/ContactInfo.php
index 0187cb9..c90fbfb 100644
--- a/app/api/controller/ContactUs/ContactInfo.php
+++ b/app/api/controller/ContactUs/ContactInfo.php
@@ -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();
diff --git a/app/api/controller/Crawler/Crawler.php b/app/api/controller/Crawler/Crawler.php
index aef3bea..c0f5ab5 100644
--- a/app/api/controller/Crawler/Crawler.php
+++ b/app/api/controller/Crawler/Crawler.php
@@ -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;
diff --git a/app/api/controller/Crawler/CrawlerHoude.php b/app/api/controller/Crawler/CrawlerHoude.php
new file mode 100644
index 0000000..1d2eb94
--- /dev/null
+++ b/app/api/controller/Crawler/CrawlerHoude.php
@@ -0,0 +1,129 @@
+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;
+ }
+}
diff --git a/app/api/controller/Works/Works.php b/app/api/controller/Works/Works.php
index 7d23fd5..1adc4e0 100644
--- a/app/api/controller/Works/Works.php
+++ b/app/api/controller/Works/Works.php
@@ -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();
diff --git a/app/common/model/Test/Test.php b/app/common/model/Test/Test.php
index 7c46101..50a6b2f 100644
--- a/app/common/model/Test/Test.php
+++ b/app/common/model/Test/Test.php
@@ -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} 新增成功!
";
+ } catch (\Throwable $th) {
+ $msg[] = "{$line} {$th->getMessage()}
";
+ }
+ }
+ 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',]
+ );
+ }
+
}
diff --git a/app/common/model/Works/Works.php b/app/common/model/Works/Works.php
index 9e9c2c7..8b7403a 100644
--- a/app/common/model/Works/Works.php
+++ b/app/common/model/Works/Works.php
@@ -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;
+ }
}