Преглед на файлове

feat(ocr): 添加 OCR 设备 IP 地址字段并实现设备详情接口

- 在 ocr_devices 表中添加 ip_address 字段
- 在 OcrDevice 模型中添加 ipAddress 属性
- 实现 OcrDevicesController 的 show 方法,用于获取设备详情
- 在路由中添加 OCR 设备列表接口
wui преди 10 месеца
родител
ревизия
decd4c1180
променени са 4 файла, в които са добавени 24 реда и са изтрити 0 реда
  1. 5 0
      app/Controllers/Http/OcrDevicesController.ts
  2. 3 0
      app/Models/OcrDevice.ts
  3. 15 0
      database/migrations/1741673730377_ocr_devices.ts
  4. 1 0
      start/routes.ts

+ 5 - 0
app/Controllers/Http/OcrDevicesController.ts

@@ -2,6 +2,7 @@ import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
 import PaginationService from 'App/Services/PaginationService'
 import { schema } from '@ioc:Adonis/Core/Validator'
 import OcrDevice from 'App/Models/OcrDevice'
+
 export default class OcrDevicesController {
     private paginationService = new PaginationService(OcrDevice)
 
@@ -29,4 +30,8 @@ export default class OcrDevicesController {
             return await OcrDevice.create(data)
         }
     }
+
+    public async show({ params }: HttpContextContract) {
+        return await OcrDevice.findOrFail(params.id)
+    }
 }

+ 3 - 0
app/Models/OcrDevice.ts

@@ -26,4 +26,7 @@ export default class OcrDevice extends AppBaseModel {
 
     @column()
     public scanned: number
+
+    @column()
+    public ipAddress:string
 }

+ 15 - 0
database/migrations/1741673730377_ocr_devices.ts

@@ -0,0 +1,15 @@
+import BaseSchema from '@ioc:Adonis/Lucid/Schema'
+
+export default class extends BaseSchema {
+    protected tableName = 'ocr_devices'
+
+    public async up() {
+        this.schema.alterTable(this.tableName, (table) => {
+            table.string('ip_address').notNullable().defaultTo('null')
+        })
+    }
+
+    public async down() {
+        this.schema.dropTable(this.tableName)
+    }
+}

+ 1 - 0
start/routes.ts

@@ -125,6 +125,7 @@ Route.group(() => {
     }).prefix('/ocrChannel')
 
     Route.group(() => {
+        Route.get('/', 'OcrDevicesController.index').middleware('auth:api')
         Route.post('/', 'OcrDevicesController.store')
     }).prefix('/ocrDevice')
 }).prefix('/api')