智慧园区web后台管理-vue
zrj
2024-10-24 72d9c686f6fd238d244c95ab37e4d26e8746a922
登录相关配置修改
9 files modified
100 ■■■■■ changed files
.npmrc 2 ●●● patch | view | raw | blame | history
package-lock.json 4 ●●●● patch | view | raw | blame | history
src/api/user.js 2 ●●● patch | view | raw | blame | history
src/config/website.js 2 ●●● patch | view | raw | blame | history
src/lang/zh.js 2 ●●● patch | view | raw | blame | history
src/page/login/index.vue 34 ●●●● patch | view | raw | blame | history
src/page/login/userlogin.vue 34 ●●●● patch | view | raw | blame | history
src/store/modules/user.js 3 ●●●● patch | view | raw | blame | history
yarn.lock 17 ●●●●● patch | view | raw | blame | history
.npmrc
@@ -1,2 +1,2 @@
@saber:registry=https://center.javablade.com/api/packages/blade/npm/
//center.javablade.com/api/packages/blade/npm/:_authToken=如何配置请见BladeX开发手册 1.3.0配置资源令牌 章节
//center.javablade.com/api/packages/blade/npm/:_authToken=66c6549d47896da834ef4a84b5fcbf4763744b28
package-lock.json
@@ -1,12 +1,12 @@
{
  "name": "saber",
  "version": "4.1.0",
  "version": "4.2.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "saber",
      "version": "4.1.0",
      "version": "4.2.0",
      "dependencies": {
        "@element-plus/icons-vue": "^2.3.1",
        "@saber/nf-design-base-elp": "^1.2.0",
src/api/user.js
@@ -17,7 +17,7 @@
      tenantId,
      username,
      password,
      grant_type: website.captchaMode ? 'captcha' : 'password',
      grant_type: 'password',
      scope: 'all',
      type,
    },
src/config/website.js
@@ -5,7 +5,7 @@
  title: 'saber',
  logo: 'X',
  key: 'saber', //配置主键,目前用于存储
  indexTitle: 'BladeX 微服务平台',
  indexTitle: '智慧园区平台',
  clientId: 'saber3', // 客户端id
  clientSecret: 'saber3_secret', // 客户端密钥
  tenantMode: true, // 是否开启租户模式
src/lang/zh.js
@@ -78,7 +78,7 @@
  },
  login: {
    title: '登录 ',
    info: 'BladeX 微服务平台',
    info: '智慧园区平台',
    tenantId: '请输入租户ID',
    username: '请输入账号',
    password: '请输入密码',
src/page/login/index.vue
@@ -6,46 +6,24 @@
          {{ time }}
        </div>
        <p class="title">{{ $t('login.info') }}</p>
        <div style="font-size: 15px">
          <span>----------------------------------------------</span>
          <br />
          <span>管理租户编号:000000</span>
          <br />
          <span>超级管理员账号: admin / admin</span>
          <br />
          <span>人事账号: hr / hr</span>
          <br />
          <span>经理账号: manager / manager</span>
          <br />
          <span>老板账号: boss / boss</span>
          <br />
          <span>----------------------------------------------</span>
          <br />
          <span>普通租户编号:详见租户管理模块</span>
          <br />
          <span>租户管理员账号: admin / admin</span>
          <br />
          <span>----------------------------------------------</span>
        </div>
        <!--<img class="img" src="/img/logo.png" alt="">-->
      </div>
      <div class="login-border">
        <div class="login-main">
          <h4 class="login-title">
            {{ $t('login.title') }}{{ website.title }}
            <top-lang></top-lang>
            {{ $t('login.title') }}
            <!-- <top-lang></top-lang> -->
          </h4>
          <userLogin v-if="activeName === 'user'"></userLogin>
          <codeLogin v-else-if="activeName === 'code'"></codeLogin>
          <thirdLogin v-else-if="activeName === 'third'"></thirdLogin>
          <div class="login-menu">
          <!-- <codeLogin v-else-if="activeName === 'code'"></codeLogin> -->
          <!-- <thirdLogin v-else-if="activeName === 'third'"></thirdLogin> -->
          <!-- <div class="login-menu">
            <a href="#" @click.stop="activeName = 'user'">{{ $t('login.userLogin') }}</a>
            <a href="#" @click.stop="activeName = 'code'">{{ $t('login.phoneLogin') }}</a>
            <a href="#" @click.stop="activeName = 'third'">{{ $t('login.thirdLogin') }}</a>
            <a :href="website.oauth2.ssoUrl + website.oauth2.redirectUri">{{
              $t('login.ssoLogin')
            }}</a>
          </div>
          </div> -->
        </div>
      </div>
    </div>
src/page/login/userlogin.vue
@@ -7,7 +7,7 @@
    :model="loginForm"
    label-width="0"
  >
    <el-form-item v-if="tenantMode" prop="tenantId">
    <!-- <el-form-item v-if="tenantMode" prop="tenantId">
      <el-input
        @keyup.enter="handleLogin"
        v-model="loginForm.tenantId"
@@ -18,7 +18,7 @@
          <i class="icon-quanxian" />
        </template>
      </el-input>
    </el-form-item>
    </el-form-item> -->
    <el-form-item prop="username">
      <el-input
        @keyup.enter="handleLogin"
@@ -47,7 +47,7 @@
        </template>
      </el-input>
    </el-form-item>
    <el-form-item v-if="this.website.captchaMode" prop="code">
    <!-- <el-form-item v-if="this.website.captchaMode" prop="code">
      <el-row :span="24">
        <el-col :span="16">
          <el-input
@@ -67,7 +67,7 @@
          </div>
        </el-col>
      </el-row>
    </el-form-item>
    </el-form-item> -->
    <el-form-item>
      <el-button
        type="primary"
@@ -75,20 +75,20 @@
        :class="this.registerMode ? 'login-submit' : 'btn-submit'"
        >{{ $t('login.submit') }}
      </el-button>
      <el-button
      <!-- <el-button
        v-if="this.registerMode"
        type="danger"
        @click.prevent="handleRegister"
        class="register-submit"
        >{{ $t('login.register') }}
      </el-button>
      </el-button> -->
    </el-form-item>
    <el-dialog title="用户信息选择" append-to-body v-model="userBox" width="350px">
    <!-- <el-dialog title="用户信息选择" append-to-body v-model="userBox" width="350px">
      <avue-form :option="userOption" v-model="userForm" @submit="submitLogin" />
    </el-dialog>
    <el-dialog title="用户信息注册" append-to-body v-model="registerBox" width="350px">
      <avue-form :option="registerOption" v-model="registerForm" @submit="submitRegister" />
    </el-dialog>
    </el-dialog> -->
  </el-form>
</template>
@@ -112,9 +112,9 @@
        //角色ID
        roleId: '',
        //用户名
        username: 'admin',
        username: '',
        //密码
        password: 'admin',
        password: '',
        //账号类型
        type: 'account',
        //验证码的值
@@ -313,13 +313,13 @@
  props: [],
  methods: {
    refreshCode() {
      if (this.website.captchaMode) {
        getCaptcha().then(res => {
          const data = res.data;
          this.loginForm.key = data.key;
          this.loginForm.image = data.image;
        });
      }
      // if (this.website.captchaMode) {
      //   getCaptcha().then(res => {
      //     const data = res.data;
      //     this.loginForm.key = data.key;
      //     this.loginForm.image = data.image;
      //   });
      // }
    },
    showPassword() {
      this.passwordType === '' ? (this.passwordType = 'password') : (this.passwordType = '');
src/store/modules/user.js
@@ -23,6 +23,7 @@
import { formatPath } from '@/router/avue-router';
import { ElMessage } from 'element-plus';
import { encrypt } from '@/utils/sm2';
import md5 from 'js-md5';
const user = {
  state: {
@@ -45,7 +46,7 @@
          userInfo.deptId,
          userInfo.roleId,
          userInfo.username,
          encrypt(userInfo.password),
          md5(userInfo.password),
          userInfo.type,
          userInfo.key,
          userInfo.code
yarn.lock
@@ -37,10 +37,10 @@
  resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz"
  integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==
"@esbuild/darwin-arm64@0.20.2":
"@esbuild/win32-x64@0.20.2":
  version "0.20.2"
  resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz"
  integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
  resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz"
  integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
"@floating-ui/core@^1.5.3":
  version "1.5.3"
@@ -175,10 +175,10 @@
    estree-walker "^2.0.2"
    picomatch "^2.3.1"
"@rollup/rollup-darwin-arm64@4.18.0":
"@rollup/rollup-win32-x64-msvc@4.18.0":
  version "4.18.0"
  resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz"
  integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
  resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz"
  integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==
"@saber/nf-design-base-elp@^1.2.0":
  version "1.2.0"
@@ -872,11 +872,6 @@
    graceful-fs "^4.2.0"
    jsonfile "^6.0.1"
    universalify "^2.0.0"
fsevents@~2.3.2, fsevents@~2.3.3:
  version "2.3.3"
  resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
glob-parent@^5.1.2, glob-parent@~5.1.2:
  version "5.1.2"