| | |
| | | @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 |
| | |
| | | { |
| | | "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", |
| | |
| | | tenantId, |
| | | username, |
| | | password, |
| | | grant_type: website.captchaMode ? 'captcha' : 'password', |
| | | grant_type: 'password', |
| | | scope: 'all', |
| | | type, |
| | | }, |
| | |
| | | title: 'saber', |
| | | logo: 'X', |
| | | key: 'saber', //配置主键,目前用于存储 |
| | | indexTitle: 'BladeX 微服务平台', |
| | | indexTitle: '智慧园区平台', |
| | | clientId: 'saber3', // 客户端id |
| | | clientSecret: 'saber3_secret', // 客户端密钥 |
| | | tenantMode: true, // 是否开启租户模式 |
| | |
| | | }, |
| | | login: { |
| | | title: '登录 ', |
| | | info: 'BladeX 微服务平台', |
| | | info: '智慧园区平台', |
| | | tenantId: '请输入租户ID', |
| | | username: '请输入账号', |
| | | password: '请输入密码', |
| | |
| | | {{ 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> |
| | |
| | | :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" |
| | |
| | | <i class="icon-quanxian" /> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item prop="username"> |
| | | <el-input |
| | | @keyup.enter="handleLogin" |
| | |
| | | </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 |
| | |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | |
| | | :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> |
| | | |
| | |
| | | //角色ID |
| | | roleId: '', |
| | | //用户名 |
| | | username: 'admin', |
| | | username: '', |
| | | //密码 |
| | | password: 'admin', |
| | | password: '', |
| | | //账号类型 |
| | | type: 'account', |
| | | //验证码的值 |
| | |
| | | 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 = ''); |
| | |
| | | import { formatPath } from '@/router/avue-router'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { encrypt } from '@/utils/sm2'; |
| | | import md5 from 'js-md5'; |
| | | |
| | | const user = { |
| | | state: { |
| | |
| | | userInfo.deptId, |
| | | userInfo.roleId, |
| | | userInfo.username, |
| | | encrypt(userInfo.password), |
| | | md5(userInfo.password), |
| | | userInfo.type, |
| | | userInfo.key, |
| | | userInfo.code |
| | |
| | | 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" |
| | |
| | | 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" |
| | |
| | | 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" |