修复登录组册的bug

This commit is contained in:
Jason 2022-09-14 16:59:45 +08:00
parent cf99b35b79
commit 681e4eaa9c
1 changed files with 58 additions and 44 deletions

View File

@ -7,18 +7,23 @@
<el-form-item label="登录方式" prop="loginWay"> <el-form-item label="登录方式" prop="loginWay">
<div> <div>
<el-checkbox v-model="formData.loginWay[0]" :true-label="1" false-label="" label="登录" /> <el-checkbox-group v-model="formData.loginWay">
<el-checkbox v-model="formData.loginWay[1]" :true-label="2" false-label="" label="注册" /> <el-checkbox :label="1">账号密码登录</el-checkbox>
<el-checkbox :label="2">手机验证码登录</el-checkbox>
</el-checkbox-group>
<div class="form-tips">系统通用登录方式至少选择一项</div> <div class="form-tips">系统通用登录方式至少选择一项</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="强制绑定手机" prop="forceBindMobile"> <el-form-item label="强制绑定手机" prop="forceBindMobile">
<div> <div>
<el-switch v-model="formData.forceBindMobile" :active-value="1" :inactive-value="0" /> <el-switch
v-model="formData.forceBindMobile"
:active-value="1"
:inactive-value="0"
/>
<span class="mt-1 ml-2">{{ <span class="mt-1 ml-2">{{
formData.forceBindMobile ? "开启" : "关闭" formData.forceBindMobile ? '开启' : '关闭'
}}</span> }}</span>
<div class="form-tips"> <div class="form-tips">
@ -30,14 +35,16 @@
<el-form-item label="政策协议" prop="openAgreement"> <el-form-item label="政策协议" prop="openAgreement">
<div> <div>
<el-switch v-model="formData.openAgreement" :active-value="1" :inactive-value="0" /> <el-switch
<span class="mt-1 ml-2">{{ v-model="formData.openAgreement"
formData.openAgreement ? "开启" : "关闭" :active-value="1"
}}</span> :inactive-value="0"
/>
<span class="mt-1 ml-2">
{{ formData.openAgreement ? '开启' : '关闭' }}
</span>
<div class="form-tips"> <div class="form-tips">登录/注册会员时是否显示服务协议和隐私政策</div>
登录/注册会员时是否显示服务协议和隐私政策
</div>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@ -47,26 +54,32 @@
<el-form-item label="第三方登录" prop="openOtherAuth"> <el-form-item label="第三方登录" prop="openOtherAuth">
<div> <div>
<el-switch v-model="formData.openOtherAuth" :active-value="1" :inactive-value="0" /> <el-switch
<span class="mt-1 ml-2">{{ v-model="formData.openOtherAuth"
formData.openOtherAuth ? "开启" : "关闭" :active-value="1"
}}</span> :inactive-value="0"
/>
<span class="mt-1 ml-2">
{{ formData.openOtherAuth ? '开启' : '关闭' }}
</span>
<div class="form-tips">登录时支持第三方登录新用户授权即自动注册账号</div> <div class="form-tips">登录时支持第三方登录新用户授权即自动注册账号</div>
<div> <div>
<el-checkbox v-model="formData.autoLoginAuth[0]" :true-label="1" false-label="" <el-checkbox-group v-model="formData.autoLoginAuth">
label="微信登录" /> <el-checkbox :label="1">微信登录</el-checkbox>
<el-checkbox v-model="formData.autoLoginAuth[1]" :true-label="2" false-label="" <el-checkbox :label="2">QQ登录</el-checkbox>
label="QQ登录" /> </el-checkbox-group>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="微信开放平台"> <el-form-item label="微信开放平台">
<div> <div>
<a href="https://baidu.com" target="_blank"> <a href="https://open.weixin.qq.com/" target="_blank">
<el-button type="primary" link class="underline">前往微信开放平台</el-button> <el-button type="primary" link class="underline">
前往微信开放平台
</el-button>
</a> </a>
<div class="form-tips"> <div class="form-tips">
@ -86,11 +99,11 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import type { LoginSetup } from "@/api/setting/user"; import type { LoginSetup } from '@/api/setting/user'
import { getLogin, setLogin } from "@/api/setting/user"; import { getLogin, setLogin } from '@/api/setting/user'
import feedback from "@/utils/feedback"; import feedback from '@/utils/feedback'
import type { FormInstance, FormRules } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus'
const formRef = ref<FormInstance>(); const formRef = ref<FormInstance>()
// //
const formData = reactive<LoginSetup>({ const formData = reactive<LoginSetup>({
@ -99,7 +112,7 @@ const formData = reactive<LoginSetup>({
openAgreement: 0, openAgreement: 0,
openOtherAuth: 0, openOtherAuth: 0,
autoLoginAuth: [1, 2] autoLoginAuth: [1, 2]
}); })
// //
const rules = reactive<FormRules>({ const rules = reactive<FormRules>({
@ -121,46 +134,47 @@ const rules = reactive<FormRules>({
trigger: 'change' trigger: 'change'
} }
], ],
forceBindMobile: [{ required: true, trigger: "blur" }], forceBindMobile: [{ required: true, trigger: 'blur' }],
openAgreement: [{ required: true, trigger: "blur" }], openAgreement: [{ required: true, trigger: 'blur' }],
openOtherAuth: [{ required: true, trigger: "blur" }], openOtherAuth: [{ required: true, trigger: 'blur' }]
}); })
// //
const getData = async () => { const getData = async () => {
try { try {
const data = await getLogin(); const data = await getLogin()
for (const key in formData) { for (const key in formData) {
//@ts-ignore //@ts-ignore
formData[key] = data[key]; formData[key] = data[key]
} }
} catch (error) { } catch (error) {
console.log('获取=>', error) console.log('获取=>', error)
} }
}; }
// //
const handleSubmit = async () => { const handleSubmit = async () => {
const loginWay = formData.loginWay.join('') const loginWay = formData.loginWay.join('')
const autoLoginAuth = formData.autoLoginAuth.join('') const autoLoginAuth = formData.autoLoginAuth.join('')
await formRef.value?.validate(); await formRef.value?.validate()
try { try {
await setLogin({ await setLogin({
...formData, ...formData,
loginWay: loginWay.length == 2 ? `${loginWay[0]},${loginWay[1]}` : loginWay, loginWay: loginWay.length == 2 ? `${loginWay[0]},${loginWay[1]}` : loginWay,
autoLoginAuth: autoLoginAuth.length == 2 ? `${autoLoginAuth[0]},${autoLoginAuth[1]}` : autoLoginAuth, autoLoginAuth:
autoLoginAuth.length == 2
}); ? `${autoLoginAuth[0]},${autoLoginAuth[1]}`
feedback.msgSuccess("操作成功"); : autoLoginAuth
getData(); })
feedback.msgSuccess('操作成功')
getData()
} catch (error) { } catch (error) {
console.log('保存=>', error) console.log('保存=>', error)
} }
}; }
getData(); getData()
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped></style>
</style>