Browse Source

发现页面接口

zhaoxinrui 6 years ago
parent
commit
ebdad63186

+ 31 - 0
app/Api/V1/Controllers/FindsController.php

@@ -0,0 +1,31 @@
1
+<?php
2
+/**
3
+ * Created by PhpStorm.
4
+ * User: xinrui
5
+ * Date: 2018/4/4
6
+ * Time: 下午1:38
7
+ */
8
+namespace App\Api\V1\Controllers;
9
+
10
+use App\Models\VestPublish;
11
+use Illuminate\Http\Request;
12
+use Solr;
13
+
14
+class FindsController extends BaseController
15
+{
16
+    //发现页面
17
+    public function getFinds(Request $request)
18
+    {
19
+        $publish_info=VestPublish::getFindsInfo();
20
+        if (empty($publish_info)){
21
+            return $this->response->array(self::returnValue([], 1010));
22
+        }
23
+        //分页
24
+        $page=$request->has('page')?$request->input('page'):1;
25
+        //$page=2;//测试数据
26
+        $pageSize=2;
27
+        $totalNum=count($publish_info);
28
+        $pageInfo=$this->_PAGE($totalNum,$page,$pageSize);
29
+        return $this->response->array(self::returnValue(['data'=>$publish_info,'pageInfo'=>$pageInfo], 200));
30
+    }
31
+}

+ 1 - 0
app/Error.php

@@ -29,6 +29,7 @@ class Error
29 29
         '1007' => 'menu_id无效',
30 30
         '1008' => '非法请求',
31 31
         '1009' => '反馈信息不能为空',
32
+        '1010' => '请求成功,但返回内容为空',
32 33
     ];
33 34
     /**
34 35
      * 返回错误码

+ 89 - 0
app/Models/VestPublish.php

@@ -0,0 +1,89 @@
1
+<?php
2
+
3
+namespace App\Models;
4
+
5
+use App\Models\Record;
6
+use Illuminate\Database\Eloquent\Model;
7
+use Illuminate\Support\Facades\DB;
8
+
9
+class VestPublish extends Model
10
+{
11
+    protected $table   = 'vest_publish';
12
+    public $timestamps = false;
13
+    public static function getFindsInfo()
14
+    {
15
+        $publish_info=DB::table('vest_publish')->where('status',1)->get();
16
+        if (empty($publish_info)){
17
+            return [];
18
+        }
19
+        $publish_info=json_decode($publish_info,true);
20
+        if (count($publish_info)==1){
21
+            //判断是图集还是视频
22
+            if ($publish_info[0]['img_or_video']==2){
23
+                //视频个数
24
+                $publish_info[0]['counts']=1;
25
+                //$publish_infos[]=$publish_info[0];
26
+            }else{
27
+                if (!empty($publish_info[0]['publish_info'])){
28
+                    $allimgs=unserialize($publish_info[0]['publish_info']);
29
+                    if (count($allimgs)==1){
30
+                        $http=config('constants.HOST_URL');
31
+                        unset($publish_info[0]['publish_info']);
32
+                        $publish_info[0]['publish_info'][]=$http.$allimgs[0];
33
+                        //图集个数
34
+                        $publish_info[0]['counts']=1;
35
+                        //$publish_infos[]=$publish_info[0];
36
+                    }else{
37
+                        unset($publish_info[0]['publish_info']);
38
+                        $publish_info[0]['publish_info']=self::add_http($allimgs);
39
+                        //图集个数
40
+                        $publish_info[0]['counts']=count($publish_info[0]['publish_info']);
41
+                        //$publish_infos[]=$publish_info[0];
42
+                    }
43
+                }
44
+            }
45
+            //dd($publish_info);
46
+        }else{
47
+            foreach ($publish_info as $key=>$info){
48
+                //判断是图集还是视频
49
+                if ($info['img_or_video']==2){
50
+                    //视频个数
51
+                    $info['counts']=1;
52
+                    $publish_info[$key]=$info;
53
+                }else{
54
+                    if (!empty($info['publish_info'])){
55
+                        $allimgs=unserialize($info['publish_info']);
56
+                        if (count($allimgs)==1){
57
+                            $http=config('constants.HOST_URL');
58
+                            unset($info['publish_info']);
59
+                            //dd($info);
60
+                            $info['publish_info'][]=$http.$allimgs[0];
61
+                            //图集个数
62
+                            $info['counts']=1;
63
+                            $publish_info[$key]=$info;
64
+                        }else{
65
+                            unset($info['publish_info']);
66
+                            $info['publish_info']=self::add_http($allimgs);
67
+                            //图集个数
68
+                            $info['counts']=count($info['publish_info']);
69
+                            $publish_info[$key]=$info;
70
+                        }
71
+                    }
72
+                }
73
+            }
74
+        }
75
+
76
+        return $publish_info;
77
+    }
78
+    /*
79
+     * 拼接地址
80
+     * */
81
+    public static function add_http($array){
82
+        $http=config('constants.HOST_URL');
83
+        $count = count($array);
84
+        for($i=0;$i<$count;$i++){
85
+            $array[$i] = $http. $array[$i];
86
+        }
87
+        return $array;
88
+    }
89
+}

+ 1 - 0
app/check/check.php

@@ -59,6 +59,7 @@ function versionCompare($version1, $operator, $version2)
59 59
     return version_compare((string) $_fv, (string) $_sv, $operator);
60 60
 }
61 61
 $url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : null;
62
+//todo  sign验证
62 63
 if (!validSign()) {
63 64
     $data              = [];
64 65
     $data['rst']       = ["data" => "illegal request"];

+ 2 - 1
config/constants.php

@@ -1,6 +1,7 @@
1 1
 <?php
2 2
 
3 3
 return [
4
-   'HOST_URL' => 'http://182.92.118.1:3320',
4
+   //'HOST_URL' => 'http://182.92.118.1:3320',//测试环境
5
+    'HOST_URL' => 'http://www.menu.dev',//本地
5 6
    'SMS_SECRET_KEY' => 'cNHWj7pqBSXTi2DS4uvxqMTzuXOk5xvL',
6 7
 ];

+ 3 - 0
routes/api.php

@@ -30,4 +30,7 @@ $api->version('v1', ['namespace' => 'App\Api\V1\Controllers'], function ($api) {
30 30
     $api->post('features/feedBack', 'FeaturesController@feedBack');
31 31
     //收藏
32 32
     $api->post('features/addCollection', 'FeaturesController@addCollection');
33
+
34
+    //发现页面
35
+    $api->post('finds/getFinds', 'FindsController@getFinds');
33 36
 });