@@ -156,6 +149,7 @@ watch(
display: flex;
flex-direction: column;
padding: 12rem;
+
.chat-footer {
flex-shrink: 0;
margin: 12rem -12rem -12rem;
@@ -163,11 +157,14 @@ watch(
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
+
.main-container {
flex: 1;
overflow: auto;
+
.welcome-con {
padding: 23rem 8rem;
+
.welcome-title {
font-family: PingFang SC;
font-size: 20rem;
@@ -183,6 +180,7 @@ watch(
text-fill-color: transparent;
margin-bottom: 4rem;
}
+
.sub-title {
font-family: PingFang SC;
font-size: 18rem;
@@ -198,6 +196,7 @@ watch(
text-fill-color: transparent;
}
}
+
.abstract-con {
flex-direction: column;
justify-content: center;
@@ -212,6 +211,7 @@ watch(
backdrop-filter: blur(10rem);
border-radius: 12rem;
+
.title {
font-family: PingFang SC;
font-size: 16rem;
@@ -222,15 +222,18 @@ watch(
/* 科个中性/正文-标题 17204D */
/* 样式描述:用于正文标题 */
color: #17204d;
+
img {
width: 20rem;
margin-left: 4.6rem;
}
}
+
.list {
margin-top: 13rem;
display: flex;
gap: 8rem;
+
.item {
display: flex;
flex-direction: column;
@@ -257,6 +260,7 @@ watch(
/* 科个中性/正文-副标题 7E849F */
color: #7e849f;
}
+
.content {
.nums {
font-family: DIN-Medium;
@@ -267,10 +271,12 @@ watch(
font-variation-settings: 'opsz' auto;
color: #17204d;
+
.num {
display: flex;
align-items: flex-end;
}
+
span {
font-family: PingFang SC;
font-size: 12rem;
@@ -284,6 +290,7 @@ watch(
color: #17204d;
}
}
+
.text {
font-family: PingFang SC;
font-size: 12rem;
@@ -297,12 +304,13 @@ watch(
align-self: flex-end;
}
}
+
.btn {
border-radius: 100rem;
font-family: PingFang SC;
font-size: 14rem;
font-weight: 500;
- line-height: 21rem;
+ line-height: 19rem;
text-align: center;
letter-spacing: 0rem;
@@ -312,13 +320,16 @@ watch(
cursor: pointer;
}
}
+
.singleItem {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
- > div {
+
+ >div {
margin-left: 36rem;
+
.title {
font-family: PingFang SC;
font-size: 14rem;
@@ -332,6 +343,7 @@ watch(
color: #17204d;
margin-bottom: 4rem;
}
+
.content {
.nums {
font-size: 12rem;
@@ -343,6 +355,7 @@ watch(
font-family: PingFang SC;
font-weight: 500;
color: #17204d;
+
span {
color: #7e849f;
margin-left: 0;
@@ -353,69 +366,16 @@ watch(
}
}
}
- .ask-con {
- display: flex;
- flex-direction: column;
- gap: 10rem;
- margin-top: 16rem;
- .item {
- border-radius: 24rem;
- display: flex;
- // flex-direction: column;
- // justify-content: center;
- padding: 6rem 16rem 6rem 6rem;
- gap: 12rem;
-
- background: #f9fbff;
-
- box-sizing: border-box;
- border: 1rem solid rgba(255, 255, 255, 0.9);
- width: fit-content;
- cursor: pointer;
- .icon {
- width: 30rem;
- height: 30rem;
- min-width: 30rem;
- border-radius: 186rem;
- opacity: 1;
-
- background: #fcfdfd;
-
- box-shadow: 0rem 4rem 10rem 0rem #e7effd;
- text-align: center;
- span {
- line-height: 30rem;
- font-size: 14rem;
- font-variation-settings: 'opsz' auto;
- background: linear-gradient(100deg, #38afff 27%, #025cea 101%);
- font-weight: 600;
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
- text-fill-color: transparent;
- display: inline-block;
- }
- }
- > span {
- font-family: PingFang SC;
- font-size: 14rem;
- font-weight: normal;
- line-height: 31rem;
- letter-spacing: 0rem;
- /* 科个中性/正文-标题 17204D */
- /* 样式描述:用于正文标题 */
- color: #17204d;
- }
- }
- }
.message-con {
display: flex;
flex-direction: column;
gap: 12rem;
margin-top: 16rem;
+
.msg-item {
display: flex;
+
.bubble {
max-width: 80%;
padding: 10rem 14rem;
@@ -428,46 +388,57 @@ watch(
word-break: break-all;
}
}
+
.from-user {
justify-content: flex-end;
+
.bubble {
background: linear-gradient(266deg, #025cea 0%, #3f8cf8 100%);
color: #ffffff;
border-radius: 12rem 12rem 4rem 12rem;
}
}
+
.from-bot {
justify-content: flex-start;
+
.bubble {
background: #fcfdfd;
box-shadow: 0rem 4rem 10rem 0rem #e7effd;
border-radius: 12rem 12rem 12rem 4rem;
}
}
+
.typing {
display: flex;
align-items: center;
gap: 5rem;
+
span {
width: 6rem;
height: 6rem;
border-radius: 50%;
background: #7e849f;
animation: typing-blink 1s infinite;
+
&:nth-child(2) {
animation-delay: 0.2s;
}
+
&:nth-child(3) {
animation-delay: 0.4s;
}
}
}
+
@keyframes typing-blink {
+
0%,
80%,
100% {
opacity: 0.2;
}
+
40% {
opacity: 1;
}
diff --git a/src/components/footer-bar-input.vue b/src/components/footer-bar-input.vue
index 0fd1744..47469c2 100644
--- a/src/components/footer-bar-input.vue
+++ b/src/components/footer-bar-input.vue
@@ -479,7 +479,6 @@ function clickSendMessage() {
sendFlag.value = !sendFlag.value
emoticonClick.value = false
sendMessage.value = ''
-
// 新架构:用户消息卡片入 chatArr,USER_TEXT 事件发送,机器人回复经 SSE 下发
store?.pushUserMessage?.(elInputValue)
messageSend(elInputValue).catch((err) => {
diff --git a/src/components/hot-question-new.vue b/src/components/hot-question-new.vue
new file mode 100644
index 0000000..b5033e2
--- /dev/null
+++ b/src/components/hot-question-new.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
#
+
{{ item.name }}
+

+
+
+
+
diff --git a/src/main.js b/src/main.js
index a4458ab..6360a42 100644
--- a/src/main.js
+++ b/src/main.js
@@ -49,7 +49,6 @@ function getRem(pwidth, prem) {
oWidth = minWidth
}
- console.log('计算 rem - 屏幕宽度:', oWidth, '基准宽度:', pwidth, '基准字号:', prem)
html.style.fontSize = (oWidth / pwidth) * prem + 'px'
}
diff --git a/src/store/app.js b/src/store/app.js
index 272a678..4b1c9f3 100644
--- a/src/store/app.js
+++ b/src/store/app.js
@@ -684,6 +684,7 @@ export const useAppStore = defineStore('app', () => {
setIntegratedUser,
setHxSessionId,
setShowHumanAppraise,
+ set_data: setShowHumanAppraise
}
})
export default useAppStore
diff --git a/src/utils/https.js b/src/utils/https.js
index b738419..a6300a0 100644
--- a/src/utils/https.js
+++ b/src/utils/https.js
@@ -135,7 +135,7 @@ axios.interceptors.response.use(
// 请求成功
(res) => {
if (res.data.code === 10001) {
- appStore().del_token()
+ appStore().delToken()
sessionStorage.removeItem('token') // 删除已经失效或过期的token(不删除也可以,因为登录后覆盖)
// 如果没有展示返回头部的话去掉弹窗按钮
@@ -270,7 +270,6 @@ export function Get(url, params) {
export function Post(url, params) {
return new Promise((resolve, reject) => {
url = base.baseUrl + url
- console.log('url', url, base);
axios
.post(url, params)
.then((res) => {
diff --git a/src/utils/index.js b/src/utils/index.js
index 0bb3782..61601b0 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -372,7 +372,7 @@ export function getHost() {
export function Encrypt(Okey, Oiv, payload) {
const key = CryptoJS.enc.Utf8.parse(Okey);
const iv = CryptoJS.enc.Utf8.parse(Oiv);
- let srcs = srcs = CryptoJS.enc.Utf8.parse(payload)
+ let srcs = CryptoJS.enc.Utf8.parse(payload)
const encrypted = CryptoJS.AES.encrypt(srcs, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })
const base64str = CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
// return encrypted.ciphertext.toString().toUpperCase();
diff --git a/src/utils/sensors.js b/src/utils/sensors.js
new file mode 100644
index 0000000..d9ab5b6
--- /dev/null
+++ b/src/utils/sensors.js
@@ -0,0 +1,28 @@
+import sensors from 'sa-sdk-javascript'
+
+// 神策埋点 初始化全局
+let server_url = 'https://sc.cpic.com.cn/sa?project=SXTOC';// 生产环境环境神策接入地址
+let host = window.location.host;
+const ISLOG = ['production', 'prod'].includes(process.env.NODE_ENV);
+
+if (host.indexOf('uat') > -1 || host.indexOf('sit') > -1 || host.indexOf('localhost') > -1) {
+ server_url = 'https://sc-sit.cpic.com.cn:443/sa?project=SXXT' // 测试环境神策接入地址
+}
+
+console.log("神策接入地址环境", server_url);
+sensors.init({
+ server_url: server_url,
+ is_track_single_page: true, // 单页应用页面浏览事件采集(url改变就触发)
+ show_log: false, // 控制台显示数据开
+ heatmap: {
+ //是否开启点击图,default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭。
+ clickmap: 'default',
+ //是否开启触达注意力图,not_collect 表示关闭,不会自动采集 $WebStay 事件,可以设置 'default' 表示开启。
+ scroll_notice_map: 'default'
+ }
+});
+
+sensors.quick('autoTrack') // 首次触发页面加载事件 $pageview
+
+
+export default sensors
\ No newline at end of file
diff --git a/src/views/chat.vue b/src/views/chat.vue
index d523a09..849060d 100644
--- a/src/views/chat.vue
+++ b/src/views/chat.vue
@@ -6,26 +6,31 @@
:isWX="isWX"
:lostChatInfoNum="lostChatInfoNum"
/> -->
-
+