feat: add Flutter mobile clients and staff delivery API

This commit is contained in:
david
2026-07-30 21:47:41 +08:00
parent 550efb3812
commit 36a5ced1c0
228 changed files with 17159 additions and 22 deletions

View File

@@ -62,13 +62,23 @@ func registerStaffClient(serviceKey string, engine *gin.Engine) {
protected := engine.Group(basePath)
protected.Use(sdkmiddleware.JwtAuth(true), clientcommon.RequireClient("service_app"))
protected.GET("/auth/profile", stafflogic.Profile)
protected.GET("/preflight", stafflogic.Preflight)
protected.PUT("/auth/password", stafflogic.ChangePassword)
protected.POST("/attendance", stafflogic.Attendance)
protected.GET("/tickets", stafflogic.ListTickets)
protected.GET("/tickets/:identity", stafflogic.GetTicket)
protected.POST("/tickets/:identity/start", stafflogic.StartTicket)
protected.POST("/tickets/:identity/exception", stafflogic.ExceptionTicket)
protected.POST("/tickets/:identity/recover", stafflogic.RecoverTicket)
protected.POST("/tickets/:identity/submit-result", stafflogic.SubmitTicketResult)
protected.GET("/delivery/orders", stafflogic.ListDeliveryOrders)
protected.GET("/delivery/orders/:identity", stafflogic.GetDeliveryOrder)
protected.POST("/delivery/orders/:identity/start", stafflogic.StartDeliveryOrder)
protected.POST("/delivery/orders/:identity/tracks", stafflogic.AppendDeliveryTracks)
protected.POST("/delivery/orders/:identity/arrive", stafflogic.ArriveDeliveryOrder)
protected.POST("/delivery/orders/:identity/exception", stafflogic.ExceptionDeliveryOrder)
protected.POST("/delivery/orders/:identity/recover", stafflogic.RecoverDeliveryOrder)
protected.POST("/delivery/orders/:identity/submit-receipt", stafflogic.SubmitDeliveryReceipt)
registerClientWalletRoutes(protected, "service_app")
}

View File

@@ -12,13 +12,20 @@ func TestRegisterClientRoutes(t *testing.T) {
RegisterClient("heqi", engine)
expected := map[string]bool{
"POST /heqi/client/v1/user/auth/register": false,
"POST /heqi/client/v1/user/auth/login": false,
"POST /heqi/client/v1/user/wallet/recharges": false,
"POST /heqi/client/v1/user/shop/orders/:identity/pay": false,
"POST /heqi/client/v1/staff/auth/login": false,
"POST /heqi/client/v1/staff/attendance": false,
"POST /heqi/client/v1/staff/tickets/:identity/submit-result": false,
"POST /heqi/client/v1/user/auth/register": false,
"POST /heqi/client/v1/user/auth/login": false,
"POST /heqi/client/v1/user/wallet/recharges": false,
"POST /heqi/client/v1/user/shop/orders/:identity/pay": false,
"POST /heqi/client/v1/staff/auth/login": false,
"GET /heqi/client/v1/staff/preflight": false,
"POST /heqi/client/v1/staff/attendance": false,
"GET /heqi/client/v1/staff/tickets/:identity": false,
"POST /heqi/client/v1/staff/tickets/:identity/submit-result": false,
"GET /heqi/client/v1/staff/delivery/orders": false,
"POST /heqi/client/v1/staff/delivery/orders/:identity/start": false,
"POST /heqi/client/v1/staff/delivery/orders/:identity/tracks": false,
"POST /heqi/client/v1/staff/delivery/orders/:identity/arrive": false,
"POST /heqi/client/v1/staff/delivery/orders/:identity/submit-receipt": false,
}
for _, route := range engine.Routes() {
key := route.Method + " " + route.Path