wangh_branch
王壕 3 years ago
parent d21056fdcb
commit 99c41f6cf3

@ -10,10 +10,10 @@ import java.util.Map;
public class HttpGetUtil { public class HttpGetUtil {
public static String httpRequestToString(String url, public static String httpRequestToString(String url,
Map params) { Map params, String type) {
String result = null; String result = null;
try { try {
InputStream is = httpRequestToStream(url, params); InputStream is = httpRequestToStream(url, params, type);
BufferedReader in = new BufferedReader(new InputStreamReader(is, BufferedReader in = new BufferedReader(new InputStreamReader(is,
"UTF-8")); "UTF-8"));
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
@ -31,17 +31,17 @@ public class HttpGetUtil {
} }
private static InputStream httpRequestToStream(String url, private static InputStream httpRequestToStream(String url,
Map params) { Map params, String type) {
InputStream is = null; InputStream is = null;
try { try {
String parameters = ""; String parameters = "";
boolean hasParams = false; boolean hasParams = false;
for(Object key : params.keySet()){ for (Object key : params.keySet()) {
String value = URLEncoder.encode((String) params.get(key), "UTF-8"); String value = URLEncoder.encode((String) params.get(key), "UTF-8");
parameters += key +"="+ value +"&"; parameters += key + "=" + value + "&";
hasParams = true; hasParams = true;
} }
if(hasParams){ if (hasParams) {
parameters = parameters.substring(0, parameters.length()-1); parameters = parameters.substring(0, parameters.length()-1);
} }
@ -57,7 +57,7 @@ public class HttpGetUtil {
conn.setReadTimeout(50000); conn.setReadTimeout(50000);
conn.setDoInput(true); conn.setDoInput(true);
//设置请求方式默认为GET //设置请求方式默认为GET
conn.setRequestMethod("GET"); conn.setRequestMethod(type);
is = conn.getInputStream(); is = conn.getInputStream();
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {

@ -44,7 +44,7 @@ public class Demmo {
System.out.println(params); System.out.println(params);
String result = HttpGetUtil.httpRequestToString( String result = HttpGetUtil.httpRequestToString(
"https://api.weixin.qq.com/sns/jscode2session", params); "https://api.weixin.qq.com/sns/jscode2session", params, "GET");
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
String openid = jsonObject.get("openid").toString(); String openid = jsonObject.get("openid").toString();

@ -33,7 +33,8 @@ public class TaskuploadController {
@RequestMapping(value = "/taskupload", method = RequestMethod.POST) @RequestMapping(value = "/taskupload", method = RequestMethod.POST)
@Operation(summary = "任务上传接口") @Operation(summary = "任务上传接口")
public String taskupload(HttpServletRequest request, public String taskupload(HttpServletRequest request,
@RequestParam(name = "skey", required = true) String skey) { @RequestParam(name = "skey", required = true) String skey,
@RequestParam(name = "Task_id", required = true) Integer Taskid) {
//skey 查表 //skey 查表
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); QueryWrapper<User> queryWrapper = new QueryWrapper<>();
@ -42,11 +43,11 @@ public class TaskuploadController {
System.out.println(user); System.out.println(user);
QueryWrapper<Taskson> queryWrapper1 = new QueryWrapper<>(); QueryWrapper<Taskson> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.like("studentnumber", user.getStudentNumber()); queryWrapper1.like("studentnumber", user.getStudentNumber());
queryWrapper1.like("Task_id", 1); //任务表(需修改) queryWrapper1.like("Task_id", Taskid); //任务表(需修改)
Taskson taskson = this.tasksonMapper.selectOne(queryWrapper1); Taskson taskson = this.tasksonMapper.selectOne(queryWrapper1);
if (taskson == null) { if (taskson == null) {
taskson = new Taskson(); taskson = new Taskson();
taskson.setTaskid(1);//任务id需修改 taskson.setTaskid(Taskid);//任务id需修改
taskson.setStudentnumber(user.getStudentNumber()); taskson.setStudentnumber(user.getStudentNumber());
this.tasksonMapper.insert(taskson); this.tasksonMapper.insert(taskson);
} }

@ -1,16 +1,135 @@
package com.example.demo.controller; package com.example.demo.controller;
import com.alibaba.fastjson.JSONObject;
import com.example.demo.common.HttpGetUtil;
import org.apache.commons.codec.binary.Base64;
import org.apache.tomcat.util.http.ResponseUtil;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.nio.Buffer;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@Controller @Controller
@RequestMapping("/web")
public class Webcontroller { public class Webcontroller {
@RequestMapping("/dashboard.html") @RequestMapping("/dashboard")
public String login() {
public String login(){
return "dashboard"; return "dashboard";
} }
@RequestMapping("/list") @RequestMapping("/list")
public String numer(){ public String numer() {
return "list"; return "list";
} }
/**
* qrcode
* issue: 线使
*
* @return
*/
@RequestMapping("/getqrcode")
public Object getqrcode() {
RestTemplate restTemplate = new RestTemplate();
//首先获取ACCESS_TOKEN
String getAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret";
JSONObject tokenResult = restTemplate.getForObject(getAccessTokenUrl, JSONObject.class);
assert tokenResult != null;
String accessToken = tokenResult.getString("access_token");
//然后调用微信官方api生成二维码
String createQrCodeUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
//此处我是使用的阿里巴巴的fastJson
JSONObject createQrParam = new JSONObject();
createQrParam.put("scene", scene);
createQrParam.put("page", page);
PrintWriter out = null;
InputStream in = null;
try {
URL realUrl = new URL(createQrCodeUrl);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数,利用connection的输出流去写数据到connection中我的参数数据流出我的电脑内存到connection中让connection把参数帮我传到URL中去请求。
out.print(createQrParam);
// flush输出流的缓冲
out.flush();
//获取URL的connection中的输入流这个输入流就是我请求的url返回的数据,返回的数据在这个输入流中,流入我内存,我将从此流中读取数据。
in = conn.getInputStream();
//定义个空字节数组
byte[] data = null;
// 读取图片字节数组
try {
//创建字节数组输出流作为中转仓库,等待被写入数据
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = in.read(buff, 0, 100)) > 0) {
//向中转的输出流循环写出输入流中的数据
swapStream.write(buff, 0, rc);
}
//此时connection的输入流返回给我们的请求结果数据已经被完全地写入了我们定义的中转输出流swapStream中
data = swapStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String base64Code = new String(Objects.requireNonNull(Base64.encodeBase64(data)));
//Base64转byte[]数组
System.out.println(base64Code);
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输出流、输入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return ResponseUtil.class;
}
} }

@ -0,0 +1,14 @@
/**
* 网页登录二维码生成
* auther:wangh
* 2022.11.6
*/
createCode()
{
let codeNumber = '';
for (var i = 0; i < 0; i++) {
codeNumber += Math.floor(Math.random() * 10);
}
this.codeNumber = codeNumber;
this.qrCode = ''
}

@ -16,7 +16,7 @@
</head> </head>
<body class="text-center"> <body class="text-center">
<form class="form-signin" action="dashboard.html"> <form class="form-signin" action="web/dashboard">
<img class="mb-4" src="/img/bootstrap-solid.svg" alt="" width="72" height="72"> <img class="mb-4" src="/img/bootstrap-solid.svg" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1> <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>

Loading…
Cancel
Save