From 14a0e8e382543290fc6bea6b4cd3a223c60b6dd4 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期四, 30 五月 2024 16:35:50 +0800
Subject: [PATCH] 写用户端接口
---
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/WeiXinAppController.java | 73 ++++++++++++++++++++++++++++--------
1 files changed, 56 insertions(+), 17 deletions(-)
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/WeiXinAppController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/WeiXinAppController.java
index c4d07eb..c1dda36 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/WeiXinAppController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/WeiXinAppController.java
@@ -1,3 +1,4 @@
+/*
package com.ruoyi.member.controller;
import java.io.BufferedReader;
@@ -14,39 +15,50 @@
import java.util.HashMap;
import java.util.Map;
+import javax.annotation.Resource;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.http.HttpServletRequest;
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.sign.Base64;
+import com.ruoyi.system.api.domain.AppMiniLoginVO;
+import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.member.util.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
-import net.sf.json.JSON;
-
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+*/
/**
* 微信授权方面
*
* @author tuzx
* @date 2018年8月9日
* @version 1.0
- */
+ *//*
+
@Controller
@RequestMapping("/weixin")
public class WeiXinAppController {
private static String appid = "wx0e4769839d84fde0";
private static String appSecret = "ede69db0303ddde49b5db95f186918ec";
+
+ @Resource
+ private WxMaService wxMaService;
@RequestMapping("/getAddress")
@ResponseBody
@@ -67,18 +79,36 @@
}
@ResponseBody
- @RequestMapping("/getOpenId")
- @ApiOperation(value = "获取微信的OpenId")
- public R<Map<String, String>> getOpenId(String code) {
+ @PostMapping("/miniLogin")
+ @ApiOperation("小程序登录")
+ public R<AppMiniLoginVO> getMemberByCode(@RequestBody AppMiniLoginDTO appMiniLoginDto)
+ {
+ AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO();
+ WxMaJscode2SessionResult session = null;
+ String unionid;
+ String openid;
+ String sessionKey = null;
+ //获取session
try {
- String openID = JsapiTicketUtil.getOpenId(code);
- Map<String,String> data=new HashMap<>();
- data.put("openID",openID);
- return R.ok(data);
+ session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
} catch (Exception e) {
e.printStackTrace();
+ return null;
}
- return R.fail("获取异常");
+ if (session != null && StringUtils.isNotBlank(session.getOpenid())) {
+ unionid = session.getUnionid();
+ openid = session.getOpenid();
+ sessionKey = session.getSessionKey();
+
+ appMiniLoginVo.setMiniOpenid(openid);
+ appMiniLoginVo.setWxUnionid(unionid);
+ appMiniLoginVo.setSessionKey(sessionKey);
+ }
+
+ if(appMiniLoginVo ==null){
+ return R.fail("登录失败!");
+ }
+ return R.ok(appMiniLoginVo);
}
@ResponseBody
@@ -150,13 +180,15 @@
return R.fail("获取异常");
}
- /**
+ */
+/**
* 获取微信用户信息
*
* @param token
* @param openid
* @return
- */
+ *//*
+
@ResponseBody
@RequestMapping("/getWXinfo")
@ApiOperation(value = "获取微信用户信息")
@@ -184,11 +216,14 @@
}
- /**
+ */
+/**
* 小程序使用jscode获取openid
* @param jscode
* @return
*//*
+*/
+/*
public String code2Session(String jscode){
String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + appSecret
+ "&js_code=" + jscode + "&grant_type=authorization_code";
@@ -208,16 +243,19 @@
return jsonObject.getString("errmsg");
}
return null;
- }*/
+ }*//*
- /***
+
+ */
+/***
* 模拟get请求
*
* @param url
* @param charset
* @param timeout
* @return
- */
+ *//*
+
public static String sendGet(String url, String charset, int timeout) {
String result = "";
try {
@@ -309,3 +347,4 @@
return null;
}
}
+*/
--
Gitblit v1.7.1