Browse Source

Weenier utc项目部署 0627

wesmiler 3 năm trước cách đây
mục cha
commit
50b064914c

+ 1 - 1
app/Helpers/common.php

@@ -706,7 +706,7 @@ if (!function_exists('get_image_url')) {
      */
      */
     function get_image_url($image_url)
     function get_image_url($image_url)
     {
     {
-        return IMG_URL . $image_url;
+        return strpos($image_url,'http') === false? env('IMG_URL') . $image_url : $image_url;
     }
     }
 }
 }
 
 

+ 49 - 0
app/Http/Controllers/Api/IndexController.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use App\Helpers\Jwt;
+use App\Http\Validator\MemberValidator;
+use App\Services\Api\AdService;
+use App\Services\Api\MemberService;
+use App\Services\EmailService;
+use App\Services\RedisService;
+use App\Services\SmsService;
+
+/**
+ * 会员控制器基类
+ * Class IndexController
+ * @package App\Http\Controllers
+ */
+class IndexController extends webApp
+{
+    /**
+     * IndexController constructor.
+     */
+    public function __construct()
+    {
+
+    }
+
+    /**
+     * 首页数据
+     * @return array
+     */
+    public function index(int $userId=0)
+    {
+        // 广告幻灯片
+        $banners = [
+            'top'=> AdService::make()->getList(1, 6),
+            'middle'=> AdService::make()->getList(2, 1),
+        ];
+        // 交易参数
+        $trade = [
+            'price'=> rand(5, 10)+(rand(10,50)/100),
+            'total'=> rand(100000,999999)+(rand(10,50)/100),
+            'count'=> rand(1000,9999),
+            'rate'=> rand(10,90)+(rand(10,50)/100),
+        ];
+        $notices = [];
+        return message(1010, true,  compact('banners','trade','notices'));
+    }
+}

+ 30 - 0
app/Http/Controllers/Api/MemberController.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use App\Helpers\Jwt;
+use App\Http\Validator\MemberValidator;
+use App\Services\Api\MemberService;
+use App\Services\EmailService;
+use App\Services\RedisService;
+use App\Services\SmsService;
+
+/**
+ * 会员控制器基类
+ * Class MemberController
+ * @package App\Http\Controllers
+ */
+class MemberController extends webApp
+{
+
+    /**
+     * 用户详情
+     * @return array
+     */
+    public function info(int $userId=0)
+    {
+        $this->userId = $userId? $userId : $this->userId;
+        $userInfo = MemberService::make()->getInfo($this->userId);
+        return message(1010, true,  $userInfo);
+    }
+}

+ 2 - 0
app/Http/Controllers/Api/webApp.php

@@ -45,6 +45,8 @@ class webApp extends BaseController
      */
      */
     public function __construct()
     public function __construct()
     {
     {
+        parent::__construct();
+
         // 初始化分页参数
         // 初始化分页参数
         $this->initConfig();
         $this->initConfig();
 
 

+ 33 - 18
app/Services/Api/AdService.php

@@ -13,6 +13,7 @@ namespace App\Services\Api;
 
 
 use App\Models\AdModel;
 use App\Models\AdModel;
 use App\Services\BaseService;
 use App\Services\BaseService;
+use App\Services\RedisService;
 
 
 /**
 /**
  * 广告管理-服务类
  * 广告管理-服务类
@@ -31,28 +32,42 @@ class AdService extends BaseService
     }
     }
 
 
     /**
     /**
-     * 添加或编辑
-     * @return array
+     * 静态入口
+     * @return AdService|null
      */
      */
-    public function edit()
+    public static function make()
     {
     {
-        $data = request()->all();
-        // 图片处理
-        $cover = trim($data['cover']);
-        if (strpos($cover, "temp")) {
-            $data['cover'] = save_image($cover, 'ad');
-        } else {
-            $data['cover'] = str_replace(IMG_URL, "", $data['cover']);
-        }
-        // 开始时间
-        if ($data['start_time']) {
-            $data['start_time'] = strtotime($data['start_time']);
+        return parent::make(); // TODO: Change the autogenerated stub
+    }
+
+    /**
+     * 获取广告列表
+     * @param int $position 广告位置:1-首页
+     * @param int $listRows 返回数量
+     * @return array|false|mixed
+     */
+    public function getList($position=1, $listRows = 6)
+    {
+        $cacheKey = "caches:adverts:index_{$position}_{$listRows}";
+        if($list = RedisService::get($cacheKey)){
+            return $list;
         }
         }
-        // 结束时间
-        if ($data['end_time']) {
-            $data['end_time'] = strtotime($data['end_time']);
+
+        $list = $this->model->where(['position'=> $position,'mark'=>1,'status'=>1])
+            ->select(['id','title','cover as image','type'])
+            ->orderBy('sort','desc')
+            ->limit($listRows)
+            ->get()
+            ->each(function($item, $k){
+                $item['image'] = $item['image']? get_image_url($item['image'])  : '';
+            });
+
+        $list = $list? $list->toArray() : [];
+        if($list){
+            RedisService::set($cacheKey, $list, rand(10, 30));
         }
         }
-        return parent::edit($data); // TODO: Change the autogenerated stub
+
+        return $list;
     }
     }
 
 
 }
 }

+ 16 - 0
app/Services/Api/MemberService.php

@@ -50,6 +50,22 @@ class MemberService extends BaseService
     }
     }
 
 
     /**
     /**
+     * 获取资料详情
+     * @param $where
+     * @param array $field
+     */
+    public function getInfo($where, array $field=[])
+    {
+        if(is_array($where)){
+            $info = $this->model->where($where)->select($field)->first();
+        }else{
+            $info = $this->model->getInfo((int)$where);
+        }
+
+        return $info;
+    }
+
+    /**
      * 用户注册
      * 用户注册
      * @param $params
      * @param $params
      * @return bool
      * @return bool

+ 13 - 0
app/Services/BaseService.php

@@ -26,8 +26,21 @@ class BaseService
     protected $validate;
     protected $validate;
     // 错误信息
     // 错误信息
     protected $error = '1003';
     protected $error = '1003';
+    // 静态对象
+    protected static $instance = null;
 
 
     /**
     /**
+     * 静态入口
+     * @return static|null
+     */
+    public static function make()
+    {
+        if(!self::$instance){
+            self::$instance = (new static());
+        }
+        return self::$instance;
+    }
+    /**
      * 获得错误信息
      * 获得错误信息
      * @return string
      * @return string
      */
      */