用户注册和用户登录增加用户协议和隐私政策功能,需要用户同意协议才可注册和登录。

This commit is contained in:
清柯
2025-05-08 03:19:51 +08:00
parent 26c18fcd5a
commit c4fe6c825e
7 changed files with 429 additions and 8 deletions

View File

@@ -311,6 +311,25 @@
</div>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="用户协议" name="agreement">
<md-editor class="mgb20" v-model="agreement" :theme="store.theme" @on-upload-img="onUploadImg" />
<el-form-item>
<div style="padding-top: 10px; margin-left: 150px">
<el-button type="primary" @click="save('agreement')">保存</el-button>
</div>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="隐私声明" name="privacy">
<md-editor class="mgb20" v-model="privacy" :theme="store.theme" @on-upload-img="onUploadImg" />
<el-form-item>
<div style="padding-top: 10px; margin-left: 150px">
<el-button type="primary" @click="save('privacy')">保存</el-button>
</div>
</el-form-item>
</el-tab-pane>
<el-tab-pane label="思维导图" name="mark_map">
<md-editor class="mgb20" :theme="store.theme" v-model="system['mark_map_text']" @on-upload-img="onUploadImg" />
<el-form-item>
@@ -418,6 +437,8 @@ const loading = ref(true);
const systemFormRef = ref(null);
const models = ref([]);
const notice = ref("");
const agreement = ref("");
const privacy = ref("");
const license = ref({ is_active: false });
const menus = ref([]);
const mjModels = ref([
@@ -460,6 +481,24 @@ onMounted(() => {
ElMessage.error("公告信息失败: " + e.message);
});
// 加载用户协议
httpGet("/api/admin/config/get?key=agreement")
.then((res) => {
agreement.value = res.data["content"] || '';
})
.catch((e) => {
ElMessage.error("加载用户协议失败: " + e.message);
});
// 加载隐私政策
httpGet("/api/admin/config/get?key=privacy")
.then((res) => {
privacy.value = res.data["content"] || '';
})
.catch((e) => {
ElMessage.error("加载隐私政策失败: " + e.message);
});
httpGet("/api/admin/model/list")
.then((res) => {
models.value = res.data;
@@ -517,6 +556,22 @@ const save = function (key) {
.catch((e) => {
ElMessage.error("操作失败:" + e.message);
});
} else if (key === "agreement") {
httpPost("/api/admin/config/update", { key: key, config: { content: agreement.value, updated: true } })
.then(() => {
ElMessage.success("操作成功!");
})
.catch((e) => {
ElMessage.error("操作失败:" + e.message);
});
} else if (key === "privacy") {
httpPost("/api/admin/config/update", { key: key, config: { content: privacy.value, updated: true } })
.then(() => {
ElMessage.success("操作成功!");
})
.catch((e) => {
ElMessage.error("操作失败:" + e.message);
});
}
};