101 lines
2.8 KiB
PHP
Executable File
101 lines
2.8 KiB
PHP
Executable File
<?php
|
|
namespace wstmart\wechat\model;
|
|
use think\Db;
|
|
/**
|
|
* ============================================================================
|
|
* 文章类
|
|
*/
|
|
class Articles extends Base{
|
|
|
|
/**
|
|
* 获取咨询中中心所有文章
|
|
*/
|
|
public function getArticles(){
|
|
// 获取咨询中心下的所有分类id
|
|
$catId = input('catId');
|
|
$rs = $this->alias('a')
|
|
->field('a.*')
|
|
->join('__ARTICLE_CATS__ ac','a.catId=ac.catId','inner')
|
|
->where(['a.catId'=>$catId,
|
|
'a.isShow'=>1,
|
|
'a.dataFlag'=>1,
|
|
'ac.dataFlag'=>1,
|
|
'ac.isShow'=>1,
|
|
'ac.catType'=>0,
|
|
])
|
|
->order('createTime desc')
|
|
->paginate((int)input('pagesize'));
|
|
return $rs;
|
|
}
|
|
|
|
|
|
/**
|
|
* 根据id获取资讯文章
|
|
*/
|
|
public function getNewsById(){
|
|
$id = (int)input('id');
|
|
WSTArticleVisitorNum($id);// 统计文章访问量
|
|
$article = $this->alias('a')
|
|
->field('a.*')
|
|
->join('__ARTICLE_CATS__ ac','a.catId=ac.catId','inner')
|
|
->where('ac.catType=0 and a.dataFlag=1 and a.isShow=1')
|
|
->cache(true)
|
|
->find($id);
|
|
// 图片延迟加载
|
|
$article['articleContent']=htmlspecialchars_decode($article['articleContent']);
|
|
$rule = '/<img src="\/(wstmartp.*?)"/';
|
|
preg_match_all($rule, $article['articleContent'],$images);
|
|
foreach($images[0] as $k=>$v){
|
|
$article['articleContent'] = str_replace($v, "<img src='/".WSTImg($images[1][$k],3)."'", $article['articleContent']);
|
|
}
|
|
$articleId = cookie("wechat_like_articleId");
|
|
$articleId = is_array($articleId)?$articleId:[];
|
|
$rc = !empty($articleId)?in_array($id,$articleId):'';
|
|
if($rc){
|
|
$article['likeState'] = 1;
|
|
}else{
|
|
$article['likeState'] = 0;
|
|
}
|
|
return $article;
|
|
}
|
|
/**
|
|
* 点赞
|
|
*/
|
|
public function like(){
|
|
$id = input("param.id/d");
|
|
//判断记录是否存在
|
|
$articleId = cookie("wechat_like_articleId");
|
|
$articleId = is_array($articleId)?$articleId:[];
|
|
$rc = !empty($articleId)?in_array($id,$articleId):'';
|
|
if($rc)return WSTReturn("已点赞成功", -1);
|
|
$rs = $this->where(['isShow'=>1,'dataFlag'=>1,'articleId'=>$id])->setInc('likeNum',1);
|
|
//判断是否点赞成功
|
|
if(false !== $rs){
|
|
array_push($articleId,$id);
|
|
cookie("wechat_like_articleId",$articleId,25920000);
|
|
return WSTReturn("点赞成功", 1);
|
|
}else{
|
|
return WSTReturn($this->getError(),-1);
|
|
}
|
|
}
|
|
/**
|
|
* 获取资讯中心的子集分类
|
|
*/
|
|
public function getChildInfos(){
|
|
$infos = cache('NEW_INFOS');
|
|
$i = 0;
|
|
if(!$infos){
|
|
$data = Db::name('article_cats')->cache(true)->select();
|
|
foreach($data as $k=>$v){
|
|
if($v['parentId']== 8){
|
|
$infos[$i]['catId'] = $v['catId'];
|
|
$infos[$i]['catName'] = $v['catName'];
|
|
$i++;
|
|
}
|
|
}
|
|
cache('NEW_INFOS',$infos);
|
|
}
|
|
return $infos;
|
|
}
|
|
}
|