TaoLer/app/admin/controller/Index.php

203 lines
4.8 KiB
PHP
Raw Normal View History

2020-01-01 13:17:19 +08:00
<?php
namespace app\admin\controller;
use app\common\controller\AdminController;
use think\facade\View;
use think\facade\Db;
use think\facade\Session;
use think\facade\Request;
use think\facade\Cache;
2020-01-01 13:17:19 +08:00
use app\admin\model\Admin;
use app\admin\model\Article;
use app\admin\model\Cunsult;
2020-05-14 12:33:10 +08:00
use think\facade\Config;
use taoler\com\Api;
2020-01-01 13:17:19 +08:00
class Index extends AdminController
{
protected function initialize()
{
parent::initialize();
2020-05-14 12:33:10 +08:00
$this->domain = Request::scheme().'://www.'.Request::rootDomain();
$this->api = Db::name('system')->where('id',1)->value('api_url');
if(empty($this->api)){
$baseUrl = Db::name('system')->where('id',1)->value('base_url');
$this->api = strstr($baseUrl,'/v',true);
}
2020-01-01 13:17:19 +08:00
}
public function index()
{
return View::fetch('index');
}
public function set()
{
return view();
}
2020-05-14 11:09:26 +08:00
public function message()
{
2020-01-01 13:17:19 +08:00
return view();
}
public function home(){
$sys = Db::name('system')->find(1);
2020-01-17 14:57:05 +08:00
$now = time();
$count = $now-$sys['create_time'];
$days = floor($count/86400);
$hos = floor(($count%86400)/3600);
$mins = floor(($count%3600)/60);
View::assign(['sys'=>$sys,'day'=>$days,'hos'=>$hos,'mins'=>$mins]);
2020-01-01 13:17:19 +08:00
return View::fetch();
}
2020-05-14 11:09:26 +08:00
//本周发帖
2020-02-25 15:40:06 +08:00
public function forums()
{
$forumList = Db::name('article')
->alias('a')
->join('user u','a.user_id = u.id')
->join('cate c','a.cate_id = c.id')
->field('a.id as aid,title,name,catename,pv')
->whereWeek('a.create_time')
->order('a.create_time', 'desc')
->paginate(10);
$res = [];
$count = $forumList->total();
if($count){
$res['code'] = 0;
$res['msg'] = '';
$res['count'] = $count;
foreach($forumList as $k=>$v){
2020-05-14 12:33:10 +08:00
$res['data'][]= ['id'=>str_replace("admin","index",$this->domain.(string) url('article/detail',['id'=>$v['aid']])),'title'=>$v['title'],'name'=>$v['name'],'catename'=>$v['catename'],'pv'=>$v['pv']];
2020-02-25 15:40:06 +08:00
}
} else {
$res = ['code'=>-1,'msg'=>'本周还没有发帖!'];
}
return json($res);
}
2020-05-14 11:09:26 +08:00
//本周评论
2020-02-25 15:40:06 +08:00
public function replys()
{
if(Request::isAjax()) {
$replys = Db::name('comment')
->alias('a')
->join('user u','a.user_id = u.id')
->join('article c','a.article_id = c.id')
->field('a.content as content,title,c.id as cid,name')
->whereWeek('a.create_time')
->order('a.create_time', 'desc')
->paginate(10);
$count = $replys->total();
$res = [];
if ($count) {
$res = ['code'=>0,'msg'=>'','count'=>$count];
foreach($replys as $k => $v){
2020-05-14 12:33:10 +08:00
$res['data'][] = ['content'=>$v['content'],'title'=>$v['title'],'cid'=>str_replace("admin","index",$this->domain.(string) url('article/detail',['id'=>$v['cid']])),'name'=>$v['name']];
2020-02-25 15:40:06 +08:00
}
} else {
$res = ['code'=>-1,'msg'=>'本周还没评论'];
}
return json($res);
}
}
//动态信息
public function news()
{
$page = Request::param('page');
$url = $this->api.'/v1/news?'.Request::query();
$news = Cache::get('news'.$page);
if(is_null($news)){
$news = Api::urlGet($url);
Cache::set('news'.$page,$news,600);
}
if($news){
return $news;
}else{
return json(['code'=>-1,'msg'=>'稍后获取内容...']);
}
}
//提交反馈
public function cunsult()
{
$url = $this->api.'/v1/reply';
//$mail = Db::name('system')->where('id',1)->value('auth_mail'); // bug邮件发送
if(Request::isAjax()){
$data = Request::only(['type','title','content']);
$data['poster'] = 3; //公共id
$apiRes = Api::urlPost($url,$data);
if($apiRes){
$res = Cunsult::create($data);
if($res->id){
//$result = mailto($mail,$data['title'],'我的问题类型是'.$data['type'].$data['content']);
$res = ['code'=>0,'msg'=>$apiRes->msg];
} else {
$res = ['code'=>0,'msg'=>$apiRes->msg];
}
} else {
$res = ['code'=>-1,'msg'=>'失败,请稍后再试提交...'];
}
return json($res);
}
}
//问题和反馈
public function reply()
{
if(Request::isAjax()) {
$replys = Db::name('cunsult')
->whereWeek('create_time')
->order('create_time', 'desc')
->paginate(10);
$count = $replys->total();
$res = [];
if ($count) {
$res = ['code'=>0,'msg'=>'','count'=>$count];
foreach($replys as $k => $v){
$res['data'][] = ['id'=>$v['id'],'content'=>$v['content'],'title'=>$v['title'],'time'=>Date('Y-m-d',$v['create_time'])];
}
} else {
$res = ['code'=>-1,'msg'=>'本周还没问题'];
}
return json($res);
}
}
//删除反馈
public function delReply()
{
if(Request::isAjax()){
$res = Db::name('cunsult')->delete(input('id'));
if($res){
$res = ['code'=>0,'msg'=>'删除成功!'];
}else{
$res = ['code'=>-1,'msg'=>'删除失败!'];
}
return json($res);
}
}
2020-01-01 13:17:19 +08:00
public function layout(){
return view();
}
}