feat(compliance): add content compliance detection across tenant, ops, and clients
Implements the Revision 8/9 compliance design: tenant + ops backends, ops-web content-safety pages, admin-web editor/publish gate integration, desktop publish block surfacing, and supporting migrations / shared types / config plumbing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<div class="platform-scope-picker">
|
||||
<a-radio-group :value="scope" @change="onScopeChange">
|
||||
<a-radio value="all">全部平台</a-radio>
|
||||
<a-radio value="specific">指定平台</a-radio>
|
||||
</a-radio-group>
|
||||
<a-select
|
||||
mode="multiple"
|
||||
class="platform-scope-picker__select"
|
||||
:value="platforms"
|
||||
:disabled="scope === 'all'"
|
||||
:options="publishPlatformOptions"
|
||||
placeholder="选择适用平台"
|
||||
@change="onPlatformsChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { RadioChangeEvent } from 'ant-design-vue'
|
||||
|
||||
import { publishPlatformOptions } from '@/lib/compliance-display'
|
||||
import type { CompliancePlatformScope } from '@/lib/compliance'
|
||||
|
||||
defineProps<{
|
||||
scope: CompliancePlatformScope
|
||||
platforms: string[]
|
||||
}>()
|
||||
|
||||
const emit = defineEmits<{
|
||||
'update:scope': [value: CompliancePlatformScope]
|
||||
'update:platforms': [value: string[]]
|
||||
}>()
|
||||
|
||||
function onScopeChange(event: RadioChangeEvent) {
|
||||
const value = event.target.value as CompliancePlatformScope
|
||||
emit('update:scope', value)
|
||||
if (value === 'all') {
|
||||
emit('update:platforms', [])
|
||||
}
|
||||
}
|
||||
|
||||
function onPlatformsChange(value: string[]) {
|
||||
emit('update:platforms', value)
|
||||
if (value.length > 0) {
|
||||
emit('update:scope', 'specific')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.platform-scope-picker {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.platform-scope-picker__select {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user