目录
1,功能说明
2,修改expressList.html、index.html
3,编写QRCodeController实现:创建二维码、展示二维码内容
4,展示二维码页面
完整项目在这里实时更新<( ̄︶ ̄)↗[GO!]:
ExpressManagementSystem
https://github.com/GoodbyeFirefly/ExpressManagementSystem![]()
07-项目训练_二维码展示
1,功能说明
二维码主要展示两方面的内容:标识用户(扫码可查看用户手机号),标识快递(可看到快递取件码)
通过/wx/createQRCode.do来处理二维码相关的请求。附带参数type用来标记展示用户还是快递的二维码,参数code、userPhone自选。比如/wx/createQRCode.do?type=express&code=123456
2,修改expressList.html、index.html
通过点击生成二维码的链接,向后端发送创建二维码的请求
expressList.html
index.html
3,编写QRCodeController实现:创建二维码、展示二维码内容
创建二维码(将要展示的数据存入session)、展示二维码内容(将session中的数据返还给前端,并写入二维码中)
package com.xxy.wx.controller;
import com.xxy.bean.Message;
import com.xxy.mvc.ResponseBody;
import com.xxy.mvc.ResponseView;
import com.xxy.util.JSONUtil;
import com.xxy.util.UserUtil;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class QRCodeController {
@ResponseView("/wx/createQRCode.do")
public String createQRCode(HttpServletRequest request, HttpServletResponse response) {
String type = request.getParameter("type");
String code = null;
String userPhone = null;
String QRCodeContent = null;
if ("express".equals(type)) {
code = request.getParameter("code");
QRCodeContent = "express_".concat(code);
} else {
// 这里要先获取微信用户,再获取其电话号码
userPhone = UserUtil.getWxUser(request.getSession()).getUserphone();
QRCodeContent = "userPhone_".concat(userPhone);
}
HttpSession session = request.getSession();
session.setAttribute("qrcode", QRCodeContent);
return "/personQRcode.html";
}
@ResponseBody("/wx/qrcode.do")
public String getQRCode(HttpServletRequest request, HttpServletResponse response) {
String qrcode = (String) request.getSession().getAttribute("qrcode");
Message msg = new Message();
if (qrcode == null) {
msg.setStatus(-1);
msg.setResult("取件码获取出错,请用户重新操作");
} else {
msg.setStatus(0);
msg.setResult(qrcode);
}
return JSONUtil.toJSON(msg);
}
}
修改application.properties