Browse Source

翔安安全修改

master
bianyaqi 1 year ago
parent
commit
7de6b24eca
  1. 48
      src/mixins/passwordSet.js
  2. 5
      src/page-subspecialty/App.vue
  3. 6
      src/page-subspecialty/views/main-navbar-update-password.vue
  4. 6
      src/page-subspecialty/views/modules/systemManagement/team/edit-password.vue
  5. 25
      src/page-subspecialty/views/modules/systemManagement/team/team-add-or-update.vue
  6. 4
      vue.config.js

48
src/mixins/passwordSet.js

@ -0,0 +1,48 @@
export default {
data() {
return {
passwordSafeOne: 0,
passwordSafeTwo: 0
}
},
methods: {
// 进度格式
progressFormatOne(percentage) {
if (percentage === 100) {
return '强'
} else if (percentage === 33) {
return '弱'
} else if (percentage === 66) {
return '中'
}
},
// 设置密码强度
passwordOneChange(password) {
// 正则表单案例2
// 密码组成:纯数字、纯大小写字母
// 密码强度:一种:弱; 两种组成:中; 三种混合:强
// 密码长度校验
// 清除清除上一次密码检验的结果
// 密码强度校验
const weakReg = /^[0-9]{8,}$|^[a-zA-Z]{8,}$/
const mediumReg = /^(?:(?=.*[0-9])(?=.*[a-zA-Z])|(?=.*[0-9])(?=.*[^a-zA-Z0-9])|(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9])).{8,}$/
const strongReg = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,}$/
if (password.length <= 0) {
this.passwordSafeOne = 0
} else {
if (weakReg.test(password)) {
// 弱
this.passwordSafeOne = 33
}
if (mediumReg.test(password)) {
this.passwordSafeOne = 66
}
if (strongReg.test(password)) {
// 强
this.passwordSafeOne = 100
}
}
}
}
}

5
src/page-subspecialty/App.vue

@ -37,7 +37,10 @@ export default {
})
},
i18nHandle(val, oldVal) {
Cookies.set('language', val)
Cookies.set('language', val, {
secure: true,
httpOnly: true
})
document.querySelector('html').setAttribute('lang', val)
document.title = messages[val].brand.lg
//

6
src/page-subspecialty/views/main-navbar-update-password.vue

@ -14,7 +14,9 @@
<el-input v-model="dataForm.password" type="password" :placeholder="$t('updatePassword.password')" />
</el-form-item>
<el-form-item prop="newPassword" :label="$t('updatePassword.newPassword')">
<el-input v-model="dataForm.newPassword" type="password" :placeholder="$t('updatePassword.newPassword')" />
<el-input v-model="dataForm.newPassword" type="password" :placeholder="$t('updatePassword.newPassword')" @input="passwordOneChange" />
<el-progress :percentage="passwordSafeOne" :format="progressFormatOne" :color="passwordSafeOne===33 ? '#f56c6c' : (passwordSafeOne===100 ? '#67c23a' : '')" />
<p>密码至少8位,需涵盖大写小写字母数字特殊字符</p>
</el-form-item>
<el-form-item prop="confirmPassword" :label="$t('updatePassword.confirmPassword')">
<el-input v-model="dataForm.confirmPassword" type="password" :placeholder="$t('updatePassword.confirmPassword')" />
@ -31,7 +33,9 @@
import debounce from 'lodash/debounce'
import { clearLoginInfo } from '@/page-subspecialty/utils/request.js'
import { resetRouter } from '@/page-subspecialty/router/index.js'
import passwordSet from '@/mixins/passwordSet'
export default {
mixins: [passwordSet],
data() {
return {
visible: false,

6
src/page-subspecialty/views/modules/systemManagement/team/edit-password.vue

@ -2,7 +2,9 @@
<el-dialog class="team-edit-password-Dialog" :visible.sync="visible" width="30%" title="修改密码">
<el-form ref="dataForm" :model="dataForm" :rules="dataRule">
<el-form-item label="登录密码:" label-width="120px" prop="newPassword">
<el-input v-model="dataForm.newPassword" placeholder="请输入要修改的密码" />
<el-input v-model="dataForm.newPassword" placeholder="请输入要修改的密码" @input="passwordOneChange" />
<el-progress :percentage="passwordSafeOne" :format="progressFormatOne" :color="passwordSafeOne===33 ? '#f56c6c' : (passwordSafeOne===100 ? '#67c23a' : '')" />
<p>密码至少8位,需涵盖大写小写字母数字特殊字符</p>
</el-form-item>
<el-form-item prop="confirmPassword" label-width="120px" :label="$t('updatePassword.confirmPassword')">
<el-input v-model="dataForm.confirmPassword" :placeholder="$t('updatePassword.confirmPassword')" />
@ -19,7 +21,9 @@
import debounce from 'lodash/debounce'
import { clearLoginInfo } from '@/page-subspecialty/utils/request.js'
import { resetRouter } from '@/page-subspecialty/router/index.js'
import passwordSet from '@/mixins/passwordSet'
export default {
mixins: [passwordSet],
props: {
roleNameList: {
type: Array,

25
src/page-subspecialty/views/modules/systemManagement/team/team-add-or-update.vue

@ -17,7 +17,9 @@
<el-input v-model="dataForm.userIdNumber" placeholder="身份证" />
</el-form-item>
<el-form-item v-if="!dataForm.id" label="登录密码:" label-width="100px" prop="password">
<el-input v-model="dataForm.password" placeholder="请输入密码" />
<el-input v-model="dataForm.password" placeholder="请输入密码" @input="passwordOneChange" />
<el-progress :percentage="passwordSafeOne" :format="progressFormatOne" :color="passwordSafeOne===33 ? '#f56c6c' : (passwordSafeOne===100 ? '#67c23a' : '')" />
<p>密码至少8位,需涵盖大写小写字母数字特殊字符</p>
</el-form-item>
<el-form-item label="性别:" label-width="100px" prop="gender">
<el-radio-group v-model="dataForm.gender" size="medium">
@ -35,26 +37,7 @@
<el-radio-button label="视光医师">视光医师</el-radio-button>
</el-radio-group>
</el-form-item>
<!-- superAdmin0普通用户 1是慧目管理员 -->
<!-- <el-form-item v-if="loginInfo.superAdmin===1" label="所属医院:" label-width="90px" prop="centreId">-->
<!-- <el-select v-model="dataForm.centreId" placeholder="请选择">-->
<!-- <el-option v-for="item in centerList" :key="item.id" :label="item.name" :value="item.id" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="用户类型:" label-width="90px" prop="positionListValue">-->
<!-- <el-cascader-->
<!-- v-model="dataForm.positionListValue"-->
<!-- :options="positionList"-->
<!-- :props="props"-->
<!-- clearable-->
<!-- @change="positionChange"-->
<!-- />-->
<!-- &lt;!&ndash; <el-select v-model="dataForm.position" placeholder="请选择">-->
<!-- <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.name" />-->
<!-- </el-select> &ndash;&gt;-->
<!-- </el-form-item>-->
<el-form-item label="设置权限:" label-width="100px" prop="roleNameListValue">
<!-- :label="" :value="" :children="" -->
<el-cascader
v-model="dataForm.roleNameListValue"
:options="roleNameList"
@ -110,10 +93,12 @@
import cropper from './cropper.vue'
import debounce from 'lodash/debounce'
import { isMobile } from '@/utils/validate'
import passwordSet from '@/mixins/passwordSet'
export default {
components: {
cropper
},
mixins: [passwordSet],
props: {
roleNameList: {
type: Array,

4
vue.config.js

@ -46,6 +46,10 @@ module.exports = {
overlay: {
errors: true,
warnings: true
},
headers: {
'X-Frame-Options': 'SAMEORIGIN',
'Access-Control-Allow-Origin': '*'
}
// proxy: { // 配置跨域
// '/huimu-admin': {

Loading…
Cancel
Save