feat(ECR-010): Ops-E 系统运营;修复登出解绑;P2 Complete
ci / h5 (push) Canceled after 0s
ci / api (push) Canceled after 0s
ci / ess-docs (push) Canceled after 0s

落地管理员 RBAC/封禁/推送任务 stub,logout 解绑 device 并统一各页 ensureAccount,同时收口 P2 生日生成与状态文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-11 18:54:59 +08:00
co-authored by Cursor
parent 0ee4d4f5ae
commit 5ceb3ce749
85 changed files with 2098 additions and 103 deletions
+11 -2
View File
@@ -1,7 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue'
import { adminApi, type HomeToolAdmin, type ScaleAdmin } from '@/api/client'
import { useAuthStore } from '@/stores/auth'
const auth = useAuthStore()
const tab = ref<'grid' | 'scales'>('grid')
const loading = ref(false)
const saving = ref(false)
@@ -112,7 +114,8 @@ async function toggleScale(s: ScaleAdmin) {
<p v-if="msg" class="ok">{{ msg }}</p>
<template v-if="tab === 'grid' && !loading">
<div class="toolbar">
<p v-if="!auth.isSuper" class="muted">只读内容写入需超级管理员</p>
<div v-if="auth.isSuper" class="toolbar">
<button class="btn ghost" type="button" @click="addTool">添加</button>
<button class="btn" type="button" :disabled="saving" @click="saveTools">保存宫格</button>
</div>
@@ -153,9 +156,15 @@ async function toggleScale(s: ScaleAdmin) {
</span>
</td>
<td>
<button class="btn ghost" type="button" @click="toggleScale(s)">
<button
v-if="auth.isSuper"
class="btn ghost"
type="button"
@click="toggleScale(s)"
>
{{ s.status === 'published' ? '下架' : '上架' }}
</button>
<span v-else class="muted"></span>
</td>
</tr>
</tbody>