Quellcode durchsuchen

feat: 接入gitee

luoyali vor 8 Monaten
Ursprung
Commit
f23b7041c6

+ 11 - 0
src/api/login/index.ts

@@ -33,6 +33,17 @@ export function getGeetConfig(): AxiosPromise {
 	})
 }
 
+/**
+ * token 登录
+ */
+export function loginToken(data): AxiosPromise {
+	return request({
+		url: `/auth/login/token`,
+		method: 'post',
+		data
+	})
+}
+
 /*export function getMenuPermissions(): AxiosPromise {
 	return request({
 		url: `/sys/resource/list-menu-permissions`,

+ 1 - 0
src/assets/icons/flow/gitee.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"/></svg>

+ 9 - 0
src/store/modules/user.ts

@@ -121,6 +121,15 @@ const useUserStore = defineStore({
 				this.RESET_STATE()
 				resolve(null)
 			})
+		},
+
+		/**
+		 * 使用token直接登录
+		 */
+		loginTokenEv(params) {
+			return loginToken(params).then((data: any) => {
+				return data
+			})
 		}
 	}
 })

+ 21 - 2
src/views/login/components/passwordForm.vue

@@ -26,7 +26,14 @@
 			</el-col>
 		</el-form-item>
 		<el-form-item>
-			<el-button type="primary" style="width: 100%" :loading="loading" round @click="login">{{ $t('login.signIn') }}</el-button>
+			<el-button style="width: 100%" :loading="loading" @click="login">{{ $t('login.signIn') }}</el-button>
+		</el-form-item>
+
+		<el-form-item>
+			<el-button type="primary" style="width: 100%" :loading="loading" @click="giteeLogin">
+				<svg-icon style="font-size: 18px; margin-right: 10px" icon-class="flow-gitee" />
+				使用 Gitee 账号 Start, 免密登录
+			</el-button>
 		</el-form-item>
 		<div v-if="false" class="login-reg">
 			{{ $t('login.noAccount') }} <router-link to="/user_register">{{ $t('login.createAccount') }}</router-link>
@@ -36,7 +43,11 @@
 
 <script>
 import useStore from '@/store'
+import { useRoute } from 'vue-router'
+
+import message from '@/api/system/message.js'
 const { user } = useStore()
+const route = useRoute()
 
 export default {
 	data() {
@@ -65,7 +76,9 @@ export default {
 			immediate: true
 		}
 	},
-	mounted() {},
+	mounted() {
+		if (route.query.token) {}
+	},
 	methods: {
 		async login() {
 			let validate = await this.$refs.loginForm.validate().catch(() => {})
@@ -76,6 +89,12 @@ export default {
 			user.login(this.form).finally(() => {
 				this.loading = false
 			})
+		},
+		giteeLogin() {
+			alert('暂未开放')
+			return
+			const jumpUrl = `https://star.aizuda.com/v1/auth-check?platform=eui&t=${new Date().getTime()}`
+			window.open(jumpUrl, '_blank')
 		}
 	}
 }