等保测试

master
liangliang.Li 3 years ago
parent 02e7cd190f
commit 3a3afa1b1b
  1. 11
      src/components/common/Header.vue
  2. 1
      src/components/common/Studentcommon/FictitiousList.vue
  3. 1
      src/components/page/Assessment.vue
  4. 13
      src/components/page/ClientLogin.vue
  5. 29
      src/components/page/Login.vue
  6. 85
      src/components/page/PersonalCenter.vue
  7. 10
      src/components/page/RegisterForm.vue
  8. 3
      src/utils/api.js

@ -36,9 +36,14 @@ export default {
}, },
methods: { methods: {
loginout() { loginout() {
this.$store.replaceState({}) this.$get(this.api.logout,{
sessionStorage.removeItem('kd_client_username'); token:this.$store.state.token
this.$router.push('/login') }).then(res => {
this.$store.replaceState({})
sessionStorage.removeItem('kd_client_username');
this.$router.push('/login')
})
// location.reload() // location.reload()
}, },
toPersonalCenter(){ toPersonalCenter(){

@ -42,7 +42,6 @@ export default {
}; };
}, },
created() { created() {
console.log(11,this.$route)
this.getData(); this.getData();
}, },
methods: { methods: {

@ -146,7 +146,6 @@ export default {
} }
}, },
mounted() { mounted() {
console.log(22,this.pattern)
this.getClass() this.getClass()
this.getData() this.getData()
this.timer = setInterval(this.getData,1000) this.timer = setInterval(this.getData,1000)

@ -55,7 +55,7 @@
<el-button type="text" class="forget" @click="forget">忘记密码</el-button> <el-button type="text" class="forget" @click="forget">忘记密码</el-button>
</div> </div>
</div> </div>
<register v-else :isReg.sync="isReg" @updateInfo="updateInfo"></register> <register v-else :isReg.sync="isReg" @updateInfo="updateInfo" @showDialog="showDialog"></register>
</div> </div>
<!-- 选择角色 --> <!-- 选择角色 -->
@ -116,6 +116,9 @@
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog title="个人隐私协议" :visible.sync="privacyVisible" width="40%" center>
<div v-html="privacyAgreement">&nbsp;</div>
</el-dialog>
</div> </div>
</template> </template>
@ -165,6 +168,8 @@ export default {
phoneOpener: '', phoneOpener: '',
urlData:'', urlData:'',
type:'', type:'',
privacyVisible:false,
privacyAgreement:`<div &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下隐私协议是本学校对用户隐私保护的许诺,请您务必仔细阅读本协议,以了解我们关于管理您个人信息的情况。本隐私协议的全部条款属于本软件用户服务协议的重要部份之一。<br />\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为了给您提供更准确、更有针对性的服务,本软件可能会以如下方式,使用您提交的个人信息。但本软件会以高度的勤勉义务对待这些信息,在未征得您许可的情况下,不会将这些信息对外公开或向第三方提供。</p>\n<p>一、保有您提供的信息</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本软件会在您自愿选择服务或提供信息的情况下收集您的个人信息,并将这些信息进行整合,以便向您提供更好的用户服务。请您在注册时及时、详尽及准确的提供个人资料,并不断更新注册资料,符合及时、详尽准确的要求。所有原始键入的资料将引用为注册资料。如果因注册信息不真实而引起的问题,由您自行承担相应的后果。请您不要将您的帐号、密码转让或出借予他人使用。如您发现您的帐号遭他人非法使用,应立即通知本软件。因黑客行为或用户的保管疏忽导致帐号、密码遭他人非法使用,本软件不承担责任。</p>\n<p>二、保有您的使用记录</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当您使用本软件的服务时,服务器会自动记录一些信息,包括手机型号、IP地址等。</p>\n<p> 在如下情况下,本软件会遵照您的意愿或法律的规定披露您的个人信息,由此引发的问题将由您个人承担:<br />\n(1)事先获得您的授权;<br />\n(2)只有透露你的个人资料,才能提供你所要求的产品和服务;<br />\n(3)根据有关的法律法规要求;<br />\n(4)按照相关政府主管部门的要求;<br />\n(5)为维护本软件的合法权益。<br />\n(6)您同意让第三方共享资料。<br />\n(7)我们发现您违反了本软件的服务条款或使用规定。<br />\n(8)我们需要向代表我们提供产品或服务的学校提供资料(除非我们另行通知你,否则这些学校无权使用你的身份识别资料)。</p>\n<p>三、本《隐私政策》不适用于以下情况:</p>\n<p>(1)通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息。本政策仅适用于我们所收集的信息,并不适用于任何第三方提供的服务或第三方的信息使用规则,我们对任何第三方使用由您提供的信息不承担任何责任;</p>\n<p>(2)通过在我们服务中进行广告服务的其他学校或机构所收集的信息。</p>\n<p>四、隐私权政策的修订</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我们可能适时修订本政策的条款,修订政策也是构成本政策的一部分。如修订政策造成您在本政策下权利的实质减少,我们将在修订生效前通过在主页上显著位置提示或向您发送电子邮件或以其他方式通知您。在该种情况下,若您继续使用我们的服务,即表示同意受经修订的本政策的约束。</p>\n<p>五、用户如何更正或投诉个人信息</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果您需要查询、修改或更正您的个人信息,或对个人信息保护问题有任何疑问或建议,您可以通过服务支持邮箱msdw@maxsdsp.com联系我们。</p>\n<p>著作权归本学校所有。商业转载请联系作者获得授权,非商业转载请注明出处。</p>\n`,
accountName:'' accountName:''
}; };
}, },
@ -179,8 +184,12 @@ export default {
clearInterval(this.emailTimer) clearInterval(this.emailTimer)
this.emailTimer = null this.emailTimer = null
}) })
}, },
methods: { methods: {
//
showDialog(data){
this.privacyVisible = data.isShow
},
//type //type
//01 //01
autoLogin(){ autoLogin(){

@ -75,32 +75,7 @@ export default {
// //
userAuth(){ userAuth(){
location.href = 'https://finance.uestc.cn/liuwanr/userInfo/loginSchoolPerson' location.href = 'https://finance.uestc.cn/liuwanr/userInfo/loginSchoolPerson'
// axios.interceptors.response.use(response => {
// // let res = JSON.parse(response.request.response)
// console.log('=>',response.request)
// // window.location.href = res.url
// return response;
// }, error => {
// return Promise.reject(error);
// })
// axios({
// url:'https://finance.uestc.cn/liuwanr/userInfo/loginSchoolPerson',
// method:'get',
// })
// this.$get(this.api.loginSchoolPerson).then(res =>{
// // window.location.href = res.url
// }).catch(err=>{})
}, },
//
// async userAuth(){
// let rest = await this.$get(this.api.loginSchoolPerson)
// window.location.href = rest.url
// // console.log('res1=>',rest);
// },
accessNum(){ accessNum(){
this.$get(this.api.getAccessNum).then(res =>{ this.$get(this.api.getAccessNum).then(res =>{
this.proAccessNum.currentNum = res.currentNum, this.proAccessNum.currentNum = res.currentNum,
@ -109,8 +84,8 @@ export default {
}).catch(err=>{}) }).catch(err=>{})
}, },
toClient(){ toClient(){
// location.href = location.host.includes('116.63.168.79') ? 'http://116.63.168.79/kdclient/#/clientLogin?type=0' : 'https://finance.uestc.cn/kdclient/#/clientLogin?type=0' location.href = location.host.includes('116.63.168.79') ? 'http://116.63.168.79/kdclient/#/clientLogin?type=0' : 'https://finance.uestc.cn/kdclient/#/clientLogin?type=0'
this.$router.push(`/clientLogin?type=1&account=2017000000013`) // this.$router.push(`/clientLogin?type=0`)
this.visiteShow = false this.visiteShow = false
}, },
toMang(){ toMang(){

@ -37,6 +37,20 @@
</label> --> </label> -->
</div> </div>
<div class="item"> <div class="item">
<span>教育程度</span>
<el-select
v-model="personalInformation.educationDegree"
placeholder="请选择教育程度"
>
<el-option
v-for="(item,index) in educationDegreeList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</div>
<!-- <div class="item">
<span>所在国家</span> <span>所在国家</span>
<el-select <el-select
v-model="personalInformation.countries" v-model="personalInformation.countries"
@ -49,7 +63,7 @@
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>
</div> </div> -->
</div> </div>
<div class="line"> <div class="line">
<div class="item"> <div class="item">
@ -100,7 +114,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="line"> <!-- <div class="line">
<div class="item"> <div class="item">
<span>出生年月日</span> <span>出生年月日</span>
<el-date-picker <el-date-picker
@ -114,9 +128,9 @@
<span>证件</span> <span>证件</span>
<input id="idnumber" class="idnumber" placeholder="请输入证件" type="text" v-model="personalInformation.idNumber"/> <input id="idnumber" class="idnumber" placeholder="请输入证件" type="text" v-model="personalInformation.idNumber"/>
</div> </div>
</div> </div> -->
<div class="line"> <div class="line">
<div class="item"> <!-- <div class="item">
<span>教育程度</span> <span>教育程度</span>
<el-select <el-select
v-model="personalInformation.educationDegree" v-model="personalInformation.educationDegree"
@ -129,23 +143,23 @@
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>
</div> </div> -->
<div class="item"> <!-- <div class="item">
<span>当前所在学校</span> <span>当前所在学校</span>
<el-select v-model="personalInformation.schoolAppellationId" filterable placeholder="请选择学校" class="school"> <el-select v-model="personalInformation.schoolAppellationId" filterable placeholder="请选择学校" class="school">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option> <el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select> </el-select>
</div> </div> -->
</div> </div>
<!-- 个人档案 --> <!-- 个人档案 -->
<p class="meta-title plus"> <!-- <p class="meta-title plus">
<span>个人档案</span> <span>个人档案</span>
<el-button type="text" icon="el-icon-plus" @click="addArch">新增</el-button> <el-button type="text" icon="el-icon-plus" @click="addArch">新增</el-button>
</p> </p> -->
</div> </div>
<div class="information" style="margin-top: 20px;"> <!-- <div class="information" style="margin-top: 20px;">
<div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch"> <div class="archives" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch">
<div class="line"> <div class="line">
<div class="item"> <div class="item">
@ -247,7 +261,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
<div class="fold" v-if="archivesList.length > 1"> <div class="fold" v-if="archivesList.length > 1">
<img :class="{ 'arrowTransform': showArch, 'arrowTransformReturn': !showArch}" style="width: 21px;height: 17px;" src="../../assets/img/open.png" alt="" @click="foldArch"> <img :class="{ 'arrowTransform': showArch, 'arrowTransformReturn': !showArch}" style="width: 21px;height: 17px;" src="../../assets/img/open.png" alt="" @click="foldArch">
@ -270,34 +284,41 @@
/> />
</div> </div>
<div class="item"> <div class="item">
<span>密码</span>
<div class="btns flex-end-content">
<el-button type="primary" size="small" @click="bindPassword">更换</el-button>
</div>
</div>
</div>
<div class="line">
<!-- <div class="item">
<span>手机号</span> <span>手机号</span>
<div class="btns flex-between"> <div class="btns flex-between">
<span>{{personalInformation.phone}}</span> <span>{{personalInformation.phone}}</span>
<el-button v-if="personalInformation.phone" type="primary" size="small" @click="bindPhone">更换</el-button> <el-button v-if="personalInformation.phone" type="primary" size="small" @click="bindPhone">更换</el-button>
<el-button v-else type="primary" size="small" @click="bindPhone">绑定</el-button> <el-button v-else type="primary" size="small" @click="bindPhone">绑定</el-button>
</div> </div>
</div> </div> -->
</div> <!-- <div class="item">
<div class="line">
<div class="item">
<span>邮箱</span> <span>邮箱</span>
<div class="btns flex-between"> <div class="btns flex-between">
<span>{{personalInformation.email}}</span> <span>{{personalInformation.email}}</span>
<el-button v-if="personalInformation.email" type="primary" size="small" @click="bindEmail">更换</el-button> <el-button v-if="personalInformation.email" type="primary" size="small" @click="bindEmail">更换</el-button>
<el-button v-else type="primary" size="small" @click="bindEmail">绑定</el-button> <el-button v-else type="primary" size="small" @click="bindEmail">绑定</el-button>
</div> </div>
</div> </div> -->
<!-- <div class="item"> <!-- <div class="item">
<span>微信</span> <span>微信</span>
<input id="weChat" class="weChat" disabled placeholder="微信" type="text" v-model="personalInformation.weChatID"/> <input id="weChat" class="weChat" disabled placeholder="微信" type="text" v-model="personalInformation.weChatID"/>
</div> --> </div> -->
<div class="line"> <div class="line">
<div class="item"> <!-- <div class="item">
<span>密码</span> <span>密码</span>
<div class="btns flex-end-content"> <div class="btns flex-end-content">
<el-button type="primary" size="small" @click="bindPassword">更换</el-button> <el-button type="primary" size="small" @click="bindPassword">更换</el-button>
</div> </div>
</div> </div> -->
<!-- <div class="item"></div> --> <!-- <div class="item"></div> -->
</div> </div>
</div> </div>
@ -596,14 +617,6 @@ export default {
}else{ }else{
this.$set(e, 'ProfessionalList', []); this.$set(e, 'ProfessionalList', []);
} }
// if(e.provinceId){
// this.$get(this.api.queryCity,{provinceId: e.provinceId}).then(res => {
// this.$set(e, 'cityList', res.message);
// }).catch(res => {});
// }else{
// this.$set(e, 'cityList', []);
// }
console.log(11,window.scrollTo)
}) })
}else{ }else{
this.concatArch(1) this.concatArch(1)
@ -644,7 +657,7 @@ export default {
this.archivesList.forEach((n,k) => { this.archivesList.forEach((n,k) => {
if(!n.personalCareerId) isEmpty = true if(!n.personalCareerId) isEmpty = true
}) })
if(isEmpty) return this.$message.warning('请选择职业'); // if(isEmpty) return this.$message.warning('');
this.showArch = true this.showArch = true
this.concatArch() this.concatArch()
}, },
@ -722,14 +735,6 @@ export default {
this.archivesList[index].professionalClassName = '' this.archivesList[index].professionalClassName = ''
this.archivesList[index].professionalId = '' this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = '' this.archivesList[index].professionalName = ''
// this.archivesList.map(e =>{
// if(e.disciplineId == item){
// e.professionalClassId = '',
// e.professionalClassName = '',
// e.professionalId = '',
// e.professionalName = ''
// }
// })
}, },
getItemProfessionalClass(item,index){ getItemProfessionalClass(item,index){
this.clearItemClass(index) this.clearItemClass(index)
@ -772,12 +777,6 @@ export default {
clearItemProfess(index){ clearItemProfess(index){
this.archivesList[index].professionalId = '' this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = '' this.archivesList[index].professionalName = ''
// this.archivesList.map(e =>{
// if(e.professionalClassId == item){
// e.professionalId = '',
// e.professionalName = ''
// }
// })
}, },
getItemProfessional(item,index){ getItemProfessional(item,index){
this.clearItemProfess(index) this.clearItemProfess(index)
@ -830,7 +829,7 @@ export default {
if(!n.personalCareerId) isEmpty = true if(!n.personalCareerId) isEmpty = true
n.userId = this.userId n.userId = this.userId
}) })
if(isEmpty) return this.$message.warning('请选择职业') // if(isEmpty) return this.$message.warning('')
if(this.personalInformation.idNumber && !/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/.test(this.personalInformation.idNumber)) return this.$message.warning('请输入正确的证件号码') if(this.personalInformation.idNumber && !/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/.test(this.personalInformation.idNumber)) return this.$message.warning('请输入正确的证件号码')
let personalInformation = this.personalInformation let personalInformation = this.personalInformation
let userInfoEntity = { let userInfoEntity = {
@ -884,7 +883,6 @@ export default {
if(!this.emailTimer){ if(!this.emailTimer){
this.emailDisabled = true this.emailDisabled = true
this.emailTimer = setInterval(() => { this.emailTimer = setInterval(() => {
console.log('倒计时中')
if(count > 0){ if(count > 0){
count-- count--
this.emailBtnText = `${count}秒后重试` this.emailBtnText = `${count}秒后重试`
@ -902,7 +900,6 @@ export default {
if(!this.phoneTimer){ if(!this.phoneTimer){
this.phoneDisabled = true this.phoneDisabled = true
this.phoneTimer = setInterval(() => { this.phoneTimer = setInterval(() => {
console.log('倒计时中')
if(count > 0){ if(count > 0){
count-- count--
this.phoneBtnText = `${count}秒后重试` this.phoneBtnText = `${count}秒后重试`

@ -66,8 +66,16 @@
<img :src="verifyCode" style="cursor: pointer;" @click="getVerificationCode" title="看不清?换一张" /> <img :src="verifyCode" style="cursor: pointer;" @click="getVerificationCode" title="看不清?换一张" />
</el-form-item> </el-form-item>
</div> </div>
<div class="line">
<el-checkbox v-model="checked" >
<div @click.prevent>
<span>我同意</span><span @click="$emit('showDialog',{isShow:true})" style="color:#328aff">电子科技大学虚拟仿真用户隐私协议</span>
</div>
</el-checkbox>
</div>
<el-button class="submit" type="primary" @click="registerForm">注册</el-button> <el-button class="submit" type="primary" @click="registerForm">注册</el-button>
</el-form> </el-form>
</div> </div>
</template> </template>
@ -109,6 +117,7 @@ export default {
{ pattern: /^.{8,}$/, message: '请输入8位数以上的密码', trigger: 'blur' } { pattern: /^.{8,}$/, message: '请输入8位数以上的密码', trigger: 'blur' }
] ]
}, },
checked:false,
provinceList: this.$store.state.provinceList, // provinceList: this.$store.state.provinceList, //
cityList: [], // cityList: [], //
schoolList: [], schoolList: [],
@ -148,6 +157,7 @@ export default {
}).catch(res => {}); }).catch(res => {});
}, },
registerForm() { registerForm() {
if(!this.checked) return this.$message.error('请阅读并勾选用户隐私协议')
if(!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(this.regForm.password)) return this.$message.error('请输入8位数以上且包含数字、字母、下划线的密码') if(!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(this.regForm.password)) return this.$message.error('请输入8位数以上且包含数字、字母、下划线的密码')
this.$refs.reg.validate(valid => { this.$refs.reg.validate(valid => {
if (valid) { if (valid) {

@ -13,7 +13,8 @@ if(process.env.NODE_ENV === 'development'){
} }
export default { export default {
logins: `${host}/liuwanr/userInfo/logins`, //登录  logins: `${host}/liuwanr/userInfo/logins`, //登录
logout: `${host}/liuwanr/userInfo/logout`,//退出登录
resetUserPwd: `${host}/liuwanr/userInfo/resetUserPwd`, //更改密码 resetUserPwd: `${host}/liuwanr/userInfo/resetUserPwd`, //更改密码
isRequiredReset: `${host}/liuwanr/userInfo/isRequiredReset`, //密码是否为默认密码 isRequiredReset: `${host}/liuwanr/userInfo/isRequiredReset`, //密码是否为默认密码
getAccountPassword: `${host}/evaluation/tms/userInfo/getAccountPassword`, //获取账号密码 getAccountPassword: `${host}/evaluation/tms/userInfo/getAccountPassword`, //获取账号密码

Loading…
Cancel
Save