Files
pull-courseware/app/kernel/Lebolebo/Curriculum.php
T
julecn 9bab04be20 chore: 批量修改文件权限为可执行
将项目内绝大多数文件的权限从644调整为755,统一可执行权限配置
2026-08-02 16:29:01 +08:00

175 lines
6.3 KiB
PHP
Executable File

<?php
namespace app\kernel\Lebolebo;
use GuzzleHttp\Client;
use think\facade\Cache;
class Curriculum
{
protected $client;
protected $headers = [
'campusid'=>'1863',
'logincode'=>'13880615958',
'platform'=>'OMO_WEB',
'referer'=>'http://manage.shengtongedu.cn/',
'token'=>'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2ODE4MDAxMTcsInVzZXJDb2RlIjoiMTMwODgzOTM5MjcifQ.Wy61_ITLuag4JwYLhAOosEBz2Fsw-hCgGrrF-rgoQZM',
'user-agent'=>'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.196.400 QQBrowser/11.7.5286.400',
'content-type'=>'application/json; charset=utf-8',
'origin'=>'http://manage.shengtongedu.cn',
];
protected $config = [
'cache_time'=>86400
];
public function setHeader(string $key,string $value)
{
$this->headers[$key] = $value;
}
public function __construct()
{
$this->client = new Client([
'timeout' => 30,
]);
}
public function list(int $page = 0)
{
// $url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/coursePageListV3';
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/coursePageListV6';
$options = [
'body'=>json_encode([
'campusIdList'=>["2404"],
'pageNum'=>$page,
'pageSize'=>96,
'platform'=>"OMO_WEB",
'searchType'=>true,
'total'=>152,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
return json_decode($result->getBody()->getContents(),true);
}
public function getVideoUrl($videoId)
{
$key = 'lebolebo_curriculum_getVideoUrl_' . $videoId;
// if(($data = Cache::get($key,null)) !== null ){
// return $data;
// }
$url = 'https://api-manage2.shengtongedu.cn/st-msg-server/msg/bjy/getVideoUrl';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'companyId'=>'139',
'videoId'=>$videoId,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
public function courseUnitList(string $courseCode)
{
$key = 'lebolebo_curriculum_courseUnitList_' . $courseCode;
if(($data = Cache::get($key,null)) !== null ){
return $data;
}
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/unit/courseUnitList';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'courseCode'=>$courseCode,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
public function selectByCourseSessionCode(string $courseSessionCode)
{
$key = 'lebolebo_curriculum_selectByCourseSessionCode_' . $courseSessionCode;
if(($data = Cache::get($key,null)) !== null ){
return $data;
}
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/resource/selectByCourseSessionCode';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'courseSessionCode'=>$courseSessionCode,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
public function selectByCourseUnits(string $courseCode,string $courseUnitCode)
{
$key = 'lebolebo_curriculum_selectByCourseUnits_' . $courseCode . $courseUnitCode;
if(($data = Cache::get($key,null)) !== null ){
return $data;
}
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/sesson/selectByCourseUnits';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'courseCode'=>$courseCode,
'courseUnitCode'=>$courseUnitCode
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
public function detail(int $id)
{
$key = 'lebolebo_curriculum_detail_' . $id;
if(($data = Cache::get($key,null)) !== null ){
return $data;
}
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/detailV2';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'id'=>$id,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
public function course(string $code)
{
$key = 'lebolebo_curriculum_course_'.$code;
if(($data = Cache::get($key,null)) !== null ){
return $data;
}
$url = 'https://api-manage2.shengtongedu.cn/st-course-server/manage/course/unit/courseUnitList';
$options = [
'body'=>json_encode([
'campusIdList'=>["1863"],
'platform'=>"OMO_WEB",
'courseCode'=>$code,
]),
'headers'=>$this->headers
];
$result = $this->client->post($url,$options);
$d = json_decode($result->getBody()->getContents(),true);
Cache::set($key,$d,$this->config['cache_time']);
return $d;
}
}