From b76de9a566e4435146a970aa22333a58f87b485b Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期四, 11 六月 2026 09:52:54 +0800
Subject: [PATCH] 青岛维护

---
 pages.json |  866 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 471 insertions(+), 395 deletions(-)

diff --git a/pages.json b/pages.json
index a203f37..e9a9d34 100644
--- a/pages.json
+++ b/pages.json
@@ -8,12 +8,6 @@
       }
     },
     {
-      "path": "pages/appointment/index",
-      "style": {
-        "navigationBarTitleText": "棰勭害鎸傚彿"
-      }
-    },
-    {
       "path": "pages/login/Login",
       "style": {
         "navigationBarTitleText": "鐧诲綍",
@@ -32,384 +26,483 @@
       "style": {
         "navigationBarTitleText": "涓汉涓績"
       }
-    },
-    {
-      "path": "pages/vaccine/index",
-      "style": {
-        "navigationBarTitleText": "鐤嫍鎺ョ"
-      }
-    },
-    {
-      "path": "pages/vaccine/book",
-      "style": {
-        "navigationBarTitleText": "鐤嫍棰勭害"
-      }
-    },
-    {
-      "path": "pages/appointment/doctor",
-      "style": {
-        "navigationBarTitleText": "閫夋嫨鍖荤敓"
-      }
-    },
-    {
-      "path": "pages/appointment/schedule",
-      "style": {
-        "navigationBarTitleText": "閫夋嫨鏃堕棿"
-      }
-    },
-    {
-      "path": "pages/appointment/record",
-      "style": {
-        "navigationBarTitleText": "棰勭害璁板綍"
-      }
-    },
-    {
-      "path": "pages/payment/index",
-      "style": {
-        "navigationBarTitleText": "鏀粯"
-      }
-    },
-    {
-      "path": "pages/department/index",
-      "style": {
-        "navigationBarTitleText": "閫夋嫨绉戝"
-      }
-    },
-    {
-      "path": "pages/department/guide",
-      "style": {
-        "navigationBarTitleText": "绉戝瀵艰埅"
-      }
-    },
-    {
-      "path": "pages/department/list",
-      "style": {
-        "navigationBarTitleText": "绉戝鍒楄〃"
-      }
-    },
-    {
-      "path": "pages/department/detail",
-      "style": {
-        "navigationBarTitleText": "绉戝璇︽儏"
-      }
-    },
-    {
-      "path": "pages/department/search",
-      "style": {
-        "navigationBarTitleText": "鎼滅储缁撴灉"
-      }
-    },
-    {
-      "path": "pages/hospital/detail",
-      "style": {
-        "navigationBarTitleText": "鍖婚櫌璇︽儏"
-      }
-    },
-    {
-      "path": "pages/records/medical",
-      "style": {
-        "navigationBarTitleText": "灏卞尰璁板綍"
-      }
-    },
-    {
-      "path": "pages/records/detail",
-      "style": {
-        "navigationBarTitleText": "灏卞尰璇︽儏"
-      }
-    },
-    {
-      "path": "pages/records/report",
-      "style": {
-        "navigationBarTitleText": "妫�鏌ユ姤鍛�"
-      }
-    },
-    {
-      "path": "pages/my/cases",
-      "style": {
-        "navigationBarTitleText": "涓汉鐥呬緥"
-      }
-    },
-    {
-      "path": "pages/my/case-detail",
-      "style": {
-        "navigationBarTitleText": "鐥呬緥璇︽儏"
-      }
-    },
-    {
-      "path": "pages/records/reports",
-      "style": {
-        "navigationBarTitleText": "妫�鏌ユ姤鍛婂垪琛�"
-      }
-    },
-    {
-      "path": "pages/records/report-detail",
-      "style": {
-        "navigationBarTitleText": "妫�鏌ユ姤鍛婅鎯�"
-      }
-    },
-    {
-      "path": "pages/appointment/patient",
-      "style": {
-        "navigationBarTitleText": "閫夋嫨灏辫瘖浜�"
-      }
-    },
-    {
-      "path": "pages/appointment/confirm",
-      "style": {
-        "navigationBarTitleText": "纭棰勭害"
-      }
-    },
-    {
-      "path": "pages/vaccine/list",
-      "style": {
-        "navigationBarTitleText": "鐤嫍鍒楄〃"
-      }
-    },
-    {
-      "path": "pages/vaccine/detail",
-      "style": {
-        "navigationBarTitleText": "鐤嫍璇︽儏"
-      }
-    },
-    {
-      "path": "pages/vaccine/record",
-      "style": {
-        "navigationBarTitleText": "鎺ョ璁板綍"
-      }
-    },
-    {
-      "path": "pages/case/index",
-      "style": {
-        "navigationBarTitleText": "鎴戠殑涓婃姤"
-       
-      }
-    },
-    {
-      "path": "pages/case/CaseDetails",
-      "style": {
-        "navigationBarTitleText": "涓婃姤妗堜緥"
-      }
-    },
-	 {
-      "path": "pages/case/CaseInfo",
-      "style": {
-        "navigationBarTitleText": "妗堜緥璇︽儏"
-      }
-    },
-    {
-      "path": "pages/case/transfer",
-      "style": {
-        "navigationBarTitleText": "杞繍鐧昏"
-       
-      }
-    },
-	 {
-      "path": "pages/case/transferinfo",
-      "style": {
-        "navigationBarTitleText": "鐧昏鍗曡鎯�"
-      }
-    },
-    {
-      "path": "pages/payment/record",
-      "style": {
-        "navigationBarTitleText": "缂磋垂璁板綍"
-      }
-    },
-    {
-      "path": "pages/payment/detail",
-      "style": {
-        "navigationBarTitleText": "缂磋垂璇︽儏"
-      }
-    },
-    {
-      "path": "pages/payment/result",
-      "style": {
-        "navigationBarTitleText": "鏀粯缁撴灉"
-      }
-    },
-    {
-      "path": "pages/payment/refund",
-      "style": {
-        "navigationBarTitleText": "鐢宠閫�娆�"
-      }
-    },
-    {
-      "path": "pages/payment/invoice",
-      "style": {
-        "navigationBarTitleText": "鐢靛瓙鍙戠エ"
-      }
-    },
-    {
-      "path": "pages/patient/list",
-      "style": {
-        "navigationBarTitleText": "灏辫瘖浜虹鐞�"
-      }
-    },
-    {
-      "path": "pages/patient/add",
-      "style": {
-        "navigationBarTitleText": "娣诲姞灏辫瘖浜�"
-      }
-    },
-    {
-      "path": "pages/patient/edit",
-      "style": {
-        "navigationBarTitleText": "缂栬緫灏辫瘖浜�"
-      }
-    },
-    {
-      "path": "pages/my/payment-method",
-      "style": {
-        "navigationBarTitleText": "鏀粯鏂瑰紡"
-      }
-    },
-    {
-      "path": "pages/my/add-bank-card",
-      "style": {
-        "navigationBarTitleText": "娣诲姞閾惰鍗�"
-      }
-    },
-    {
-      "path": "pages/my/notification",
-      "style": {
-        "navigationBarTitleText": "娑堟伅閫氱煡"
-      }
-    },
-    {
-      "path": "pages/search/index",
-      "style": {
-        "navigationBarTitleText": "鎼滅储",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/doctor/detail",
-      "style": {
-        "navigationBarTitleText": "鍖荤敓璇︽儏"
-      }
-    },
-    {
-      "path": "pages/disease/detail",
-      "style": {
-        "navigationBarTitleText": "鐤剧梾璇︽儏"
-      }
-    },
-    {
-      "path": "pages/appointment/department",
-      "style": {
-        "navigationBarTitleText": "閫夋嫨绉戝"
-      }
-    },
-    {
-      "path": "pages/news/list",
-      "style": {
-        "navigationBarTitleText": "鍖婚櫌璧勮"
-      }
-    },
-    {
-      "path": "pages/news/detail",
-      "style": {
-        "navigationBarTitleText": "璧勮璇︽儏"
-      }
-    },
-    {
-      "path": "pages/featured/tcm",
-      "style": {
-        "navigationBarTitleText": "涓尰鐗硅壊璇婄枟"
-      }
-    },
-    {
-      "path": "pages/featured/project",
-      "style": {
-        "navigationBarTitleText": "椤圭洰璇︽儏"
-      }
-    },
-    {
-      "path": "pages/featured/case",
-      "style": {
-        "navigationBarTitleText": "妗堜緥璇︽儏"
-      }
-    },
-    {
-      "path": "pages/featured/index",
-      "style": {
-        "navigationBarTitleText": "鐗硅壊鍖荤枟"
-      }
-    },
-    {
-      "path": "pages/featured/cross-border",
-      "style": {
-        "navigationBarTitleText": "璺ㄥ鍖荤枟鏈嶅姟"
-      }
-    },
-    {
-      "path": "pages/featured/expert",
-      "style": {
-        "navigationBarTitleText": "涓撳闂ㄨ瘖"
-      }
-    },
-    {
-      "path": "pages/featured/all",
-      "style": {
-        "navigationBarTitleText": "鍏ㄩ儴鐗硅壊鍖荤枟"
-      }
-    },
-    {
-      "path": "pages/featured/bay-area",
-      "style": {
-        "navigationBarTitleText": "澶ф咕鍖虹壒鑹插尰鐤�"
-      }
-    },
-    {
-      "path": "pages/my/profile",
-      "style": {
-        "navigationBarTitleText": "涓汉淇℃伅"
-      }
-    },
-    {
-      "path": "pages/consultation/index",
-      "style": {
-        "navigationBarTitleText": "鍦ㄧ嚎闂瘖"
-      }
-    },
-    {
-      "path": "pages/ethicalReview/ethicalInfo",
-      "style": {
-        "navigationBarTitleText": "浼︾悊瀹℃煡"
-      }
-    },
-    {
-      "path": "pages/ethicalReview/index",
-      "style": {
-        "navigationBarTitleText": "瀹℃煡璁板綍"
-      }
-    },
-    {
-      "path": "pages/consultation/chat",
-      "style": {
-        "navigationBarTitleText": "鍖荤敓闂瘖"
-      }
-    },
-    {
-      "path": "pages/consultation/ai",
-      "style": {
-        "navigationBarTitleText": "AI闂瘖鍔╂墜"
-      }
-    },
-    {
-      "path": "pages/my/health-records",
-      "style": {
-        "navigationBarTitleText": "鍋ュ悍妗f",
-        "enablePullDownRefresh": true
-      }
     }
   ],
+
+  "subPackages": [
+    {
+      "root": "pagesSub/case",
+      "name": "妗堜緥涓婃姤妯″潡",
+      "pages": [
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "鎴戠殑涓婃姤"
+          }
+        },
+        {
+          "path": "CaseDetails",
+          "style": {
+            "navigationBarTitleText": "涓婃姤妗堜緥"
+          }
+        },
+        {
+          "path": "CaseInfo",
+          "style": {
+            "navigationBarTitleText": "妗堜緥璇︽儏"
+          }
+        },
+        {
+          "path": "transfer",
+          "style": {
+            "navigationBarTitleText": "杞繍鐧昏"
+          }
+        },
+        {
+          "path": "transferinfo",
+          "style": {
+            "navigationBarTitleText": "鐧昏鍗曡鎯�"
+          }
+        }
+      ]
+    },
+    {
+      "root": "pagesSub/ethicalReview",
+      "name": "浼︾悊瀹℃煡妯″潡",
+      "pages": [
+        {
+          "path": "ethicalInfo",
+          "style": {
+            "navigationBarTitleText": "浼︾悊瀹℃煡"
+          }
+        },
+        {
+          "path": "index",
+          "style": {
+            "navigationBarTitleText": "瀹℃煡璁板綍"
+          }
+        }
+      ]
+    },
+    // {
+    //   "root": "pagesSub/appointment",
+    //   "name": "棰勭害妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "棰勭害鎸傚彿"
+    //       }
+    //     },
+    //     {
+    //       "path": "doctor",
+    //       "style": {
+    //         "navigationBarTitleText": "閫夋嫨鍖荤敓"
+    //       }
+    //     },
+    //     {
+    //       "path": "schedule",
+    //       "style": {
+    //         "navigationBarTitleText": "閫夋嫨鏃堕棿"
+    //       }
+    //     },
+    //     {
+    //       "path": "record",
+    //       "style": {
+    //         "navigationBarTitleText": "棰勭害璁板綍"
+    //       }
+    //     },
+    //     {
+    //       "path": "patient",
+    //       "style": {
+    //         "navigationBarTitleText": "閫夋嫨灏辫瘖浜�"
+    //       }
+    //     },
+    //     {
+    //       "path": "confirm",
+    //       "style": {
+    //         "navigationBarTitleText": "纭棰勭害"
+    //       }
+    //     },
+    //     {
+    //       "path": "department",
+    //       "style": {
+    //         "navigationBarTitleText": "閫夋嫨绉戝"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/medical",
+    //   "name": "鐥呭巻绠$悊妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "records/medical",
+    //       "style": {
+    //         "navigationBarTitleText": "灏卞尰璁板綍"
+    //       }
+    //     },
+    //     {
+    //       "path": "records/detail",
+    //       "style": {
+    //         "navigationBarTitleText": "灏卞尰璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "records/report",
+    //       "style": {
+    //         "navigationBarTitleText": "妫�鏌ユ姤鍛�"
+    //       }
+    //     },
+    //     {
+    //       "path": "records/reports",
+    //       "style": {
+    //         "navigationBarTitleText": "妫�鏌ユ姤鍛婂垪琛�"
+    //       }
+    //     },
+    //     {
+    //       "path": "records/report-detail",
+    //       "style": {
+    //         "navigationBarTitleText": "妫�鏌ユ姤鍛婅鎯�"
+    //       }
+    //     },
+    //     {
+    //       "path": "my/cases",
+    //       "style": {
+    //         "navigationBarTitleText": "涓汉鐥呬緥"
+    //       }
+    //     },
+    //     {
+    //       "path": "my/case-detail",
+    //       "style": {
+    //         "navigationBarTitleText": "鐥呬緥璇︽儏"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/payment",
+    //   "name": "鏀粯妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "鏀粯"
+    //       }
+    //     },
+    //     {
+    //       "path": "record",
+    //       "style": {
+    //         "navigationBarTitleText": "缂磋垂璁板綍"
+    //       }
+    //     },
+    //     {
+    //       "path": "detail",
+    //       "style": {
+    //         "navigationBarTitleText": "缂磋垂璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "result",
+    //       "style": {
+    //         "navigationBarTitleText": "鏀粯缁撴灉"
+    //       }
+    //     },
+    //     {
+    //       "path": "refund",
+    //       "style": {
+    //         "navigationBarTitleText": "鐢宠閫�娆�"
+    //       }
+    //     },
+    //     {
+    //       "path": "invoice",
+    //       "style": {
+    //         "navigationBarTitleText": "鐢靛瓙鍙戠エ"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/vaccine",
+    //   "name": "鐤嫍妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "鐤嫍鎺ョ"
+    //       }
+    //     },
+    //     {
+    //       "path": "book",
+    //       "style": {
+    //         "navigationBarTitleText": "鐤嫍棰勭害"
+    //       }
+    //     },
+    //     {
+    //       "path": "list",
+    //       "style": {
+    //         "navigationBarTitleText": "鐤嫍鍒楄〃"
+    //       }
+    //     },
+    //     {
+    //       "path": "detail",
+    //       "style": {
+    //         "navigationBarTitleText": "鐤嫍璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "record",
+    //       "style": {
+    //         "navigationBarTitleText": "鎺ョ璁板綍"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/department",
+    //   "name": "绉戝妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "閫夋嫨绉戝"
+    //       }
+    //     },
+    //     {
+    //       "path": "guide",
+    //       "style": {
+    //         "navigationBarTitleText": "绉戝瀵艰埅"
+    //       }
+    //     },
+    //     {
+    //       "path": "list",
+    //       "style": {
+    //         "navigationBarTitleText": "绉戝鍒楄〃"
+    //       }
+    //     },
+    //     {
+    //       "path": "detail",
+    //       "style": {
+    //         "navigationBarTitleText": "绉戝璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "search",
+    //       "style": {
+    //         "navigationBarTitleText": "鎼滅储缁撴灉"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/patient",
+    //   "name": "灏辫瘖浜烘ā鍧�",
+    //   "pages": [
+    //     {
+    //       "path": "list",
+    //       "style": {
+    //         "navigationBarTitleText": "灏辫瘖浜虹鐞�"
+    //       }
+    //     },
+    //     {
+    //       "path": "add",
+    //       "style": {
+    //         "navigationBarTitleText": "娣诲姞灏辫瘖浜�"
+    //       }
+    //     },
+    //     {
+    //       "path": "edit",
+    //       "style": {
+    //         "navigationBarTitleText": "缂栬緫灏辫瘖浜�"
+    //       }
+    //     }
+    //   ]
+    // },
+    {
+      "root": "pagesSub/my",
+      "name": "鎴戠殑鎵╁睍妯″潡",
+      "pages": [
+        // {
+        //   "path": "payment-method",
+        //   "style": {
+        //     "navigationBarTitleText": "鏀粯鏂瑰紡"
+        //   }
+        // },
+        // {
+        //   "path": "add-bank-card",
+        //   "style": {
+        //     "navigationBarTitleText": "娣诲姞閾惰鍗�"
+        //   }
+        // },
+        {
+          "path": "notification",
+          "style": {
+            "navigationBarTitleText": "娑堟伅閫氱煡"
+          }
+        },
+        {
+          "path": "profile",
+          "style": {
+            "navigationBarTitleText": "涓汉淇℃伅"
+          }
+        },
+        {
+          "path": "health-records",
+          "style": {
+            "navigationBarTitleText": "鍋ュ悍妗f"
+          }
+        }
+      ]
+    },
+    // {
+    //   "root": "pagesSub/consultation",
+    //   "name": "闂瘖妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "鍦ㄧ嚎闂瘖"
+    //       }
+    //     },
+    //     {
+    //       "path": "chat",
+    //       "style": {
+    //         "navigationBarTitleText": "鍖荤敓闂瘖"
+    //       }
+    //     },
+    //     {
+    //       "path": "ai",
+    //       "style": {
+    //         "navigationBarTitleText": "AI闂瘖鍔╂墜"
+    //       }
+    //     }
+    //   ]
+    // },
+    // {
+    //   "root": "pagesSub/featured",
+    //   "name": "鐗硅壊鍖荤枟妯″潡",
+    //   "pages": [
+    //     {
+    //       "path": "index",
+    //       "style": {
+    //         "navigationBarTitleText": "鐗硅壊鍖荤枟"
+    //       }
+    //     },
+    //     {
+    //       "path": "tcm",
+    //       "style": {
+    //         "navigationBarTitleText": "涓尰鐗硅壊璇婄枟"
+    //       }
+    //     },
+    //     {
+    //       "path": "project",
+    //       "style": {
+    //         "navigationBarTitleText": "椤圭洰璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "case",
+    //       "style": {
+    //         "navigationBarTitleText": "妗堜緥璇︽儏"
+    //       }
+    //     },
+    //     {
+    //       "path": "cross-border",
+    //       "style": {
+    //         "navigationBarTitleText": "璺ㄥ鍖荤枟鏈嶅姟"
+    //       }
+    //     },
+    //     {
+    //       "path": "expert",
+    //       "style": {
+    //         "navigationBarTitleText": "涓撳闂ㄨ瘖"
+    //       }
+    //     },
+    //     {
+    //       "path": "all",
+    //       "style": {
+    //         "navigationBarTitleText": "鍏ㄩ儴鐗硅壊鍖荤枟"
+    //       }
+    //     },
+    //     {
+    //       "path": "bay-area",
+    //       "style": {
+    //         "navigationBarTitleText": "澶ф咕鍖虹壒鑹插尰鐤�"
+    //       }
+    //     }
+    //   ]
+    // },
+    {
+      "root": "pagesSub/common",
+      "name": "閫氱敤鍔熻兘妯″潡",
+      "pages": [
+        {
+          "path": "search/index",
+          "style": {
+            "navigationBarTitleText": "鎼滅储"
+          }
+        },
+        // {
+        //   "path": "doctor/detail",
+        //   "style": {
+        //     "navigationBarTitleText": "鍖荤敓璇︽儏"
+        //   }
+        // },
+        // {
+        //   "path": "disease/detail",
+        //   "style": {
+        //     "navigationBarTitleText": "鐤剧梾璇︽儏"
+        //   }
+        // },
+        // {
+        //   "path": "hospital/detail",
+        //   "style": {
+        //     "navigationBarTitleText": "鍖婚櫌璇︽儏"
+        //   }
+        // },
+        {
+          "path": "news/list",
+          "style": {
+            "navigationBarTitleText": "鍖婚櫌璧勮"
+          }
+        },
+        {
+          "path": "news/detail",
+          "style": {
+            "navigationBarTitleText": "璧勮璇︽儏"
+          }
+        }
+      ]
+    }
+  ],
+
+  "preloadRule": {
+    "pages/index/index": {
+      "network": "wifi",
+      "packages": ["pagesSub/my"]
+    },
+    "pages/login/Login": {
+      "network": "wifi",
+      "packages": ["pagesSub/my"]
+    },
+    "pages/my/index": {
+      "network": "wifi",
+      "packages": ["pagesSub/my"]
+    },
+    "pagesSub/case/index": {
+      "network": "wifi",
+      "packages": []
+    }
+  },
+
   "globalStyle": {
     "navigationBarTextStyle": "white",
     "navigationBarBackgroundColor": "#0f95b0",
     "backgroundColor": "#F5F6FA"
   },
+
   "uniIdRouter": {},
+
   "tabBar": {
     "color": "#999999",
     "selectedColor": "#0f95b0",
@@ -422,24 +515,6 @@
         "iconPath": "static/tabbar/home.png",
         "selectedIconPath": "static/tabbar/home-active.png"
       },
-      // {
-      //   "pagePath": "pages/appointment/index",
-      //   "text": "鎸傚彿",
-      //   "iconPath": "static/tabbar/appointment.png",
-      //   "selectedIconPath": "static/tabbar/appointment-active.png"
-      // },
-      // {
-      //   "pagePath": "pages/consultation/index",
-      //   "text": "闂瘖",
-      //   "iconPath": "static/tabbar/consultation.png",
-      //   "selectedIconPath": "static/tabbar/consultation-active.png"
-      // },
-      // {
-      //   "pagePath": "pages/ethicalReview/ethicalInfo",
-      //   "text": "浼︾悊瀹℃煡",
-      //   "iconPath": "static/tabbar/consultation.png",
-      //   "selectedIconPath": "static/tabbar/consultation-active.png"
-      // },
       {
         "pagePath": "pages/my/index",
         "text": "鎴戠殑",
@@ -448,7 +523,8 @@
       }
     ]
   },
-   "easycom": {
+
+  "easycom": {
     "autoscan": true,
     "custom": {
       "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1",

--
Gitblit v1.9.3