WeChatController.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.xmzs.controller;
  2. import cn.dev33.satoken.annotation.SaIgnore;
  3. import com.xmzs.common.core.domain.R;
  4. import com.xmzs.common.wechat.Wechat;
  5. import com.xmzs.common.wechat.controller.LoginController;
  6. import com.xmzs.common.wechat.core.MsgCenter;
  7. import com.xmzs.system.cofing.KeywordConfig;
  8. import com.xmzs.system.cofing.WechatConfig;
  9. import com.xmzs.system.handler.WechatMessageHandler;
  10. import com.xmzs.system.service.ISseService;
  11. import lombok.Getter;
  12. import lombok.RequiredArgsConstructor;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.RestController;
  17. /**
  18. * 个人微信扩展控制器
  19. *
  20. * @author WangLe
  21. */
  22. @SaIgnore
  23. @Slf4j
  24. @Validated
  25. @RequiredArgsConstructor
  26. @RestController
  27. public class WeChatController {
  28. @Getter
  29. private Wechat wechatBot;
  30. private final WechatConfig wechatConfig;
  31. private final ISseService sseService;
  32. private final KeywordConfig keywordConfig;
  33. /**
  34. * 获取微信登录二维码
  35. *
  36. */
  37. @GetMapping("/getQr")
  38. public R<String> getQr() {
  39. //微信
  40. if (wechatConfig.getEnable()){
  41. log.info("正在登录微信,请按提示操作:");
  42. wechatBot = new Wechat(new WechatMessageHandler(sseService, keywordConfig));
  43. // 登陆
  44. LoginController login = new LoginController();
  45. String qrCode = login.login_1();
  46. new Thread(login::login_2).start();
  47. wechatBot.start();
  48. return R.ok(qrCode);
  49. }else {
  50. return R.fail();
  51. }
  52. }
  53. }