Просмотр исходного кода

Merge pull request #1595 from visuddhinanda/laravel

redis 添加集群支持
visuddhinanda 2 лет назад
Родитель
Сommit
cb571cfbc2

+ 1 - 1
app/Console/Commands/TestMdRender.php

@@ -46,7 +46,7 @@ class TestMdRender extends Command
         md;
 
         $data['sentence'] = <<<md
-        {{140-535-2-2}}
+        {{168-916-2-9}}
         md;
 
         $data['link'] = <<<md

+ 24 - 0
app/Http/Api/TemplateRender.php

@@ -495,9 +495,33 @@ class TemplateRender{
                 break;
             case 'text':
                 $output = '';
+                if(isset($props['translation']) && is_array($props['translation'])){
+                    foreach ($props['translation'] as $key => $value) {
+                        $output .= MdRender::render($value['content'],
+                                    [$value['channel']['id']],
+                                    null,
+                                    'read',
+                                    $value['channel']['type'],
+                                    $value['contentType'],
+                                    'text'
+                                    );
+                    }
+                }
                 break;
             case 'tex':
                 $output = '';
+                if(isset($props['translation']) && is_array($props['translation'])){
+                    foreach ($props['translation'] as $key => $value) {
+                        $output .= MdRender::render($value['content'],
+                                    [$value['channel']['id']],
+                                    null,
+                                    'read',
+                                    $value['channel']['type'],
+                                    $value['contentType'],
+                                    'tex'
+                                    );
+                    }
+                }
                 break;
             default:
                 $output = '';

+ 73 - 0
app/Http/Controllers/HealthCheckController.php

@@ -0,0 +1,73 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class HealthCheckController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+        if(file_exists(base_path('.stop'))){
+            $status = 503;
+        }else{
+            $status = 200;
+        }
+        return response()->json(['createdAt' => now()],
+            $status,
+            ['Content-Type' => 'application/json;charset=UTF-8',
+            'Charset' => 'utf-8'],
+            JSON_UNESCAPED_UNICODE);
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 11 - 5
public/app/redis/function.php

@@ -3,17 +3,23 @@ require_once __DIR__."/../config.php";
 function redis_connect()
 {
 	try {
-		//code...
-		$redis = new redis();
-		$r_conn = $redis->connect(Redis["host"], Redis["port"]);
+        $server = $_SERVER['SERVER_NAME'];
+        if(strpos($server,'wikipali') === false){
+            //local dev
+            $redis = new redis();
+            $r_conn = $redis->connect(Redis["host"], Redis["port"]);
+        }else{
+            $redis = new RedisCluster(NULL,Array(Redis["host"].':'.Redis["port"]));
+            $r_conn = true;
+        }
 		if ($r_conn) {
 			if(Redis["password"] !== ""){
 				$redis->auth(Redis["password"]);
-			}		
+			}
 			return $redis;
 		} else {
 			return false;
-		}		
+		}
 	} catch (\Throwable $th) {
 		//throw $th;
 		return false;

+ 0 - 7
public/dicttext/rich/rich.json

@@ -47,12 +47,5 @@
 		"table": "uhan",
 		"keycol": "1",
 		"csv": ["uhan.csv"]
-	},
-	{
-		"rediskey": "dict://uhausein",
-		"database": "",
-		"table": "uhausein",
-		"keycol": "1",
-		"csv": ["u_hau_sein.csv"]
 	}
 ]

+ 2 - 0
routes/api.php

@@ -66,6 +66,7 @@ use App\Http\Controllers\WebHookController;
 use App\Http\Controllers\DictStatisticController;
 use App\Http\Controllers\SearchTitleController;
 use App\Http\Controllers\TransferController;
+use App\Http\Controllers\HealthCheckController;
 
 /*
 |--------------------------------------------------------------------------
@@ -184,6 +185,7 @@ Route::group(['prefix' => 'v2'],function(){
     Route::apiResource('dict-statistic',DictStatisticController::class);
     Route::apiResource('search-title-index',SearchTitleController::class);
     Route::apiResource('transfer',TransferController::class);
+    Route::apiResource('health-check',HealthCheckController::class);
 
     Route::get('download/{type1}/{type2}/{uuid}/{filename}', function ($type1,$type2,$uuid,$filename) {
         header("Content-Type: {$type1}/{$type1}");