From 2951358fcd0227d0ddb6f8099b36822050e154b7 Mon Sep 17 00:00:00 2001 From: Wayne Date: Wed, 3 Jan 2024 06:10:21 +0800 Subject: [PATCH] 0000838 --- src/api/index.js | 3 +++ src/views/Home/index.vue | 32 +++++++++++++++++++++++++++----- src/views/Login/actLogin.vue | 10 +++++----- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 8bbce82..703d947 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -7,6 +7,9 @@ export const login = async (params) => ajax(`/auth/login`, params, "POST"); export const bindCard = async (params) => ajax(`/auth/bindCard`, params, "POST"); +export const bindUser = async (params) => + ajax(`/auth/bindUser`, params, "POST"); + export const checkLineId = async (lineid) => ajax(`/auth/checkLineId`, { lineid }, "GET"); diff --git a/src/views/Home/index.vue b/src/views/Home/index.vue index 7ad0da7..7741478 100644 --- a/src/views/Home/index.vue +++ b/src/views/Home/index.vue @@ -11,9 +11,7 @@ import { useCardStore } from '@/store/card'; import { showToast, showSuccessToast, showConfirmDialog } from "vant"; import 'vant/es/toast/style'; -import { Dialog } from "vant"; - -import { login, bindCard, getMovie, getMarquee } from "@/api"; +import { login, bindCard, getMovie, getMarquee, bindUser } from "@/api"; import noUserImg from '@/assets/images/upload.jpg' @@ -59,9 +57,11 @@ onBeforeMount(async () => { if (route.query.act === "openright") { if (route.query.verify) { //詢問是否綁定 - Dialog.confirm({ + showConfirmDialog({ title: "卡片綁定", message: "確認是否綁定這張卡片", + confirmButtonText: "確認", + cancelButtonText: "取消", }) .then(async () => { //確認綁定 @@ -83,7 +83,7 @@ onBeforeMount(async () => { sessionStorage.setItem("uid", loginRes.data.uid); } else if (loginRes.code === 201) { // 非會員 if (route.query.act === "openright") { // 開卡 - if (route.query.verify && route.query.user_id) { + if (route.query.verify) { // 註冊 router.push({ path: "/register", query: { @@ -93,6 +93,28 @@ onBeforeMount(async () => { }); return; + }else if(route.query.user_id){ //綁定lineid + //詢問是否綁定 + showConfirmDialog({ + title: "會員綁定", + message: "確認是否綁定會員", + confirmButtonText: "確認", + cancelButtonText: "取消", + }) + .then(async () => { + //確認綁定 + let bindRes = await bindUser({ + line_id: profile.userId, + user_id: route.query.user_id, + }); + if (bindRes.code === 200) { + showSuccessToast("綁定成功"); + } else { + showFailToast("綁定失敗"); + return; + } + }) + .catch(() => { }); } } else if (route.query.aid) { // 會員註冊 router.push({ diff --git a/src/views/Login/actLogin.vue b/src/views/Login/actLogin.vue index 770c09b..9e76709 100644 --- a/src/views/Login/actLogin.vue +++ b/src/views/Login/actLogin.vue @@ -3,7 +3,7 @@ import { login, bindCard } from "@/api"; import { useRouter, useRoute } from 'vue-router'; -const route = useRoute(); +const route = useRoute(); const router = useRouter(); const liff = window.liff; @@ -58,14 +58,14 @@ if (!sessionStorage.getItem("token")) { // 未登入先要登入 sessionStorage.setItem("uid", loginRes.data.uid); } else if (loginRes.code === 201) { // 非會員 if (route.query.act === "openright") { // 開卡 - if (route.query.verify) { + if (route.query.verify || route.query.user_id) { router.push({ path: "/register", query: { verify: route.query.verify, + user_id: route.query.user_id, }, }); - } } else if (route.query.aid) { // 會員註冊 router.push({ @@ -88,10 +88,10 @@ if (!sessionStorage.getItem("token")) { // 未登入先要登入 } // 如果存在redirect,就跳轉 -if (sessionStorage.getItem("redirect")){ +if (sessionStorage.getItem("redirect")) { router.push(sessionStorage.getItem("redirect")); sessionStorage.removeItem("redirect"); -}else{ +} else { router.push("/"); }