Production.php
8.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<?php
namespace app\api\controller;
/**
* 作品相关
* @package app\api\controller
*/
class Production extends BaseApi
{
protected $noNeedLogin = '';
protected $noNeedRight = '*';
/**
* 获取作品朝代
*/
public function getDynasty(){
$dynasty = model('production_dynasty')->order('weigh','desc')->field('id,name,createtime')->select();
$this->success('查询成功',$dynasty);
}
/**
* 获取作品格式
*/
public function getFormat(){
$forma = model('production_tforma')->order('weigh','desc')->field('id,name,createtime')->select();
$this->success('查询成功',$forma);
}
/**
* 获取作品字体
*/
public function getTypeface(){
$typeface = model('production_typeface')->order('weigh','desc')->field('id,name,createtime')->select();
$this->success('查询成功',$typeface);
}
/**
* 增加作品
* @ApiTitle (增加作品)
* @ApiMethod (POST)
* @ApiRoute (/api/production/addProduction)
* @ApiParams (name="title", type="string", required=true, description="作品标题")
* @ApiParams (name="content", type="string", required=true, description="内容")
* @ApiParams (name="images", type="string", required=true, description="图片数组(不带域名)")
* @ApiParams (name="typeface_id", type="integer", required=true, description="字体ID")
* @ApiParams (name="dynasty_id", type="integer", required=true, description="朝代ID")
* @ApiParams (name="format_id", type="integer", required=true, description="格式ID")
* @ApiParams (name="width", type="integer", required=true, description="宽度")
* @ApiParams (name="height", type="integer", required=true, description="高度")
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
* @ApiReturnParams (name="data", type="object", description="扩展数据返回")
* @ApiReturn ({
"code": 1,
"msg": "增加作品成功",
"time": "1609213602",
"data": {
"title": "作品标题",
"content": "作品内容",
"images": "作品图片",
"typeface_id": "字体ID",
"dynasty_id": "朝代ID",
"format_id": "格式ID",
"width": "宽度",
"height": "高度",
"typeface": "字体",
"dynasty": "朝代",
"format": "格式",
"user_id": "用户ID",
"avatar": "头像",
"nickname": "署名",
"fenxiang_num": "分享数量",
"zan_num": "点赞数量",
"ping_num": "点赞数量",
"price_num": "打赏总数",
"shoucang_num": "收藏数量",
"createtime": "2020-12-29 11:46:43",
"updatetime": "2020-12-29 11:46:43",
"id": "2"
}
})
*/
public function addProduction(){
//1.验证用户权限
if ($this->auth->authlist == '' || $this->auth->authlist == ','){
$this->error('请您先实名认证');
}
//2.获取数据
$data = $this->get_data_array([
['title','作品标题不能为空'],
['content','内容不存在'],
['images','图片必须上传'],
['typeface_id','字体ID必须传入'],
['dynasty_id','朝代ID必须传入'],
['format_id','格式ID必须传入'],
['width','宽度'],
['height','高度'],
]);
//3.获取图片数据
$files = str_replace('"','"',$data['images']);
$images = implode(',',json_decode($files,true));
//4.查询数据
$typeface = model('production_typeface')->where('id',$data['typeface_id'])->find();
$dynasty = model('production_dynasty')->where('id',$data['dynasty_id'])->find();
$format = model('production_format')->where('id',$data['format_id'])->find();
if (!$typeface || !$dynasty || !$format){
$this->error('数据不存在');
}
$data['typeface'] = $typeface['name'];
$data['dynasty'] = $dynasty['name'];
$data['format'] = $format['name'];
$data['user_id'] = $this->auth->id;
$data['avatar'] = $this->auth->avatar;
$data['nickname'] = $this->auth->nickname;
$data['images'] = $images;
//5.增加作品
$production = model('production')->create($data);
//6.查询数据
$production = model('production')->where('id',$production['id'])->find();
//7.返回结果
$this->success('增加作品成功',$production);
}
/**
* 增加作品列表
* @ApiTitle (获取首页动态)
* @ApiMethod (POST)
* @ApiRoute (/api/production/articleList)
* @ApiParams (name="page", type="integer", required=true, description="分页次数")
* @ApiParams (name="num", type="integer", required=true, description="分页数量")
* @ApiParams (name="status", type="integer", required=true, description="1=最热,2=最新作品,3=书体筛选")
* @ApiParams (name="production_typeface_id", type="integer", required=true, description="1=最热,2=最新作品,3=书体筛选")
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
* @ApiReturnParams (name="data", type="object", description="扩展数据返回")
* @ApiReturn ({
"code": 1,
"msg": "增加作品成功",
"time": "1609213602",
"data": {
"title": "作品标题",
"content": "作品内容",
"images": "作品图片",
"typeface_id": "字体ID",
"dynasty_id": "朝代ID",
"format_id": "格式ID",
"width": "宽度",
"height": "高度",
"typeface": "字体",
"dynasty": "朝代",
"format": "格式",
"user_id": "用户ID",
"avatar": "头像",
"nickname": "署名",
"fenxiang_num": "分享数量",
"zan_num": "点赞数量",
"ping_num": "点赞数量",
"price_num": "打赏总数",
"shoucang_num": "收藏数量",
"createtime": "2020-12-29 11:46:43",
"updatetime": "2020-12-29 11:46:43",
"id": "2"
}
})
*/
public function ProductionList(){
//1.获取数据
$data = $this->get_data_array([
['page','分页次数不能为空'],
['num','分页数量不能为空'],
['status','状态必须填写'],
]);
//2.获取列表数据
if ($data['status'] == 1){
//最热
$Pro_list = model('production')
->where('deletetime',null)
->with(['user'])
->order('zan_num','desc')
->page($data['page'],$data['num'])
->select();
}else if ($data['status'] == 2){
//最新作品
$Pro_list = model('production')
->where('deletetime',null)
->with(['user'])
->order('createtime','desc')
->page($data['page'],$data['num'])
->select();
}else if ($data['status'] == 2){
$typeface_id = $this->get_data('typeface_id','字体ID不能为空');
//最新作品
$Pro_list = model('production')
->where('deletetime',null)
->with(['user'])
->where('typeface_id',$typeface_id)
->page($data['page'],$data['num'])
->select();
}
//3.判断是不是好友
$user_id = $this->auth->id;
if (!empty($Pro_list)){
foreach ($Pro_list as $key => $val){
//1.查询关注和被关注
$attention = model('production_zan')->where('','')->where('','')->count();
if ($attention == 2){
$art_list[$key]['is_friend'] = 1;
}else{
$art_list[$key]['is_friend'] = 1;
}
}
}
$this->success('查询数据成功',$art_list);
}
}