kefu/controller/deploy.go

63 lines
54 KiB
Go
Raw Normal View History

2024-12-10 02:50:12 +00:00
package controller
import (
"fmt"
"github.com/gin-gonic/gin"
)
func GetDownloadDeloy(c *gin.Context) {
entId, _ := c.Get("ent_id")
kefuName, _ := c.Get("kefu_name")
host := c.Request.Host
config := fmt.Sprintf(`
const KEFU_NAME="%s";//商户账号
const ENT_ID="%s";//商户编号
`, kefuName, entId)
// 生成HTML内容
htmlContent := `<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>在线咨询</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<script>
` + config + `
</script>
<style>
body{margin: 0px;overflow: hidden;}
</style>
<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<div id="chatBox"></div>
</body>
<script>
if (/MicroMessenger/i.test(navigator.userAgent)) {
$("#chatBox").html("<img width='100%' src='data:image/jpeg;base64,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
}else{
let iframe = document.createElement("iframe")
iframe.id = "iframeChatBox"
iframe.src = "https://` + host + `/chatIndex?ent_id="+ENT_ID+"&kefu_name="+KEFU_NAME;
iframe.style.border = "none";
iframe.width = "100%";
iframe.height = window.innerHeight + "px";
document.getElementById('chatBox')?.appendChild(iframe) //向指定dom插入iframe
// 窗口变化时改变iframe高度解决弹出键盘遮挡输入框问题
$(window).resize(function(){
$('#iframeChatBox').height($(window).height());
})
}
</script>
</html>
`
// 设置响应头,让浏览器下载
c.Header("Content-Disposition", "attachment; filename=chat.html")
c.Header("Content-Type", "application/octet-stream")
// 将HTML内容写入响应
c.String(200, htmlContent)
}