134 lines
5.1 KiB
Vue
134 lines
5.1 KiB
Vue
|
|
<!-- 网站信息 -->
|
|||
|
|
<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>
|
|||
|
|
|
|||
|
|
<el-form-item label="登录方式" prop="methods">
|
|||
|
|
<div>
|
|||
|
|
<el-checkbox v-model="formData.methods" true-label="1" false-label="2" label="登录" />
|
|||
|
|
<el-checkbox v-model="formData.methods" true-label="1" false-label="2" label="注册" />
|
|||
|
|
|
|||
|
|
<div class="form-tips">系统通用登录方式,至少选择一项</div>
|
|||
|
|
</div>
|
|||
|
|
</el-form-item>
|
|||
|
|
|
|||
|
|
<el-form-item label="强制绑定手机" prop="favicon" required>
|
|||
|
|
<div>
|
|||
|
|
<el-switch v-model="formData.isBindMobile" />
|
|||
|
|
<span class="mt-1 ml-2">{{
|
|||
|
|
formData.isBindMobile ? "开启" : "关闭"
|
|||
|
|
}}</span>
|
|||
|
|
|
|||
|
|
<div class="form-tips">
|
|||
|
|
1、如果开启,则新用户在注册完成之后要强制绑定手机号<br />
|
|||
|
|
2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</el-form-item>
|
|||
|
|
|
|||
|
|
<el-form-item label="政策协议" prop="favicon" required>
|
|||
|
|
<div>
|
|||
|
|
<el-switch v-model="formData.isBindMobile" />
|
|||
|
|
<span class="mt-1 ml-2">{{
|
|||
|
|
formData.isBindMobile ? "开启" : "关闭"
|
|||
|
|
}}</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>
|
|||
|
|
|
|||
|
|
<el-form-item label="第三方登录" prop="methods">
|
|||
|
|
<div>
|
|||
|
|
<el-switch v-model="formData.isBindMobile" />
|
|||
|
|
<span class="mt-1 ml-2">{{
|
|||
|
|
formData.isBindMobile ? "开启" : "关闭"
|
|||
|
|
}}</span>
|
|||
|
|
|
|||
|
|
<div class="form-tips">登录时支持第三方登录,新用户授权即自动注册账号</div>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<el-checkbox v-model="formData.methods" true-label="1" false-label="2" label="登录" />
|
|||
|
|
<el-checkbox v-model="formData.methods" true-label="1" false-label="2" label="注册" />
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</el-form-item>
|
|||
|
|
|
|||
|
|
<el-form-item label="微信开放平台" prop="favicon" required>
|
|||
|
|
<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>
|
|||
|
|
import { getWebsite, setWebsite } from "@/api/setting/website";
|
|||
|
|
import feedback from "@/utils/feedback";
|
|||
|
|
import type { FormInstance } from "element-plus";
|
|||
|
|
const formRef = ref<FormInstance>();
|
|||
|
|
|
|||
|
|
// 表单数据
|
|||
|
|
const formData = reactive({
|
|||
|
|
methods: 1, // 登录方式
|
|||
|
|
isBindMobile: 1, // 是否强制绑定手机号码
|
|||
|
|
favicon: "", // 网站图标
|
|||
|
|
logo: "", // 网站logo
|
|||
|
|
backdrop: "", // 登录页广告图
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 表单验证
|
|||
|
|
const rules = {
|
|||
|
|
name: [
|
|||
|
|
{
|
|||
|
|
required: true,
|
|||
|
|
message: "请输入网站名称",
|
|||
|
|
trigger: ["blur"],
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 获取备案信息
|
|||
|
|
const getData = async () => {
|
|||
|
|
const data = await getWebsite();
|
|||
|
|
for (const key in formData) {
|
|||
|
|
//@ts-ignore
|
|||
|
|
formData[key] = data[key];
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// 设置备案信息
|
|||
|
|
const handleSubmit = async () => {
|
|||
|
|
await formRef.value?.validate();
|
|||
|
|
await setWebsite(formData);
|
|||
|
|
feedback.msgSuccess("操作成功");
|
|||
|
|
getData();
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
getData();
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
</style>
|