Kaynağa Gözat

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

smallchill 6 yıl önce
ebeveyn
işleme
8166da0473

+ 1 - 1
public/index.html

@@ -84,7 +84,7 @@
 <div id="app">
   <div class="avue-home">
     <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>

+ 116 - 0
src/components/third-register/main.vue

@@ -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>

+ 1 - 1
src/lang/zh.js

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

+ 2 - 0
src/main.js

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

+ 1 - 1
src/page/login/userlogin.vue

@@ -81,7 +81,7 @@
           username: "admin",
           //密码
           password: "admin",
-          //账类型
+          //账类型
           type: "account",
           //验证码的值
           code: "",

+ 1 - 97
src/views/wel/index.vue

@@ -2,34 +2,7 @@
   <div>
     <el-row>
       <el-col :span="24">
-        <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>
+        <third-register></third-register>
       </el-col>
     </el-row>
     <el-row>
@@ -449,25 +422,11 @@
 
 <script>
   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 {
     name: "wel",
     data() {
       return {
-        form: {
-          tenantId: '',
-          name: '',
-          account: '',
-          password: '',
-          password2: '',
-        },
-        loading: false,
-        tenantMode: true,
-        accountBox: false,
         activeNames: ['1', '2', '3', '5'],
         logActiveNames: ['15']
       };
@@ -475,62 +434,7 @@
     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;
-          }
-        })
-      },
       handleChange(val) {
         window.console.log(val);
       }