From b785655ee996378ef61e64f43163888278900c57 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 20 十月 2022 16:05:20 +0800
Subject: [PATCH] 45

---
 src/views/login/index.vue |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 59c258e..4cce7d8 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,18 +1,21 @@
 <script lang="ts" setup>
-    import { Dialog } from 'vant'
-    import { useRouter } from 'vue-router'
-    import { ref } from 'vue'
+    import { ref,onMounted } from 'vue'
+    import {useRoute,useRouter} from 'vue-router'
+    import { ajaxGet ,ajaxPost} from '@/utils/axios'
     // import { Session } from '@/utils/storage'
-    import { Toast } from 'vant'
+    import { Dialog  } from 'vant'
+    import { userInfoStore } from '@/stores/userInfo'
     import logo from 'assets/logo.png'
     import shoujiLogin from 'assets/yijianLogin.png'
     import pswdLogin from 'assets/pswdLogin.png'
+    const userInfo = userInfoStore()
+    const route = useRoute()
+    const router=useRouter()
     const username = ref('')
     const password = ref('')
     const visible=ref(1)
     const seconds=ref(60)
     const loadingBUt=ref(false)
-    const router = useRouter()
     const ruleForm2=ref({
         newPassword:'',
         pass:'',
@@ -83,6 +86,49 @@
         ruleForm3.value.userPhone=''
         ruleForm3.value.validateCode=''
     }
+    const isWechat = () => {
+        return String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === 'micromessenger'
+    }
+    onMounted(()=>{
+        if (isWechat()){
+            console.log('初始化',route)
+            const queryInfo=route.query
+            const {code}=queryInfo
+            console.log(code)
+            if (code){
+                ajaxGet('wechat/code',{code}).then((re:any)=>{
+                    console.log(re)
+                    userInfo.setUserInfo({openid:re.openid,nickname:re.nickname,headimgurl:re.headimgurl})
+                    const openid = re.openid
+                    if (openid) {
+                        ajaxPost('patient/info/wechatLogin',{openid}).then((re:any)=>{
+                            console.log('openid换的accesstoken=',re)
+                        })
+                    }
+
+                })
+            }
+            else {
+                const appid = 'wx790bd67db6206070' // 微信APPid
+                const local = window.location.href
+                window.location.href =
+                    'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
+                    appid +
+                    '&redirect_uri=' +
+                    encodeURIComponent(local) +
+                    '&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect'
+
+            }
+        } else {
+            console.log('不是微信浏览器')
+            Dialog.alert({
+                title: '提示',
+                message: '请在微信中打开浏览',
+            }).then(() => {
+                // on close
+            })
+        }
+    })
 </script>
 
 <template>

--
Gitblit v1.8.0