add mobile and email filed for user

This commit is contained in:
RockYang
2024-08-13 18:40:50 +08:00
parent 0ea4a29152
commit a2583c0591
15 changed files with 152 additions and 69 deletions

View File

@@ -48,7 +48,7 @@
<el-divider class="divider">其他登录方式</el-divider>
<div class="clogin">
<a class="wechat-login" :href="wechatLoginURL"><i class="iconfont icon-wechat"></i></a>
<a :href="wechatLoginURL"><i class="iconfont icon-wechat"></i></a>
</div>
</div>
</div>
@@ -76,6 +76,7 @@ import {setUserToken} from "@/store/session";
import ResetPass from "@/components/ResetPass.vue";
import {showMessageError} from "@/utils/dialog";
import Captcha from "@/components/Captcha.vue";
import QRCode from "qrcode";
const router = useRouter();
const title = ref('Geek-AI');
@@ -161,7 +162,6 @@ const doLogin = (verifyData) => {
showMessageError('登录失败,' + e.message)
})
}
</script>
<style lang="stylus" scoped>

View File

@@ -24,7 +24,8 @@
</div>
</template>
<template #extra>
<el-button type="primary" @click="finishLogin">我知道了</el-button>
<el-button type="primary" class="copy-user-info" :data-clipboard-text="'用户名'+username+' 密码'+password">复制</el-button>
<el-button type="danger" @click="finishLogin">关闭</el-button>
</template>
</el-result>
</el-dialog>
@@ -33,12 +34,14 @@
</template>
<script setup>
import {ref} from "vue"
import {onMounted, onUnmounted, ref} from "vue"
import {useRouter} from "vue-router"
import {ElMessage, ElMessageBox} from "element-plus";
import {httpGet} from "@/utils/http";
import {setUserToken} from "@/store/session";
import {isMobile} from "@/utils/libs";
import Clipboard from "clipboard";
import {showMessageError, showMessageOK} from "@/utils/dialog";
const winHeight = ref(window.innerHeight)
const loading = ref(true)
@@ -74,7 +77,25 @@ if (code === "") {
})
})
}
const clipboard = ref(null)
onMounted(() => {
clipboard.value = new Clipboard('.copy-user-info');
clipboard.value.on('success', () => {
showMessageOK('复制成功!');
})
clipboard.value.on('error', () => {
showMessageError('复制失败!');
})
})
onUnmounted(() => {
clipboard.value.destroy();
})
const finishLogin = () => {
show.value = false
if (isMobile()) {
router.push('/mobile')
} else {

View File

@@ -10,7 +10,7 @@
<el-button type="primary" @click="showPasswordDialog = true">修改密码</el-button>
</el-col>
<el-col :span="12">
<el-button type="primary" @click="showBindMobileDialog = true">更改账号</el-button>
<el-button type="primary" @click="showBindMobileDialog = true">绑定手机</el-button>
</el-col>
<el-col :span="24">
<el-button type="success" @click="showRedeemVerifyDialog = true">兑换码核销
@@ -93,8 +93,7 @@
<password-dialog v-if="isLogin" :show="showPasswordDialog" @hide="showPasswordDialog = false"
@logout="logout"/>
<bind-mobile v-if="isLogin" :show="showBindMobileDialog" :username="user.username"
@hide="showBindMobileDialog = false"/>
<bind-mobile v-if="isLogin" :show="showBindMobileDialog" @hide="showBindMobileDialog = false"/>
<redeem-verify v-if="isLogin" :show="showRedeemVerifyDialog" @hide="redeemCallback"/>
@@ -143,7 +142,7 @@ import {InfoFilled, SuccessFilled} from "@element-plus/icons-vue";
import {checkSession, getSystemInfo} from "@/store/cache";
import UserProfile from "@/components/UserProfile.vue";
import PasswordDialog from "@/components/PasswordDialog.vue";
import BindMobile from "@/components/ResetAccount.vue";
import BindMobile from "@/components/BindMobile.vue";
import RedeemVerify from "@/components/RedeemVerify.vue";
import {useRouter} from "vue-router";
import {removeUserToken} from "@/store/session";

View File

@@ -41,7 +41,7 @@
</el-input>
</el-col>
<el-col :span="12">
<send-msg size="large" :receiver="data.username"/>
<send-msg size="large" :receiver="data.username" type="mobile"/>
</el-col>
</el-row>
</div>
@@ -50,7 +50,7 @@
<div class="block">
<el-input placeholder="邮箱地址"
size="large"
v-model="data.username"
v-model="data.email"
autocomplete="off">
<template #prefix>
<el-icon>
@@ -74,7 +74,7 @@
</el-input>
</el-col>
<el-col :span="12">
<send-msg size="large" :receiver="data.username"/>
<send-msg size="large" :receiver="data.email" type="email"/>
</el-col>
</el-row>
</div>
@@ -135,13 +135,17 @@
<el-row class="btn-row" :gutter="20">
<el-col :span="24">
<el-button class="login-btn" type="primary" size="large" @click="submitRegister">注册</el-button>
<el-button class="login-btn" type="primary" size="large" @click="submitRegister" >注册</el-button>
</el-col>
</el-row>
<el-row class="text-line">
已经有账号
<el-link type="primary" @click="router.push('/login')">登录</el-link>
<el-row class="text-line" :gutter="24">
<el-col :span="12">
<el-link type="primary" @click="router.push('/login')">登录</el-link>
</el-col>
<el-col :span="12">
<el-link type="primary" @click="router.push('/')">首页</el-link>
</el-col>
</el-row>
</el-form>
@@ -375,6 +379,10 @@ const doSubmitRegister = (verifyData) => {
justify-content center
padding-top 10px;
font-size 14px;
.el-col {
text-align center
}
}
}
}

View File

@@ -262,9 +262,7 @@ const removeUser = function (user) {
).then(() => {
httpGet('/api/admin/user/remove', {id: user.id}).then(() => {
ElMessage.success('操作成功!')
users.value.items = removeArrayItem(users.value.items, user, function (v1, v2) {
return v1.id === v2.id
})
fetchUserList(users.value.page, users.value.page_size)
}).catch((e) => {
ElMessage.error('操作失败,' + e.message)
})