Explorar o código

refactor(auth): 调整管理员和操作员的权限并新增合并权限

wui hai 9 meses
pai
achega
85842e4202
Modificáronse 4 ficheiros con 12 adicións e 7 borrados
  1. 7 0
      src/main.js
  2. 2 3
      src/views/OcrChannelView.vue
  3. 2 3
      src/views/OcrFavoriteView.vue
  4. 1 1
      src/views/OcrView.vue

+ 7 - 0
src/main.js

@@ -40,5 +40,12 @@ app.provide(
         return user.value.role === 'api'
     })
 )
+app.provide(
+    'isAdminAndOperator',
+    computed(() => {
+        if (!(user.value && user.value.role)) return false
+        return user.value.role === 'admin' || user.value.role === 'operator'
+    })
+)
 
 app.mount('#app')

+ 2 - 3
src/views/OcrChannelView.vue

@@ -1,5 +1,5 @@
 <template>
-    <PagingTable v-if="isAdmin || isOperator" url="/ocrChannel" :query="query" ref="table">
+    <PagingTable v-if="isAdmin" url="/ocrChannel" :query="query" ref="table">
         <template #filter>
             <ElInput class="!w-52" placeholder="请输入" clearable v-model="query.id" @keyup.enter="table.refresh(true)">
                 <template #append>
@@ -71,9 +71,8 @@ const { showEditDialog } = setupEditDialog(model)
 const rules = {
     name: [{ required: true, message: '请输入名称', trigger: 'blur' }]
 }
-const isAdmin = inject('isAdmin')
+const isAdmin = inject('isAdminAndOperator')
 const isApi = inject('isApi')
-const isOperator = inject('isOperator')
 const tableData = ref([])
 
 onMounted(() => {

+ 2 - 3
src/views/OcrFavoriteView.vue

@@ -114,7 +114,7 @@
                 <!--                <div v-html="formatRecord(row.record)"></div>-->
             </template>
         </ElTableColumn>
-        <ElTableColumn v-if="isAdmin || isOperator" prop="favorite" label="收藏" align="center" width="60">
+        <ElTableColumn v-if="isAdmin" prop="favorite" label="收藏" align="center" width="60">
             <template #default="{ row }">
                 <ElButton
                     circle
@@ -168,8 +168,7 @@ const table = ref(null)
 const model = ref({})
 const { showEditDialog } = setupEditDialog(model)
 const { copy } = useClipboard({ legacy: true })
-const isAdmin = inject('isAdmin')
-const isOperator = inject('isOperator')
+const isAdmin = inject('isAdminAndOperator')
 
 function formatRecord(record) {
     return record

+ 1 - 1
src/views/OcrView.vue

@@ -168,7 +168,7 @@ const table = ref(null)
 const model = ref({})
 const { showEditDialog } = setupEditDialog(model)
 const { copy } = useClipboard({ legacy: true })
-const isAdmin = inject('isAdmin')
+const isAdmin = inject('isAdminAndOperator')
 
 function formatRecord(record) {
     return record