refactor oauth process with wechat module