refactor weixin interface