Unmanned aerial vehicles (UAVs) have been a provision for future wireless networks. However, limited backhaul capacity and power are bottlenecks for deployment and control of UAVs. To tackle these challenges, we propose a cache-enabled UAV networks to store popular files proactively to serve ground users and alleviate the backhaul burden. Taking account of the limited battery capacity, we propose an energy-efficient resource allocation and trajectory design algorithm to maximize the minimum achievable throughput among users. The formulated problem is a non-convex and mixed-integer optimization problem. To facilitate dealing with it, we decouple it into three subproblems and alternately solve them by jointly optimizing cache placement, transmit power, bandwidth allocation, and trajectory using successive convex approximation and block coordinate decent. The algorithm is proved to converge after finite steps of iterations. Numerical results reveal that our algorithm outperforms several baselines in terms of achievable throughput.