|
|
@@ -46,6 +46,14 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Controller; |
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.io.File; |
|
|
|
import java.io.FileInputStream; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
@@ -1048,4 +1056,43 @@ public class WxWeappInfoController extends BaseController { |
|
|
|
* 22. oauth2refreshAccessToken |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("获取体验小程序的体验二维码") |
|
|
|
@GetMapping("/getQrcode") |
|
|
|
public void getQrcode(@RequestParam(value = "appId") String appId, @RequestParam(value = "pagePath") String pagePath, |
|
|
|
@RequestParam(value = "params", required = false) Map<String, String> params, |
|
|
|
HttpServletResponse response, HttpServletRequest req) { |
|
|
|
try { |
|
|
|
TtOpenMaService openMaService = openService.getTtOpenComponentService().getTtMaServiceByAppid(appId); |
|
|
|
File file = openMaService.getTestQrcode(pagePath,params); |
|
|
|
ServletOutputStream out = response.getOutputStream(); |
|
|
|
|
|
|
|
response.reset(); |
|
|
|
response.setContentType("image/jpeg"); |
|
|
|
String agent = req.getHeader("user-agent"); |
|
|
|
String filename = "QRCode.jpg"; |
|
|
|
if (agent.contains("Firefox")) { |
|
|
|
response.setHeader("Content-disposition", |
|
|
|
"attachment; filename=" + new String(filename.getBytes("GB2312"),"ISO-8859-1")); |
|
|
|
} else { |
|
|
|
response.setHeader("Content-disposition", |
|
|
|
"attachment; filename=" + URLEncoder.encode(filename,"UTF-8")); |
|
|
|
} |
|
|
|
// 循环取出流中的数据 |
|
|
|
byte[] b = new byte[1024]; |
|
|
|
int len; |
|
|
|
InputStream inStream = new FileInputStream(file); |
|
|
|
while ((len = inStream.read(b)) > 0) |
|
|
|
response.getOutputStream().write(b, 0, len); |
|
|
|
inStream.close(); |
|
|
|
|
|
|
|
} catch (WxErrorException e) { |
|
|
|
logger.error(e.getMessage()); |
|
|
|
} catch (IOException e) { |
|
|
|
logger.error(e.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |