已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -26,34 +26,85 @@ func registerUserClient(serviceKey string, engine *gin.Engine) {
anonymous.GET("/public/gas-stations", userlogic.PublicGasStations)
anonymous.GET("/public/delivery-points", userlogic.PublicDeliveryPoints)
anonymous.GET("/public/contents", userlogic.PublicContents)
anonymous.GET("/public/contents/:identity", userlogic.PublicSafetyContent)
anonymous.GET("/public/products", userlogic.PublicProducts)
anonymous.GET("/public/products/:identity", userlogic.PublicProduct)
protected := engine.Group(basePath)
protected.Use(sdkmiddleware.JwtAuth(true), common.RequireClient("user_app"))
protected.GET("/auth/profile", userlogic.Profile)
protected.GET("/owned-products", userlogic.ListOwnedProducts)
protected.GET("/devices", userlogic.ListDevices)
protected.PUT("/devices/:identity/group", userlogic.AssignDeviceGroup)
protected.GET("/device-groups", userlogic.ListDeviceGroups)
protected.GET("/usage-statistics", userlogic.GetUsageStatistics)
protected.GET("/messages", userlogic.ListMessages)
protected.PUT("/messages/read", userlogic.MarkMessagesRead)
protected.POST("/device-groups", userlogic.SaveDeviceGroup)
protected.PUT("/device-groups/:identity", userlogic.SaveDeviceGroup)
protected.DELETE("/device-groups/:identity", userlogic.DeleteDeviceGroup)
protected.GET("/emergency-contacts", userlogic.ListEmergencyContacts)
protected.POST("/emergency-contacts", userlogic.SaveEmergencyContact)
protected.PUT("/emergency-contacts/:identity", userlogic.SaveEmergencyContact)
protected.DELETE("/emergency-contacts/:identity", userlogic.DeleteEmergencyContact)
protected.GET("/family", userlogic.FamilyDashboard)
protected.POST("/family-members", userlogic.InviteFamilyMember)
protected.PUT("/family-members/:identity/device-permissions", userlogic.UpdateFamilyPermissions)
protected.DELETE("/family-members/:identity", userlogic.RevokeFamilyMember)
protected.GET("/family-invitations", userlogic.ListFamilyInvitations)
protected.POST("/family-invitations/:identity/respond", userlogic.RespondFamilyInvitation)
protected.POST("/ticket-photos", userlogic.UploadTicketPhoto)
protected.GET("/ticket-photos/:name", userlogic.UploadedTicketPhoto)
protected.GET("/tickets/:identity/photos/:photoIdentity", userlogic.TicketPhoto)
protected.GET("/auth/avatar", userlogic.Avatar)
protected.PUT("/auth/profile", userlogic.UpdateProfile)
protected.PUT("/auth/password", userlogic.ChangePassword)
protected.GET("/addresses", userlogic.ListAddresses)
protected.POST("/addresses", userlogic.SaveAddress)
protected.PUT("/addresses/:identity", userlogic.UpdateAddress)
protected.DELETE("/addresses/:identity", userlogic.DeleteAddress)
protected.POST("/addresses/:identity/default", userlogic.SetDefaultAddress)
protected.POST("/contents/read-confirmations", userlogic.ConfirmContentRead)
protected.GET("/service-relation", userlogic.ServiceRelation)
protected.GET("/gas/contracts", userlogic.ListGasContracts)
protected.GET("/gas/orders", userlogic.ListGasOrders)
protected.GET("/gas/order-options", userlogic.GetGasOrderOptions)
protected.POST("/gas/orders", userlogic.CreateGasOrder)
protected.GET("/gas/orders/:identity", userlogic.GetGasOrder)
protected.POST("/gas/orders/:identity/confirm-receipt", userlogic.ConfirmGasReceipt)
protected.GET("/gas/contracts/:identity", userlogic.GetGasContract)
protected.GET("/gas/contracts/:identity/attachment", userlogic.DownloadGasContractAttachment)
protected.GET("/gas/contracts/:identity/history", userlogic.GetGasContractHistory)
protected.GET("/gas/contracts/:identity/requests", userlogic.ListGasContractRequests)
protected.POST("/gas/contracts/:identity/requests", userlogic.CreateGasContractRequest)
protected.POST("/gas/orders/:identity/cancel", userlogic.CancelGasOrder)
protected.POST("/gas/orders/:identity/pay", userlogic.PayGasOrder)
protected.GET("/gas/orders/:identity/delivery", userlogic.GetGasOrderDelivery)
protected.GET("/gas/orders/:identity/delivery/track", userlogic.GetGasOrderDeliveryTrack)
protected.POST("/gas/orders/:identity/refunds", userlogic.CreateRefund("gasorder"))
protected.GET("/tickets", userlogic.ListTickets)
protected.POST("/tickets", userlogic.CreateTicket)
protected.POST("/tickets/:identity/confirm", userlogic.ConfirmTicket)
protected.POST("/tickets/:identity/cancel", userlogic.CancelTicket)
protected.GET("/shop/orders", userlogic.ListShopOrders)
protected.GET("/shop/orders/:identity", userlogic.GetShopOrder)
protected.GET("/shop/cart", userlogic.ListCart)
protected.GET("/shop/favorites", userlogic.ListFavorites)
protected.GET("/shop/recommendations", userlogic.Recommendations)
protected.GET("/shop/favorites/items/:identity", userlogic.FavoriteState)
protected.PUT("/shop/favorites/items/:identity", userlogic.SetFavorite)
protected.GET("/shop/cart/items/:identity", userlogic.GetCartItem)
protected.PUT("/shop/cart/items/:identity", userlogic.SetCartItem)
protected.POST("/shop/orders", userlogic.CreateShopOrder)
protected.POST("/shop/orders/:identity/cancel", userlogic.CancelShopOrder)
protected.POST("/shop/orders/:identity/pay", userlogic.PayShopOrder)
protected.POST("/shop/orders/:identity/refunds", userlogic.CreateRefund("ec_order"))
protected.POST("/shop/orders/:identity/confirm-receipt", userlogic.ConfirmShopReceipt)
protected.GET("/refunds", userlogic.ListRefunds)
protected.GET("/deposits", userlogic.ListDeposits)
protected.POST("/deposit-returns", userlogic.CreateDepositReturn)
protected.GET("/deposit-returns/:identity", userlogic.GetDepositReturn)
protected.POST("/deposit-returns/:identity/cancel", userlogic.CancelDepositReturn)
registerClientWalletRoutes(protected, "user_app")
}
@@ -91,10 +142,16 @@ func registerClientWalletRoutes(group *gin.RouterGroup, client string) {
group.GET("/wallet", common.GetWallet(client))
group.PUT("/wallet/payment-password", common.SetPaymentPassword(client))
group.GET("/wallet/records", common.ListWalletRecords(client))
group.GET("/wallet/bills", common.ListWalletBills(client))
group.POST("/wallet/recharges", common.CreateRecharge(client))
group.GET("/wallet/recharge-options", common.GetRechargeOptions(client))
group.GET("/wallet/recharges", common.ListRecharges(client))
group.GET("/wallet/recharges/:identity", common.GetRecharge(client))
group.GET("/wallet/recharge-requests/:request", common.GetRecharge(client))
group.POST("/wallet/recharges/:identity/mock-confirm", common.ConfirmMockRecharge(client))
group.GET("/wallet/banks", common.ListBanks(client))
group.POST("/wallet/banks", common.BindBank(client))
group.POST("/wallet/banks/:identity/default", common.SetDefaultBank(client))
group.DELETE("/wallet/banks/:identity", common.UnbindBank(client))
group.GET("/wallet/withdrawals", common.ListWithdrawals(client))
group.POST("/wallet/withdrawals", common.CreateWithdrawal(client))