From 7de1396e315896dbc72a9d54e44f77434ea90f18 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 23:47:34 +0800
Subject: [PATCH] feat:增加企业微信自动登录
---
app/App.vue | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 61 insertions(+), 10 deletions(-)
diff --git a/app/App.vue b/app/App.vue
index 86cbf17..15eb1ac 100644
--- a/app/App.vue
+++ b/app/App.vue
@@ -12,9 +12,9 @@
lastToken: null // 鐢ㄤ簬妫�娴� token 鍙樺寲
}
},
- onLaunch: function() {
+ onLaunch: function(options) {
this.lastToken = getToken()
- this.initApp()
+ this.initApp(options)
// 妫�鏌ュ苟娓呯悊瀛樺偍绌洪棿
this.checkStorage()
@@ -72,13 +72,11 @@
},
methods: {
// 鍒濆鍖栧簲鐢�
- initApp() {
+ initApp(options) {
// 鍒濆鍖栧簲鐢ㄩ厤缃�
this.initConfig()
- // 妫�鏌ョ敤鎴风櫥褰曠姸鎬�
- //#ifdef H5
- this.checkLogin()
- //#endif
+ // 妫�鏌ョ敤鎴风櫥褰曠姸鎬佸苟鑷姩璺宠浆鍒板悎閫傜殑鐧诲綍椤甸潰
+ this.checkLoginAndRedirect(options)
// 娉ㄦ剰锛氫笉鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂鑷姩鍚姩杞
// 鍙湁鍦ㄧ敤鎴蜂富鍔ㄧ櫥褰曟垚鍔熷悗鎵嶅惎鍔紙閫氳繃 user-login 浜嬩欢瑙﹀彂锛�
@@ -86,9 +84,62 @@
initConfig() {
this.globalData.config = config
},
- checkLogin() {
+ // 妫�鏌ョ櫥褰曠姸鎬佸苟鑷姩璺宠浆鍒板悎閫傜殑鐧诲綍椤甸潰
+ checkLoginAndRedirect(options) {
if (!getToken()) {
- this.$tab.reLaunch('/pages/login')
+ // 妫�鏌ヨ繍琛岀幆澧冨苟璺宠浆鍒板搴旂殑鐧诲綍椤甸潰
+ // #ifdef MP-WEIXIN
+ // 鍦ㄥ井淇″皬绋嬪簭鐜涓�
+ try {
+ // 鑾峰彇绯荤粺淇℃伅
+ const systemInfo = uni.getSystemInfoSync()
+ console.log('绯荤粺淇℃伅:', systemInfo)
+
+ // 妫�鏌nvironment瀛楁鏄惁涓簑xwork
+ if (systemInfo.environment === 'wxwork') {
+ console.log('妫�娴嬪埌浼佷笟寰俊鐜锛岃烦杞埌浼佷笟寰俊鍏嶇櫥椤甸潰')
+ // 鏋勯�犲甫鍙傛暟鐨刄RL
+ let url = '/pages/qylogin'
+ if (options && options.query) {
+ const queryParams = Object.keys(options.query).map(key => `${key}=${encodeURIComponent(options.query[key])}`).join('&')
+ if (queryParams) {
+ url += '?' + queryParams
+ }
+ }
+ this.$tab.reLaunch(url)
+ return
+ } else {
+ console.log('妫�娴嬪埌鏅�氬井淇$幆澧冿紝璺宠浆鍒板井淇$櫥褰曢〉闈�')
+ // 鏋勯�犲甫鍙傛暟鐨刄RL
+ let url = '/pages/login'
+ if (options && options.query) {
+ const queryParams = Object.keys(options.query).map(key => `${key}=${encodeURIComponent(options.query[key])}`).join('&')
+ if (queryParams) {
+ url += '?' + queryParams
+ }
+ }
+ this.$tab.reLaunch(url)
+ return
+ }
+ } catch (e) {
+ console.error('鑾峰彇绯荤粺淇℃伅澶辫触:', e)
+ // 榛樿璺宠浆鍒版櫘閫氱櫥褰曢〉闈�
+ this.$tab.reLaunch('/pages/login')
+ }
+ // #endif
+
+ // #ifndef MP-WEIXIN
+ // 闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�
+ console.log('闈炲井淇″皬绋嬪簭鐜锛岃烦杞埌鏅�氱櫥褰曢〉闈�')
+ let url = '/pages/login'
+ if (options && options.query) {
+ const queryParams = Object.keys(options.query).map(key => `${key}=${encodeURIComponent(options.query[key])}`).join('&')
+ if (queryParams) {
+ url += '?' + queryParams
+ }
+ }
+ this.$tab.reLaunch(url)
+ // #endif
}
},
@@ -187,4 +238,4 @@
<style lang="scss">
@import '@/static/scss/index.scss'
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.1