2022-09-06 11:02:02 +00:00
|
|
|
|
<!-- 网站信息 -->
|
|
|
|
|
|
<template>
|
|
|
|
|
|
<div class="login-register">
|
|
|
|
|
|
<el-form ref="formRef" :rules="rules" :model="formData" label-width="120px">
|
|
|
|
|
|
<el-card shadow="never" class="!border-none">
|
|
|
|
|
|
<div class="font-medium mb-7">通用设置</div>
|
|
|
|
|
|
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-form-item label="登录方式" prop="loginWay">
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<div>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-checkbox v-model="formData.loginWay[0]" :true-label="1" false-label="" label="登录" />
|
|
|
|
|
|
<el-checkbox v-model="formData.loginWay[1]" :true-label="2" false-label="" label="注册" />
|
2022-09-06 11:02:02 +00:00
|
|
|
|
|
|
|
|
|
|
<div class="form-tips">系统通用登录方式,至少选择一项</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-form-item label="强制绑定手机" prop="forceBindMobile">
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<div>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-switch v-model="formData.forceBindMobile" :active-value="1" :inactive-value="0" />
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<span class="mt-1 ml-2">{{
|
2022-09-07 08:24:24 +00:00
|
|
|
|
formData.forceBindMobile ? "开启" : "关闭"
|
2022-09-06 11:02:02 +00:00
|
|
|
|
}}</span>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="form-tips">
|
|
|
|
|
|
1、如果开启,则新用户在注册完成之后要强制绑定手机号<br />
|
|
|
|
|
|
2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-form-item label="政策协议" prop="openAgreement">
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<div>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-switch v-model="formData.openAgreement" :active-value="1" :inactive-value="0" />
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<span class="mt-1 ml-2">{{
|
2022-09-07 08:24:24 +00:00
|
|
|
|
formData.openAgreement ? "开启" : "关闭"
|
2022-09-06 11:02:02 +00:00
|
|
|
|
}}</span>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="form-tips">
|
|
|
|
|
|
登录/注册会员时,是否显示服务协议和隐私政策
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
|
|
<el-card shadow="never" class="!border-none mt-4">
|
|
|
|
|
|
<div class="font-medium mb-7">第三方设置</div>
|
|
|
|
|
|
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-form-item label="第三方登录" prop="openOtherAuth">
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<div>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-switch v-model="formData.openOtherAuth" :active-value="1" :inactive-value="0" />
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<span class="mt-1 ml-2">{{
|
2022-09-07 08:24:24 +00:00
|
|
|
|
formData.openOtherAuth ? "开启" : "关闭"
|
2022-09-06 11:02:02 +00:00
|
|
|
|
}}</span>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="form-tips">登录时支持第三方登录,新用户授权即自动注册账号</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-checkbox v-model="formData.autoLoginAuth[0]" :true-label="1" false-label=""
|
|
|
|
|
|
label="微信登录" />
|
|
|
|
|
|
<el-checkbox v-model="formData.autoLoginAuth[1]" :true-label="2" false-label=""
|
|
|
|
|
|
label="QQ登录" />
|
2022-09-06 11:02:02 +00:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
2022-09-07 08:24:24 +00:00
|
|
|
|
<el-form-item label="微信开放平台">
|
2022-09-06 11:02:02 +00:00
|
|
|
|
<div>
|
|
|
|
|
|
<a href="https://baidu.com" target="_blank">
|
|
|
|
|
|
<el-button type="primary" link class="underline">前往微信开放平台</el-button>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="form-tips">
|
|
|
|
|
|
1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台<br />
|
|
|
|
|
|
2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份<br />
|
|
|
|
|
|
3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-card>
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
|
|
<footer-btns v-perms="['setting:website:save']">
|
|
|
|
|
|
<el-button type="primary" @click="handleSubmit">保存</el-button>
|
|
|
|
|
|
</footer-btns>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
2022-09-07 08:24:24 +00:00
|
|
|
|
import type { LoginSetup } from "@/api/setting/user";
|
|
|
|
|
|
import { getLogin, setLogin } from "@/api/setting/user";
|
2022-09-06 11:02:02 +00:00
|
|
|
|
import feedback from "@/utils/feedback";
|
2022-09-07 08:24:24 +00:00
|
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
2022-09-06 11:02:02 +00:00
|
|
|
|
const formRef = ref<FormInstance>();
|
|
|
|
|
|
|
|
|
|
|
|
// 表单数据
|
2022-09-07 08:24:24 +00:00
|
|
|
|
const formData = reactive<LoginSetup>({
|
|
|
|
|
|
loginWay: [],
|
|
|
|
|
|
forceBindMobile: 0,
|
|
|
|
|
|
openAgreement: 0,
|
|
|
|
|
|
openOtherAuth: 0,
|
|
|
|
|
|
autoLoginAuth: [1, 2]
|
2022-09-06 11:02:02 +00:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 表单验证
|
2022-09-07 08:24:24 +00:00
|
|
|
|
const rules = reactive<FormRules>({
|
|
|
|
|
|
loginWay: [
|
2022-09-06 11:02:02 +00:00
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2022-09-07 08:24:24 +00:00
|
|
|
|
validator: (rule: any, value: any, callback: any) => {
|
|
|
|
|
|
const loginWay = formData.loginWay.join('').length
|
|
|
|
|
|
if (loginWay === 0) {
|
|
|
|
|
|
callback(new Error('登录方式至少选择一项!'))
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (formData.loginWay !== '') {
|
|
|
|
|
|
if (!formRef.value) return
|
|
|
|
|
|
formRef.value.validateField('checkPass', () => null)
|
|
|
|
|
|
}
|
|
|
|
|
|
callback()
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
|
}
|
2022-09-06 11:02:02 +00:00
|
|
|
|
],
|
2022-09-07 08:24:24 +00:00
|
|
|
|
forceBindMobile: [{ required: true, trigger: "blur" }],
|
|
|
|
|
|
openAgreement: [{ required: true, trigger: "blur" }],
|
|
|
|
|
|
openOtherAuth: [{ required: true, trigger: "blur" }],
|
|
|
|
|
|
});
|
2022-09-06 11:02:02 +00:00
|
|
|
|
|
|
|
|
|
|
// 获取备案信息
|
|
|
|
|
|
const getData = async () => {
|
2022-09-07 08:24:24 +00:00
|
|
|
|
const data = await getLogin();
|
2022-09-06 11:02:02 +00:00
|
|
|
|
for (const key in formData) {
|
|
|
|
|
|
//@ts-ignore
|
|
|
|
|
|
formData[key] = data[key];
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 设置备案信息
|
|
|
|
|
|
const handleSubmit = async () => {
|
2022-09-07 08:24:24 +00:00
|
|
|
|
const loginWay = formData.loginWay.join('')
|
|
|
|
|
|
const autoLoginAuth = formData.autoLoginAuth.join('')
|
|
|
|
|
|
|
2022-09-06 11:02:02 +00:00
|
|
|
|
await formRef.value?.validate();
|
2022-09-07 08:24:24 +00:00
|
|
|
|
await setLogin({
|
|
|
|
|
|
...formData,
|
|
|
|
|
|
loginWay: loginWay.length == 2 ? `${loginWay[0]},${loginWay[1]}` : loginWay,
|
|
|
|
|
|
autoLoginAuth: autoLoginAuth.length == 2 ? `${autoLoginAuth[0]},${autoLoginAuth[1]}` : autoLoginAuth,
|
|
|
|
|
|
|
|
|
|
|
|
});
|
2022-09-06 11:02:02 +00:00
|
|
|
|
feedback.msgSuccess("操作成功");
|
|
|
|
|
|
getData();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
getData();
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
</style>
|