parent
42da7a4330
commit
8ae0a40805
@ -1,58 +1,75 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
<template></template>
|
||||
|
||||
<script setup>
|
||||
import axios from 'axios'
|
||||
import Cookies from 'js-cookie'
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useStore } from "vuex";
|
||||
import { linelogin } from "@/api/index";
|
||||
|
||||
import { Toast } from "vant";
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
import { useRoute , useRouter } from 'vue-router'
|
||||
import { useStore } from 'vuex'
|
||||
import { linelogin } from '@/api/index'
|
||||
const store = useStore();
|
||||
|
||||
import { Toast } from 'vant'
|
||||
const code = route.query.code;
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
if (!code) {
|
||||
router.replace("/login");
|
||||
} else {
|
||||
const client_id = process.env.VUE_APP_LINE_CLINE_ID;
|
||||
|
||||
const store = useStore()
|
||||
//判斷domain是否包含localhost
|
||||
let redirect_uri = "";
|
||||
if (store.state.domain.includes("localhost")) {
|
||||
redirect_uri = "http://" + store.state.domain + ":8080/home/linelogin";
|
||||
} else {
|
||||
redirect_uri = "https://" + store.state.domain + "/home/linelogin";
|
||||
}
|
||||
|
||||
const code = route.query.code
|
||||
|
||||
if(!code){
|
||||
router.replace('/login')
|
||||
}else{
|
||||
const client_id = process.env.VUE_APP_LINE_CLINE_ID
|
||||
const redirect_uri = `https://${store.state.domain}/home/linelogin`
|
||||
|
||||
axios.post('https://api.line.me/oauth2/v2.1/token',new URLSearchParams({
|
||||
grant_type: 'authorization_code',
|
||||
axios
|
||||
.post(
|
||||
"https://api.line.me/oauth2/v2.1/token",
|
||||
new URLSearchParams({
|
||||
grant_type: "authorization_code",
|
||||
code: code,
|
||||
redirect_uri: redirect_uri,
|
||||
client_id: client_id,
|
||||
client_secret: '2a7930d6143a00ff421812b942cde200'
|
||||
}),{
|
||||
client_secret: "2a7930d6143a00ff421812b942cde200",
|
||||
}),
|
||||
{
|
||||
headers: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(async (response) => {
|
||||
let res = await linelogin({token:response.data.id_token})
|
||||
if(res.code == 200){
|
||||
Cookies.set('token', res.data.token,{ expires: 365 ,domain: store.state.sso_domain})
|
||||
Cookies.set('uid', res.data.uid,{ expires: 365 ,domain: store.state.sso_domain})
|
||||
Toast('登入成功')
|
||||
|
||||
router.push('/')
|
||||
}else if(res.code == 201){
|
||||
sessionStorage.setItem('reg',JSON.stringify(response.data))
|
||||
router.push('/register')
|
||||
}
|
||||
})
|
||||
.catch(error =>{
|
||||
Toast('登入失敗')
|
||||
router.push('/login')
|
||||
"content-type": "application/x-www-form-urlencoded",
|
||||
},
|
||||
}
|
||||
)
|
||||
.then(async (response) => {
|
||||
let res = await linelogin({ token: response.data.id_token });
|
||||
if (res.code == 200) {
|
||||
Cookies.set("token", res.data.token, {
|
||||
expires: 365,
|
||||
domain: store.state.sso_domain,
|
||||
});
|
||||
Cookies.set("uid", res.data.uid, {
|
||||
expires: 365,
|
||||
domain: store.state.sso_domain,
|
||||
});
|
||||
Toast("登入成功");
|
||||
|
||||
router.push("/");
|
||||
} else if (res.code == 201) {
|
||||
sessionStorage.setItem("reg", JSON.stringify(response.data));
|
||||
router.push("/register");
|
||||
}
|
||||
})
|
||||
// let res = await lineLogin(code)
|
||||
.catch((error) => {
|
||||
Toast("登入失敗");
|
||||
router.push("/login");
|
||||
});
|
||||
// let res = await lineLogin(code)
|
||||
}
|
||||
|
||||
</script>
|
||||
</script>
|
||||
|
||||
Loading…
Reference in new issue