本地开发

This commit is contained in:
2023-11-16 10:52:39 +08:00
parent 75000d846b
commit 9a57e4aaab
18 changed files with 700 additions and 484 deletions

View File

@@ -0,0 +1,20 @@
const client = require('scp2');
const ora = require('ora');
const chalk = require('chalk');
const spinner = ora(chalk.green('正在发布到服务器...'));
spinner.start();
client.scp('./dist/', { // 本地打包文件的位置
"host": '172.16.3.19', // IP地址
"port": '22', // 服务器端口
"username": 'root', // 用户名
"password": 'Huawei@123', // 密码
"path": '/home/workplace/im/hd-glasses-app' // 项目路径
}, err =>{
spinner.stop();
if (!err) {
console.log(chalk.green("服务器部署完毕。"))
} else {
console.log("err", err)
}
})

View File

@@ -39,6 +39,19 @@
"requires": { "requires": {
"@babel/highlight": "^7.22.13", "@babel/highlight": "^7.22.13",
"chalk": "^2.4.2" "chalk": "^2.4.2"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
}
} }
}, },
"@babel/compat-data": { "@babel/compat-data": {
@@ -334,6 +347,19 @@
"@babel/helper-validator-identifier": "^7.22.20", "@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"js-tokens": "^4.0.0" "js-tokens": "^4.0.0"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
}
} }
}, },
"@babel/parser": { "@babel/parser": {
@@ -2038,29 +2064,6 @@
"webpack-merge": "^5.7.3", "webpack-merge": "^5.7.3",
"webpack-virtual-modules": "^0.4.2", "webpack-virtual-modules": "^0.4.2",
"whatwg-fetch": "^3.6.2" "whatwg-fetch": "^3.6.2"
},
"dependencies": {
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.10.2",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.2.tgz",
"integrity": "sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
}
} }
}, },
"@vue/cli-shared-utils": { "@vue/cli-shared-utils": {
@@ -2092,6 +2095,27 @@
"color-convert": "^2.0.1" "color-convert": "^2.0.1"
} }
}, },
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"chalk": { "chalk": {
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
@@ -2102,6 +2126,15 @@
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
} }
}, },
"cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": {
"restore-cursor": "^3.1.0"
}
},
"color-convert": { "color-convert": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
@@ -2123,6 +2156,28 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true "dev": true
}, },
"is-interactive": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz",
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true
},
"is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true
},
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz",
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
}
},
"lru-cache": { "lru-cache": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -2132,6 +2187,33 @@
"yallist": "^4.0.0" "yallist": "^4.0.0"
} }
}, },
"ora": {
"version": "5.4.1",
"resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz",
"integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
"dev": true,
"requires": {
"bl": "^4.1.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0",
"is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0",
"log-symbols": "^4.1.0",
"strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1"
}
},
"restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
"semver": { "semver": {
"version": "7.5.4", "version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
@@ -2225,6 +2307,27 @@
} }
} }
}, },
"@vue/vue-loader-v15": {
"version": "npm:vue-loader@15.11.1",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.11.1.tgz",
"integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
"dev": true
}
}
},
"@vue/web-component-wrapper": { "@vue/web-component-wrapper": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz",
@@ -2502,14 +2605,12 @@
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
"dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": { "requires": {
"color-convert": "^1.9.0" "color-convert": "^1.9.0"
} }
@@ -2557,6 +2658,14 @@
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true "dev": true
}, },
"asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"requires": {
"safer-buffer": "~2.1.0"
}
},
"astral-regex": { "astral-regex": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -2680,8 +2789,7 @@
"balanced-match": { "balanced-match": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
"dev": true
}, },
"base64-js": { "base64-js": {
"version": "1.5.1", "version": "1.5.1",
@@ -2707,17 +2815,6 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true "dev": true
}, },
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"bluebird": { "bluebird": {
"version": "3.7.2", "version": "3.7.2",
"resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz",
@@ -2789,7 +2886,6 @@
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@@ -2816,16 +2912,6 @@
"update-browserslist-db": "^1.0.13" "update-browserslist-db": "^1.0.13"
} }
}, },
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"dev": true,
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"buffer-from": { "buffer-from": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -2895,14 +2981,48 @@
"dev": true "dev": true
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^3.2.1", "ansi-styles": "^4.1.0",
"escape-string-regexp": "^1.0.5", "supports-color": "^7.1.0"
"supports-color": "^5.3.0" },
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
}
} }
}, },
"chokidar": { "chokidar": {
@@ -2957,7 +3077,6 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": { "requires": {
"restore-cursor": "^3.1.0" "restore-cursor": "^3.1.0"
} }
@@ -3030,8 +3149,7 @@
"cli-spinners": { "cli-spinners": {
"version": "2.9.1", "version": "2.9.1",
"resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.1.tgz", "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.1.tgz",
"integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ=="
"dev": true
}, },
"clipboardy": { "clipboardy": {
"version": "2.3.0", "version": "2.3.0",
@@ -3058,8 +3176,7 @@
"clone": { "clone": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
"dev": true
}, },
"clone-deep": { "clone-deep": {
"version": "4.0.1", "version": "4.0.1",
@@ -3087,7 +3204,6 @@
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": { "requires": {
"color-name": "1.1.3" "color-name": "1.1.3"
} }
@@ -3095,8 +3211,7 @@
"color-name": { "color-name": {
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
"dev": true
}, },
"colord": { "colord": {
"version": "2.9.3", "version": "2.9.3",
@@ -3180,8 +3295,7 @@
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
"dev": true
}, },
"connect-history-api-fallback": { "connect-history-api-fallback": {
"version": "2.0.0", "version": "2.0.0",
@@ -3283,8 +3397,7 @@
"core-util-is": { "core-util-is": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
"dev": true
}, },
"cosmiconfig": { "cosmiconfig": {
"version": "7.1.0", "version": "7.1.0",
@@ -3670,7 +3783,6 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",
"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"dev": true,
"requires": { "requires": {
"clone": "^1.0.2" "clone": "^1.0.2"
} }
@@ -3965,8 +4077,7 @@
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
"dev": true
}, },
"eslint": { "eslint": {
"version": "7.32.0", "version": "7.32.0",
@@ -4734,8 +4845,7 @@
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
"dev": true
}, },
"fsevents": { "fsevents": {
"version": "2.3.3", "version": "2.3.3",
@@ -4907,8 +5017,7 @@
"has-flag": { "has-flag": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
"dev": true
}, },
"has-property-descriptors": { "has-property-descriptors": {
"version": "1.0.0", "version": "1.0.0",
@@ -5158,7 +5267,6 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"requires": { "requires": {
"once": "^1.3.0", "once": "^1.3.0",
"wrappy": "1" "wrappy": "1"
@@ -5167,8 +5275,7 @@
"inherits": { "inherits": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
"dev": true
}, },
"ipaddr.js": { "ipaddr.js": {
"version": "2.1.0", "version": "2.1.0",
@@ -5248,8 +5355,7 @@
"is-interactive": { "is-interactive": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz",
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
"dev": true
}, },
"is-number": { "is-number": {
"version": "7.0.0", "version": "7.0.0",
@@ -5275,12 +5381,6 @@
"integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true "dev": true
}, },
"is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true
},
"is-what": { "is-what": {
"version": "3.14.1", "version": "3.14.1",
"resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
@@ -5674,62 +5774,21 @@
"dev": true "dev": true
}, },
"log-symbols": { "log-symbols": {
"version": "4.1.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-3.0.0.tgz",
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
"dev": true,
"requires": { "requires": {
"chalk": "^4.1.0", "chalk": "^2.4.2"
"is-unicode-supported": "^0.1.0"
}, },
"dependencies": { "dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": { "chalk": {
"version": "4.1.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^4.1.0", "ansi-styles": "^3.2.1",
"supports-color": "^7.1.0" "escape-string-regexp": "^1.0.5",
} "supports-color": "^5.3.0"
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
} }
} }
} }
@@ -5934,8 +5993,7 @@
"mimic-fn": { "mimic-fn": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
"dev": true
}, },
"mini-css-extract-plugin": { "mini-css-extract-plugin": {
"version": "2.7.6", "version": "2.7.6",
@@ -5997,7 +6055,6 @@
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
@@ -6061,6 +6118,11 @@
"thunky": "^1.0.2" "thunky": "^1.0.2"
} }
}, },
"mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
"mz": { "mz": {
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz",
@@ -6291,7 +6353,6 @@
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
@@ -6300,7 +6361,6 @@
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
"requires": { "requires": {
"mimic-fn": "^2.1.0" "mimic-fn": "^2.1.0"
} }
@@ -6337,71 +6397,18 @@
} }
}, },
"ora": { "ora": {
"version": "5.4.1", "version": "4.1.1",
"resolved": "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz", "resolved": "https://registry.npmmirror.com/ora/-/ora-4.1.1.tgz",
"integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
"dev": true,
"requires": { "requires": {
"bl": "^4.1.0", "chalk": "^3.0.0",
"chalk": "^4.1.0",
"cli-cursor": "^3.1.0", "cli-cursor": "^3.1.0",
"cli-spinners": "^2.5.0", "cli-spinners": "^2.2.0",
"is-interactive": "^1.0.0", "is-interactive": "^1.0.0",
"is-unicode-supported": "^0.1.0", "log-symbols": "^3.0.0",
"log-symbols": "^4.1.0", "mute-stream": "0.0.8",
"strip-ansi": "^6.0.0", "strip-ansi": "^6.0.0",
"wcwidth": "^1.0.1" "wcwidth": "^1.0.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
}
} }
}, },
"p-finally": { "p-finally": {
@@ -6538,8 +6545,7 @@
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
"dev": true
}, },
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
@@ -7131,6 +7137,19 @@
"chalk": "^2.1.0", "chalk": "^2.1.0",
"figures": "^2.0.0", "figures": "^2.0.0",
"log-update": "^2.3.0" "log-update": "^2.3.0"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
}
} }
}, },
"protocol-buffers-schema": { "protocol-buffers-schema": {
@@ -7563,7 +7582,6 @@
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": { "requires": {
"onetime": "^5.1.0", "onetime": "^5.1.0",
"signal-exit": "^3.0.2" "signal-exit": "^3.0.2"
@@ -7627,6 +7645,42 @@
"ajv-keywords": "^3.5.2" "ajv-keywords": "^3.5.2"
} }
}, },
"scp2": {
"version": "0.5.0",
"resolved": "https://registry.npmmirror.com/scp2/-/scp2-0.5.0.tgz",
"integrity": "sha512-HzPWuOHM/qVjVYhjmgfBKyUXQsI+9+SdI5l+5E0S98bUHirf1NoTynfrAPb0kr0oJKg/JFdFSlZwq7FnqLttvw==",
"requires": {
"async": "~0.9.0",
"glob": "~7.0.3",
"lodash": "~4.11.1",
"ssh2": "~0.4.10"
},
"dependencies": {
"async": {
"version": "0.9.2",
"resolved": "https://registry.npmmirror.com/async/-/async-0.9.2.tgz",
"integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw=="
},
"glob": {
"version": "7.0.6",
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.0.6.tgz",
"integrity": "sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.2",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"lodash": {
"version": "4.11.2",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.11.2.tgz",
"integrity": "sha512-kzYAjjUS0vKRLVcNZgK2k7NJOT5cQoFO3w8ddED6mDBdgu3AIL9xhAktXJ5Dm6GD1x+eqqyu1wKAzEt8Uq77NQ=="
}
}
},
"select-hose": { "select-hose": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz",
@@ -7833,8 +7887,7 @@
"signal-exit": { "signal-exit": {
"version": "3.0.7", "version": "3.0.7",
"resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
"dev": true
}, },
"sirv": { "sirv": {
"version": "2.0.3", "version": "2.0.3",
@@ -8005,6 +8058,71 @@
"integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
"dev": true "dev": true
}, },
"ssh2": {
"version": "0.4.15",
"resolved": "https://registry.npmmirror.com/ssh2/-/ssh2-0.4.15.tgz",
"integrity": "sha512-/KEtwbNly4LtP92bBfgY4RCj8YAvKaXg89nLaCINNMu1X5d++W5DOZz+yX2xwjlSmdw8we7AC9LYnAzBkA4OwA==",
"requires": {
"readable-stream": "~1.0.0",
"ssh2-streams": "~0.0.22"
},
"dependencies": {
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
}
}
},
"ssh2-streams": {
"version": "0.0.23",
"resolved": "https://registry.npmmirror.com/ssh2-streams/-/ssh2-streams-0.0.23.tgz",
"integrity": "sha512-llhegJ0WOuEZQoWvh+ZB/ZQpJNjuDVPVAh+UjIsi0YLM7GeKPX7xMnh5LJtjOBAChumuUg7hNfIUfKjrxfNNYg==",
"requires": {
"asn1": "~0.2.0",
"readable-stream": "~1.0.0",
"streamsearch": "~0.1.2"
},
"dependencies": {
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
}
}
},
"ssr-window": { "ssr-window": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-2.0.0.tgz",
@@ -8037,6 +8155,11 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true "dev": true
}, },
"streamsearch": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/streamsearch/-/streamsearch-0.1.2.tgz",
"integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA=="
},
"string-width": { "string-width": {
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
@@ -8061,7 +8184,6 @@
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^5.0.1" "ansi-regex": "^5.0.1"
} }
@@ -8104,7 +8226,6 @@
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": { "requires": {
"has-flag": "^3.0.0" "has-flag": "^3.0.0"
} }
@@ -8715,7 +8836,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
"requires": { "requires": {
"defaults": "^1.0.3" "defaults": "^1.0.3"
} }
@@ -9074,8 +9194,7 @@
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
"dev": true
}, },
"ws": { "ws": {
"version": "7.5.9", "version": "7.5.9",

View File

@@ -6,13 +6,16 @@
"local-server": "vue-cli-service serve --mode local", "local-server": "vue-cli-service serve --mode local",
"serve": "vue-cli-service serve --mode dev", "serve": "vue-cli-service serve --mode dev",
"prod-serve": "vue-cli-service serve --mode hd", "prod-serve": "vue-cli-service serve --mode hd",
"build:hd": "vue-cli-service build --mode hd", "build:hd": "vue-cli-service build --mode hd && node deployHD.js",
"build:online": "vue-cli-service build --mode dev", "build:online": "vue-cli-service build --mode dev",
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"amfe-flexible": "^2.2.1", "amfe-flexible": "^2.2.1",
"axios": "^1.5.1", "axios": "^1.5.1",
"scp2": "^0.5.0",
"ora": "^4.0.0",
"chalk": "^3.0.0",
"core-js": "^3.8.3", "core-js": "^3.8.3",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"less": "^4.2.0", "less": "^4.2.0",

View File

@@ -28,18 +28,25 @@
function SrsRtcPublisherAsync() { function SrsRtcPublisherAsync() {
var self = {}; var self = {};
self.cameraIndex=0 self.cameraIndex = 0
self.cameraDevices = [] self.cameraDevices = []
self.url="" self.url = ""
self.turn = {
iceServers: [{
urls: 'turns:172.16.3.19:3478', 'credential': 'huashiai',
'username': 'huashiai'
}]
};
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia // https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
self.constraints = { self.constraints = {
audio: true, audio: true,
video: { video: {
deviceId:{ deviceId: {
exact:"136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4" exact: "136e115ef37b7ec8361207a61d42cd39818381aa0e99728e35eb9746bedce6b4"
}, },
width: {ideal: 320, max: 576} width: {ideal: 320, max: 576}
} }
@@ -74,15 +81,15 @@ function SrsRtcPublisherAsync() {
console.log('navigator.getUserMedia error: ', error); console.log('navigator.getUserMedia error: ', error);
} }
self.changeCamera = async function(){ self.changeCamera = async function () {
// console.log('navigator.getUserMedia') // console.log('navigator.getUserMedia')
// console.log(self.cameraDevices) // console.log(self.cameraDevices)
self.cameraIndex=self.cameraIndex+1==self.cameraDevices.length?0:self.cameraIndex+1 self.cameraIndex = self.cameraIndex + 1 == self.cameraDevices.length ? 0 : self.cameraIndex + 1
let deviceId={ let deviceId = {
exact:"" exact: ""
} }
deviceId.exact=self.cameraDevices[self.cameraIndex].deviceId deviceId.exact = self.cameraDevices[self.cameraIndex].deviceId
self.constraints.video.deviceId=deviceId self.constraints.video.deviceId = deviceId
self.publish(self.url) self.publish(self.url)
@@ -110,16 +117,15 @@ function SrsRtcPublisherAsync() {
// or any other information, will pass-by in the query: // or any other information, will pass-by in the query:
// webrtc://r.ossrs.net/live/livestream?vhost=xxx // webrtc://r.ossrs.net/live/livestream?vhost=xxx
// webrtc://r.ossrs.net/live/livestream?token=xxx // webrtc://r.ossrs.net/live/livestream?token=xxx
self.publish = async function (url,constraints={}) { self.publish = async function (url, constraints = {}) {
self.url=url; self.url = url;
var conf = self.__internal.prepareUrl(url); var conf = self.__internal.prepareUrl(url);
self.pc.addTransceiver("audio", {direction: "sendonly"}); self.pc.addTransceiver("audio", {direction: "sendonly"});
self.pc.addTransceiver("video", {direction: "sendonly"}); self.pc.addTransceiver("video", {direction: "sendonly"});
var stream = await navigator.mediaDevices.getUserMedia(constraints); var stream = await navigator.mediaDevices.getUserMedia(constraints);
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack // @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack
@@ -319,7 +325,7 @@ function SrsRtcPublisherAsync() {
} }
}; };
self.pc = new RTCPeerConnection(null); self.pc = new RTCPeerConnection(self.turn);
// To keep api consistent between player and publisher. // To keep api consistent between player and publisher.
// @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack // @see https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream#Migrating_to_addTrack

View File

@@ -46,8 +46,8 @@ import axios from "axios";
import Swiper from 'swiper'; // 注意引入的是Swiper import Swiper from 'swiper'; // 注意引入的是Swiper
import 'swiper/css/swiper.min.css' // 注意这里的引入 import 'swiper/css/swiper.min.css' // 注意这里的引入
import {Notify, Dialog} from 'vant'; import {Notify, Dialog} from 'vant';
import service from "@/utils/service";
import {getStatisFileUrl} from '../utils/publicFun' import {getStatisFileUrl, getUrlParam} from '../utils/publicFun'
/* eslint-disable */ /* eslint-disable */
export default { export default {
@@ -93,21 +93,30 @@ export default {
console.log(location.href) console.log(location.href)
console.log(location.href) console.log(location.href)
this.isPublish = this.$route.query.isPublish; this.isPublish = getUrlParam("isPublish");
this.isPlayer = this.$route.query.isPlayer; this.isPlayer = getUrlParam("isPlayer");
this.uid = this.$route.query.uid; this.uid = getUrlParam("uid");
this.roomId = this.$route.query.room; this.uname = getUrlParam("uname");
this.inviteName = this.$route.query.inviteName || ''; this.roomId = getUrlParam("room");
this.topVideo = this.uid; this.inviteName = getUrlParam("inviteName");
this.showConfirmDialog = this.$route.query.showConfirmDialog; console.log("this.inviteName" + this.inviteName)
this.showInviteConfirmDialog = this.$route.query.showInviteConfirmDialog; this.topVideo = getUrlParam("uid");
this.showConfirmDialog = getUrlParam("showConfirmDialog");
this.showInviteConfirmDialog = getUrlParam("showInviteConfirmDialog");
this.voiceImg = getStatisFileUrl("/media/voice_open.png") this.voiceImg = getStatisFileUrl("/media/voice_open.png")
this.cameraImg = getStatisFileUrl("/media/camera_open.png") this.cameraImg = getStatisFileUrl("/media/camera_open.png")
this.switchCameraImg = getStatisFileUrl("/media/switch.png") this.switchCameraImg = getStatisFileUrl("/media/switch.png")
this.callDwonImg = getStatisFileUrl("/media/call_down.png") this.callDwonImg = getStatisFileUrl("/media/call_down.png")
if (getUrlParam("hasVideo") != 1) {
// hasVideo
this.constraints.video = false
this.isCloseCamera = true
this.cameraImg = getStatisFileUrl("/media/camera_close.png")
}
this.token = this.$route.query.token || ""; this.token = this.$route.query.token || "";
if (this.token > 10) { if (this.token > 10) {
localStorage.setItem("hd_token", this.token) localStorage.setItem("hd_token", this.token)
@@ -130,12 +139,17 @@ export default {
Dialog.confirm({ Dialog.confirm({
title: '提示', title: '提示',
message: `确认是否发起视频聊天?`, message: `确认是否发起视频聊天?`,
}) }).then(() => {
.then(() => { console.log("确认")
try {
this.init(); this.init();
} catch (e) {
console.log(e)
}
// on confirm // on confirm
}) })
.catch(() => { .catch(() => {
console.log("取消")
window.history.go(-1); window.history.go(-1);
// on cancel // on cancel
}); });
@@ -190,6 +204,7 @@ export default {
this.beginPublish() this.beginPublish()
}, },
closeCamera() { closeCamera() {
this.constraints.video = false; this.constraints.video = false;
//如果视频是开启状态 //如果视频是开启状态
if (!this.isCloseCamera) { if (!this.isCloseCamera) {
@@ -198,7 +213,7 @@ export default {
this.cameraImg = getStatisFileUrl("/media/camera_close.png") this.cameraImg = getStatisFileUrl("/media/camera_close.png")
} else { } else {
let deviceId = { let deviceId = {
exact: "" exact: this.cameraDevices[this.cameraIndex].deviceId
} }
deviceId.exact = this.cameraDevices[this.cameraIndex].deviceId deviceId.exact = this.cameraDevices[this.cameraIndex].deviceId
this.constraints.video = {} this.constraints.video = {}
@@ -206,6 +221,8 @@ export default {
this.isCloseCamera = false this.isCloseCamera = false
this.cameraImg = getStatisFileUrl("/media/camera_open.png") this.cameraImg = getStatisFileUrl("/media/camera_open.png")
} }
console.log(this.constraints)
// return;
this.beginPublish() this.beginPublish()
}, },
switchCamera() { switchCamera() {
@@ -444,14 +461,40 @@ export default {
}, },
videoDownAction() { videoDownAction() {
location.href = "uniwebview://action?function=restartCamera"; const roomInfo = {
this.publishSdk.close(); roomId: this.roomId
if (this.showConfirmDialog == 1) {
console.log("挂断视频")
location.href = "uniwebview://action?function=refuseVideoInvite";
} else {
window.history.go(-1);
} }
console.log("============videoDownAction")
console.log("============videoDownAction")
console.log("============videoDownAction")
service.post(`/api/im/app/wsMsg`, {
msgType: "10000",
msgId: JSON.stringify(roomInfo),
cmd: "hangUp",
msgTxt: this.uname || ""
}).then((res) => {
if (res.status == 200) {
}
})
try {
// location.href = "uniwebview://action?function=restartCamera";
// location.href = "uniwebview://action?function=refuseVideoInvite";
//
// this.publishSdk.close();
// if (this.showConfirmDialog == 1) {
// console.log("挂断视频")
// location.href = "uniwebview://action?function=refuseVideoInvite";
// } else {
// window.history.go(-1);
// }
} catch (e) {
console.log(e)
}
} }
} }
} }

View File

@@ -59,7 +59,7 @@ import * as interaction from 'ol/interaction'; // 交互
import {OL as ol} from "plot-ol/plottingol"; import {OL as ol} from "plot-ol/plottingol";
import GeoJSON from 'ol/format/GeoJSON' import GeoJSON from 'ol/format/GeoJSON'
import service from "@/utils/service"; import service from "@/utils/service";
import {appInit, getStatisFileUrl} from "../utils/publicFun"; import {appInit, getStatisFileUrl, getUrlParam} from "../utils/publicFun";
export default { export default {
@@ -131,12 +131,11 @@ export default {
this.page = this.$route.query.page; this.page = this.$route.query.page;
this.pageType = this.$route.query.type; this.pageType = this.$route.query.type;
this.token = this.$route.query.token || ""; this.token = getUrlParam("token")
if (this.token > 10) { if (this.token !=null) {
localStorage.setItem("hd_token", this.token) localStorage.setItem("hd_token", this.token)
} }
setInterval(() => { setInterval(() => {
let hd_gps_location = localStorage.getItem("hd_gps_location") let hd_gps_location = localStorage.getItem("hd_gps_location")
if (hd_gps_location) { if (hd_gps_location) {
@@ -580,6 +579,7 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 50 pageSize: 50
} }
}).then((res) => { }).then((res) => {
if (res.status == 200) { if (res.status == 200) {
this.map.removeLayer(this.equipmentLayer) this.map.removeLayer(this.equipmentLayer)
@@ -739,11 +739,19 @@ export default {
// anchor: [0.5, 0.5], // anchor: [0.5, 0.5],
scale: 0.4, scale: 0.4,
}), }),
text: new Text({
testAlign: 'center',
text: [record.equipmentName, 'bold 16px sans-serif', '\n',''],
font: 'bold 20px 微软雅黑',
fill: new Fill({
color: 'rgb(155, 155, 155)',
}),
offsetY: 36
})
}) })
); );
} }
if (record.isOnline == "true") { if (record.isOnline == "true") {
// 未接受告警数量为0全部都接受 绿色 // 未接受告警数量为0全部都接受 绿色
if(alarmNum==0){ if(alarmNum==0){
@@ -755,6 +763,14 @@ export default {
// anchor: [0.5, 0.5], // anchor: [0.5, 0.5],
scale: 0.4, scale: 0.4,
}), }),
text: new Text({
testAlign: 'center',
text: [record.equipmentName, 'bold 16px sans-serif', '\n',''],
font: 'bold 20px 微软雅黑',
fill: new Fill({
color: 'rgb(22, 206, 129)',
})
})
}) })
); );
} }
@@ -769,10 +785,10 @@ export default {
}), }),
text:new Text({ text:new Text({
testAlign: 'center', testAlign: 'center',
text: `${alarmNum}条告警未接受`, text: [record.equipmentName, 'bold 16px sans-serif', '\n','',`${alarmNum}条告警未接受`, 'bold 16px sans-serif',],
font: 'bold 16px 微软雅黑', font: 'bold 16px 微软雅黑',
fill: new Fill({ fill: new Fill({
color: '#369FFF', color: 'rgb(54, 159, 255)',
}), }),
// offsetX: 40, // offsetX: 40,
offsetY: 26 offsetY: 26

View File

@@ -158,8 +158,14 @@ export default {
this.moveUserId = this.$route.query.uerId||getUrlParam("uerId"); this.moveUserId = this.$route.query.uerId||getUrlParam("uerId");
this.workOrderNo = this.$route.query.workOrderNo||getUrlParam("workOrderNo"); this.workOrderNo = this.$route.query.workOrderNo||getUrlParam("workOrderNo");
this.token = this.$route.query.token ||getUrlParam("page"); if(this.token!=null){
if (this.token.length > 16) {
console.log("获取到token")
localStorage.setItem("hd_token", this.token) localStorage.setItem("hd_token", this.token)
}else {
console.log("未获取到token")
}
}
setInterval(() => { setInterval(() => {

View File

@@ -177,8 +177,8 @@ export default {
this.token = getUrlParam("token") this.token = getUrlParam("token")
if(this.token){ if(this.token!=null){
if (this.token.length > 10) { if (this.token.length > 16) {
console.log("获取到token") console.log("获取到token")
localStorage.setItem("hd_token", this.token) localStorage.setItem("hd_token", this.token)
}else { }else {

View File

@@ -17,11 +17,10 @@ export function getUrlParam(name) {
if (search) { if (search) {
var r = search.substr(0).match(reg); var r = search.substr(0).match(reg);
if (r !== null) { if (r !== null) {
return unescape(r[2]); return decodeURIComponent(r[2]);
} }
return null; return null;
} else return null; } else return null;
} }

View File

@@ -30,7 +30,13 @@ public class FileController {
@PostMapping("/upload") @PostMapping("/upload")
public ResponseVO PostMapping(@RequestParam("file") MultipartFile file) { public ResponseVO PostMapping(@RequestParam("file") MultipartFile file) {
final String upload = MinioUtil.upload(file, "/test"); String upload = MinioUtil.upload(file, "/test");
log.info("====================Upload==================");
log.info("====================Upload==================");
log.info("====================Upload==================");
upload = upload.replaceAll("http://172.16.2.1:9000","https://172.16.2.3:19443");
return ResponseVO.successResponse(upload); return ResponseVO.successResponse(upload);
} }

View File

@@ -15,107 +15,29 @@
export default { export default {
onLaunch: function() { onLaunch: function() {
localStorage.setItem("appId",10000) localStorage.setItem("appId",10000)
appInit(500).then((res)=>{ appInit(500).then((res)=>{
console.log("获取到token创建长链接") console.log("获取到token创建长链接")
this.$store.dispatch('getAddressList'); this.$store.dispatch('getAddressList');
setTimeout(()=>{ setTimeout(()=>{
this.$socketTask.connectSocket() this.$socketTask.connectSocket()
},2500) uni.setStorageSync("initReady",1)
},1000)
}).then((error)=>{ }).then((error)=>{
console.log("未获取到IM的token") console.log("未获取到IM的token")
console.log(error)
}) })
// #ifdef H5
console.log(
`%c 考拉Team ${name} %c v${version} `,
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;'
)
console.log(consoleImgs.fz) console.log(consoleImgs.fz)
// todo 下列两行 // todo 下列两行
uni.setStorageSync('device', 'H5'); uni.setStorageSync('device', 'H5');
uni.setStorageSync('version', versionName); uni.setStorageSync('version', versionName);
// #endif
console.log('App Launch')
let token= uni.getStorageSync('imUserSign');
if (!token) {
//不存在则跳转至登录页
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen();
// #endif
} else {
// #ifdef H5
this.$socketTask.connectSocket()
// #endif
this.$store.dispatch('get_UserInfo').then(res=>{
// #ifdef APP-PLUS
var nickName=res.nickName
var portrait=res.portrait
this.$http.request({
url: '/trtc/getSign',
success: (res) => {
var sdkAppID=res.data.data.appId
var userID=res.data.data.userId
var userSig=res.data.data.sign
TUICalling.login({//登录音视频
sdkAppID: sdkAppID,
userID: userID,
userSig: userSig
},(res) => {
console.log('音视频登录成功')
TUICalling.setUserNickname({
nickName: nickName
})
TUICalling.setUserAvatar({
avatar: portrait
})
plus.io.requestFileSystem(plus.io.PRIVATE_WWW, function(fs) {
fs.root.getFile('/static/longcall.mp3', {
create: false
}, function(fileEntry) {
fileEntry.file(function(file) {
TUICalling.setCallingBell({
ringtone: file.fullPath
},(res) => {
console.log(JSON.stringify(res))
})
});
});
});
})
}
});
var nowCid=plus.push.getClientInfo().clientid
this.$http.request({
url: '/my/bindCid/'+nowCid,
success: (res) => {
console.log('新cid'+nowCid)
uni.setStorageSync('cid', nowCid);
}
});
// #endif
})
uni.reLaunch({
url: "wx/tabbar1/index",
}).then(res=>{
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen();
// #endif
})
}
// #ifdef APP-PLUS
uni.onNetworkStatusChange( (res)=> {
if(res.isConnected){
this.$store.dispatch('get_UserInfo')
}
});
// #endif
}, },
onShow: function() { onShow: function() {
console.log('App Show') console.log('App Show')
uni.getStorage({ uni.getStorage({
key: 'call', key: 'call',
success: (res) => { success: (res) => {

View File

@@ -11,6 +11,7 @@ export default class config{
} }
} }
} }
static getBaseApiUrl(){ static getBaseApiUrl(){
//return process.env.NODE_ENV === 'development' ? 'http://119.45.242.222:8989' :'http://172.16.2.3:8989'; //return process.env.NODE_ENV === 'development' ? 'http://119.45.242.222:8989' :'http://172.16.2.3:8989';
return process.env.NODE_ENV === 'development' ? 'http://119.45.242.222:8989' :'/base_api'; return process.env.NODE_ENV === 'development' ? 'http://119.45.242.222:8989' :'/base_api';
@@ -22,14 +23,14 @@ export default class config{
static getImAppId(){ static getImAppId(){
return 10000; return 10000;
} }
static getVideoRoomUrl(room,userid,isPublish=0,isPlayer=1){ static getVideoRoomUrl(room,userid,isPublish=0,isPlayer=1,hasVideo=1){
if(process.env.NODE_ENV === 'development' ){ if(process.env.NODE_ENV === 'development' ){
return `http://localhost:8080/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}` return `http://localhost:8080/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}`
}else{ }else{
if(this.prod=="online"){ if(this.prod=="online"){
return `https://119.45.242.222/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}` return `https://119.45.242.222/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}`
}else{ }else{
return `https://172.16.3.19/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}` return `https://172.16.3.19/hd-glasses-app/#/call_room?showInviteConfirmDialog=1&isPublish=${isPublish}&isPlayer=${isPlayer}&uid=${userid}&room=${room}&hasVideo=${hasVideo}`
} }
} }
} }

View File

@@ -73,6 +73,7 @@ export default {
const userId = uni.getStorageSync("userId") const userId = uni.getStorageSync("userId")
const imUserSign = uni.getStorageSync("imUserSign") const imUserSign = uni.getStorageSync("imUserSign")
var listeners = {}; var listeners = {};
@@ -95,6 +96,16 @@ export default {
console.log(this.socketTask) console.log(this.socketTask)
console.log('sdk 成功连接的回调, 可以使用 sdk 请求数据了.'); console.log('sdk 成功连接的回调, 可以使用 sdk 请求数据了.');
sdk.getSingleUserInfo(userId).then(res=>{
console.log("获取到自己的用户信息")
console.log(res)
if(res.code==200){
uni.setStorageSync('userInfo', res.data);
}
})
// sdk.getAllFriend().then(res => { // sdk.getAllFriend().then(res => {
// console.warn(res) // console.warn(res)
// }) // })
@@ -106,9 +117,7 @@ export default {
console.warn(res) console.warn(res)
}) })
return uni.switchTab({
url: "/pages/tabbar/index/index"
})
} else { } else {
console.log('sdk 初始化失败.'); console.log('sdk 初始化失败.');
} }

View File

@@ -1,22 +1,3 @@
/**
* getUrlKey 截取地址栏参数
* @param value
* @returns {String}
*/
export function getUrlParam(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
let url = window.location.href.split('#')[0];
let search = url.split('?')[1];
console.log(search);
if (search) {
var r = search.substr(0).match(reg);
if (r !== null) {
return unescape(r[2]);
}
return null;
} else return null;
}
export function appInit(ms) { export function appInit(ms) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -26,6 +7,7 @@ export function appInit(ms) {
var hd_userId = uni.getStorageSync("hd_userid") var hd_userId = uni.getStorageSync("hd_userid")
if(hd_userId){ if(hd_userId){
uni.setStorageSync("userId",hd_userId) uni.setStorageSync("userId",hd_userId)
}else{ }else{
console.log("============未获取到hd_userid") console.log("============未获取到hd_userid")
} }
@@ -46,9 +28,29 @@ export function appInit(ms) {
resolve("ok") resolve("ok")
} }
}else{
uni.setStorageSync("initReady",null)
} }
}, ms); }, ms);
}) })
} }
/**
* getUrlKey 截取地址栏参数
* @param value
* @returns {String}
*/
export function getUrlParam(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
let url = window.location.href
let search = url.split('?')[1];
console.log(search);
if (search) {
var r = search.substr(0).match(reg);
if (r !== null) {
return unescape(r[2]);
}
return null;
} else return null;
}

View File

@@ -436,53 +436,71 @@
} }
}); });
}, },
sendVideoCall() { sendVideoCall(hasVideo = 1) {
//发起视频 //发起视频
uni.showLoading({ uni.showLoading({
title: '发起视频通话' title: '发起通话'
}); });
var formdata = {
var formdata = null;
if (hasVideo == 1) {
formdata = {
userId: this.talkTo.userId, userId: this.talkTo.userId,
msgType: 'TRTC_VIDEO_START', msgType: 'TRTC_VIDEO_START',
content: 'TRTC_VIDEO_START' content: 'TRTC_VIDEO_START'
}; }
} else if (hasVideo == 0) {
formdata = {
userId: this.talkTo.userId,
msgType: 'TRTC_VOICE_START',
content: 'TRTC_VOICE_START'
}
}
// this.sendMsg(formdata,formdata.msgType) // this.sendMsg(formdata,formdata.msgType)
const userId=localStorage.getItem("userId") const userId = localStorage.getItem("userId")
const roomId=userId const roomId = userId
const roomInfo={ const userInfo = uni.getStorageSync("userInfo")
roomId:userId,//后面改成发起人的手机号或者id
roomName:`${userId}发起的视频聊天`, const roomInfo = {
creatorId:userId, roomId: userId, //后面改成发起人的手机号或者id
creatorName:userId, roomName: `${userInfo.nickName}发起的视频聊天`,
publishId:userId, creatorId: userId,
publishName:userId, creatorName: userInfo.nickName,
isOver:0, publishId: userId,
webrtcUrl:config.getSRSUrl()+`/${roomId}/${userId}`, publishName: userInfo.nickName,
type:"webrtc", isOver: 0,
offline:0, webrtcUrl: config.getSRSUrl() + `/${roomId}/${userId}`,
invitedUserList:[this.talkTo.userId] type: "webrtc",
offline: 0,
invitedUserList: [this.talkTo.userId],
hasVideo:hasVideo,
isForce:0
} }
this.$store this.$store
.dispatch('createRoom', roomInfo) .dispatch('createRoom', roomInfo)
.then(res => { .then(res => {
customHttp.customHttp.post("/api/im/app/wsMsg",{ customHttp.customHttp.post("/api/im/app/wsMsg", {
msgType:"10000", msgType: "10000",
msgId:JSON.stringify(roomInfo), msgId: JSON.stringify(roomInfo),
cmd:"", cmd: "",
msgTxt:"" msgTxt: ""
},{ }, {
dataType: 'json', dataType: 'json',
custom: {target: "znzq"} , custom: {
}).then((res1)=>{ target: "znzq"
location.href=config.getVideoRoomUrl(roomInfo.roomId,roomInfo.creatorId,1,1) },
}).then((res1) => {
location.href = config.getVideoRoomUrl(roomInfo.roomId, roomInfo.creatorId, 1, 1,hasVideo)
}) })
}) })
if(1>0){ if (1 > 0) {
return false; return false;
} }
this.$http.request({ this.$http.request({
@@ -540,22 +558,21 @@
this.open(); this.open();
break; break;
case '音视频': case '音视频':
this.sendVideoCall(); uni.showActionSheet({
// uni.showActionSheet({ itemList: ['视频通话', '语音通话'],
// itemList: ['视频通话', '语音通话'], success: res => {
// success: res => { switch (res.tapIndex) {
// switch (res.tapIndex) { case 0:
// case 0: this.sendVideoCall(1);
// this.sendVideoCall(); break;
// break; case 1:
// case 1: this.sendVideoCall(0);
// this.sendVoiceCall(); break;
// break; default:
// default: break;
// break; }
// } }
// } });
// });
break; break;
case '收藏': case '收藏':
this.openpopup('popupfavorites'); this.openpopup('popupfavorites');
@@ -704,7 +721,8 @@
//TODO //TODO
//发送图片 //发送图片
customHttp.upload(config.getImApiUrl() + '/file/upload', { customHttp.upload(config.getImApiUrl() + '/file/upload', {
params: {}, /* 会加在url上 */ params: {},
/* 会加在url上 */
// #ifdef APP-PLUS || H5 // #ifdef APP-PLUS || H5
files: [], // 需要上传的文件列表。使用 files 时filePath 和 name 不生效。App、H5 2.6.15+ files: [], // 需要上传的文件列表。使用 files 时filePath 和 name 不生效。App、H5 2.6.15+
// #endif // #endif
@@ -717,7 +735,8 @@
// #ifdef H5 || APP-PLUS // #ifdef H5 || APP-PLUS
timeout: 60000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+) timeout: 60000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)
// #endif // #endif
header: {}, /* 会与全局header合并如有同名属性局部覆盖全局 */ header: {},
/* 会与全局header合并如有同名属性局部覆盖全局 */
formData: {}, // HTTP 请求中其他额外的 form data formData: {}, // HTTP 请求中其他额外的 form data
// 返回当前请求的task, options。请勿在此处修改options。非必填 // 返回当前请求的task, options。请勿在此处修改options。非必填
getTask: (task, options) => { getTask: (task, options) => {

View File

@@ -179,6 +179,7 @@
}, },
loginDone(data) { loginDone(data) {
uni.setStorageSync('appId', data.appId); uni.setStorageSync('appId', data.appId);
uni.setStorageSync('im_userId', data.id); uni.setStorageSync('im_userId', data.id);
uni.setStorageSync('userId', data.id); uni.setStorageSync('userId', data.id);
uni.setStorageSync('im_userCSign', data.userSign); uni.setStorageSync('im_userCSign', data.userSign);

View File

@@ -21,7 +21,9 @@
</template> </template>
<script> <script>
import {
getUrlParam
} from "../../common/utils"
export default { export default {
data() { data() {
@@ -54,7 +56,49 @@
return this.$store.state.friendApply; return this.$store.state.friendApply;
} }
}, },
onLoad() { onLoad(options) {
console.log("首页获取到url参数")
console.log(options)
console.log(location.href)
if (options.imUserSign) {
uni.showLoading({
title: "加载中...",
mask: true
});
/*
uni.setStorageSync("imUserSign",getUrlParam("imUserSign"))
uni.setStorageSync("im_imUserSign",getUrlParam("imUserSign"))
uni.setStorageSync("userId",getUrlParam("uid"))
uni.setStorageSync("hd_userid",getUrlParam("uid"))
uni.setStorageSync("hd_token",getUrlParam("token"))
uni.setStorageSync("token",getUrlParam("token"))
*/
uni.setStorageSync("imUserSign", options.imUserSign)
uni.setStorageSync("im_imUserSign", options.imUserSign)
uni.setStorageSync("userId", options.uid)
uni.setStorageSync("hd_userid", options.uid)
uni.setStorageSync("hd_token", options.token)
uni.setStorageSync("token", options.token)
const timer = setInterval(() => {
if (uni.getStorageSync("initReady") == 1) {
console.log("==========进入首页 initReady为1开始跳转")
clearInterval(timer)
uni.hideLoading();
uni.navigateTo({
url: '../chatWindow/index?userId=' + options.tuid + '&windowType=' + options
.windowType
});
}
}, 500)
}
// uni.setStorageSync("token",hd_token)
// uni.setStorageSync("userId",hd_userId)
this.clickToSubmitSure = this.$fc.debounce( this.clickToSubmitSure = this.$fc.debounce(
e => { e => {
uni.navigateTo({ uni.navigateTo({
@@ -65,10 +109,10 @@
true true
); );
}, },
filters:{ filters: {
contentFilter(value){ contentFilter(value) {
console.warn(value) console.warn(value)
return "KKKKK"+value return "KKKKK" + value
} }
}, },
watch: { watch: {
@@ -141,14 +185,14 @@
toplist.push(obj[k]); toplist.push(obj[k]);
} }
if (obj[k]['userId'] && obj[k]['top'] == 'N') { if (obj[k]['userId'] && obj[k]['top'] == 'N') {
try{ try {
var _data=JSON.parse(obj[k].content) var _data = JSON.parse(obj[k].content)
if(_data.type=="IMAGE"){ if (_data.type == "IMAGE") {
obj[k].content="【图片】" obj[k].content = "【图片】"
}else{ } else {
console.error(_data) console.error(_data)
} }
}catch(e){ } catch (e) {
//TODO handle the exception //TODO handle the exception
} }
NOTtoplist.push(obj[k]); NOTtoplist.push(obj[k]);