Explorar o código

新增權限身分初步(Draw, Checkin)

maa3606 %!s(int64=2) %!d(string=hai) anos
pai
achega
ca08e5d68e

BIN=BIN
public/MAA03.jpg


+ 7 - 1
resources/js/src/libs/acl/ability.js

@@ -33,11 +33,17 @@ export const defineRulesFor = (user) => {
             break;
         case 'User':
             can('read', 'all');
-            can('upload','blog')
+            can('upload', 'blog')
             cannot('read', 'permission');
             cannot('read', '模板');
             cannot('read', '管理功能');
             break;
+        case 'Draw':
+        case 'Checkin':
+            can('read', 'all');
+            cannot('read', '管理功能');
+            cannot('read', 'permission');
+            break;
         case 'Trainer':
             break;
         default:

+ 11 - 8
resources/js/src/views/lottery/Activities/ActivityPage.vue

@@ -1,7 +1,7 @@
 <template>
     <div>
         <b-row class="match-height">
-            <b-col md="6" :lg="lg">
+            <b-col v-if="checkinPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -9,7 +9,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col md="6" :lg="lg">
+            <b-col v-if="drawPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -17,7 +17,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col md="6" :lg="lg">
+            <b-col v-if="drawPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -26,7 +26,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col md="6" :lg="lg">
+            <b-col v-if="checkinPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -34,7 +34,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col md="6" :lg="lg">
+            <b-col v-if="checkinPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -43,7 +43,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col v-if="this.userData.role == 'Admin'" md="6" :lg="lg">
+            <b-col v-if="drawPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -51,7 +51,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col v-if="this.userData.role == 'Admin'" md="6" :lg="lg">
+            <b-col  v-if="checkinPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -59,7 +59,7 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col v-if="this.userData.role == 'Admin'" md="6" :lg="lg">
+            <b-col  v-if="checkinPage.includes(this.userData.role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
@@ -103,6 +103,9 @@ export default {
         return {
             userData: getUserData(),
             lg: 0,
+            adminPage: ['Admin'],
+            drawPage: ['Admin', 'Draw'],
+            checkinPage: ['Admin', 'Draw', 'Checkin'],
         }
     },
     created() {

+ 1 - 1
resources/js/src/views/lottery/Slot.vue

@@ -519,7 +519,7 @@ body {
 
 body {
 	background-color: white;
-	background-image: url('http://127.0.0.1:3000/MAA02a.jpg');
+	background-image: url('http://127.0.0.1:3000/MAA03.jpg');
 	background-size: 100%;
 	background-repeat: no-repeat;
 	background-position: left top;

+ 4 - 4
routes/api.php

@@ -92,12 +92,10 @@ Route::middleware('auth:sanctum')->group(function () {
 Route::middleware(['auth:sanctum', 'abilities:Admin'])->group(function () {
 
     //activity
-    Route::post('/activity/list', [ActivityController::class, 'index']);
     Route::post('/activity/store', [ActivityController::class, 'store']);
     Route::post('/activity/update', [ActivityController::class, 'update']);
     Route::post('/activity/sql', [ActivityController::class, 'sql']);
     Route::post('/activity/uploadFile', [ActivityController::class, 'uploadFile']);
-    Route::post('/activity/show', [ActivityController::class, 'show']);
 
     // CheckIn
     Route::post('/check_in/update', [CheckInController::class, 'update']);
@@ -110,7 +108,6 @@ Route::middleware(['auth:sanctum', 'abilities:Admin'])->group(function () {
     Route::post('/draw/store', [DrawController::class, 'store']);
     Route::post('/draw/donate', [DrawController::class, 'donate']);
     Route::post('/draw/test', [DrawController::class, 'test']);
-    Route::post('/draw/search_user_status', [DrawController::class, 'search_user_status']);
 
     // Prize
     Route::post('/prize/store', [PrizeController::class, 'store']);
@@ -129,4 +126,7 @@ Route::post('/prize/index_by_activity', [PrizeController::class, 'index_by_activ
 Route::post('/check_in/index_by_activity', [CheckInController::class, 'index_by_activity']);
 Route::post('/recipients/index_by_activity', [RecipientsController::class, 'index_by_activity']);
 
-Route::post('/recipients/export', [RecipientsController::class, 'export']);
+Route::post('/recipients/export', [RecipientsController::class, 'export']);
+Route::post('/draw/search_user_status', [DrawController::class, 'search_user_status']);
+Route::post('/activity/list', [ActivityController::class, 'index']);
+Route::post('/activity/show', [ActivityController::class, 'show']);