From 6e82cd5d5875b38fb30be5ee4c1c5d3dbe33fe98 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期二, 28 五月 2024 17:31:46 +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