发环境及框架后端:国产java极速框架JFinal(超级好用有木有啊)前端:WEUI WXSS版(微信团队出品的,自己写样式不管怎么写都丑啊)数据库:MySQL服务器:Linux Nginx Tomcat开发流程 ...
开发环境及框架
后端:国产java极速框架JFinal(超级好用有木有啊)
前端:WEUI WXSS版(微信团队出品的,自己写样式不管怎么写都丑啊)
数据库:MySQL
服务器:Linux Nginx Tomcat
开发流程
用户打开小程序后,本程序获取用户的昵称,头像展示在前台
用户输入姓名后,系统根据用户的openid生成结婚证图片链接(重复生成自动覆盖上一张)
判断如果是在开发者工具里面运行。则提示需找我获取体验资格。
后端关键代码详情
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生成文件名。