客服聊天系统对接及功能添加

This commit is contained in:
yaoqin 2025-04-30 15:22:35 +08:00
parent 13add51a20
commit 2e56d71b0c
10 changed files with 1648 additions and 701 deletions

View File

@ -6,6 +6,7 @@ ENV = 'development'
#开发环境 #开发环境
VUE_APP_BASE_API = 'https://test.m2pool.com/api/' VUE_APP_BASE_API = 'https://test.m2pool.com/api/'
# VUE_APP_BASE_API = 'http://10.168.2.150:8101/'
VUE_APP_BASE_URL = 'https://test.m2pool.com/' VUE_APP_BASE_URL = 'https://test.m2pool.com/'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

View File

@ -290,13 +290,45 @@
} }
}, },
"@babel/helpers": { "@babel/helpers": {
"version": "7.26.9", "version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz",
"integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/template": "^7.26.9", "@babel/template": "^7.27.0",
"@babel/types": "^7.26.9" "@babel/types": "^7.27.0"
},
"dependencies": {
"@babel/parser": {
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
"integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
"dev": true,
"requires": {
"@babel/types": "^7.27.0"
}
},
"@babel/template": {
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
"integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.26.2",
"@babel/parser": "^7.27.0",
"@babel/types": "^7.27.0"
}
},
"@babel/types": {
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
"integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.25.9",
"@babel/helper-validator-identifier": "^7.25.9"
}
}
} }
}, },
"@babel/highlight": { "@babel/highlight": {
@ -1104,9 +1136,9 @@
} }
}, },
"@babel/runtime": { "@babel/runtime": {
"version": "7.26.9", "version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
"integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
"dev": true, "dev": true,
"requires": { "requires": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
@ -1718,6 +1750,11 @@
"integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==",
"dev": true "dev": true
}, },
"@stomp/stompjs": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/@stomp/stompjs/-/stompjs-7.1.1.tgz",
"integrity": "sha512-chcDs6YkAnKp1FqzwhGvh3i7v0+/ytzqWdKYw6XzINEKAzke/iD00dNgFPWSZEqktHOK+C1gSzXhLkLbARIaZw=="
},
"@trysound/sax": { "@trysound/sax": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@ -3032,9 +3069,9 @@
} }
}, },
"axios": { "axios": {
"version": "1.7.9", "version": "1.8.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz",
"integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==",
"requires": { "requires": {
"follow-redirects": "^1.15.6", "follow-redirects": "^1.15.6",
"form-data": "^4.0.0", "form-data": "^4.0.0",

View File

@ -10,8 +10,9 @@
}, },
"dependencies": { "dependencies": {
"@dreysolano/prerender-spa-plugin": "^1.0.3", "@dreysolano/prerender-spa-plugin": "^1.0.3",
"@stomp/stompjs": "^7.1.1",
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",
"axios": "^1.5.0", "axios": "^1.8.4",
"core-js": "^3.8.3", "core-js": "^3.8.3",
"echarts": "^5.5.1", "echarts": "^5.5.1",
"element-ui": "^2.15.14", "element-ui": "^2.15.14",

View File

@ -45,7 +45,7 @@
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_4582735_irzdjxdsrq8.css"> <link rel="stylesheet" href="//at.alicdn.com/t/c/font_4582735_7i8wfzc0art.css">
<title>M2pool - Stable leading high-yield mining pool</title> <title>M2pool - Stable leading high-yield mining pool</title>
<meta name="keywords" content="M2Pool, cryptocurrency mining pool,Entropyx(enx),entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿"> <meta name="keywords" content="M2Pool, cryptocurrency mining pool,Entropyx(enx),entropyx, bitcoin mining, DGB mining, mining pool service, 加密货币矿池, 比特币挖矿, DGB挖矿">
<meta name="description" content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd, enx"> <meta name="description" content="M2Pool provides professional mining services, supporting multiple cryptocurrency mining, including nexa, grs, mona, dgb, rxd, enx">

View File

@ -1,7 +1,7 @@
<template> <template>
<div id="app"> <div id="app">
<router-view class="page" /> <router-view class="page" />
<ChatWidget /> <ChatWidget v-if="!$route.path.includes('/customerService')" />
</div> </div>
</template> </template>
<script > <script >

View File

@ -48,13 +48,13 @@ export function getUpdateRoom(data) {
} }
//图片上传接口 //图片上传接口
export function getFileUpdate(data) { // export function getFileUpdate(data) {
return request({ // return request({
url: `file/update`, // url: `file/update`,
method: 'post', // method: 'post',
data // data
}) // })
} // }
//图根据当前用户邮箱查询聊天室id //图根据当前用户邮箱查询聊天室id
@ -66,3 +66,13 @@ export function getUserid() {
}) })
} }
//上传图片
export function getFileUpdate(data) {
return request({
url: `pool/ticket/uploadFile`,
method: 'post',
data
})
}

File diff suppressed because it is too large Load Diff

View File

@ -124,7 +124,7 @@ const childrenRoutes = [
component: () => import('../views/customerService/index.vue'), component: () => import('../views/customerService/index.vue'),
meta: {title: '在线客服', meta: {title: '在线客服',
description:i18n.t(`seo.apiFile`), description:i18n.t(`seo.apiFile`),
allAuthority:[`all`], allAuthority:[`customer_service`],//客服权限
// keywords: 'M2Pool 矿池,API 文档,认证 token,接口调用,API file,authentication token,Interface call' // keywords: 'M2Pool 矿池,API 文档,认证 token,接口调用,API file,authentication token,Interface call'
keywords:{ keywords:{
en: 'API file,authentication token,Interface call', en: 'API file,authentication token,Interface call',
@ -689,7 +689,10 @@ router.beforeEach((to, from, next) => {
message:i18n.t(`mining.jurisdiction`), message:i18n.t(`mining.jurisdiction`),
type: 'error' type: 'error'
}); });
next({ path: `/${lang}` }) // 添加这行,重定向到首页
} }
}else{ }else{

File diff suppressed because it is too large Load Diff

View File

@ -24,8 +24,8 @@
show-word-limit show-word-limit
v-model="ruleForm.desc"> v-model="ruleForm.desc">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item style="width: 100%;"> <el-form-item style="width: 100%;">
<div style="width: 100%;font-weight: 600;color: rgba(0,0,0,0.7);">{{ $t(`work.enclosure`) }}</div> <div style="width: 100%;font-weight: 600;color: rgba(0,0,0,0.7);">{{ $t(`work.enclosure`) }}</div>