抽离第三方系统注册组件,方便集成至自定义的系统首页

dev
smallchill 6 years ago
parent d7c97e831b
commit 8166da0473
  1. 2
      public/index.html
  2. 116
      src/components/third-register/main.vue
  3. 2
      src/lang/zh.js
  4. 2
      src/main.js
  5. 2
      src/page/login/userlogin.vue
  6. 98
      src/views/wel/index.vue

@ -84,7 +84,7 @@
<div id="app"> <div id="app">
<div class="avue-home"> <div class="avue-home">
<div class="avue-home__main"> <div class="avue-home__main">
<img class="avue-home__loading" src="./svg/loading-spin.svg" alt="loading"> <img class="avue-home__loading" src="<%= BASE_URL %>svg/loading-spin.svg" alt="loading">
<div class="avue-home__title"> <div class="avue-home__title">
正在加载资源 正在加载资源
</div> </div>

@ -0,0 +1,116 @@
<template>
<el-dialog title="账号注册"
append-to-body
:visible.sync="accountBox"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
width="20%">
<el-form :model="form" ref="form" label-width="80px">
<el-form-item v-if="tenantMode" label="租户编号">
<el-input v-model="form.tenantId" placeholder="请输入租户编号"></el-input>
</el-form-item>
<el-form-item label="用户姓名">
<el-input v-model="form.name" placeholder="请输入用户姓名"></el-input>
</el-form-item>
<el-form-item label="账号名称">
<el-input v-model="form.account" placeholder="请输入账号名称"></el-input>
</el-form-item>
<el-form-item label="账号密码">
<el-input v-model="form.password" placeholder="请输入账号密码"></el-input>
</el-form-item>
<el-form-item label="确认密码">
<el-input v-model="form.password2" placeholder="请输入确认密码"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="handleRegister"> </el-button>
</span>
</el-dialog>
</template>
<script>
import {mapGetters} from "vuex";
import {validatenull} from "@/util/validate";
import {registerGuest} from "@/api/user";
import {getTopUrl} from "@/util/util";
import {info} from "@/api/system/tenant";
export default {
name: "thirdRegister",
data() {
return {
form: {
tenantId: '',
name: '',
account: '',
password: '',
password2: '',
},
loading: false,
tenantMode: true,
accountBox: false,
};
},
computed: {
...mapGetters(["userInfo"]),
},
created() {
this.getTenant();
},
mounted() {
//
if (validatenull(this.userInfo.user_id) || this.userInfo.user_id < 0) {
this.form.name = this.userInfo.user_name;
this.form.account = this.userInfo.user_name;
this.accountBox = true;
}
},
methods: {
handleRegister() {
if (this.form.tenantId === '') {
this.$message.warning("请先输入租户编号");
return;
}
if (this.form.account === '') {
this.$message.warning("请先输入账号名称");
return;
}
if (this.form.password === '' || this.form.password2 === '') {
this.$message.warning("请先输入密码");
return;
}
if (this.form.password !== this.form.password2) {
this.$message.warning("两次密码输入不一致");
return;
}
this.loading = true;
registerGuest(this.form, this.userInfo.oauth_id).then(res => {
this.loading = false;
const data = res.data;
if (data.success) {
this.accountBox = false;
this.$alert("注册申请已提交,请耐心等待管理员通过!", '注册提示')
} else {
this.$message.error(data.msg || '提交失败');
}
}, error => {
window.console.log(error);
this.loading = false;
});
},
getTenant() {
let domain = getTopUrl();
// 便
//domain = "https://bladex.vip";
info(domain).then(res => {
const data = res.data;
if (data.success && data.data.tenantId) {
this.form.tenantId = data.data.tenantId;
this.tenantMode = false;
}
})
},
},
};
</script>

@ -78,7 +78,7 @@ export default {
phone: '请输入手机号', phone: '请输入手机号',
code: '请输入验证码', code: '请输入验证码',
submit: '登录', submit: '登录',
userLogin: '账密码登陆', userLogin: '账密码登陆',
phoneLogin: '手机号登录', phoneLogin: '手机号登录',
thirdLogin: '第三方系统登录', thirdLogin: '第三方系统登录',
msgText: '发送验证码', msgText: '发送验证码',

@ -18,6 +18,7 @@ import i18n from './lang' // Internationalization
import './styles/common.scss'; import './styles/common.scss';
import basicBlock from './components/basic-block/main' import basicBlock from './components/basic-block/main'
import basicContainer from './components/basic-container/main' import basicContainer from './components/basic-container/main'
import thirdRegister from './components/third-register/main'
import website from '@/config/website'; import website from '@/config/website';
Vue.use(router); Vue.use(router);
@ -31,6 +32,7 @@ Vue.use(window.AVUE, {
//注册全局容器 //注册全局容器
Vue.component('basicContainer', basicContainer); Vue.component('basicContainer', basicContainer);
Vue.component('basicBlock', basicBlock); Vue.component('basicBlock', basicBlock);
Vue.component('thirdRegister', thirdRegister);
// 加载相关url地址 // 加载相关url地址
Object.keys(urls).forEach(key => { Object.keys(urls).forEach(key => {
Vue.prototype[key] = urls[key]; Vue.prototype[key] = urls[key];

@ -81,7 +81,7 @@
username: "admin", username: "admin",
// //
password: "admin", password: "admin",
// //
type: "account", type: "account",
// //
code: "", code: "",

@ -2,34 +2,7 @@
<div> <div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-dialog title="账号注册" <third-register></third-register>
append-to-body
:visible.sync="accountBox"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
width="20%">
<el-form :model="form" ref="form" label-width="80px">
<el-form-item v-if="tenantMode" label="租户编号">
<el-input v-model="form.tenantId" placeholder="请输入租户编号"></el-input>
</el-form-item>
<el-form-item label="用户姓名">
<el-input v-model="form.name" placeholder="请输入用户姓名"></el-input>
</el-form-item>
<el-form-item label="账号名称">
<el-input v-model="form.account" placeholder="请输入账号名称"></el-input>
</el-form-item>
<el-form-item label="账号密码">
<el-input v-model="form.password" placeholder="请输入账号密码"></el-input>
</el-form-item>
<el-form-item label="确认密码">
<el-input v-model="form.password2" placeholder="请输入确认密码"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="handleRegister"> </el-button>
</span>
</el-dialog>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -449,25 +422,11 @@
<script> <script>
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import {registerGuest} from "@/api/user";
import {getTopUrl} from "@/util/util";
import {info} from "@/api/system/tenant";
import {validatenull} from "@/util/validate";
export default { export default {
name: "wel", name: "wel",
data() { data() {
return { return {
form: {
tenantId: '',
name: '',
account: '',
password: '',
password2: '',
},
loading: false,
tenantMode: true,
accountBox: false,
activeNames: ['1', '2', '3', '5'], activeNames: ['1', '2', '3', '5'],
logActiveNames: ['15'] logActiveNames: ['15']
}; };
@ -475,62 +434,7 @@
computed: { computed: {
...mapGetters(["userInfo"]), ...mapGetters(["userInfo"]),
}, },
created() {
this.getTenant();
},
mounted() {
//
if (validatenull(this.userInfo.user_id) || this.userInfo.user_id < 0) {
this.form.name = this.userInfo.user_name;
this.form.account = this.userInfo.user_name;
this.accountBox = true;
}
},
methods: { methods: {
handleRegister() {
if (this.form.tenantId === '') {
this.$message.warning("请先输入租户编号");
return;
}
if (this.form.account === '') {
this.$message.warning("请先输入账号名称");
return;
}
if (this.form.password === '' || this.form.password2 === '') {
this.$message.warning("请先输入密码");
return;
}
if (this.form.password !== this.form.password2) {
this.$message.warning("两次密码输入不一致");
return;
}
this.loading = true;
registerGuest(this.form, this.userInfo.oauth_id).then(res => {
this.loading = false;
const data = res.data;
if (data.success) {
this.accountBox = false;
this.$alert("注册申请已提交,请耐心等待管理员通过!", '注册提示')
} else {
this.$message.error(data.msg || '提交失败');
}
}, error => {
window.console.log(error);
this.loading = false;
});
},
getTenant() {
let domain = getTopUrl();
// 便
//domain = "https://bladex.vip";
info(domain).then(res => {
const data = res.data;
if (data.success && data.data.tenantId) {
this.form.tenantId = data.data.tenantId;
this.tenantMode = false;
}
})
},
handleChange(val) { handleChange(val) {
window.console.log(val); window.console.log(val);
} }

Loading…
Cancel
Save