吉安感知网项目-前端
罗广辉
2026-01-26 c3bb39a4cbd6f172884d4d8598554ab504ea0b0f
Merge remote-tracking branch 'origin/master'
4 files modified
78 ■■■■ changed files
uniapps/work-app/src/api/map.js 8 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/pages/map/index.vue 10 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/pages/work/index.vue 26 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/store/modules/location.js 34 ●●●● patch | view | raw | blame | history
uniapps/work-app/src/api/map.js
@@ -7,3 +7,11 @@
    data: { hidden_flag: 0, ...data },
  })
}
// 位置上报
export const reportLocationApi = data => {
  return request({
    url: '/webservice/jaUserTrajectory/reportLocation',
    method: 'post',
    data,
  })
}
uniapps/work-app/src/pages/map/index.vue
@@ -1,13 +1,3 @@
<!--
 * @Author       : yuan
 * @Date         : 2025-12-03 14:20:57
 * @LastEditors  : yuan
 * @LastEditTime : 2025-12-20 16:49:02
 * @FilePath     : \src\pages\map\index.vue
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-12-03 14:20:57
-->
<template>
  <view class="page-wrap">
    <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
uniapps/work-app/src/pages/work/index.vue
@@ -2,7 +2,7 @@
  <div class="eventTickets" :style="{ paddingTop: topMargin + 'px' }">
    <div class="searchTop">
      <up-search placeholder="请输入关键字搜索"  :animation="true"  v-model="listParams.keyword" :show-action="false" @search="handleSearch"></up-search>
      <up-search placeholder="请输入关键字搜索"  :animation="true"  v-model="listParams.keyword" :show-action="false" @search="handleSearch" @clear="handleClear"></up-search>
    </div>
    <div class="listBox">
      <div class="tabs-container">
@@ -18,6 +18,11 @@
              <div class="itemContent">{{formatDate(item.createTime) }}</div>
            </div>
          </div>
        </div>
        <!-- 暂无数据提示 -->
        <div class="noData" v-if="!loading && dataList.length === 0">
          <text>暂无数据</text>
        </div>
        <!-- 加载提示 -->
@@ -151,6 +156,15 @@
// 搜索功能
const handleSearch = () => {
  listParams.value.current = 1
  hasMore.value = true
  dataList.value = []
  getDataList()
  getstatusCountData()
}
// 清除搜索
const handleClear = () => {
  listParams.value.keyword = ''
  listParams.value.current = 1
  hasMore.value = true
  dataList.value = []
@@ -295,5 +309,15 @@
    color: #999;
    width: 100%;
  }
  .noData {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 300rpx;
    font-size: 28rpx;
    color: #999;
    width: 100%;
  }
}
</style>
uniapps/work-app/src/store/modules/location.js
@@ -1,5 +1,6 @@
import { defineStore } from 'pinia'
import locationUtil from '@/utils/location.js'
import { reportLocationApi } from '@/api/map.js'
const useLocationStore = defineStore('location', {
  state: () => ({
@@ -12,7 +13,9 @@
    // 位置更新间隔(毫秒)
    updateInterval: 5000,
    // 位置监听器ID
    watcherId: null
    watcherId: null,
    // 上次位置上报时间
    lastReportTime: 0
  }),
  getters: {
@@ -115,13 +118,32 @@
    },
    /**
     * 位置信息上报(可根据实际需求实现)
     * 位置信息上报
     * @param {Object} location 位置信息
     */
    reportLocation(location) {
      // 这里可以添加位置信息上报到服务器的逻辑
      // 例如:api.uploadLocation(location)
      console.log('位置上报:', location);
    async reportLocation(location) {
      try {
        const now = Date.now();
        // 检查是否达到上报时间间隔(1分钟)
        if (now - this.lastReportTime >= 60000) {
          // 构造请求参数
           const params = {
            longitude: location.longitude,
            latitude: location.latitude,
            // reportTime: new Date().toISOString()
          };
          // 调用位置上报接口
          const result = await reportLocationApi(params);
          console.log('位置上报成功:', result);
          // 更新上次上报时间
          this.lastReportTime = now;
        }
      } catch (error) {
        console.error('位置上报失败:', error);
      }
    },
    /**