Showing
5 changed files
with
65 additions
and
15 deletions
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2024-09-26 13:36:06 | 2 | * @Date: 2024-09-26 13:36:06 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-11-19 14:30:13 | 4 | + * @LastEditTime: 2024-12-04 11:43:06 |
| 5 | * @FilePath: /hager/src/App.vue | 5 | * @FilePath: /hager/src/App.vue |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | --> | 7 | --> |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | <div style="display: flex; flex-direction: column; min-height: 100vh; overflow: hidden;"> | 9 | <div style="display: flex; flex-direction: column; min-height: 100vh; overflow: hidden;"> |
| 10 | <hager-header @onShowMenu="onShowMenu"></hager-header> | 10 | <hager-header @onShowMenu="onShowMenu"></hager-header> |
| 11 | <router-view :class="[!isLoginPage ? 'wrapper' : '', is_xs ? 'xs' : '']"></router-view> | 11 | <router-view :class="[!isLoginPage ? 'wrapper' : '', is_xs ? 'xs' : '']"></router-view> |
| 12 | - <hager-footer v-if="!isLoginPage"></hager-footer> | 12 | + <hager-footer v-if="!isLoginPage" @send-openid="sendOpenid"></hager-footer> |
| 13 | <div v-if="showMask" class="mask"> | 13 | <div v-if="showMask" class="mask"> |
| 14 | </div> | 14 | </div> |
| 15 | </div> | 15 | </div> |
| ... | @@ -19,6 +19,7 @@ | ... | @@ -19,6 +19,7 @@ |
| 19 | import hagerHeader from '@/components/common/hagerHeader.vue'; | 19 | import hagerHeader from '@/components/common/hagerHeader.vue'; |
| 20 | import hagerFooter from '@/components/common/hagerFooter.vue'; | 20 | import hagerFooter from '@/components/common/hagerFooter.vue'; |
| 21 | import mixin from '@/common/mixin'; | 21 | import mixin from '@/common/mixin'; |
| 22 | +import { wxInfo } from '@/utils/tools'; | ||
| 22 | 23 | ||
| 23 | export default { | 24 | export default { |
| 24 | // TAG:配置页面meta和标题信息 | 25 | // TAG:配置页面meta和标题信息 |
| ... | @@ -50,6 +51,16 @@ export default { | ... | @@ -50,6 +51,16 @@ export default { |
| 50 | onShowMenu (val) { | 51 | onShowMenu (val) { |
| 51 | this.showMask = val; | 52 | this.showMask = val; |
| 52 | }, | 53 | }, |
| 54 | + sendOpenid (openid) { | ||
| 55 | + if (wxInfo().isWeiXin && !openid) { // TAG: 微信环境下需要授权登录 | ||
| 56 | + this.$router.replace({ | ||
| 57 | + path: '/auth', | ||
| 58 | + query: { | ||
| 59 | + href: location.hash, | ||
| 60 | + } | ||
| 61 | + }); | ||
| 62 | + } | ||
| 63 | + } | ||
| 53 | } | 64 | } |
| 54 | } | 65 | } |
| 55 | </script> | 66 | </script> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2024-09-26 13:42:22 | 2 | * @Date: 2024-09-26 13:42:22 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-11-07 11:01:58 | 4 | + * @LastEditTime: 2024-12-04 11:40:52 |
| 5 | * @FilePath: /hager/src/components/common/hagerFooter.vue | 5 | * @FilePath: /hager/src/components/common/hagerFooter.vue |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | --> | 7 | --> |
| ... | @@ -169,13 +169,14 @@ export default { | ... | @@ -169,13 +169,14 @@ export default { |
| 169 | e_title: 'Honors', | 169 | e_title: 'Honors', |
| 170 | content: '海格集团是行业创新领导者之一,我们与来自工业和电气领域的客户一起致力于引领面向未来的主题,如家庭互联、智能建筑技术、能源效率、生活辅助系统、电动交通、可再生能源。', | 170 | content: '海格集团是行业创新领导者之一,我们与来自工业和电气领域的客户一起致力于引领面向未来的主题,如家庭互联、智能建筑技术、能源效率、生活辅助系统、电动交通、可再生能源。', |
| 171 | link: '/about/honors', | 171 | link: '/about/honors', |
| 172 | - }] | 172 | + }], |
| 173 | } | 173 | } |
| 174 | }, | 174 | }, |
| 175 | async mounted () { | 175 | async mounted () { |
| 176 | const { code, data } = await getFooterAPI(); | 176 | const { code, data } = await getFooterAPI(); |
| 177 | if (code) { | 177 | if (code) { |
| 178 | this.footer_data = data; | 178 | this.footer_data = data; |
| 179 | + this.$emit('send-openid', data.openid) | ||
| 179 | } | 180 | } |
| 180 | }, | 181 | }, |
| 181 | methods: { | 182 | methods: { | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Date: 2024-08-26 10:42:15 | 2 | * @Date: 2024-08-26 10:42:15 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-11-29 14:06:03 | 4 | + * @LastEditTime: 2024-12-02 15:47:19 |
| 5 | * @FilePath: /hager/src/route.js | 5 | * @FilePath: /hager/src/route.js |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | */ | 7 | */ |
| ... | @@ -213,4 +213,13 @@ export default [{ | ... | @@ -213,4 +213,13 @@ export default [{ |
| 213 | tag: 'search' | 213 | tag: 'search' |
| 214 | }, | 214 | }, |
| 215 | children: [] | 215 | children: [] |
| 216 | +}, { | ||
| 217 | + path: '/auth', | ||
| 218 | + name: '授权页面', | ||
| 219 | + component: () => import('@/views/auth'), | ||
| 220 | + meta: { | ||
| 221 | + title: '授权页面', | ||
| 222 | + tag: 'auth' | ||
| 223 | + }, | ||
| 224 | + children: [] | ||
| 216 | }] | 225 | }] | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Date: 2022-04-18 15:59:42 | 2 | * @Date: 2022-04-18 15:59:42 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2023-08-07 13:31:59 | 4 | + * @LastEditTime: 2024-12-02 15:45:06 |
| 5 | - * @FilePath: /map-demo/src/utils/tools.js | 5 | + * @FilePath: /hager/src/utils/tools.js |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | */ | 7 | */ |
| 8 | import dayjs from 'dayjs'; | 8 | import dayjs from 'dayjs'; |
| ... | @@ -20,18 +20,18 @@ const wxInfo = () => { | ... | @@ -20,18 +20,18 @@ const wxInfo = () => { |
| 20 | let u = navigator.userAgent; | 20 | let u = navigator.userAgent; |
| 21 | let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 | 21 | let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 |
| 22 | let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 | 22 | let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 |
| 23 | + let isMobile = u.indexOf('Android') > -1 || u.indexOf('iPhone') > -1 || u.indexOf('iPad') > -1; // 移动端平台 | ||
| 24 | + let isIpad = u.indexOf('iPad') > -1; // iPad平台 | ||
| 23 | let uAgent = navigator.userAgent.toLowerCase(); | 25 | let uAgent = navigator.userAgent.toLowerCase(); |
| 24 | - let isTable = (uAgent.match(/MicroMessenger/i) == 'micromessenger') ? true : false; | 26 | + let isWeiXin = (uAgent.match(/MicroMessenger/i) == 'micromessenger') ? true : false; |
| 25 | - let isPC = uAgent.match( | 27 | + let isPC = (uAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|micromessenger)/i)) ? false : true; |
| 26 | - /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|micromessenger)/i, | ||
| 27 | - ) | ||
| 28 | - ? false | ||
| 29 | - : true; | ||
| 30 | return { | 28 | return { |
| 31 | isAndroid, | 29 | isAndroid, |
| 32 | isiOS, | 30 | isiOS, |
| 33 | - isTable, | 31 | + isWeiXin, |
| 34 | - isPC, | 32 | + isMobile, |
| 33 | + isIpad, | ||
| 34 | + isPC | ||
| 35 | }; | 35 | }; |
| 36 | }; | 36 | }; |
| 37 | 37 | ... | ... |
src/views/auth.vue
0 → 100644
| 1 | +<!-- | ||
| 2 | + * @Date: 2022-08-29 13:55:31 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2024-12-04 11:36:15 | ||
| 5 | + * @FilePath: /hager/src/views/auth.vue | ||
| 6 | + * @Description: 授权模块 | ||
| 7 | +--> | ||
| 8 | +<template> | ||
| 9 | + <div /> | ||
| 10 | +</template> | ||
| 11 | + | ||
| 12 | +<script> | ||
| 13 | +export default { | ||
| 14 | + mounted () { | ||
| 15 | + // php需要先跳转链接获取openid | ||
| 16 | + /** | ||
| 17 | + * encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。 | ||
| 18 | + * 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。 | ||
| 19 | + * 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。 | ||
| 20 | + */ | ||
| 21 | + let raw_url = encodeURIComponent(location.origin + location.pathname + this.$route.query.href); // 未授权的地址 | ||
| 22 | + // TAG: 开发环境测试数据 | ||
| 23 | + const short_url = `/srv/?m=srv&a=openid&res=${raw_url}`; | ||
| 24 | + location.href = import.meta.env.DEV | ||
| 25 | + ? `${short_url}&openid=${import.meta.env.VITE_OPENID}` | ||
| 26 | + : `${short_url}`; | ||
| 27 | + } | ||
| 28 | +} | ||
| 29 | +</script> |
-
Please register or login to post a comment