You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
6.9 KiB
245 lines
6.9 KiB
<template>
|
|
<view>
|
|
<cu-custom bgColor="bg-main-bar" :isBack="true">
|
|
<template #backText></template>
|
|
<template #content>账号安全</template>
|
|
</cu-custom>
|
|
|
|
<view class="cu-list menu mt-10">
|
|
<view class="cu-item" @tap="editAcc">
|
|
<view class="content">
|
|
<text class="cuIcon-settings text-grey"></text>
|
|
<text>我的账号</text>
|
|
</view>
|
|
<view class="action">
|
|
<text>{{userInfo.account}}</text>
|
|
<text class="text-grey cuIcon-right"></text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" @tap="modelName='show';editPass=true">
|
|
<view class="content">
|
|
<text class="cuIcon-lock text-green"></text>
|
|
<text>修改密码</text>
|
|
</view>
|
|
<view class="action">
|
|
<text class="text-grey cuIcon-right"></text>
|
|
</view>
|
|
</view>
|
|
<view class="cu-item" v-if='!userInfo.is_auth' @tap="modelName='show';editPass=false">
|
|
<view class="content padding-tb-sm">
|
|
<view>
|
|
<text class="cuIcon-vip text-orange ml-5"></text> <text class="ml-10">认证账户</text></view>
|
|
<view class="text-gray text-sm">
|
|
<text class="cuIcon-infofill ml-5 mr-10"></text> 验证账户的真实性,绑定后请使用新账户来登录!</view>
|
|
</view>
|
|
<view class="action">
|
|
<text class="text-grey cuIcon-right"></text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="padding flex flex-direction mt-40">
|
|
<button class="cu-btn bg-red lg" @tap="logout()">注销登录</button>
|
|
</view>
|
|
</view>
|
|
<view class="cu-modal bottom-modal" :class="modelName=='show'?'show':''" @tap="modelName=''">
|
|
<view class="cu-dialog" @tap.stop=''>
|
|
<view class="cu-bar bg-white">
|
|
<view class="action text-gray" @tap="modelName=''">取消</view>
|
|
<view class="action text-green" @tap="save">保存</view>
|
|
</view>
|
|
<view class="manage-content mb-20">
|
|
<view class="cu-list menu mt-15 bg-white">
|
|
<view class="cu-form-group text-right" v-if="userInfo.is_auth">
|
|
<view class="title">验证码</view>
|
|
<input placeholder="输入验证码" name="input" v-model="code" />
|
|
<button class='cu-btn bg-green shadow cu-load' :class="loading?'loading':''" :disabled="loading" @tap="sendCode(true)">发送验证码</button>
|
|
</view>
|
|
<template v-if="!editPass">
|
|
<view class="text-gray m-15 text-left">
|
|
<text class="cuIcon-infofill ml-5 mr-10"></text> 验证账户的真实性,绑定后请使用新账户来登录!
|
|
</view>
|
|
<view class="cu-form-group text-right">
|
|
<view class="title">新账号</view>
|
|
<input placeholder="输入新的邮箱或者手机号" name="input" v-model="account" />
|
|
</view>
|
|
<view class="cu-form-group text-right">
|
|
<view class="title">新账号验证码</view>
|
|
<input placeholder="输入验证码" name="input" v-model="newCode" />
|
|
<button class='cu-btn bg-green shadow cu-load' :class="loading?'loading':''" :disabled="loading" @tap="sendCode(false)">发送验证码</button>
|
|
</view>
|
|
</template>
|
|
<template v-else>
|
|
<view class="cu-form-group text-right" v-if="!userInfo.is_auth">
|
|
<view class="title">原密码</view>
|
|
<input placeholder="输入原来的密码" name="input" v-model="originalPassword" />
|
|
</view>
|
|
<view class="cu-form-group text-right">
|
|
<view class="title">新密码</view>
|
|
<input placeholder="输入新的密码" name="input" v-model="password" />
|
|
</view>
|
|
<view class="cu-form-group text-right">
|
|
<view class="title">重复新密码</view>
|
|
<input placeholder="重复输入新密码" name="input" v-model="repass" />
|
|
</view>
|
|
</template>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { useloginStore } from '@/store/login'
|
|
import pinia from '@/store/index'
|
|
import db from '@/utils/db';
|
|
|
|
const loginStore = useloginStore(pinia)
|
|
export default {
|
|
data() {
|
|
return {
|
|
userInfo:loginStore.userInfo,
|
|
globalConfig:loginStore.globalConfig,
|
|
modelName:'',
|
|
code:'',
|
|
account:'',
|
|
newCode:'',
|
|
password:'',
|
|
originalPassword:'',
|
|
repass:'',
|
|
loading:false,
|
|
editPass:false
|
|
}
|
|
},
|
|
onShow() {
|
|
|
|
},
|
|
methods: {
|
|
logout(){
|
|
let client_id=uni.getStorageSync('client_id');
|
|
this.$api.LoginApi.logout({client_id:client_id}).then(res => {
|
|
if (res.code == 0) {
|
|
this.dele();
|
|
loginStore.logout()
|
|
}
|
|
})
|
|
},
|
|
async dele(){
|
|
await db.executeSql('DELETE FROM chat_groups');
|
|
await db.executeSql('DELETE FROM getSystemInfo');
|
|
},
|
|
editAcc(){
|
|
if(!this.userInfo.is_auth){
|
|
uni.showToast({
|
|
title: '请先认证账户!',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
this.modelName='show';
|
|
this.editPass=false;
|
|
},
|
|
save(){
|
|
if(this.code=='' && this.userInfo.is_auth){
|
|
uni.showToast({
|
|
title: '请输入验证码',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
if(this.editPass){
|
|
if(this.password=='' || this.password.length<6 || this.password.length>16){
|
|
uni.showToast({
|
|
title: '请输入6-16个字符串的密码',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
if(this.password!=this.repass){
|
|
uni.showToast({
|
|
title: '两次密码不一致',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
let params = {
|
|
password:this.password,
|
|
code:this.code,
|
|
originalPassword:this.originalPassword
|
|
}
|
|
this.$api.msgApi.editPassword(params).then(res=>{
|
|
if(res.code==0){
|
|
this.modelName = '';
|
|
this.password = '';
|
|
this.repass = '';
|
|
uni.showToast({
|
|
title: res.msg,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
})
|
|
}else{
|
|
if(this.account==''){
|
|
uni.showToast({
|
|
title: '请输入新的账号',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
if(this.newCode==''){
|
|
uni.showToast({
|
|
title: '请输入新账号的验证码',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
let params = {
|
|
account:this.account,
|
|
code:this.code,
|
|
newCode:this.newCode
|
|
}
|
|
this.$api.msgApi.editAccount(params).then(res=>{
|
|
if(res.code==0){
|
|
this.modelName = '';
|
|
this.account = '';
|
|
this.code = '';
|
|
this.newCode = '';
|
|
uni.showToast({
|
|
title: "修改成功,请重新登陆",
|
|
icon: 'none'
|
|
});
|
|
|
|
}
|
|
})
|
|
}
|
|
},
|
|
sendCode(e){
|
|
let account=e ? this.userInfo.account : this.account;
|
|
let type = this.editPass ? 3 : 4;
|
|
if(account==''){
|
|
uni.showToast({
|
|
title: '请输入新的账号',
|
|
icon: 'none'
|
|
});
|
|
return false;
|
|
}
|
|
this.loading = true;
|
|
this.$api.LoginApi.sendCode({account:account,type:type}).then((res)=>{
|
|
uni.showToast({
|
|
title: res.msg,
|
|
icon: "none"
|
|
});
|
|
this.loading=false;
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.cu-load {
|
|
display: block;
|
|
line-height: 68rpx;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
|