refactor weixin