From dfdcdcb3dbd0b711bc0b77bb00fd1d39af91bd0b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 10 一月 2025 17:43:34 +0800
Subject: [PATCH] 2025-01-10

---
 src/views/sso/index.jsx |   84 +++++++++++++++++++----------------------
 1 files changed, 39 insertions(+), 45 deletions(-)

diff --git a/src/views/sso/index.jsx b/src/views/sso/index.jsx
index 8847f11..bcd4613 100644
--- a/src/views/sso/index.jsx
+++ b/src/views/sso/index.jsx
@@ -1,13 +1,11 @@
 import React, {Component} from 'react'
 import { Spin, notification } from 'antd'
-import { connect } from 'react-redux'
 import md5 from 'md5'
 import moment from 'moment'
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js' 
 import { styles } from '@/store/options.js'
-import { modifyMemberLevel } from '@/store/action'
 import './index.scss'
 
 class SSOLogin extends Component {
@@ -16,7 +14,7 @@
       let _param = JSON.parse(window.decodeURIComponent(window.atob(this.props.match.params.param)))
 
       if (typeof(_param) === 'object') {
-        this.authLogin(_param.appid, _param.openid, _param.memberId, _param.key)
+        this.authLogin(_param.appid, _param.openid, _param.memberId, _param.key, _param.menuId || '')
       } else {
         this.props.history.replace('/login')
       }
@@ -25,8 +23,8 @@
     }
   }
 
-  authLogin = (appid, openid, memberid, scanId) => {
-    Api.getTouristMsg(appid, openid, memberid, scanId).then(res => {
+  authLogin = (appid, openid, memberid, scanId, menuId) => {
+    Api.getTouristMsg('mk', appid, openid, memberid, scanId).then(res => {
       if (res.status) {
         sessionStorage.setItem('UserID', res.UserID)
         sessionStorage.setItem('LoginUID', res.LoginUID)
@@ -34,14 +32,13 @@
         sessionStorage.setItem('Full_Name', res.FullName)
         sessionStorage.setItem('avatar', res.icon || '')
         sessionStorage.setItem('dataM', res.dataM ? 'true' : '')
-        sessionStorage.setItem('localDataM', res.dataM ? 'true' : '')
         sessionStorage.setItem('debug', res.debug || '')
         sessionStorage.setItem('role_id', res.role_id || '')
         sessionStorage.setItem('departmentcode', res.departmentcode || '')
         sessionStorage.setItem('organization', res.organization || '')
-        sessionStorage.setItem('localRole_id', res.role_id || '')
+        sessionStorage.setItem('mk_user_type', res.mk_user_type || '')
         
-        this.getMessage()
+        this.getMessage(menuId)
       } else {
         notification.warning({
           top: 92,
@@ -53,11 +50,15 @@
     })
   }
 
-  getMessage = () => {
+  getMessage = (menuId) => {
     let _param = {
       func: 's_Get_style',
       TypeCharOne: 'PC',
       LText: `select '${window.GLOB.appkey}'`,
+    }
+
+    if (window.GLOB.style_appkey) {
+      _param.style_appkey = window.GLOB.style_appkey
     }
 
     _param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
@@ -65,14 +66,10 @@
 
     Api.getSystemConfig(_param).then(res => {
       if (res.status) {
-        // positecgroup
-        // res.Banner = res.Banner ? res.Banner.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
-        // res.doclogo = res.doclogo ? res.doclogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
-        // res.indexlogo = res.indexlogo ? res.indexlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
-        // res.loginlogo = res.loginlogo ? res.loginlogo.replace(/:8080/ig, '').replace(/http:/ig, 'https:') : ''
+        if (!['shutter', 'linkage_navigation', 'linkage', 'menu_board', 'menu_board_navigation'].includes(res.menu_type)) {
+          res.menu_type = 'shutter'
+        }
 
-        const _href = window.location.href.split('#')[0]
-        let _url = _href + 'system'
         let systemMsg = {
           favicon: res.titlelogo || '',
           platTitle: res.titleName || '',
@@ -87,42 +84,51 @@
           showline: res.split_line_show || 'true',
           webSite: res.WebSite || '',
           navBar: res.menu_type,
-          app_version: res.app_version
+          app_version: res.app_version,
+          Member_Level: 0,
+          appname: res.appname || ''
+        }
+
+        if ([10, 20, 30, 40, 50, 60, 70, 80, 90, 100].includes(res.member_level)) {
+          systemMsg.Member_Level = md5('mksoft' + window.GLOB.appkey + res.member_level)
+          if (!window.GLOB.memberLevel) {
+            Object.defineProperty(window.GLOB, 'memberLevel', {
+              writable: false,
+              value: res.member_level
+            })
+          }
         }
 
         let level = res.pwd_level || ''
 
-        if (level && !['letter_num', 'char_num', 'char_num_90'].includes(level)) {
+        if (level && !['letter_num', 'char_num', 'char_num_90', 'char_num_90_sms'].includes(level)) {
           level = ''
         }
 
-        localStorage.setItem(_href + 'pwdlevel', level)
+        localStorage.setItem(window.GLOB.sysSign + 'pwdlevel', level)
 
-        if (res.srcid) {
-          localStorage.setItem(_href + 'srcId', res.srcid)
-        } else {
-          localStorage.removeItem(_href + 'srcId')
-        }
+        res.index_background_color && sessionStorage.setItem('home_background', res.index_background_color)
 
-        sessionStorage.setItem('home_background', res.index_background_color || '')
+        let seconds = 0
         if (res.sys_datetime) {
-          sessionStorage.setItem('sys_datetime', res.sys_datetime)
-          sessionStorage.setItem('app_datetime', new Date().getTime())
+          seconds = Math.floor((new Date(res.sys_datetime).getTime() - new Date().getTime()) / 1000)
         }
+        sessionStorage.setItem('sys_time_shim', isNaN(seconds) ? 0 : seconds)
 
         // url鏍囬
         document.title = systemMsg.platTitle
 
         try {
-          localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
+          localStorage.setItem(window.GLOB.sysSign + 'system', window.btoa(window.encodeURIComponent(JSON.stringify(systemMsg))))
         } catch (e) {
-          localStorage.removeItem(_url)
+          localStorage.removeItem(window.GLOB.sysSign + 'system')
         }
 
         window.GLOB.mainlogo = systemMsg.mainlogo
         window.GLOB.style = systemMsg.style
         window.GLOB.navBar = systemMsg.navBar
         window.GLOB.appVersion = systemMsg.app_version
+        sessionStorage.setItem('appname', res.appname || '')
     
         if (window.GLOB.style && styles[window.GLOB.style]) {
           document.body.className = styles[window.GLOB.style] + ' ' + (res.split_line_show === 'false' ? 'hidden-split-line' : '')
@@ -136,12 +142,10 @@
           document.getElementsByTagName('head')[0].appendChild(link)
         }
 
-        let memberLevel = res.member_level
-
-        if (typeof(memberLevel) === 'number' && memberLevel > 10 && parseInt(memberLevel / 10) * 10 === memberLevel) {
-          sessionStorage.setItem('Member_Level', md5('mksoft' + moment().format('YYYYMM') + memberLevel))
-          this.props.modifyMemberLevel(memberLevel)
+        if (menuId) {
+          sessionStorage.setItem('ThirdMenu', menuId)
         }
+
         this.props.history.replace('/main')
       } else {
         notification.warning({
@@ -165,14 +169,4 @@
   }
 }
 
-const mapStateToProps = () => {
-  return {}
-}
-
-const mapDispatchToProps = (dispatch) => {
-  return {
-    modifyMemberLevel: (memberLevel) => dispatch(modifyMemberLevel(memberLevel))
-  }
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(SSOLogin)
\ No newline at end of file
+export default SSOLogin
\ No newline at end of file

--
Gitblit v1.8.0