ymy hai 1 ano
pai
achega
920c561586

+ 1 - 1
index.html

@@ -7,7 +7,7 @@
   <meta name="renderer" content="webkit">
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
   <meta charset="utf-8" name="referrer" content="strict-origin-when-cross-origin" /> 
-  <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
+  <!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" /> -->
   <link rel="icon" href="/favicon.ico">
   <title>数字招商</title>
   <!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=873e4a15f0f80945cd0ba56f069c19bc"></script> -->

+ 21 - 0
src/components/mapMaker/index.vue

@@ -111,6 +111,27 @@
             map.value.centerAndZoom(new T.LngLat(lng.value,lat.value), zoom.value);
             getLngLat({lng:lng.value,lat:lat.value})
           }
+        }else{
+          let pointArea = () => {
+            let address = ''
+            if(props.parentValue.addrCodeInfo){
+              address = props.parentValue.addrCodeInfo
+            }
+            if(props.parentValue.addrInfo){
+              address = address + props.parentValue.addrInfo
+            }
+            if(address){
+              zoom.value = 17;
+              geocoder.value.getPoint(address, searchResult);
+            }
+          }
+          if(!map.value){
+            initMap(() => {
+              pointArea()
+            })
+          }else{
+            pointArea()
+          }
         }
       }
     })

+ 17 - 15
src/main.js

@@ -149,8 +149,9 @@ const importJS = () => { // 引入 "天地图"
 
 
 const omsLogin = () => {
-  return new Promise((resolve) => {
+  // return new Promise((resolve) => {
     let params = getQueryObject();
+    console.log('参数', params)
     const ticket = params.ticket;
     const ssoToken = params.ssoToken;
     if(ticket || ssoToken){
@@ -169,7 +170,8 @@ const omsLogin = () => {
       //   params:data
       // })
       .then(() => {
-        resolve(true)
+        unitVue()
+        // resolve(true)
       }).catch(err =>{
         let msg = '未知错误,请联系管理员!'
         if(err && err.msg) {
@@ -183,22 +185,22 @@ const omsLogin = () => {
         });
       })
     }
-    // else if(getToken()){
-    //   unitVue()
-    // }
-    // else{
-    //   const redirect = location.origin
-    //   location.href = `${import.meta.env.VITE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
-    // }
-  })
+    else if(getToken()){
+      unitVue()
+    }
+    else{
+      const redirect = location.origin
+      location.href = `${import.meta.env.VITE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
+    }
+  // })
   
 }
 
-// const unitVue = () => {
-//   Promise.all([importJS()]).then(result => {
-//     app.mount('#app')
-//   })
-// }
+const unitVue = () => {
+  Promise.all([importJS()]).then(result => {
+    app.mount('#app')
+  })
+}
 
 // omsLogin()
 

+ 84 - 36
src/permission.js

@@ -13,7 +13,7 @@ import { getQueryObject } from '@/utils'
 NProgress.configure({ showSpinner: false });
 
 const whiteList = ['/login', '/register','/demo/table'];
-
+let num = 0;
 const handle = (to,next) => {
   isRelogin.show = true
   // 判断当前用户是否已拉取完user_info信息
@@ -43,8 +43,37 @@ const handle = (to,next) => {
 }
 
 router.beforeEach((to, from, next) => {
+  num++
   NProgress.start()
-  if (getToken()) {
+  let params = getQueryObject();
+  const ticket = params.ticket;
+  const ssoToken = params.ssoToken;
+  if((ticket || ssoToken) && num === 1){
+    let data = {}
+    const url = ticket ? '/sso/doLoginByTicket' : '/sso/doLoginByToken'
+    if(ticket) {
+      data.ticket = ticket
+    }
+    if(ssoToken) {
+      data.token = ssoToken
+    }
+    // console.log('开始');
+    useUserStore().getTokenHandle({url:url,data:data})
+    .then(() => {
+      handle(to,next)
+    }).catch(err =>{
+      let msg = '未知错误,请联系管理员!'
+      if(err && err.msg) {
+        msg = err.msg
+      }
+      ElMessageBox.alert(msg, '提示', {
+        confirmButtonText: '确定',
+        callback: () => {
+          store.dispatch('LogOut').then(() => {})
+        }
+      });
+    })
+  }else if(getToken()) {
     to.meta.title && useSettingsStore().setTitle(to.meta.title)
     /* has token*/
     // if (to.path === '/login') {
@@ -57,39 +86,58 @@ router.beforeEach((to, from, next) => {
         next()
       }
     // }
-  } else {
-    let params = getQueryObject();
-    const ticket = params.ticket;
-    const ssoToken = params.ssoToken;
-    if(ticket || ssoToken){
-      let data = {}
-      const url = ticket ? '/sso/doLoginByTicket' : '/sso/doLoginByToken'
-      if(ticket) {
-        data.ticket = ticket
-      }
-      if(ssoToken) {
-        data.token = ssoToken
-      }
-      // console.log('开始');
-      useUserStore().getTokenHandle({url:url,data:data})
-      .then(() => {
-        handle(to,next)
-      }).catch(err =>{
-        let msg = '未知错误,请联系管理员!'
-        if(err && err.msg) {
-          msg = err.msg
-        }
-        ElMessageBox.alert(msg, '提示', {
-          confirmButtonText: '确定',
-          callback: () => {
-            store.dispatch('LogOut').then(() => {})
-          }
-        });
-      })
-    }else{
-      const redirect = location.origin
-      location.href = `${import.meta.env.VITE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
-    }
+  }else{
+    const redirect = location.origin
+    location.href = `${import.meta.env.VITE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
+  }
+
+
+  // if (getToken()) {
+  //   to.meta.title && useSettingsStore().setTitle(to.meta.title)
+  //   /* has token*/
+  //   // if (to.path === '/login') {
+  //   //   next({ path: '/' })
+  //   //   NProgress.done()
+  //   // } else {
+  //     if (useUserStore().roles.length === 0) {
+  //       handle(to,next)
+  //     } else {
+  //       next()
+  //     }
+  //   // }
+  // } else {
+  //   let params = getQueryObject();
+  //   const ticket = params.ticket;
+  //   const ssoToken = params.ssoToken;
+  //   if(ticket || ssoToken){
+  //     let data = {}
+  //     const url = ticket ? '/sso/doLoginByTicket' : '/sso/doLoginByToken'
+  //     if(ticket) {
+  //       data.ticket = ticket
+  //     }
+  //     if(ssoToken) {
+  //       data.token = ssoToken
+  //     }
+  //     // console.log('开始');
+  //     useUserStore().getTokenHandle({url:url,data:data})
+  //     .then(() => {
+  //       handle(to,next)
+  //     }).catch(err =>{
+  //       let msg = '未知错误,请联系管理员!'
+  //       if(err && err.msg) {
+  //         msg = err.msg
+  //       }
+  //       ElMessageBox.alert(msg, '提示', {
+  //         confirmButtonText: '确定',
+  //         callback: () => {
+  //           store.dispatch('LogOut').then(() => {})
+  //         }
+  //       });
+  //     })
+  //   }else{
+  //     const redirect = location.origin
+  //     location.href = `${import.meta.env.VITE_APP_LOGIN_URL}?&redirect=${encodeURIComponent(redirect)}`
+  //   }
     
 
     // 没有token
@@ -100,7 +148,7 @@ router.beforeEach((to, from, next) => {
     //   next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
     //   NProgress.done()
     // }
-  }
+  // }
 })
 
 router.afterEach(() => {

+ 5 - 1
src/store/modules/user.js

@@ -40,7 +40,11 @@ const useUserStore = defineStore(
             let data = res.data
             setToken(data.token)
             this.token = data.token
-            resolve()
+            if (data.token) {
+              resolve()
+            } else {
+              reject()
+            }
           }).catch(error =>{
             reject(error)
           })

+ 1 - 1
src/views/base/merchantManage/index.vue

@@ -212,7 +212,7 @@
             component:'by-area',
             compConfig:{
               attr:{
-                // area:'addrCodeInfo',
+                area:'addrCodeInfo',
                 areaCode:'addrCode'
               }
             }

+ 21 - 0
src/views/base/shopManage/components/mapRang.vue

@@ -104,6 +104,27 @@
             initPoint()
           }
         }catch(e) {}
+      } else {
+        let pointArea = () => {
+          let address = ''
+          if(props.parentValue.addrCodeInfo){
+            address = props.parentValue.addrCodeInfo
+          }
+          if(props.parentValue.addrInfo){
+            address = address + props.parentValue.addrInfo
+          }
+          if(address){
+            zoom.value = 17;
+            geocoder.value.getPoint(address, searchResult);
+          }
+        }
+        if(!map.value){
+          initMap(() => {
+            pointArea()
+          })
+        }else{
+          pointArea()
+        }
       }
     })
   }

+ 1 - 1
src/views/base/shopManage/components/offlineShop.vue

@@ -157,7 +157,7 @@
             component:'by-area',
             compConfig:{
               attr:{
-                // area:'addrCodeInfo',
+                area:'addrCodeInfo',
                 areaCode:'addrCode'
               }
             }

+ 0 - 4
src/views/components/scanModal.vue

@@ -143,7 +143,3 @@
 
 
 </script>
-
-<style lang="scss" scoped>
-
-</style>