feat 同步站点统计的ui

This commit is contained in:
damonyuan 2024-11-18 15:01:05 +08:00
parent 237686d6fb
commit 905d9439cb
2 changed files with 91 additions and 0 deletions

View File

@ -25,3 +25,12 @@ export function getProtocol() {
export function setProtocol(params: any) {
return request.post({ url: '/setting.web.web_setting/setAgreement', params })
}
// 获取站点统计信息
export function getSiteStatistics() {
return request.get({ url: '/setting.web.web_setting/getSiteStatistics' })
}
// 设置网站信息
export function setSiteStatistics(params: any) {
return request.post({ url: '/setting.web.web_setting/setSiteStatistics', params })
}

View File

@ -0,0 +1,82 @@
<!-- 站点统计 -->
<template>
<div class="website-statistics">
<el-form
ref="formRef"
:rules="rules"
class="ls-form"
:model="formData"
scroll-to-error
label-width="120px"
>
<el-card shadow="never" class="!border-none">
<div class="text-xl font-medium mb-[20px]">Clarity配置</div>
<el-form-item label="应用ID" prop="clarity_code">
<div class="flex flex-col">
<div class="w-80">
<el-input
v-model.trim="formData.clarity_code"
placeholder="请填写应用ID"
maxlength="10"
show-word-limit
/>
</div>
<div class="form-tips">
请前往<a
class="text-primary"
href="https://clarity.microsoft.com"
target="_blank"
>
Clarity官网
</a>
创建Clarity统计应用
</div>
</div>
</el-form-item>
</el-card>
</el-form>
<footer-btns v-perms="['setting.web.web_setting/setWebsite']">
<el-button type="primary" @click="handleSubmit">保存</el-button>
</footer-btns>
</div>
</template>
<script lang="ts" setup name="webInformation">
import type { FormInstance } from 'element-plus'
import { getSiteStatistics, setSiteStatistics } from '@/api/setting/website'
const formRef = ref<FormInstance>()
//
const formData = reactive<{
clarity_code: string
}>({
clarity_code: '' // ClarityID
})
//
const rules = {}
//
const getData = async () => {
const data = await getSiteStatistics()
for (const key in formData) {
//@ts-ignore
formData[key] = data[key]
}
}
//
const handleSubmit = async () => {
await formRef.value?.validate()
await setSiteStatistics(formData)
getData()
}
onMounted(() => {
getData()
})
</script>
<style lang="scss" scoped></style>