Compare commits

...
71 changed files with 4291 additions and 607 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# zhgh_cug_v4 # zhgh_nau
智慧工会系统本地开发说明。 智慧工会系统本地开发说明。
@@ -190,24 +190,24 @@ public class WkFailProcessor extends ViewProcessor {
//1.判断是否为企业微信浏览器并且对接了企业微信 //1.判断是否为企业微信浏览器并且对接了企业微信
if (browserPlatform == BrowserPlatform.QI_YE_WEI_XIN && propertiesProxy.getBoolean("wxwork.enable", false)) { if (browserPlatform == BrowserPlatform.QI_YE_WEI_XIN && propertiesProxy.getBoolean("wxwork.enable", false)) {
//进行企业微信授权 //进行企业微信授权
// String token = getWxWorkToken(); String token = getWxWorkToken();
// if (StrUtil.isNotBlank(token)) { if (StrUtil.isNotBlank(token)) {
// //跳转到企业微信授权地址 // //跳转到企业微信授权地址
// new ServerRedirectView(buildWxWorkOauth2Url()).render(request, response, null); new ServerRedirectView(buildWxWorkOauth2Url()).render(request, response, null);
// } else { } else {
// //跳转到错误页 别问我为啥错了 我也不知道 首先去检查配置文件里的参数有没有写对 // //跳转到错误页 别问我为啥错了 我也不知道 首先去检查配置文件里的参数有没有写对
//// new ServerRedirectView(Globals.AppDomain + errorUri).render(request, response, null); //// new ServerRedirectView(Globals.AppDomain + errorUri).render(request, response, null);
// //跳转到cas登录页 //跳转到cas登录页
// String callBackUrl = propertiesProxy.get("cas.client-host-url") + propertiesProxy.get("cas.client-call-back-url") + "?redirect=" + redirect; String callBackUrl = propertiesProxy.get("cas.client-host-url") + propertiesProxy.get("cas.client-call-back-url") + "?redirect=" + redirect;
// String authUrl = propertiesProxy.get("cas.qi-wx-server-login-url") + "?service=" + URLEncoder.encode(callBackUrl, StandardCharsets.UTF_8); String authUrl = propertiesProxy.get("cas.qi-wx-server-login-url") + "?service=" + URLEncoder.encode(callBackUrl, StandardCharsets.UTF_8);
// new ServerRedirectView(authUrl).render(request, response, null); new ServerRedirectView(authUrl).render(request, response, null);
// } }
// 武汉城市职业学院 跳转到企业微信cas登录页 // 武汉城市职业学院 跳转到企业微信cas登录页
String callBackUrl = propertiesProxy.get("wecom.wecom-client-host-url") + propertiesProxy.get("wecom.wecom-client-call-back-url") + "?redirect=" + redirect; /* String callBackUrl = propertiesProxy.get("wecom.wecom-client-host-url") + propertiesProxy.get("wecom.wecom-client-call-back-url") + "?redirect=" + redirect;
String authUrl = propertiesProxy.get("wecom.wecom-server-login-url") + "?service=" + URLEncoder.encode(callBackUrl, StandardCharsets.UTF_8); String authUrl = propertiesProxy.get("wecom.wecom-server-login-url") + "?service=" + URLEncoder.encode(callBackUrl, StandardCharsets.UTF_8);
log.info("auth:"+authUrl); log.info("auth:"+authUrl);
new ServerRedirectView(authUrl).render(request, response, null); new ServerRedirectView(authUrl).render(request, response, null);*/
} else if (browserPlatform == BrowserPlatform.WEI_XIN && propertiesProxy.getBoolean("wx.enable", false)) { } else if (browserPlatform == BrowserPlatform.WEI_XIN && propertiesProxy.getBoolean("wx.enable", false)) {
//进行微信公众号授权 //进行微信公众号授权
//跳转到微信授权页 //跳转到微信授权页
@@ -0,0 +1 @@
AmiMu2ZH1GAFuH2L
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 558 KiB

@@ -0,0 +1,86 @@
(function (window, document) {
'use strict'
if (window.loadMapSdk) return
const entry = document.currentScript
const sources = {
amap: entry.getAttribute('data-amap-url'),
tencent: entry.getAttribute('data-tencent-url')
}
const pending = {}
let sequence = 0
function getSdk(provider) {
const sdk = provider === 'amap' ? window.AMap : window.TMap
if (!sdk || !sdk.Map) return null
if (provider === 'amap') return sdk.PlaceSearch && sdk.PolylineEditor ? sdk : null
return sdk.LatLng && sdk.MultiMarker && sdk.tools && sdk.tools.GeometryEditor ? sdk : null
}
// 仅在打开地图时请求 SDK;同一地图服务的并发调用共用一次加载,避免阻塞公共页面。
window.loadMapSdk = function (provider) {
if (!sources[provider]) return Promise.reject(new Error('未配置地图服务地址'))
const sdk = getSdk(provider)
if (sdk) return Promise.resolve(sdk)
if (pending[provider]) return pending[provider]
const request = new Promise(function (resolve, reject) {
const script = document.createElement('script')
const callback = '__mapSdkReady_' + (++sequence)
const name = provider === 'amap' ? '高德地图' : '腾讯地图'
let finished = false
let timer
function finish(error) {
if (finished) return
const loaded = getSdk(provider)
if (!error && !loaded) return
finished = true
clearTimeout(timer)
script.onerror = null
// 超时后 SDK 仍可能迟到,保留空回调,避免迟到请求抛出全局异常。
window[callback] = function () {}
if (error) {
script.remove()
reject(error)
} else {
resolve(loaded)
}
}
window[callback] = function () { finish() }
script.async = true
script.charset = 'utf-8'
if (entry.nonce) script.nonce = entry.nonce
script.src = sources[provider] + '&callback=' + callback
script.onerror = function () {
finish(new Error(name + '加载失败,当前网络无法连接地图服务,请稍后重新打开地图'))
}
timer = setTimeout(function () {
finish(new Error(name + '加载超时,请稍后重新打开地图;其他功能可继续使用'))
}, 8000)
document.head.appendChild(script)
})
pending[provider] = request
// 失败不永久缓存,恢复网络后重新打开地图即可重试。
request.then(function () {
if (pending[provider] === request) delete pending[provider]
}, function () {
if (pending[provider] === request) delete pending[provider]
})
return request
}
// 业务弹窗使用已有消息组件提示;返回 false 只终止本次地图初始化。
window.ensureMapSdk = function (provider) {
return window.loadMapSdk(provider).then(function () {
return true
}).catch(function (error) {
if (!error.mapMessageShown) {
error.mapMessageShown = true
if (window.vant && window.vant.Toast) window.vant.Toast(error.message)
else if (window.ELEMENT && window.ELEMENT.Message) window.ELEMENT.Message.error(error.message)
}
return false
})
}
})(window, document)
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -447,9 +447,15 @@ module.exports = {
this.map.fitBounds(bounds) this.map.fitBounds(bounds)
}, },
// 仅在侧滑弹框完全展开后创建地图,保证容器已有可用尺寸,避免动画期间地图空白。 // 仅在侧滑弹框完全展开后创建地图,保证容器已有可用尺寸,避免动画期间地图空白。
initMap() { async initMap() {
if (!this.positionConfirmVisible || !this.showMap || !this.row.courseLocationCoordinates || typeof TMap === "undefined") return if (!this.positionConfirmVisible || !this.showMap || !this.row.courseLocationCoordinates) return
const position = JSON.parse(this.row.courseLocationCoordinates) const row = this.row
const requestId = (this.mapLoadRequestId || 0) + 1
this.mapLoadRequestId = requestId
if (!await window.ensureMapSdk('tencent')) return
// 加载期间可能切换活动或关闭弹窗,迟到的响应不能重新创建旧地图。
if (requestId !== this.mapLoadRequestId || this._isDestroyed || !this.positionConfirmVisible || !this.showMap || this.row !== row) return
const position = JSON.parse(row.courseLocationCoordinates)
const center = new TMap.LatLng(position[0], position[1]) const center = new TMap.LatLng(position[0], position[1])
this.destroyMap() this.destroyMap()
this.map = new TMap.Map(this.mapContainerId, { zoom: 16, center }) this.map = new TMap.Map(this.mapContainerId, { zoom: 16, center })
@@ -5,6 +5,7 @@
v-model="addressValue" v-model="addressValue"
style="width: 100%" style="width: 100%"
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
:disabled="!map"
placeholder="请输入关键词查询地址" placeholder="请输入关键词查询地址"
@select="handleSelect" @select="handleSelect"
/> />
@@ -48,7 +49,7 @@ module.exports = {
}, },
methods: { methods: {
handleSelect(item) { handleSelect(item) {
if (item.location) { if (this.map && item.location) {
// 定位到中心点 // 定位到中心点
this.map.setCenter(item.location) this.map.setCenter(item.location)
// TODO 获取数据,对数据进行操作如:添加marker等 // TODO 获取数据,对数据进行操作如:添加marker等
@@ -58,7 +59,8 @@ module.exports = {
} }
}, },
querySearchAsync(queryString, cb) { querySearchAsync(queryString, cb) {
if (!queryString) { if (!queryString || !this.placeSearchComponent) {
cb([])
return return
} }
this.placeSearchComponent.search(queryString, function (status, result) { this.placeSearchComponent.search(queryString, function (status, result) {
@@ -71,7 +73,9 @@ module.exports = {
} }
}) })
}, },
initMap() { async initMap() {
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed) return
this.map = new AMap.Map("mapContainer", { this.map = new AMap.Map("mapContainer", {
// 设置地图容器id // 设置地图容器id
resizeEnable: true, resizeEnable: true,
@@ -94,7 +94,7 @@ module.exports = {
if (this.mapDisposed || this.map || this.mapLoading) return if (this.mapDisposed || this.map || this.mapLoading) return
this.mapLoading = true this.mapLoading = true
this.mapError = '' this.mapError = ''
return Promise.resolve().then(() => { return window.loadMapSdk('tencent').then(() => {
if (this.mapDisposed) return null if (this.mapDisposed) return null
if (typeof TMap === 'undefined' || !TMap.Map || !TMap.LatLng) { if (typeof TMap === 'undefined' || !TMap.Map || !TMap.LatLng) {
throw new Error('腾讯地图脚本未加载成功,请刷新页面后重试') throw new Error('腾讯地图脚本未加载成功,请刷新页面后重试')
@@ -10,10 +10,10 @@
<link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/index.css"/> <link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/index.css"/>
<link rel="stylesheet" href="${base!}/assets/platform/css/common.css"/> <link rel="stylesheet" href="${base!}/assets/platform/css/common.css"/>
<link rel="stylesheet" href="${base!}/assets/platform/css/h5.css"/> <link rel="stylesheet" href="${base!}/assets/platform/css/h5.css"/>
<link rel="stylesheet" href="https://cdn.staticfile.net/animate.css/4.1.1/animate.css"/> <link rel="stylesheet" href="${base!}/assets/platform/plugins/animate/animate.css"/>
<link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css"/> <link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css"/>
<link rel="stylesheet" href="${base!}/assets/platform/css/pdf/pdfh5.css"> <link rel="stylesheet" href="${base!}/assets/platform/css/pdf/pdfh5.css">
<link rel="stylesheet" href="https://res.wx.qq.com/open/libs/weui/2.2.0/weui.min.css"> <link rel="stylesheet" href="${base!}/assets/platform/plugins/weui/weui.min.css">
<script src="${base!}/assets/platform/plugins/vue/vue.js"></script> <script src="${base!}/assets/platform/plugins/vue/vue.js"></script>
<script src="${base!}/assets/platform/plugins/vuex/vuex.js"></script> <script src="${base!}/assets/platform/plugins/vuex/vuex.js"></script>
@@ -30,7 +30,7 @@
<script src="${base!}/assets/platform/plugins/pjax/jquery.pjax.js"></script> <script src="${base!}/assets/platform/plugins/pjax/jquery.pjax.js"></script>
<!--nprogress 配合pjax使用--> <!--nprogress 配合pjax使用-->
<link rel="stylesheet" href="https://cdn.staticfile.net/nprogress/0.2.0/nprogress.css"/> <link rel="stylesheet" href="${base!}/assets/platform/plugins/nprogress/nprogress.css"/>
<script src="${base!}/assets/platform/plugins/nprogress/nprogress.js"></script> <script src="${base!}/assets/platform/plugins/nprogress/nprogress.js"></script>
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index.css"/> <link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index.css"/>
@@ -72,12 +72,9 @@
<script src="${base!}/assets/platform/plugins/g2plot/g2plot.min.js"></script> <script src="${base!}/assets/platform/plugins/g2plot/g2plot.min.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/goober@2.1.10/dist/goober.umd.js"></script>--> <!-- <script src="https://cdn.jsdelivr.net/npm/goober@2.1.10/dist/goober.umd.js"></script>-->
<script <script nonce="${cspNonce!}" src="${base!}/assets/platform/js/util/mapSdkLoader.js"
type="text/javascript" data-amap-url="https://webapi.amap.com/maps?v=2.0&key=57f0d098ba1b881ecc436c4cfd23bbbf&plugin=AMap.PlaceSearch,AMap.PolylineEditor,AMap.Geolocation"
src="https://webapi.amap.com/maps?v=2.0&key=57f0d098ba1b881ecc436c4cfd23bbbf&plugin=AMap.PolyEditor,AMap.Geolocation" data-tencent-url="https://map.qq.com/api/gljs?v=2.exp&key=NYNBZ-K62KI-DQJGU-U4NJ5-CSME7-ULFMU&libraries=tools"></script>
></script>
<script src="https://map.qq.com/api/gljs?v=2.exp&key=NYNBZ-K62KI-DQJGU-U4NJ5-CSME7-ULFMU"></script>
<script nonce="${cspNonce!}"> <script nonce="${cspNonce!}">
Vue.config.devtools = true Vue.config.devtools = true
@@ -103,7 +103,9 @@
src="https://webapi.amap.com/maps?v=2.0&key=b4fa2e2bc10a725ab007b98a3aa447cc&plugin=AMap.PolyEditor,AMap.Geolocation" src="https://webapi.amap.com/maps?v=2.0&key=b4fa2e2bc10a725ab007b98a3aa447cc&plugin=AMap.PolyEditor,AMap.Geolocation"
></script>--> ></script>-->
<script src="https://map.qq.com/api/gljs?v=2.exp&key=NYNBZ-K62KI-DQJGU-U4NJ5-CSME7-ULFMU"></script> <script nonce="${cspNonce!}" src="${base!}/assets/platform/js/util/mapSdkLoader.js"
data-amap-url="https://webapi.amap.com/maps?v=2.0&key=b4fa2e2bc10a725ab007b98a3aa447cc&plugin=AMap.PlaceSearch,AMap.PolylineEditor,AMap.Geolocation"
data-tencent-url="https://map.qq.com/api/gljs?v=2.exp&key=NYNBZ-K62KI-DQJGU-U4NJ5-CSME7-ULFMU&libraries=tools"></script>
<script nonce="${cspNonce!}"> <script nonce="${cspNonce!}">
// 在加载 lodash 后、使用前插入 // 在加载 lodash 后、使用前插入
@@ -7,8 +7,7 @@
<link rel="stylesheet" href="${base!}/assets/platform/fonts/themify-icons.css" /> <link rel="stylesheet" href="${base!}/assets/platform/fonts/themify-icons.css" />
<link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css" /> <link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.net/element-ui/2.15.14/theme-chalk/index.css" /> <link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index.css" />
<link rel="stylesheet" href="https://cdn.staticfile.net/element-ui/2.15.14/theme-chalk/fonts/element-icons.woff" />
<!-- import Vue before Element --> <!-- import Vue before Element -->
<script src="${base!}/assets/platform/plugins/vue/vue.js"></script> <script src="${base!}/assets/platform/plugins/vue/vue.js"></script>
@@ -196,7 +196,7 @@
</body> </body>
<!-- import Vue before Element --> <!-- import Vue before Element -->
<!--<script src="${base!}/assets/platform/plugins/vue/vue.js"></script>--> <!--<script src="${base!}/assets/platform/plugins/vue/vue.js"></script>-->
<script src="https://cdn.staticfile.net/vue/2.7.0/vue.js"></script> <script src="${base!}/assets/platform/plugins/vue/vue.js"></script>
<!-- import JavaScript --> <!-- import JavaScript -->
<script src="${base!}/assets/platform/plugins/element-ui/lib/index.js"></script> <script src="${base!}/assets/platform/plugins/element-ui/lib/index.js"></script>
<script src="${base!}/assets/platform/plugins/jquery/jquery.js"></script> <script src="${base!}/assets/platform/plugins/jquery/jquery.js"></script>
@@ -237,11 +237,13 @@ const courseList = {
this.courseTimeList = resp.data this.courseTimeList = resp.data
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
const viewMap = new AMap.Map("viewMap", { const viewMap = new AMap.Map("viewMap", {
@@ -82,11 +82,13 @@ const info = {
this.courseTimeList = courseTimeList this.courseTimeList = courseTimeList
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
viewMap = new AMap.Map("viewMap", { viewMap = new AMap.Map("viewMap", {
@@ -236,11 +236,13 @@ const courseList = {
this.courseTimeList = resp.data this.courseTimeList = resp.data
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
const viewMap = new AMap.Map("viewMap", { const viewMap = new AMap.Map("viewMap", {
@@ -79,11 +79,13 @@ const info = {
this.courseTimeList = courseTimeList this.courseTimeList = courseTimeList
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
viewMap = new AMap.Map("viewMap", { viewMap = new AMap.Map("viewMap", {
@@ -1461,10 +1461,14 @@ layout("/layouts/platform.html"){
this.viewMap() this.viewMap()
} }
}, },
viewMap() { async viewMap() {
if (!this.hasMapCenterPoint()) { if (!this.hasMapCenterPoint()) {
return return
} }
const requestId = (this.viewMapRequestId || 0) + 1
this.viewMapRequestId = requestId
if (!await window.ensureMapSdk('tencent')) return
if (requestId !== this.viewMapRequestId || this._isDestroyed || !this.viewDialogVisible || this.activeName !== '2') return
this.$nextTick(() => { this.$nextTick(() => {
let path = this.viewData.linePoints.map(v => { let path = this.viewData.linePoints.map(v => {
return [v.coordinates[0], v.coordinates[1]] return [v.coordinates[0], v.coordinates[1]]
@@ -1681,10 +1685,14 @@ layout("/layouts/platform.html"){
this.formData._id ? this.doEdit() : this.doAdd() this.formData._id ? this.doEdit() : this.doAdd()
} }
}, },
xlMap() { async xlMap() {
if (!this.hasMapCenterPoint()) { if (!this.hasMapCenterPoint()) {
return return
} }
const requestId = (this.xlMapRequestId || 0) + 1
this.xlMapRequestId = requestId
if (!await window.ensureMapSdk('tencent')) return
if (requestId !== this.xlMapRequestId || this._isDestroyed || this.stepActive !== 2) return
const center = new TMap.LatLng(this.appMapCenterPointY, this.appMapCenterPointX) const center = new TMap.LatLng(this.appMapCenterPointY, this.appMapCenterPointX)
this.lineMap = new TMap.Map("xlMap", { this.lineMap = new TMap.Map("xlMap", {
resizeEnable: true, resizeEnable: true,
@@ -1834,10 +1842,14 @@ layout("/layouts/platform.html"){
}], }],
}); });
}, },
xlMap2() { async xlMap2() {
if (!this.hasMapCenterPoint()) { if (!this.hasMapCenterPoint()) {
return return
} }
const requestId = (this.xlMap2RequestId || 0) + 1
this.xlMap2RequestId = requestId
if (!await window.ensureMapSdk('amap')) return
if (requestId !== this.xlMap2RequestId || this._isDestroyed || this.stepActive !== 2) return
let map = new AMap.Map("xlMap", { let map = new AMap.Map("xlMap", {
resizeEnable: true, resizeEnable: true,
center: [this.appMapCenterPointX, this.appMapCenterPointY], center: [this.appMapCenterPointX, this.appMapCenterPointY],
@@ -1905,7 +1917,7 @@ layout("/layouts/platform.html"){
// 缩放地图到合适的视野级别 // 缩放地图到合适的视野级别
map.setFitView([polyline]) map.setFitView([polyline])
this.polyEditor = new AMap.PolyEditor(map, polyline) this.polyEditor = new AMap.PolylineEditor(map, polyline)
this.polyEditor.open() this.polyEditor.open()
this.polyEditor.on('end', (event) => { this.polyEditor.on('end', (event) => {
let points = event.target.getPath() let points = event.target.getPath()
@@ -1933,7 +1945,7 @@ layout("/layouts/platform.html"){
}) })
if (this.formData.isMultipleLines) { if (this.formData.isMultipleLines) {
this.polyEditor2 = new AMap.PolyEditor(map, polyline2) this.polyEditor2 = new AMap.PolylineEditor(map, polyline2)
this.polyEditor2.open() this.polyEditor2.open()
this.polyEditor2.on('end', (event) => { this.polyEditor2.on('end', (event) => {
let points = event.target.getPath() let points = event.target.getPath()
@@ -236,11 +236,13 @@ const courseList = {
this.courseTimeList = resp.data this.courseTimeList = resp.data
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
const viewMap = new AMap.Map("viewMap", { const viewMap = new AMap.Map("viewMap", {
@@ -79,11 +79,13 @@ const info = {
this.courseTimeList = courseTimeList this.courseTimeList = courseTimeList
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
viewMap = new AMap.Map("viewMap", { viewMap = new AMap.Map("viewMap", {
@@ -236,11 +236,13 @@ const courseList = {
this.courseTimeList = resp.data this.courseTimeList = resp.data
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
const viewMap = new AMap.Map("viewMap", { const viewMap = new AMap.Map("viewMap", {
@@ -79,11 +79,13 @@ const info = {
this.courseTimeList = courseTimeList this.courseTimeList = courseTimeList
this.courseTimeListDialog = true this.courseTimeListDialog = true
}, },
openViewMap(point) { async openViewMap(point) {
if (!Array.isArray(point)) { if (!Array.isArray(point)) {
this.$message.warning("没有设置点位,无法通过地图查看") this.$message.warning("没有设置点位,无法通过地图查看")
return return
} }
if (!await window.ensureMapSdk('amap')) return
if (this._isDestroyed || this._isBeingDestroyed || this.viewMapDialog) return
this.viewMapDialog = true this.viewMapDialog = true
this.$nextTick(() => { this.$nextTick(() => {
viewMap = new AMap.Map("viewMap", { viewMap = new AMap.Map("viewMap", {
@@ -63,12 +63,15 @@ const times = {
onOpen(row) { onOpen(row) {
this.row = row this.row = row
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(async () => {
if(this.row.signType === 3) { if(this.row.signType === 3) {
if(this.map) this.map.destroy() if(this.map) this.map.destroy()
this.initMap() this.map = null
this.markerLayer = null
await this.initMap()
if (!this.visible || this.row !== row || !this.map) return
this.getLocation((coords) => { this.getLocation((coords) => {
if (coords) { if (coords && this.visible && this.row === row && this.markerLayer) {
const center = new TMap.LatLng(coords.lat, coords.lng) const center = new TMap.LatLng(coords.lat, coords.lng)
this.markerLayer.remove(["current"]) this.markerLayer.remove(["current"])
this.createMarker(center, 'current', 'current') this.createMarker(center, 'current', 'current')
@@ -102,9 +105,9 @@ const times = {
this.visible = false this.visible = false
} else { } else {
this.$toast(res.msg) this.$toast(res.msg)
this.markerLayer.remove(["current"]) if (this.markerLayer) this.markerLayer.remove(["current"])
this.getLocation((coords) => { this.getLocation((coords) => {
if (coords) { if (coords && this.visible && this.map && this.markerLayer) {
const center = new TMap.LatLng(coords.lat, coords.lng) const center = new TMap.LatLng(coords.lat, coords.lng)
this.createMarker(center, 'current', 'current') this.createMarker(center, 'current', 'current')
} }
@@ -162,12 +165,17 @@ const times = {
} }
); );
}, },
initMap() { async initMap() {
if(!this.row.courseLocationCoordinates) { if(!this.row.courseLocationCoordinates) {
this.$toast('未设置签到点') this.$toast('未设置签到点')
return return
} }
const posi = JSON.parse(this.row.courseLocationCoordinates) const row = this.row
const requestId = (this.mapLoadRequestId || 0) + 1
this.mapLoadRequestId = requestId
if (!await window.ensureMapSdk('tencent')) return
if (requestId !== this.mapLoadRequestId || this._isDestroyed || !this.visible || this.row !== row) return
const posi = JSON.parse(row.courseLocationCoordinates)
const center = new TMap.LatLng(posi[0], posi[1]) const center = new TMap.LatLng(posi[0], posi[1])
this.map = new TMap.Map('mapContainer', { this.map = new TMap.Map('mapContainer', {
resizeEnable: true, resizeEnable: true,
@@ -41,16 +41,20 @@ layout("/layouts/platform_h5.html"){
return { return {
courseId: GetQueryString('courseId'), courseId: GetQueryString('courseId'),
markerLayer: null, markerLayer: null,
currentPosition: null,
map: null, map: null,
res: {}, res: {},
} }
}, },
methods: { methods: {
initMap() { async initMap() {
if(!this.row.courseLocationCoordinates) { if(!this.row.courseLocationCoordinates) {
this.$toast('未设置签到点') this.$toast('未设置签到点')
return return
} }
if (!await window.ensureMapSdk('tencent')) return
if (this._isDestroyed || this._isBeingDestroyed) return
await this.$nextTick()
const posi = this.row.courseLocationCoordinates const posi = this.row.courseLocationCoordinates
const center = new TMap.LatLng(posi[0], posi[1]) const center = new TMap.LatLng(posi[0], posi[1])
this.map = new TMap.Map('mapContainer', { this.map = new TMap.Map('mapContainer', {
@@ -70,6 +74,14 @@ layout("/layouts/platform_h5.html"){
}) })
this.createMarker(center) this.createMarker(center)
this.createCircle(center) this.createCircle(center)
this.showCurrentPosition()
},
// 定位和签到独立于地图下载;先返回的定位结果在地图就绪后补画。
showCurrentPosition() {
if (!this.map || !this.markerLayer || !this.currentPosition) return
this.markerLayer.remove(["current"])
const center = new TMap.LatLng(this.currentPosition[0], this.currentPosition[1])
this.createMarker(center, 'current', 'current')
}, },
createMarker(position, styleId = 'marker', id = 'marker_' + Date.now()) { createMarker(position, styleId = 'marker', id = 'marker_' + Date.now()) {
this.markerLayer.add([ this.markerLayer.add([
@@ -103,13 +115,8 @@ layout("/layouts/platform_h5.html"){
lat: pos.coords.latitude, lat: pos.coords.latitude,
lng: pos.coords.longitude lng: pos.coords.longitude
}); });
if (this.markerLayer) { this.currentPosition = this.$coordinateUtil.wgs84ToGcj02(pos.coords.longitude, pos.coords.latitude)
this.markerLayer.remove(["current"]) this.showCurrentPosition()
}
const transPosi = this.$coordinateUtil.wgs84ToGcj02(pos.coords.longitude, pos.coords.latitude)
console.log(transPosi)
const center = new TMap.LatLng(transPosi[0], transPosi[1])
this.createMarker(center, 'current', 'current')
}, },
(err) => { (err) => {
console.log(err) console.log(err)
@@ -2,9 +2,7 @@ const home = {
template: /*language=HTML*/ ` template: /*language=HTML*/ `
<div class="home-page"> <div class="home-page">
<div class="home-summary-bar" :class="{'home-summary-bar--visible': showHomeSummary}"> <div class="home-summary-bar" :class="{'home-summary-bar--visible': showHomeSummary}">
<img class="home-summary-bar__logo" <span class="home-summary-bar__logo" role="img" aria-label="南京审计大学"></span>
src="/assets/mobile/img/home/v4/中国地质大学-logo.png"
alt="中国地质大学">
<span class="home-summary-bar__divider"></span> <span class="home-summary-bar__divider"></span>
<span class="home-summary-bar__title">智慧工会</span> <span class="home-summary-bar__title">智慧工会</span>
</div> </div>
@@ -14,8 +12,8 @@ const home = {
<div class="home-hero__content"> <div class="home-hero__content">
<div class="home-hero__topbar"> <div class="home-hero__topbar">
<img class="home-hero__brand-logo" <img class="home-hero__brand-logo"
src="/assets/mobile/img/home/v4/中国地质大学-logo.png" src="/assets/mobile/img/home/v4/南京审计大学-logo.svg"
alt="中国地质大学"> alt="南京审计大学">
</div> </div>
<div class="home-hero__title">智慧工会</div> <div class="home-hero__title">智慧工会</div>
<div class="home-hero__subtitle">情系职工 · 真诚服务</div> <div class="home-hero__subtitle">情系职工 · 真诚服务</div>
@@ -765,8 +763,11 @@ const home = {
width: 118px; width: 118px;
height: 28px; height: 28px;
display: block; display: block;
object-fit: contain; flex-shrink: 0;
object-position: left center; /* 白底吸顶栏使用蓝色标识,复用原 Logo 的透明轮廓以保留校徽和校名字形。 */
background-color: #005bac;
-webkit-mask: url('/assets/mobile/img/home/v4/南京审计大学-logo.svg') left center / contain no-repeat;
mask: url('/assets/mobile/img/home/v4/南京审计大学-logo.svg') left center / contain no-repeat;
} }
.home-summary-bar__divider { .home-summary-bar__divider {
@@ -1 +0,0 @@
71eb5eaecf2b7fd91d9dd7409a56314b9f2f132b3dffbb9e13ee56d0999b8c59
@@ -1 +0,0 @@
0d9b4629144a1fd15ed01362ce0dc2c9c5246e4f57250dd95fb52dbbbb75c532
@@ -1,150 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>9.4.57.v20241219</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jetty-client</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<name>Jetty :: Asynchronous HTTP Client</name>
<properties>
<bundle-symbolic-name>${project.groupId}.client</bundle-symbolic-name>
<jetty.test.policy.loc>target/test-policy</jetty.test.policy.loc>
<spotbugs.onlyAnalyze>org.eclipse.client.*</spotbugs.onlyAnalyze>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>generate-test-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-policy</artifactId>
<version>${jetty-test-policy.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<includes>**/*.keystore,**/*.pem</includes>
<outputDirectory>${jetty.test.policy.loc}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>hybrid</shadedClassifierName>
<artifactSet>
<includes>
<include>org.eclipse.jetty:jetty-http</include>
<include>org.eclipse.jetty:jetty-io</include>
<include>org.eclipse.jetty:jetty-util</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>org.eclipse.jetty.http</pattern>
<shadedPattern>org.eclipse.jetty.client.shaded.http</shadedPattern>
</relocation>
<relocation>
<pattern>org.eclipse.jetty.io</pattern>
<shadedPattern>org.eclipse.jetty.client.shaded.io</shadedPattern>
</relocation>
<relocation>
<pattern>org.eclipse.jetty.util</pattern>
<shadedPattern>org.eclipse.jetty.client.shaded.util</shadedPattern>
</relocation>
</relocations>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-io</artifactId>
<version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jmx</artifactId>
<version>9.4.57.v20241219</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.kerby</groupId>
<artifactId>kerb-simplekdc</artifactId>
<version>2.1.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.jline</groupId>
<artifactId>jline</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- transitive dependency defined as a range and we don't want that -->
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-helper</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
</dependency>
</dependencies>
</project>
@@ -1 +0,0 @@
989a013455688dc528a988c41514fbfece0e3354a54398af5a404cda582c94bd
@@ -1 +0,0 @@
dcfe694ef6f27d9d6268e2fb135a1c9a7aabdfa55e7d738fc8df79f573086027
@@ -1 +0,0 @@
90058e595b73d85b96e192b7e6806098f83467680a95466974f445d6706ed682
@@ -1,107 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>jetty-project</artifactId>
<groupId>org.eclipse.jetty</groupId>
<version>9.4.57.v20241219</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jetty-http</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<name>Jetty :: Http Utility</name>
<properties>
<bundle-symbolic-name>${project.groupId}.http</bundle-symbolic-name>
<spotbugs.onlyAnalyze>org.eclipse.jetty.http.*</spotbugs.onlyAnalyze>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-io</artifactId>
<version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-helper</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Require-Capability>osgi.serviceloader; filter:="(osgi.serviceloader=org.eclipse.jetty.http.HttpFieldPreEncoder)";resolution:=optional;cardinality:=multiple, osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)";resolution:=optional, osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)";resolution:=optional</Require-Capability>
<Provide-Capability>osgi.serviceloader; osgi.serviceloader=org.eclipse.jetty.http.HttpFieldPreEncoder</Provide-Capability>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>test-jar</id>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${jmhjar.name}</finalName>
<shadeTestJar>true</shadeTestJar>
<artifactSet>
<includes>
<include>org.openjdk.jmh:jmh-core</include>
</includes>
</artifactSet>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.openjdk.jmh.Main</mainClass>
</transformer>
</transformers>
<filters>
<filter>
<artifact>org.openjdk.jmh:jmh-core</artifact>
<includes>
<include>**</include>
</includes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -1 +0,0 @@
967fff3457fb62eb7485fe303cc4162edc1c02b15498c2f8401fbca263649ab8
@@ -1 +0,0 @@
770e71875fa37effaab5c11e932b9a52c2e019236062575b0403760242b0bf08
@@ -1 +0,0 @@
d757e04e165d940c019e9346c36e9bf8d1a71c8b6b196519bda4200e2a16f5d4
@@ -1,89 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>9.4.57.v20241219</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jetty-jaspi</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<name>Jetty :: JASPI Security</name>
<description>Jetty security infrastructure</description>
<properties>
<bundle-symbolic-name>${project.groupId}.security.jaspi</bundle-symbolic-name>
<spotbugs.onlyAnalyze>org.eclipse.jetty.jaspi.*</spotbugs.onlyAnalyze>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Require-Capability>osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)"</Require-Capability>
<Provide-Capability>osgi.serviceloader;osgi.serviceloader=org.eclipse.jetty.security.Authenticator$Factory</Provide-Capability>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-helper</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.security.auth.message</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<!-- Must stay on 3.x as 4.x is for Java 11 -->
<version>3.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-jaspi</artifactId>
<version>2.0.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jaspic_1.0_spec</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
</dependencies>
</project>
@@ -1 +0,0 @@
8e49cd7df44f050c96d896726129fa5c9d0ac5895261cda774c8c899e617e5a6
@@ -1 +0,0 @@
a89e010985a3a347c700c32a535f92f89b6c2548cabcf5e434563b2a59c37b2d
@@ -1,56 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>9.4.57.v20241219</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jetty-security</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<name>Jetty :: Security</name>
<description>Jetty security infrastructure</description>
<properties>
<bundle-symbolic-name>${project.groupId}.security</bundle-symbolic-name>
<spotbugs.onlyAnalyze>org.eclipse.jetty.security.*</spotbugs.onlyAnalyze>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Require-Capability>osgi.serviceloader; filter:="(osgi.serviceloader=org.eclipse.jetty.security.Authenticator$Factory)";resolution:=optional;cardinality:=multiple, osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)";resolution:=optional</Require-Capability>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-helper</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
@@ -1 +0,0 @@
c2697118caa818c3f6b17bce98e60f971a56905a96b69eef9b3f34d0bcd1e729
@@ -1 +0,0 @@
e9f670a373dd91b8ce752d1cc601ffb4890a8cffe67a3fb3addca09c9b0d3405
@@ -1 +0,0 @@
d2a396bd5f8f30ed1b6664e4cc07ddd0df9e1ef4a25452291f24e475890ef037
@@ -1,108 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>9.4.57.v20241219</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jetty-server</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<name>Jetty :: Server Core</name>
<description>The core jetty server artifact.</description>
<properties>
<bundle-symbolic-name>${project.groupId}.server</bundle-symbolic-name>
<spotbugs.onlyAnalyze>org.eclipse.jetty.server.*</spotbugs.onlyAnalyze>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>test-jar</id>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources-keystore</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${project.build.directory}/jetty-config-files</outputDirectory>
<resources>
<resource>
<directory>src/main/config</directory>
<includes>
<include>**/**keystore**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-io</artifactId>
<version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-xml</artifactId>
<version>9.4.57.v20241219</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jmx</artifactId>
<version>9.4.57.v20241219</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-test-helper</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>9.4.57.v20241219-cug-patch1</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util-ajax</artifactId>
<version>9.4.57.v20241219</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
@@ -1 +0,0 @@
e1bf730db18ea8cd98c95bee03673b3601f34322e30e91d3cfd8210c0d7dd00c