I'm good in openings, but suck at middle games
Like others have mentioned, work on spotting tactical opportunities, both yours and your opponents - choose moves to make yours "work" while staying ahead of your opponents. Things like pins, skewers, discovered attacks/checks, forks, etc.
In the absence of seeing any immediate tactical opportunity, start to look for ideas as to how to improve your position (tactics are opportunities that arise from implementing good ideas). Things like, try and get control of an open file for your rooks, particularly if there's only one. If you only have one Bishop, put your pawns on squares of the opposite colour. Look for outpost squares where your Knights become very strong. If your opponent only has one Bishop, during the middle game, put your pawns on that same colour to limit its movement, but in the end game, you'll want to get on the opposite colour (so their Bishop can't capture them). Do you have a piece that isn't doing much of anything (not defending an important square; not putting pressure on an opposing piece; etc), then work out where it should go to start doing something, or at least have a better chance of being able to do something - like maybe line your rook up with your opponent's King or Queen, even if there are pieces and pawns in the way - if it's not doing anything where it is, at least now it means your opponent has to think about what happens if they start moving pieces and pawns out of the way. Does your opponent have a particularly strong piece that is really annoying you and making it hard for you to make moves? Then look to see if you can find a way to trade it off, even if you have to do something you would rather not, like having to double your pawns, or giving up a Bishop for an opponent's Knight (if the Knight is strong, and in a good outpost square, it isn't a bad thing to just get rid of it before your opponent is able to make tactical use of that potential). If it is really annoying, it might even be worth sacking the exchange - particularly as your opponent probably hasn't considered that and the position may change to where you get a really strong attack as a result of how the exchange happens. Can you see a square that your opponent might want to move through to improve one of their pieces, and if so, can you take that away from them? Is your King on a square that could result in a pin (either along ranks/files or along a diagonal)? Maybe this is the time to put it in a slightly safer square? Or, if the game is nearing the endgame, maybe bring it closer to being able to enter the fray (and also to limit squares the opponent can use for their rooks to enter your position).
I know that looks like a lot of questions to ask yourself, and there are more, but really they are just the sorts of things that one can do to improve their position without there having to be an immediate tactical shot at the end of those moves. The general idea is to look for moves that give you more potential for good moves, while limiting the moves available to your opponent. The more your move controls your opponent's options, the easier it becomes to calculate their responses and in turn the easier it becomes to find your best move. To improve, you don't need to ask every one of those types of questions right now, just focus on some of them. Eventually, you won't need to "ask" yourself the question anymore, you will just start to evaluate the position with that idea factored in. Then, start asking yourself another one or two of those types of questions, and eventually those too will become more automatic. Practice a sub-set of such concepts until you no longer have to force yourself to remember to look for them, and then add new concepts.
Good Positional Chess, Planning & Strategy Books for Beginners and Beyond...
https://www.chess.com/blog/RussBell/introduction-to-positional-chess-planning-strategy
Read this. Then plat over the three sample games.
GM Larry Evans' method of static analysis - Chess Forums - Chess.com