Browse Source

Merge pull request #2044 from visuddhinanda/laravel

首页字典链接为 /dict/recent
visuddhinanda 2 years ago
parent
commit
73c6adcd06

+ 3 - 0
app/Http/Controllers/ArticleController.php

@@ -300,6 +300,9 @@ class ArticleController extends Controller
             $newArticle->uid = Str::uuid();
             $newArticle->title = mb_substr($request->get('title'),0,128,'UTF-8');
             $newArticle->lang = $request->get('lang');
+            if(!empty($request->get('status'))){
+                $newArticle->status = $request->get('status');
+            }
             $newArticle->owner = $studioUuid;
             $newArticle->owner_id = $user['user_id'];
             $newArticle->editor_id = $user['user_id'];

+ 8 - 1
app/Http/Controllers/PageIndexController.php

@@ -10,26 +10,32 @@ class PageIndexController extends Controller
         $nav = [
                 [
                     'title'=>'最新',
+                    'id'=>'new',
                     'link'=>config('mint.server.dashboard_base_path').'/community/list',
                 ],
                 [
                     'title'=>'圣典',
+                    'id'=>'pali',
                     'link'=>config('mint.server.dashboard_base_path').'/palicanon/list',
                 ],
                 [
                     'title'=>'课程',
+                    'id'=>'course',
                     'link'=>config('mint.server.dashboard_base_path').'/course/list',
                 ],
                 [
                     'title'=>'字典',
-                    'link'=>config('mint.server.dashboard_base_path').'/dict/list',
+                    'id'=>'dict',
+                    'link'=>config('mint.server.dashboard_base_path').'/dict/recent',
                 ],
                 [
                     'title'=>'文集',
+                    'id'=>'anthology',
                     'link'=>config('mint.server.dashboard_base_path').'/anthology/list',
                 ],
                 [
                     'title'=>'注册/登录',
+                    'id'=>'sign_in',
                     'link'=>config('mint.server.dashboard_base_path').'/anonymous/users/sign-in',
                 ],
             ];
@@ -86,6 +92,7 @@ class PageIndexController extends Controller
             'subtitle' => '巴利圣典翻译计划欢迎您的参与',
             'description' => '巴利语学习与翻译工具',
             'gallery' => $Gallery,
+            'api' => config('app.url').'/api/v2',
         ]);
     }
 

+ 7 - 2
app/Http/Controllers/UserDictController.php

@@ -25,7 +25,7 @@ class UserDictController extends Controller
         //
 		$result=false;
 		$indexCol = ['id','word','type','grammar',
-                     'mean','parent','note',
+                     'mean','parent','note','status',
                      'factors','confidence','dict_id',
                      'source','updated_at','creator_id'];
 		switch ($request->get('view')) {
@@ -64,6 +64,7 @@ class UserDictController extends Controller
             case 'community':
                 $table = UserDict::select($indexCol)
                                 ->where('word', $request->get("word"))
+                                ->where('status', '>',5)
                                 ->where(function($query) {
                                     $query->where('source', "_USER_WBW_")
                                             ->orWhere('source','_USER_DICT_');
@@ -167,7 +168,11 @@ class UserDictController extends Controller
                 $word["create_time"] = time()*1000;
                 $word["creator_id"]=$user["user_id"];
                 $id = UserDict::insert($word);
-                $updateOk = $this->update_sys_wbw($word);
+                if(isset($word["status"]) && $word["status"] > 5){
+                    $updateOk = $this->update_sys_wbw($word);
+                }else{
+                    $updateOk = true;
+                }
                 $this->update_redis($word);
                 $iOk++;
             }else{

+ 1 - 0
app/Http/Resources/UserDictResource.php

@@ -28,6 +28,7 @@ class UserDictResource extends JsonResource
          'note'=>$this->note,
          'factors'=>$this->factors,
          'source'=>$this->source,
+         'status'=>$this->status,
          'confidence'=>$this->confidence,
          'updated_at'=>$this->updated_at,
          'creator_id'=>$this->creator_id,

+ 46 - 3
resources/views/typhoon.blade.php

@@ -19,6 +19,9 @@
   --color-primary__lighter: #ffaca7;
   --color-primary__darker: #da0d00;
 }
+#sign_in {
+    display:none;
+}
 </style>
 <script src="/assets/typhoon/js/alpine.js" defer></script>
 </head>
@@ -35,7 +38,7 @@ notification
 <div class="flex items-center">
 <div class="flex items-center justify-between w-full md:w-auto">
 <a href="/pcd/community/list" aria-label="Logo" class="text-gray-200">
-<div class="site-logo h-8">
+<div class="site-logo h-8" style="display:flex;">
 
 <svg id="wikipali_banner" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 221 54.417">
   <g id="Group_12" data-name="Group 12" transform="translate(-396 -320)">
@@ -86,6 +89,7 @@ notification
   </g>
 </svg>
 
+<span  id='nickname'></span>
 </div>
 </a>
 </div>
@@ -93,7 +97,7 @@ notification
 <div class="hidden h-full md:flex md:flex-grow justify-end">
 <ul class="flex h-16 mr-8">
 @foreach ($nav as $item)
-<li class="flex ml-4 text-sm relative inline-flex items-center pt-1 border-b-2 font-medium leading-5 transition duration-150 ease-in-out  border-transparent text-gray-400 hover:text-primary hover:border-primary focus:outline-none focus:text-primary focus:border-gray-300  ">
+<li id="{{ $item['id'] }}" class="flex ml-4 text-sm relative inline-flex items-center pt-1 border-b-2 font-medium leading-5 transition duration-150 ease-in-out  border-transparent text-gray-400 hover:text-primary hover:border-primary focus:outline-none focus:text-primary focus:border-gray-300  ">
 <div class="flex w-full h-full">
 <a class="w-full flex items-center h-full px-3" href="{{ $item['link'] }}">{{ $item['title'] }}</a>
 </div>
@@ -104,8 +108,13 @@ notification
 <div class="flex w-full h-full">
 <a class="w-full flex items-center h-full px-3" href="#contact">联络我们</a>
 </div>
-
 </li>
+<li class="flex ml-4 text-sm relative inline-flex items-center pt-1 border-b-2 font-medium leading-5 transition duration-150 ease-in-out  border-transparent text-gray-400 hover:text-primary hover:border-primary focus:outline-none focus:text-primary focus:border-gray-300  ">
+<div class="flex w-full h-full">
+<span class="w-full flex items-center h-full px-3" id='nickname'> </span>
+</div>
+</li>
+
 </ul>
 </div>
 </nav>
@@ -813,5 +822,39 @@ window.GravForm = window.GravForm || {};
 <script>
 const lightbox = GLightbox({"selector":"[rel=\"lightbox\"], .glightbox","width":"90vw","height":"auto"});
 </script>
+
+<script>
+    let api = "{{ $api }}/auth/current";
+    const key = "token";
+    let token = sessionStorage.getItem(key);
+    if(token){
+        console.log('api',api);
+        const response = fetch(
+            api,
+            {
+                credentials: "include",
+                headers: {
+                    Authorization: 'Bearer ' + token,
+                    "Content-Type": "application/json; charset=utf-8",
+                    },
+                mode: "cors",
+                method: 'GET',
+            }
+        ).then((response) => response.json())
+        .then((json) => {
+            if(json.ok){
+                document.getElementById('nickname').innerHTML = 'Hi! ' + json.data.nickName;
+            }else{
+                document.getElementById("sign_in").style.display = "block";
+            }
+            console.log('user',json);
+        });
+    }else{
+        console.error('no token');
+        document.getElementById("sign_in").style.display = "block";
+
+    }
+</script>
+
 </body>
 </html>