资源简介
微信的demo 里面有微信登陆 和 微信支付相关的util controller 和service 我删除了很多的代码 不能公布的东西 你们具体自己看看 还有一些具体参数请按照注释自己带入进去 这个代码不是让你直接使用的 有一部分是需要你自己去看看和思考的
代码片段和文件信息
package controller;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import service.ICommonService;
import util.base64;
import util.HttpClientUtil;
import util.MiscUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.SortedMap;
@Controller
public class WebchatController {
private static final Logger logger = LoggerFactory.getLogger(WebchatController.class);
@Autowired
private ICommonService commonService;
/**
* 微信公众号授权后的回调
* 前端 默认进行 微信静默授权
* 授权回调进入后台在后台获取code进行判断时候获取 openid
* 如果有就进行正常跳转
* 如果没有就进行手动授权
*
* 前端可控制跳转url 不过跳转url需要进行控制加密
*
* @param response
* @throws Exception
*/
@RequestMapping(value = “/common/weixin/weixinlogin“ method = RequestMethod.GET)
public void weixinLogin(
@RequestParam(“code“) String code
@RequestParam(value = “state“ defaultValue = “qnlive“) String state
@RequestParam(value = “key“ defaultValue = ““) String paramKey
HttpServletResponse response) throws Exception {
Map map = new HashMap<>();
String appName = state;
map.put(“code“ code);
if (state.equals(“qnsaas“)) {
appName = “qnlive“;
}
map.put(“state“ appName);
Mapject> resultMap = commonService.weixinCodeUserLogin(map);
Integer key = Integer.valueOf(resultMap.get(“key“).toString());
if (key == 1) {
String userWeixinAccessToken = (String) resultMap.get(“access_token“);
if (state.equals(“qnsaas“)) {//跳转h5店铺
logger.debug(“key:“ + paramKey);
if (StringUtils.isNotEmpty(paramKey)) {
String newUrl = new String(base64.decode(paramKey));
logger.debug(“url:“ + newUrl);
response.sendRedirect(newUrl + “token=“ + userWeixinAccessToken);
}
return;
}
//如果没有拿到
logger.info(“没有拿到openId 或者 unionid 跳到手动授权页面“);
String authorization_url = MiscUtils.getConfigByKey(“authorization_userinfo_url“);//手动授权url
String authorizationUrl = authorization_url.replace(“APPID“ MiscUtils.getConfigByKey(“appid“)).replace(“REDIRECTURL“ MiscUtils.getConfigByKey(“redirect_url“)).replace(“STATE“ state);//修改参数
response.sendRedirect(authorizationUrl);
return;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-22 11:04 wx-demo\
目录 0 2017-11-22 11:35 wx-demo\.idea\
文件 626 2017-11-22 10:21 wx-demo\.idea\compiler.xm
目录 0 2017-11-22 10:21 wx-demo\.idea\inspectionProfiles\
目录 0 2017-11-22 11:04 wx-demo\.idea\libraries\
文件 514 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__aopalliance_aopalliance_1_0.xm
文件 536 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__commons_codec_commons_codec_1_6.xm
文件 525 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__commons_lang_commons_lang_2_6.xm
文件 572 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__commons_logging_commons_logging_1_1_3.xm
文件 486 2017-11-22 10:31 wx-demo\.idea\libraries\Maven__com_alibaba_dubbo_2_5_3.xm
文件 507 2017-11-22 10:22 wx-demo\.idea\libraries\Maven__com_alibaba_fastjson_1_2_7.xm
文件 462 2017-11-22 11:04 wx-demo\.idea\libraries\Maven__dom4j_dom4j_1_6_1.xm
文件 570 2017-11-22 10:27 wx-demo\.idea\libraries\Maven__org_apache_commons_commons_pool2_2_4_2.xm
文件 577 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__org_apache_httpcomponents_httpclient_4_3_6.xm
文件 549 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__org_apache_httpcomponents_httpcore_4_3.xm
文件 601 2017-11-22 10:30 wx-demo\.idea\libraries\Maven__org_apache_tomcat_tomcat_servlet_api_7_0_0.xm
文件 550 2017-11-22 10:31 wx-demo\.idea\libraries\Maven__org_javassist_javassist_3_15_0_GA.xm
文件 544 2017-11-22 10:31 wx-demo\.idea\libraries\Maven__org_jboss_netty_netty_3_2_5_Final.xm
文件 548 2017-11-22 10:28 wx-demo\.idea\libraries\Maven__org_slf4j_jcl_over_slf4j_1_7_25.xm
文件 513 2017-11-22 10:28 wx-demo\.idea\libraries\Maven__org_slf4j_slf4j_api_1_7_25.xm
文件 609 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 623 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 637 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 616 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 658 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 609 2017-11-22 10:37 wx-demo\.idea\libraries\Maven__org_springfr
文件 494 2017-11-22 10:27 wx-demo\.idea\libraries\Maven__redis_clients_jedis_2_9_0.xm
文件 502 2017-11-22 11:04 wx-demo\.idea\libraries\Maven__xm
文件 439 2017-11-22 10:21 wx-demo\.idea\misc.xm
文件 254 2017-11-22 10:20 wx-demo\.idea\modules.xm
文件 8792 2017-11-22 10:25 wx-demo\.idea\uiDesigner.xm
............此处省略34个文件信息
- 上一篇:人脸识别--课堂点名
- 下一篇:Flash28335_API_V210
评论
共有 条评论