<template>
|
<div class="app-container">
|
<el-card class="box-card">
|
<div slot="header" class="clearfix">
|
<span>企业微信免登测试</span>
|
</div>
|
|
<el-alert
|
title="说明"
|
type="info"
|
description="此页面用于测试企业微信免登功能,请确保已在企业微信中配置好相关参数"
|
show-icon
|
:closable="false"
|
style="margin-bottom: 20px;"
|
>
|
</el-alert>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form-item label="授权Code" prop="code">
|
<el-input v-model="form.code" placeholder="请输入企业微信授权Code" />
|
<div class="form-tip">可通过企业微信扫码登录获取Code</div>
|
</el-form-item>
|
|
<el-form-item>
|
<el-button type="primary" @click="handleAutoLogin">测试免登</el-button>
|
<el-button @click="handleReset">重置</el-button>
|
</el-form-item>
|
</el-form>
|
|
<el-divider />
|
|
<div v-if="loginResult">
|
<h4>测试结果:</h4>
|
<el-card class="result-card">
|
<pre>{{ loginResult }}</pre>
|
</el-card>
|
</div>
|
</el-card>
|
</div>
|
</template>
|
|
<script>
|
import { getCodeImg } from "@/api/login";
|
|
export default {
|
name: "QyWechatAutoLogin",
|
data() {
|
return {
|
form: {
|
code: ""
|
},
|
rules: {
|
code: [
|
{ required: true, message: "请输入授权Code", trigger: "blur" }
|
]
|
},
|
loginResult: null
|
};
|
},
|
methods: {
|
/** 测试免登 */
|
handleAutoLogin() {
|
this.$refs["form"].validate(valid => {
|
if (valid) {
|
// 调用企业微信免登接口
|
this.$axios
|
.post("/system/qywechat/autoLogin", { code: this.form.code })
|
.then(response => {
|
this.loginResult = response;
|
if (response.code === 200) {
|
this.$modal.msgSuccess("免登成功");
|
} else {
|
this.$modal.msgError(response.msg || "免登失败");
|
}
|
})
|
.catch(error => {
|
this.loginResult = error;
|
this.$modal.msgError("请求异常:" + error.message);
|
});
|
}
|
});
|
},
|
|
/** 重置表单 */
|
handleReset() {
|
this.$refs["form"].resetFields();
|
this.loginResult = null;
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.form-tip {
|
font-size: 12px;
|
color: #999;
|
margin-top: 5px;
|
}
|
|
.result-card {
|
background-color: #f5f5f5;
|
pre {
|
white-space: pre-wrap;
|
word-wrap: break-word;
|
margin: 0;
|
}
|
}
|
</style>
|