dev #2

Merged
hera merged 40 commits from dev into main 2026-04-07 22:12:01 +00:00
3 changed files with 7 additions and 3 deletions
Showing only changes of commit 6563a6f7d2 - Show all commits

View File

@@ -18,6 +18,9 @@ export const useAuthStore = defineStore('auth', () => {
// Getters
const isLoggedIn = computed(() => user.value.id !== null)
const isAdmin = computed(() => user.value.role === 'admin')
const canManage = computed(() =>
['senior_editor', 'admin'].includes(user.value.role)
)
const canEdit = computed(() =>
['editor', 'senior_editor', 'admin'].includes(user.value.role)
)
@@ -91,6 +94,7 @@ export const useAuthStore = defineStore('auth', () => {
user,
isLoggedIn,
isAdmin,
canManage,
canEdit,
isBusiness,
initToken,

View File

@@ -118,7 +118,7 @@
@click="viewMode = 'drop'"
>滴价</button>
</div>
<button v-if="auth.isAdmin" class="btn-pdf" @click="exportPDF" title="导出PDF">
<button v-if="auth.canManage" class="btn-pdf" @click="exportPDF" title="导出PDF">
📄
</button>
</div>
@@ -159,7 +159,7 @@
<div class="oil-chip-volume" v-if="getMeta(name)?.dropCount">
{{ volumeLabel(getMeta(name).dropCount) }}
</div>
<div class="oil-actions" v-if="auth.isAdmin" @click.stop>
<div class="oil-actions" v-if="auth.canManage" @click.stop>
<button class="btn-icon-sm" @click="editOil(name)" title="编辑"></button>
<button class="btn-icon-sm" @click="removeOil(name)" title="删除">🗑</button>
</div>

View File

@@ -91,7 +91,7 @@
</div>
<!-- Public Recipes Section (admin/senior_editor only) -->
<div v-if="auth.isAdmin || auth.user.role === 'senior_editor'" class="recipe-section">
<div v-if="auth.canManage" class="recipe-section">
<h3 class="section-title">🌿 公共配方库 ({{ publicRecipes.length }})</h3>
<div class="recipe-list">
<div