Silent 6 lat temu
rodzic
commit
0993ce26fd

+ 11 - 2
app/Http/Controllers/WeChat/ApiController.php

@@ -134,8 +134,17 @@ class ApiController extends Controller
 
 
         $image_url = url($share_image->value);
         $image_url = url($share_image->value);
         $image = Image::make($image_url);
         $image = Image::make($image_url);
-        $items = CheckCard::where('student_id', $student->id)->whereNotNull('begin_date_time')->whereNotNull('end_date_time')->get();
+        $items = $student->getCheckCardDates();
+        $share_text =Setting::where('key', 'share_text')->first();
+        if(empty($share_text) || empty($share_text->value)) {
+            return response()->json(['status' => 'fail', 'info' => '找不到分享的文字!']);
+        }
+        $text = str_replace_array('{days}', [$items->count() + 1], $share_text->value);
+        $share_text_pos = $this->model->where('key', 'share_text_pos')->first();
+        if(empty($share_text_pos) || empty($share_text_pos->value) || count($pos = explode(',', $share_text_pos->value)) < 2) {
+            return response()->json(['status' => 'fail', 'info' => '分享文字位置错误或未设置!']);
+        }
 
 
-        return response()->json(['status' => 'success', 'width' => $image->width(), 'height' => $image->height()]);
+        return response()->json(['status' => 'success', 'width' => $image->width(), 'height' => $image->height(), 'showImage' => $image_url, 'showText' => $text, 'showTextPos' => $share_text_pos->value]);
     }
     }
 }
 }

+ 7 - 0
app/Models/Student.php

@@ -39,4 +39,11 @@ class Student extends Model
     {
     {
         return $this->belongsTo('App\Models\Course');
         return $this->belongsTo('App\Models\Course');
     }
     }
+
+    public function getCheckCardDates()
+    {
+        return CheckCard::where('student_id', $this['id'])->whereNotNull('begin_date_time')->whereNotNull('end_date_time')->get()->pluck('begin_date_time')->map(function ($item) {
+            return substr($item, 0, 10);
+        })->unique();
+    }
 }
 }

+ 14 - 4
wechat/pages/index/index.js

@@ -15,7 +15,10 @@ Page({
     startTime: null,        //开始时间
     startTime: null,        //开始时间
     clock: '00:00:00',      //计时
     clock: '00:00:00',      //计时
     shareCanvasWidth: 200,
     shareCanvasWidth: 200,
-    shareCanvasHeight: 280
+    shareCanvasHeight: 280,
+    shareImage: '',
+    shareText: '',
+    shareTextPos: ''
   },
   },
   onLoad: function () {
   onLoad: function () {
     wx.getSystemInfo({
     wx.getSystemInfo({
@@ -28,22 +31,29 @@ Page({
         })
         })
       }
       }
     })
     })
+    var pt_student = wx.getStorageSync('pt_student')
 
 
     wx.request({
     wx.request({
-      url: api.getShareImageSizeUrl,
+      url: api.getShareInfoUrl,
       method: 'GET',
       method: 'GET',
+      data: {
+        'student_id': pt_student.id
+      },
       success: res => {
       success: res => {
         if(res.data.status == 'success') {
         if(res.data.status == 'success') {
           console.log(res)
           console.log(res)
           this.setData({
           this.setData({
             shareCanvasWidth: res.data.width,
             shareCanvasWidth: res.data.width,
-            shareCanvasHeight: res.data.height
+            shareCanvasHeight: res.data.height,
+            shareImage: res.data.shareImage,
+            shareText: res.data.shareText,
+            shareTextPos: res.data.shareTextPos
           })
           })
         }
         }
       }
       }
     })
     })
 
 
-    var pt_student = wx.getStorageSync('pt_student')
+    
     
     
     if (!pt_student) {
     if (!pt_student) {
       wx.redirectTo({
       wx.redirectTo({

+ 1 - 1
wechat/utils/api.js

@@ -7,5 +7,5 @@ module.exports = {
   checkPositionUrl: headUrl + 'checkPosition',
   checkPositionUrl: headUrl + 'checkPosition',
   startCheckCardUrl: headUrl + 'startCheckCard',
   startCheckCardUrl: headUrl + 'startCheckCard',
   endCheckCardUrl: headUrl + 'endCheckCard',
   endCheckCardUrl: headUrl + 'endCheckCard',
-  getShareImageSizeUrl: headUrl + 'getShareImageSize',
+  getShareInfoUrl: headUrl + 'getShareInfo',
 }
 }