From ffe2cb932a4c39b49e203d10220aec05897c0c8c Mon Sep 17 00:00:00 2001 From: Anyon Date: Wed, 2 Sep 2020 16:13:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/data/controller/api/News.php | 37 +++++++++++------------ app/data/controller/api/member/Center.php | 2 +- app/data/controller/api/member/News.php | 10 +++--- app/data/service/MemberService.php | 24 +++++++++------ app/data/service/NewsService.php | 2 +- 5 files changed, 39 insertions(+), 36 deletions(-) diff --git a/app/data/controller/api/News.php b/app/data/controller/api/News.php index 51209b104..98fc26d9c 100644 --- a/app/data/controller/api/News.php +++ b/app/data/controller/api/News.php @@ -43,30 +43,13 @@ class News extends Controller $this->app->db->name('DataNewsHistory')->insert($history); } } - $query = $this->_query('DataNewsItem')->equal('id')->like('title,mark'); + $query = $this->_query('DataNewsItem')->like('title,mark')->equal('id'); $query->where(['deleted' => 0, 'status' => 1])->withoutField('sort,status,deleted'); $result = $query->order('sort desc,id desc')->page(true, false, false, 15); - if (count($result['list']) > 0 && input('mid') > 0) { - NewsService::instance()->buildListState($result['list'], input('mid')); - } + NewsService::instance()->buildListState($result['list'], input('mid')); $this->success('获取文章内容列表', $result); } - /** - * 获取文章评论 - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - */ - public function getComment() - { - $data = $this->_vali(['cid.require' => '文章ID不能为空!']); - $query = $this->_query('DataNewsXComment')->where($data); - $result = $query->order('id desc')->page(false, false, false, 5); - NewsService::instance()->buildListByMid($result['list']); - $this->success('获取文章评论成功!', $result); - } - /** * 获取已点赞的会员 */ @@ -86,4 +69,20 @@ class News extends Controller $query = $this->app->db->name('DataNewsXCollect')->where($data); $this->success('获取已收藏的会员', ['list' => $query->order('mid asc')->column('mid')]); } + + /** + * 获取文章评论 + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + */ + public function getComment() + { + $data = $this->_vali(['cid.require' => '文章ID不能为空!']); + $query = $this->_query('DataNewsXComment')->where($data); + $result = $query->order('id desc')->page(false, false, false, 5); + NewsService::instance()->buildListByMid($result['list']); + $this->success('获取文章评论成功!', $result); + } + } \ No newline at end of file diff --git a/app/data/controller/api/member/Center.php b/app/data/controller/api/member/Center.php index fc27379ca..d2e6f40d4 100644 --- a/app/data/controller/api/member/Center.php +++ b/app/data/controller/api/member/Center.php @@ -89,7 +89,7 @@ class Center extends Member public function getFrom() { $query = $this->_query($this->table); - $query->where(['from' => $this->mid])->field('id,from,user,nickname,headimg,create_at'); + $query->where(['from' => $this->mid])->field('id,from,username,nickname,headimg,create_at'); $this->success('获取我邀请的朋友', $query->order('id desc')->page(true, false, false, 15)); } } \ No newline at end of file diff --git a/app/data/controller/api/member/News.php b/app/data/controller/api/member/News.php index 8aac4b2da..13a753ec7 100644 --- a/app/data/controller/api/member/News.php +++ b/app/data/controller/api/member/News.php @@ -24,7 +24,7 @@ class News extends Member 'content.require' => '评论内容不能为空!', ]); if ($this->app->db->name('DataNewsXComment')->insert($data) !== false) { - NewsService::instance()->syncTotal($data['cid']); + NewsService::instance()->syncNewsTotal($data['cid']); $this->success('添加评论成功!'); } else { $this->error('添加评论失败!'); @@ -73,7 +73,7 @@ class News extends Member $this->success('您已收藏!'); } if ($this->app->db->name('DataNewsXCollect')->insert($data) !== false) { - NewsService::instance()->syncTotal($data['cid']); + NewsService::instance()->syncNewsTotal($data['cid']); $this->success('收藏成功!'); } else { $this->error('收藏失败!'); @@ -88,7 +88,7 @@ class News extends Member { $data = $this->_vali(['mid.value' => $this->mid, 'cid.require' => '文章ID不能为空!']); if ($this->app->db->name('DataNewsXCollect')->where($data)->delete() !== false) { - NewsService::instance()->syncTotal($data['cid']); + NewsService::instance()->syncNewsTotal($data['cid']); $this->success('取消收藏成功!'); } else { $this->error('取消收藏失败!'); @@ -118,7 +118,7 @@ class News extends Member $this->success('您已点赞!'); } if ($this->app->db->name('DataNewsXLike')->insert($data) !== false) { - NewsService::instance()->syncTotal($data['cid']); + NewsService::instance()->syncNewsTotal($data['cid']); $this->success('点赞成功!'); } else { $this->error('点赞失败!'); @@ -133,7 +133,7 @@ class News extends Member { $data = $this->_vali(['mid.value' => $this->mid, 'cid.require' => '内容ID不能为空!']); if ($this->app->db->name('DataNewsXLike')->where($data)->delete() !== false) { - NewsService::instance()->syncTotal($data['cid']); + NewsService::instance()->syncNewsTotal($data['cid']); $this->success('取消点赞成功!'); } else { $this->error('取消点赞失败!'); diff --git a/app/data/service/MemberService.php b/app/data/service/MemberService.php index 7b09b0471..9b8b85eb2 100644 --- a/app/data/service/MemberService.php +++ b/app/data/service/MemberService.php @@ -29,10 +29,12 @@ class MemberService extends Service */ public function get(string $token, array $data = []): array { - $query = $this->app->db->name($this->table); - $query->where(['token' => $token, 'deleted' => 0]); + $map = ['token' => $token, 'deleted' => 0]; + $query = $this->app->db->name($this->table)->where($map); $member = $query->withoutField('status,deleted')->find(); - if (empty($member)) throw new \think\Exception('会员查询失败'); + if (empty($member)) { + throw new \think\Exception('登录授权失败'); + } if ($member['tokenv'] !== $this->buildTokenVerify()) { throw new \think\Exception('请重新登录授权'); } @@ -51,13 +53,15 @@ class MemberService extends Service */ public function token(int $mid, array $data = []): array { - do $up = ['token' => md5(uniqid("{$mid}#", true) . rand(100, 999))]; - while ($this->app->db->name($this->table)->where($up)->count() > 0); - $count = $this->app->db->name($this->table)->where(['id' => $mid, 'deleted' => 0])->update([ - 'token' => $up['token'], 'tokenv' => $this->buildTokenVerify(), + // 生成新的接口令牌 + do $update = ['token' => md5(uniqid("{$mid}#", true) . rand(100, 999))]; + while ($this->app->db->name($this->table)->where($update)->count() > 0); + // 更新账号授权令牌 + $this->app->db->name($this->table)->where(['id' => $mid, 'deleted' => 0])->update([ + 'token' => $update['token'], 'tokenv' => $this->buildTokenVerify(), ]); - if ($count < 1) throw new \think\Exception('生成授权TOKEN失败'); - return $this->get($up['token'], $data); + // 获取新的会员数据 + return $this->get($update['token'], $data); } /** @@ -68,7 +72,7 @@ class MemberService extends Service public function total(int $mid): array { $query = $this->app->db->name($this->table); - return ['myinvited' => $query->where(['from' => $mid])->count()]; + return ['my_invite' => $query->where(['from' => $mid])->count()]; } /** diff --git a/app/data/service/NewsService.php b/app/data/service/NewsService.php index 279f113fa..b13590460 100644 --- a/app/data/service/NewsService.php +++ b/app/data/service/NewsService.php @@ -16,7 +16,7 @@ class NewsService extends Service * @param integer $cid 文章ID * @throws \think\db\exception\DbException */ - public function syncTotal($cid) + public function syncNewsTotal($cid) { $this->app->db->name('DataNewsItem')->where(['id' => $cid])->update([ 'num_like' => $this->app->db->name('DataNewsXLike')->where(['cid' => $cid])->count(),