发环境及框架后端:国产java极速框架JFinal(超级好用有木有啊)前端:WEUI WXSS版(微信团队出品的,自己写样式不管怎么写都丑啊)数据库:MySQL服务器:Linux Nginx Tomcat开发流程 ...

开发环境及框架
开发流程
后端关键代码详情
2个方法,一个是接收前台传入的参数生成图片并返回处理结果的,一个是获取用户openid时候的前置请求
private static final WeixinInfo weixinInfo = WeixinInfo.dao.getWeixinInfoById(5);/*** 创建一个接口,用户需传递姓名和微信openid* 每个用户只能创建一张(为服务器考虑,重复生成则覆盖上一张)* 返回结果有fail和ok两种*/public void getMarryPic() {Map map = new HashMap<>();String result = "fail";String openid = getPara("openid");String name = getPara("name");if (name != null && !name.equals("")) {ImgMarkUtil.mark(getRequest().getServletContext().getRealPath("/") + "/jiehun/yuan2.jpg", getRequest().getServletContext().getRealPath("/") + "jiehun/" + openid + ".jpg", name);result = "ok";map.put("imgurl", weixinInfo.get("host") + "/jiehun/" + openid + ".jpg");}map.put("result", result);renderJson(map);}public void getWxCode() {String js_code = getPara("js_code");String alipayURL = "https://api.weixin.qq.com/sns/jscode2session?";renderText(HttpUtils.post(alipayURL, "appid=" + weixinInfo.get("appid") + "&secret=" + weixinInfo.get("appsecret")+ "&grant_type=authorization_code" + "&js_code=" + js_code));}通过读取本地原图片,把用户传入的姓名弄成水印附在图片上,随后根据openid生成文件名。
public static void mark(String srcImgPath, String outImgPath, String waterMarkContent) {try {// 读取原图片信息File srcImgFile = new File(srcImgPath);Image srcImg = ImageIO.read(srcImgFile);int srcImgWidth = srcImg.getWidth(null);int srcImgHeight = srcImg.getHeight(null);// 加水印