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