Przeglądaj źródła

将路由白名单功能上到正式环境

Jing 4 tygodni temu
rodzic
commit
52ba7b8856

+ 1 - 1
.nuxt/manifest/latest.json

@@ -1 +1 @@
-{"id":"6bbeddac-4cf6-48a5-acbf-4982c22814b4","timestamp":1750138290190}
+{"id":"cff456cc-8f6a-49f6-b201-bd66faf512bf","timestamp":1750661693938}

+ 0 - 1
.nuxt/manifest/meta/6bbeddac-4cf6-48a5-acbf-4982c22814b4.json

@@ -1 +0,0 @@
-{"id":"6bbeddac-4cf6-48a5-acbf-4982c22814b4","timestamp":1750138290190,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 0
.nuxt/manifest/meta/cff456cc-8f6a-49f6-b201-bd66faf512bf.json

@@ -0,0 +1 @@
+{"id":"cff456cc-8f6a-49f6-b201-bd66faf512bf","timestamp":1750661693938,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
       ],
       "#app-manifest": [
-        "./manifest/meta/6bbeddac-4cf6-48a5-acbf-4982c22814b4.json"
+        "./manifest/meta/cff456cc-8f6a-49f6-b201-bd66faf512bf.json"
       ],
       "#components": [
         "./components"

+ 26 - 24
middleware/setup.global.js

@@ -1,14 +1,14 @@
 export default async function (to, from) {
     //获得全局url
     const { $webUrl, $CwebUrl } = useNuxtApp();
-    if(getRouteWhiteList(to.path)){
+    if (getRouteWhiteList(to.path)) {
         //如果目标路由是/,或者/404 无需验证
-    }else{
+    } else {
         // to是目标路由对象,from是来源路由对象
-        console.log('进入路由中间件,目标路由:', to.path,"当前路由:",from.path);
+        console.log('进入路由中间件,目标路由:', to.path, "当前路由:", from.path);
         //拆分目标路由
         let parts = parseRoute(to.path)
-        console.log(parts)
+        // console.log('aaaaaaaaaaaa', parts);
 
         const responseRoute = await $fetch($webUrl + '/web/checkWebsiteRoute', {
             headers: {
@@ -19,9 +19,9 @@ export default async function (to, from) {
             query: parts
         })
         console.log(responseRoute)
-        if(responseRoute.code == 200){
+        if (responseRoute.code == 200) {
             //如果路由存在,不做任何操作
-        }else{
+        } else {
             return navigateTo('/404')
         }
     }
@@ -31,18 +31,18 @@ export default async function (to, from) {
 function parseRoute(url) {
     const parts = url.split('/').filter(Boolean); // 分割并过滤空字符串
     const lastPart = parts[parts.length - 1];
-    
+
     // 提取 id(数字.html 的数字部分)
     const idMatch = lastPart.match(/^(\d+)\.html$/);
     const id = idMatch ? idMatch[1] : undefined;
-    
+
     // 如果最后是数字.html、index.html 或 list-数字.html,则去掉它
     const isSpecialRoute = idMatch || lastPart === "index.html" || lastPart.startsWith("list-");
     if (isSpecialRoute) {
         parts.pop();
     }
-    
-    let all_route, last_route;
+
+    let all_route, last_route, other_route;
 
     // 如果路径以 xiangcunshangcheng 开头
     // if (parts[0] === "xiangcunshangcheng") {
@@ -70,11 +70,13 @@ function parseRoute(url) {
 
     all_route = parts.join('/');
     last_route = parts.length > 0 ? parts[parts.length - 1] : null;
+    other_route = parts[0]
 
     // 返回结果(只有数字.html 时才包含 id)
     const result = {
         all_route,
-        last_route
+        last_route,
+        other_route
     };
     if (id !== undefined) {
         result.id = id;
@@ -83,30 +85,30 @@ function parseRoute(url) {
 }
 
 //获得路由白名单列表
-function getRouteWhiteList(path){
-    if(path=='/'){
+function getRouteWhiteList(path) {
+    if (path == '/') {
         console.log('白名单路由!允许访问!')
         //如果用户进入的是首页,直接返回true
         return true
-    }else{
+    } else {
         //如果用户进入的不是首页,则需要判断第一层路由是否在白名单
         const parts = path.split('/').filter(Boolean); // 分割并过滤空字符串
         console.log(parts[0])
         let whiteList = [
-            "404",
-            "search",//搜索页
-            "xiangcunshangcheng",//乡村商城搜索页
-            "topic",//商圈
-            "advertising",//广告
-            "about",//关于我们
-            "zhaogongzhaopin",//招工招聘
-            "shukanxinxi",//书刊信息
+            // "404",
+            // "search",//搜索页
+            // "xiangcunshangcheng",//乡村商城搜索页
+            // "topic",//商圈
+            // "advertising",//广告
+            // "about",//关于我们
+            // "zhaogongzhaopin",//招工招聘
+            // "shukanxinxi",//书刊信息
         ]
 
-        if(whiteList.includes(parts[0])){
+        if (whiteList.includes(parts[0])) {
             console.log('白名单路由!允许访问!')
             return true
-        }else{
+        } else {
             return false
         }
     }

+ 2 - 2
plugins/request.js

@@ -6,8 +6,8 @@ export default defineNuxtPlugin(nuxtApp => {
 
     let Url = {
         //正式环境
-        webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
-        CwebUrl: 'nw.bjzxtw.org.cn' //页面地址
+        // webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
+        // CwebUrl: 'nw.bjzxtw.org.cn' //页面地址
         //pre环境
         // webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
         // CwebUrl: 'nwpre.bjzxtw.org.cn' //页面地址