visuddhinanda@gmail.com пре 4 година
родитељ
комит
d638323e85
1 измењених фајлова са 79 додато и 10 уклоњено
  1. 79 10
      app/Http/Controllers/SentenceInfoController.php

+ 79 - 10
app/Http/Controllers/SentenceInfoController.php

@@ -41,6 +41,7 @@ class SentenceInfoController extends Controller
     }
 
     /**
+    * 输出一张图片显示进度
      * Display the specified resource.
      *
      * @param  \App\Models\Sentence  $sentence
@@ -55,21 +56,64 @@ class SentenceInfoController extends Controller
         $from = $request->get('from');
         $to = $request->get('to');
 
+        #默认完成度显示字符数
+        # strlen 
+        # page
+        # percent 
+        $view = 'strlen';
+        if(!empty($request->get('view'))){
+            $view =$request->get('view');
+        }
+        if(!empty($request->get('type'))){
+            $view =$request->get('type');
+        }
+        #一页书中的字符数
+        $pageStrLen = 2000;
+        if(!empty($request->get('strlen'))){
+            $pageStrLen =$request->get('strlen');
+        }
+        if(!empty($request->get('pagelen'))){
+            $pageStrLen =$request->get('pagelen');
+        }
+
+        # 页数
+        $pageNumber = 300;
+        if(!empty($request->get('pages'))){
+            $pageNumber =$request->get('pages');
+        }
+
         $strlen = Sentence::where('channel_uid',$request->get('channel'))
                 ->where('book_id','>=',$request->get('book'))
                 ->where('paragraph','>=',$request->get('from'))
                 ->where('paragraph','<=',$request->get('to'))
                 ->sum('strlen');
-        if($request->get('type')==='page'){
-            if(empty($request->get('strlen'))){
-                $pageStrLen = 500;
-            }else{
-                $pageStrLen = $request->get('strlen');
-            }
-            $resulte = $strlen / $pageStrLen;
-        }else{
-            $resulte = $strlen;
+        $percent = 0;
+        if(($view==='page' && !empty($request->get('pages'))) || $view==='percent' ){
+            #计算完成的句子在巴利语句子表中的字符串长度百分比
+            
         }
+        switch ($view) {
+            case 'page':
+                # 输出已经完成的页数
+                if(!empty($request->get('pages'))){
+                    #给了页码,用百分比计算
+                    $resulte = $percent * $request->get('pages');
+                }else{
+                    #没给页码,用每页字符数计算
+                    $resulte = $strlen / $pageStrLen;
+                }
+                break;
+            case 'percent':
+                $resulte = $percent;
+                break;
+            case 'strlen':
+            default:
+                # code...
+                $resulte = $strlen;
+                break;
+        }
+        #保留小数点后两位
+        $resulte = sprintf('0.2f',$resulte);
 
         $img = imagecreate(strlen($resulte)*10,22) or die('create image fail ');
         imagecolorallocate($img,255,255,255);
@@ -95,7 +139,32 @@ class SentenceInfoController extends Controller
         $maxPage = 20;
         $yLineSpace = 5;
 
-        $pageStrLen = 500;
+        #默认完成度显示字符数
+        # strlen 
+        # page
+        # percent 
+        $view = 'strlen';
+        if(!empty($request->get('view'))){
+            $view =$request->get('view');
+        }
+        if(!empty($request->get('type'))){
+            $view =$request->get('type');
+        }
+        #一页书中的字符数 以unicode 长度计算 默认2000
+        $pageStrLen = 2000;
+        if(!empty($request->get('strlen'))){
+            $pageStrLen =$request->get('strlen');
+        }
+        if(!empty($request->get('pagelen'))){
+            $pageStrLen =$request->get('pagelen');
+        }
+
+        # 页数
+        $pageNumber = 300;
+        if(!empty($request->get('pages'))){
+            $pageNumber =$request->get('pages');
+        }
+
 
         $pagePix = ($imgHeight-$xAxisOffset)/$maxPage;
         $dayPix = ($imgWidth-$yAxisOffset)/$maxDay;