初始化项目:添加后端代码、ThinkPHP框架、前端资源

This commit is contained in:
amb
2026-09-03 12:42:39 +08:00
commit 482bece22e
3726 changed files with 416708 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
<?php
namespace app\api\model\app\pc;
use think\Model;
/**
* PC登录
*/
class Login extends Model
{
// 表名
protected $name = 'app_pc_login';
protected $vaild_time = 120;
public function getTicketState($ticket){
$ticket = self::where([
'uniacid'=>UNIACID,
'ticket'=>$ticket,
'status'=>1,
'createtime'=>['>',time()-$this->vaild_time]
])->find();
if(!$ticket){
return false;
}
return $ticket;
}
/**
* 检查 ticket是否可用
* @param $ticket
* @return void
*/
public function checkTicketCanUse($ticket){
$data = self::where([
'uniacid'=>UNIACID,
'ticket'=>$ticket,
'status'=>0,
'createtime'=>['>',time()-$this->vaild_time]
])->find();
if($data){
return true;
}
return false;
}
/**
* 创建 ticket
* @return mixed
*/
public function buildTicket(){
$ticket = \fast\Random::alnum(10);
self::insert([
'uniacid'=>UNIACID,
'ticket'=>$ticket,
'status'=>0,
'createtime'=>time()
]);
return $ticket;
}
/**
* 销毁 ticket
* @param $ticket
* @return mixed
*/
public function destroyTicket($ticket){
return self::where([
'uniacid'=>UNIACID,
'ticket'=>$ticket,
])->update([
'status'=>2
]);
}
/**
* 登录成功
* @param $ticket
* @param $userId
* @param $token
* @return mixed
*/
public function successTicket($ticket,$userId,$token){
return self::where([
'uniacid'=>UNIACID,
'ticket'=>$ticket,
])->update([
'status'=>1,
'user_id'=>$userId,
'token'=>$token
]);
}
}
+64
View File
@@ -0,0 +1,64 @@
<?php
namespace app\api\model\app\pc;
use think\Model;
/**
* PC页面装修
*/
class Page extends Model
{
// 表名
protected $name = 'app_pc_page';
/**
* 获取主页
* @return false
*/
public function getIndexData(){
$data = self::where([
'is_index'=>1,
'status'=>1
])->find();
if($data){
return $data;
}
return false;
}
/**
* 获取页面数据
* @param $id
* @return false
*/
public function getPageData($id){
$where = [
'status'=>1
];
if($id){
$where['id'] = $id;
$data = self::where($where)->find();
if(!$data){
$data = $this->getIndexData();
}
}else{
$data = $this->getIndexData();
}
if(!$data){
return false;
}
//之前的变量名疏忽写错了,暂时这样
$data['compontents'] = $data['components'];
$data = (new \app\common\model\page\Decorate())->parseData($data,'pc');
$data['components'] = $data['compontents'];
unset($data['compontents']);
return $data;
}
}
+91
View File
@@ -0,0 +1,91 @@
<?php
namespace app\api\model\app\pc;
use think\Model;
/**
* SEO
*/
class Seo extends Model
{
/**
* 获取 seo meta 信息
* @param $type
* @param $id
* @return void
*/
public function getMeta($type = null,$id = null){
$seoConfig = \app\common\model\app\Config::getConfig('pc_seo');
$systemConfig = \app\common\model\config\System::getConfig('system');
$meta = [
'title'=>'',
'keywords'=>'',
'description'=>''
];
if($seoConfig){
if($type == 'page' && $seoConfig['page_tdk_status'] == 1){
//获取页面
$pagedata = \app\api\model\app\pc\Page::where(['id'=>$id])->field(["seo_title","seo_description","seo_keyword"])->find();
if($pagedata){
$meta['title'] = $pagedata['seo_title'];
$meta['keywords'] = $pagedata['seo_keyword'];
$meta['description'] = $pagedata['seo_description'];
}
}
if($seoConfig['detail_tdk_status'] == 1 && $type != 'page'){
switch ($type){
case "goods":
case "live":
$goodsdata = \app\api\model\course\Course::where(['id'=>$id])->field(["name","briefing"])->find();
if($goodsdata){
$meta['title'] = $goodsdata['name'];
$meta['description'] = $goodsdata['briefing'];
}
break;
case "evaluation":
$evaluationdata = \app\api\model\app\exam\Exercises::where(['id'=>$id])->field(["name"])->find();
if($evaluationdata){
$meta['title'] = $evaluationdata['name'];
}
break;
case "search":
$meta['title'] = $id."的搜索结果";
break;
case "vipcard":
$vipcarddata = \app\api\model\app\vip\Card::where(['id'=>$id])->field(["title","subtitle"])->find();
if($vipcarddata){
$meta['title'] = $vipcarddata['title'];
$meta['description'] = $vipcarddata['subtitle'];
}
break;
case "activity":
$activitydata = \app\api\model\app\activity\Activity::where(['id'=>$id])->field(["name","location"])->find();
if($activitydata){
$meta['title'] = $activitydata['name'];
$meta['description'] = "活动地点:".$activitydata['location'];
}
break;
case "user":
$meta['title'] = $id == 'record' ? '学习记录' : ($id == 'info' ? "个人中心" : '我的课程');
break;
}
}
if($seoConfig['default_tdk_status'] == 1){
$meta['title'] = empty($meta['title']) ? $seoConfig['default_tdk_title'] : $meta['title'];
$meta['keywords'] = empty($meta['keywords']) ?implode(",",$seoConfig['default_tdk_keywords']) : $meta['keywords'];
$meta['description'] = empty($meta['description']) ? $seoConfig['default_tdk_describe'] : $meta['description'];
}
}
$meta['title'] = empty($meta['title']) ? $systemConfig['name'] : $meta['title'];
return $meta;
}
}