内网部署

This commit is contained in:
2024-01-26 12:56:13 +08:00
parent 7dc111e89d
commit c2e9f24a0d
28 changed files with 243 additions and 68 deletions

View File

@@ -0,0 +1,7 @@
VUE_APP_MAP_URL='https://192.168.2.181/geoserver'
VUE_APP_MAP_AUTHKEY='30efbafe-d218-4d77-8200-0207246924be'
VUE_APP_API="https://192.168.2.181/znzq"
VUE_APP_STATIC_FILE_Prefix='//192.168.2.181/static_file'
VUE_APP_SRS_URL='webrtc://192.168.2.181/'
VUE_APP_IM_API_URL='https://192.168.2.181/im_api/v1'
VUE_APP_MAP_ROUTE='https://192.168.2.181/route'

View File

@@ -1,7 +1,8 @@
VUE_APP_MAP_URL='http://82.157.23.170:8600/geoserver'
VUE_APP_MAP_AUTHKEY='9b488ac6-5309-4ef4-ab99-2180d2da161d'
VUE_APP_API="http://work.ii999.live:19002/znzq"
VUE_APP_STATIC_FILE_Prefix='//119.45.242.222/static_file'
VUE_APP_SRS_URL='webrtc://119.45.242.222/'
VUE_APP_STATIC_FILE_Prefix='//192.168.2.181/static_file'
VUE_APP_SRS_URL='webrtc://192.168.2.181/'
VUE_APP_IM_API_URL='https://dev.shudong.xyz/im_api/v1'
VUE_APP_IM_API_URL='https://192.168.2.181/im_api/v1'
VUE_APP_MAP_ROUTE='https://172.16.3.18/geoserver'

View File

@@ -1,6 +1,8 @@
VUE_APP_MAP_URL='https://172.16.3.18/geoserver'
VUE_APP_MAP_AUTHKEY='30efbafe-d218-4d77-8200-0207246924be'
VUE_APP_API="https://172.16.3.18/znzq"
VUE_APP_STATIC_FILE_Prefix='//172.16.3.18/static_file'
VUE_APP_SRS_URL='webrtc://172.16.3.18/'
VUE_APP_IM_API_URL='https://172.16.3.18/im_api/v1'
VUE_APP_MAP_ROUTE='https://172.16.3.18/route'

View File

@@ -8,6 +8,7 @@
"serve": "vue-cli-service serve --mode dev",
"prod-serve": "vue-cli-service serve --mode hd",
"build:hd": "vue-cli-service build --mode hd && node deployHD.js",
"build:company": "vue-cli-service build --mode company",
"build:online": "vue-cli-service build --mode dev",
"lint": "vue-cli-service lint"
},

View File

@@ -1,9 +1,9 @@
<!DOCTYPE html>
<html lang="">
<head>
<script type="text/javascript" src="https://172.16.3.18/static_file/vconsole.min.js"></script>
<!-- <script type="text/javascript" src="https://192.168.2.181/static_file/vconsole.min.js"></script>-->
<script>
var vConsole = new VConsole();
// var vConsole = new VConsole();
console.log('Hello world');
</script>
<meta charset="utf-8">

View File

@@ -36,7 +36,7 @@ function SrsRtcPublisherAsync() {
self.turn = {
iceServers: [{
urls: 'turns:172.16.3.18:3478', 'credential': 'huashiai',
urls: 'turn:120.79.18.123:3478', 'credential': 'mars23600800',
'username': 'huashiai'
}]
};

View File

@@ -1,6 +1,6 @@
import Vue from 'vue'
import App from './App.vue'
import utils from './utils/publicFun';
// import utils from './utils/publicFun';
import router from './router'
import axios from 'axios'
@@ -15,7 +15,7 @@ import 'amfe-flexible';
Vue.config.productionTip = false
Vue.prototype.$utils = utils;
// Vue.prototype.$utils = utils;
new Vue({
render: h => h(App),

View File

@@ -289,12 +289,12 @@ export default {
this.beginPublish()
},
switchCamera() {
if(this.client="app"){
/* if(this.client="app"){
location.href = "uniwebview://action?function=callRoomFuns&params1=switchCamara"
console.log("发送切换摄像头通知")
return false;
}
*/
let self = this;
self.cameraIndex = self.cameraIndex + 1 == self.cameraDevices.length ? 0 : self.cameraIndex + 1
@@ -342,7 +342,7 @@ export default {
navigator.mediaDevices.enumerateDevices().then(this.gotDevices).catch(this.handleError);
if(this.client=="app"){
/* if(this.client=="app"){
if(this.constraints.video==false){
console.log("发送关闭摄像头通知")
location.href = "uniwebview://action?function=callRoomFuns&params1=closeCamara"
@@ -360,7 +360,7 @@ export default {
return false;
}
*/
if (_this.publishSdk) {
_this.publishSdk.close();
}

View File

@@ -145,6 +145,7 @@ export default {
isCanDraw: true,
from: "",
routeType: "car",
longpress: false
};
},
mounted() {
@@ -180,7 +181,6 @@ export default {
case "pcPlanningPath":
this.pcDrawType = "LineString";
window.addEventListener('message', (event) => {
this.isCanDraw = false
console.log(event.data)
if (this.parentPostMessageData.length == 0) {
@@ -205,7 +205,7 @@ export default {
if (event.data instanceof Array) {
this.map.removeLayer(this.drawPlanningPathLayer);
this.parentPostMessageData = event.data;
this.drawPcPostMessageDataLayer()
this.drawPcPostMessageDataLayer();
} else {
this.isCanDraw = true;
}
@@ -360,6 +360,51 @@ export default {
zoom: 16,
}),
});
if (this.pageType == "mini") {
var _this = this;
this.map.on("click", function (e) {
(_this.longpress) ? console.log("Long Press") : console.log("Short Press")
if (_this.longpress) {
console.log(e)
console.log(e.coordinate)
const startPoint = ol.proj.transform(e.coordinate, 'EPSG:3857', 'EPSG:4326');
location.href = "uniwebview://action?function=homeAddAlarmPoint&params1=" + JSON.stringify(startPoint);
} else {
_this.map.forEachFeatureAtPixel(
e.pixel,
(feature) => {
console.log("Feature被点击了")
console.log(feature)
if (feature.values_.type == 'alarm') {
_this.alarmDetailsData = feature.values_.data;
_this.alarmDetailsOverlay = true;
}
},
{
hitTolerance: 30
}
);
}
});
var startTime, endTime;
this.map.on('pointerdown', function () {
startTime = new Date().getTime();
});
this.map.on('pointerup', function () {
endTime = new Date().getTime();
console.log(endTime - startTime);
_this.longpress = (endTime - startTime < 500) ? false : true;
});
} else {
this.map.on('singleclick', e => {
this.map.forEachFeatureAtPixel(
e.pixel,
@@ -376,6 +421,7 @@ export default {
}
);
});
}
},
/**
@@ -392,7 +438,7 @@ export default {
planningPathCar() {
const startPoint = ol.proj.transform(this.navigationStartPoint, 'EPSG:4326', 'EPSG:3857');
const endPoint = ol.proj.transform(this.navigationEndPoint, 'EPSG:4326', 'EPSG:3857');
let _url = "https://172.16.3.18/route/v0/driving/"
let _url = process.env.VUE_APP_MAP_ROUTE +"/v0/driving/"
_url = _url + this.navigationStartPoint[0] + ","
_url = _url + this.navigationStartPoint[1] + ";"
_url = _url + this.navigationEndPoint[0] + ","
@@ -479,7 +525,8 @@ export default {
planningPathFoot() {
const startPoint = ol.proj.transform(this.navigationStartPoint, 'EPSG:4326', 'EPSG:3857');
const endPoint = ol.proj.transform(this.navigationEndPoint, 'EPSG:4326', 'EPSG:3857');
let _url = "https://172.16.3.18/route/v1/driving/"
// let _url = "https://192.168.2.181/route/v1/driving/"
let _url = process.env.VUE_APP_MAP_ROUTE +"/v1/driving/"
_url = _url + this.navigationStartPoint[0] + ","
_url = _url + this.navigationStartPoint[1] + ";"
_url = _url + this.navigationEndPoint[0] + ","
@@ -928,10 +975,12 @@ export default {
// 图层添加到地图上
this.map.addLayer(this.alarmLayer);
var flag = true
/*
this.alarmAnimation = setInterval(() => {
flag = !flag
this.alarmLayer.setVisible(flag)
}, 1500);
*/
}
@@ -944,6 +993,7 @@ export default {
//临时智慧所,小红旗
if (record.alarmCategory == "1706273001850601474") {
// 设置要素的图标
feature.setStyle(
new Style({
// 设置图片效果

View File

@@ -541,7 +541,6 @@ export default {
vectorSource.addFeature(polygonFeature);
}
// 矢量地图
this.drawPlanningPathLayer = new VectorLayer({
source: vectorSource,

View File

@@ -3,5 +3,4 @@
/im-service/target
/im-common/target
/build/**
/dev
/hd

Binary file not shown.

View File

@@ -0,0 +1,77 @@
version: '3'
services:
app-web:
image: nginx:1.25
restart: always
privileged: true
container_name: app-web
# ports:
# - 80:80
# - 443:443
network_mode: host
volumes:
- ./:/usr/share/nginx/html/
- ./nginx.conf:/etc/nginx/nginx.conf
im-tcp:
image: 172.16.2.1:8083/java:8_server-jre_unlimited
restart: always
privileged: true
environment:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
TZ: Asia/Shanghai
IM_HOST: 172.16.3.18
container_name: im-tcp
volumes:
- ./:/hd-znzq/config
- ./:/hd-znzq/system
network_mode: host
# ports:
# - 29001:29001
# - 29000:29000
command: java -Dfile.encoding=UTF-8 -jar /hd-znzq/system/im-tcp-1.0.0-SNAPSHOT.jar /hd-znzq/config/hd_1.yml
im-message-store:
image: 172.16.2.1:8083/java:8_server-jre_unlimited
restart: always
privileged: true
environment:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
TZ: Asia/Shanghai
container_name: im-message-store
volumes:
- ./:/hd-znzq/system
# ports:
# - 8990:8990
network_mode: host
command: java -Dfile.encoding=UTF-8 -jar /hd-znzq/system/im-message-store-1.0.0-SNAPSHOT.jar
im-service:
image: 172.16.2.1:8083/java:8_server-jre_unlimited
restart: always
privileged: true
environment:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
TZ: Asia/Shanghai
SRS_HOST: 172.16.3.18
container_name: im-service
volumes:
- ./:/hd-znzq/system
ports:
- 28000:28000
# network_mode: host
command: java -Dfile.encoding=UTF-8 -jar /hd-znzq/system/im-service-1.0.0-SNAPSHOT.jar
app-service:
image: 172.16.2.1:8083/java:8_server-jre_unlimited
restart: always
privileged: true
ports:
- 8989:8989
environment:
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8
TZ: Asia/Shanghai
container_name: app-service
volumes:
- ./:/hd-znzq/system
command: java -Dfile.encoding=UTF-8 -jar /hd-znzq/system/app-service-1.0-SNAPSHOT.jar

34
hs-im-server/dev/hd_1.yml Normal file
View File

@@ -0,0 +1,34 @@
lim:
tcpPort: 29000
webSocketPort: 29001
bossThreadSize: 1
workThreadSize: 8
heartBeatTime: 20000 #心跳超时时间 单位毫秒
brokerId: 1000
loginModel: 3
logicUrl: http://172.16.3.18:28000/v1
# * 多端同步模式1 只允许一端在线,手机/电脑/web 踢掉除了本client+imel的设备
# * 2 允许手机/电脑的一台设备 + web在线 踢掉除了本client+imel的非web端设备
# * 3 允许手机和电脑单设备 + web 同时在线 踢掉非本client+imel的同端设备
# * 4 允许所有端多设备登录 不踢任何设备
redis:
mode: single # 单机模式single 哨兵模式sentinel 集群模式cluster
database: 8
password: Mars@23600800
timeout: 3000 # 超时时间
poolMinIdle: 8 #最小空闲数
poolConnTimeout: 3000 # 连接超时时间(毫秒)
poolSize: 10 # 连接池大小
single: #redis单机配置
address: 172.16.2.3:6379
rabbitmq:
host: 172.16.2.1
port: 5672
virtualHost: /
userName: guest
password: guest
zkConfig:
zkAddr: 172.16.2.1:2181
zkConnectTimeOut: 5000

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -4,11 +4,11 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: beAs0LHX2GyTxMw4
url: jdbc:mysql://43.139.191.204:3306:3306/im-core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8
url: jdbc:mysql://43.139.208.48:3306/im-core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8
username: root
redis:
host: 43.139.191.204
host: 43.139.208.48
port: 6379
database: 8
jedis:
@@ -19,9 +19,9 @@ spring:
min-idle: 10
password: dSMIXBQrCBXiHHjk123
rabbitmq:
host: 119.45.242.222
host: 43.139.208.48
port: 5672
addresses: 119.45.242.222
addresses: 43.139.208.48
username: guest
password: guest
# virtual-host:

View File

@@ -1,3 +1,3 @@
spring:
profiles:
active: prod
active: local

View File

@@ -8,11 +8,11 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: beAs0LHX2GyTxMw4
url: jdbc:mysql://43.139.191.204:3306/im-core?serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=UTF8
url: jdbc:mysql://43.139.208.48:3306/im-core?serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=UTF8
username: root
redis:
host: 43.139.191.204
host: 43.139.208.48
port: 6379
database: 8
jedis:
@@ -23,9 +23,9 @@ spring:
min-idle: 10
password: dSMIXBQrCBXiHHjk123
rabbitmq:
host: 119.45.242.222
host: 43.139.208.48
port: 5672
addresses: 119.45.242.222
addresses: 192.168.2.181
username: guest
password: guest
# virtual-host:
@@ -59,7 +59,7 @@ server:
appConfig:
appId: 10000
privateKey: 123456
zkAddr: 119.45.242.222:2181 # zk连接地址
zkAddr: 43.139.208.48:2181 # zk连接地址
zkConnectTimeOut: 50000 #zk超时时间
imRouteWay: 3 # 路由策略1轮训 2随机 3hash
consistentHashWay: 1 # 如果选用一致性hash的话具体hash算法 1 TreeMap 2 自定义Map
@@ -75,7 +75,7 @@ appConfig:
groupMaxMemberCount: 500
sendMessageCheckFriend: false # 发送消息是否校验关系链
sendMessageCheckBlack: false # 发送消息是否校验黑名单
callbackUrl: http://127.0.0.1:8000/callback
callbackUrl: http://43.139.208.48:8000/callback
modifyUserAfterCallback: false # 用户资料变更之后回调开关
addFriendAfterCallback: false # 添加好友之后回调开关
addFriendBeforeCallback: false # 添加好友之前回调开关
@@ -130,4 +130,4 @@ minio:
bucketName: hd-im
custom:
host: 119.45.242.222
host: 43.139.208.48

View File

@@ -3,4 +3,4 @@ spring:
time-zone: GMT+8
profiles:
active: prod
active: local

View File

@@ -6,7 +6,7 @@ lim:
heartBeatTime: 20000 #心跳超时时间 单位毫秒
brokerId: 1000
loginModel: 3
logicUrl: http://172.16.2.3:28000/v1
logicUrl: http://192.168.2.181:28000/v1
# * 多端同步模式1 只允许一端在线,手机/电脑/web 踢掉除了本client+imel的设备
# * 2 允许手机/电脑的一台设备 + web在线 踢掉除了本client+imel的非web端设备
# * 3 允许手机和电脑单设备 + web 同时在线 踢掉非本client+imel的同端设备
@@ -15,20 +15,20 @@ lim:
redis:
mode: single # 单机模式single 哨兵模式sentinel 集群模式cluster
database: 8
password: Mars@23600800
password: dSMIXBQrCBXiHHjk123
timeout: 3000 # 超时时间
poolMinIdle: 8 #最小空闲数
poolConnTimeout: 3000 # 连接超时时间(毫秒)
poolSize: 10 # 连接池大小
single: #redis单机配置
address: 172.16.2.3:6379
address: 43.139.208.48
rabbitmq:
host: 172.16.2.1
host: 192.168.2.181
port: 5672
virtualHost: /
userName: guest
password: guest
zkConfig:
zkAddr: 172.16.2.1:2181
zkAddr: 192.168.2.181:2181
zkConnectTimeOut: 5000

View File

@@ -1,11 +1,11 @@
export default class config{
static prod="online_not"
static prod="online"
static getZnzqApiUrl(){
if(process.env.NODE_ENV === 'development' ){
return 'http://work.ii999.live:19002/znzq'
}else{
if(this.prod=="online"){
return 'http://work.ii999.live:19002/znzq'
return '/znzq'
}else{
return '/znzq'
}
@@ -28,7 +28,7 @@ export default class config{
return `http://localhost:8080/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isForce=0&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}&uname=${uname}&tuid=${tuid}`
}else{
if(this.prod=="online"){
return `https://119.45.242.222/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isForce=0&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}&uname=${uname}&tuid=${tuid}`
return `https://43.139.208.48/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isForce=0&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}&uname=${uname}&tuid=${tuid}`
}else{
return `https://172.16.3.18/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isForce=0&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}&uname=${uname}&tuid=${tuid}`
}
@@ -39,7 +39,7 @@ export default class config{
return 'webrtc://119.45.242.222/'
}else{
if(this.prod=="online"){
return 'webrtc://119.45.242.222/'
return 'webrtc://43.139.208.48/'
}else{
return 'webrtc://172.16.3.18/'
}

View File

@@ -16,7 +16,6 @@ import App from './App'
Vue.config.productionTip = false
Vue.prototype.$socketTask = socketTask;

View File

@@ -556,7 +556,7 @@ const store = new Vuex.Store({
//获取通讯录,存储通讯录数据到本地
customHttp.customHttp.get('/api/im/app/addressList', {
params: {
pageSize:1000
},
/* 会加在url上 */
header: {},

View File

@@ -280,8 +280,8 @@
// updateChartHistoryFromServer
},
onShow() {
const hd_gps_location = localStorage.getItem("hd_gps_location")
if (hd_gps_location != null) {
const client = localStorage.getItem("client")
if (client == "app") {
this.isMobile = true
}
// TODO PC开发

View File

@@ -65,6 +65,12 @@
// // 监听接收聊天信息
uni.$on('onP2PMessage', this.onMessage)
//
if (options.client) {
uni.setStorageSync("client", options.client)
}
if (options.imUserSign) {
uni.showLoading({
title: "数据加载中...",