I thought it is a well structured project at the beginning.But after a week's battle with it, I prefer to say it's not so perfect, some parts even can be described as awful realization.
Take interface encapsulation as example.I don't think common functions should be packed into a class like get_wechat_btn, update_wechat_menu and so on. They should be in a individual file and every part of this project can touch them. When you pack them into a class, we have to init an instance object to use it in other file before we use them.
Other details, like "restful design". also have some problem. This realization is not so restful.