wlzboy
2025-11-02 2cd31915236257e325b49f2e86f6912512e1f7ce
fix:app 用户登录,默认不勾选用户协议
5个文件已修改
80 ■■■■■ 已修改文件
app/App.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/pages/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/pages/login.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/pages/task/create-emergency.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-prod.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/App.vue
@@ -53,7 +53,8 @@
      }
      
      // 应用显示时刷新未读消息数量
      if (currentToken) {
      // 注意:只有已登录且不在登录页面时才调用
      if (currentToken && !this.isLoginPage()) {
        this.updateUnreadMessageBadge()
        // 重新启动轮询(如果之前已停止)
        if (!this.messagePollingTimer) {
@@ -87,6 +88,18 @@
        }
      },
      
      // 判断当前是否在登录页面
      isLoginPage() {
        const pages = getCurrentPages()
        if (pages.length === 0) {
          return false
        }
        const currentPage = pages[pages.length - 1]
        const route = currentPage.route || ''
        // 判断是否为登录相关页面
        return route.includes('login') || route.includes('register')
      },
      // 更新未读消息徽标
      updateUnreadMessageBadge() {
        // 检查是否已登录,未登录则不请求
app/pages/index.vue
@@ -196,6 +196,13 @@
      }
    },
    onLoad() {
      // 检查用户是否已登录
      const userId = this.currentUser.userId
      if (!userId) {
        console.log('用户未登录,跳过加载数据')
        return
      }
      // 加载用户绑定车辆信息
      this.loadUserVehicle()
      // 加载正在运行的任务
@@ -204,6 +211,13 @@
      this.loadUnreadMessageCount()
    },
    onShow() {
      // 检查用户是否已登录
      const userId = this.currentUser.userId
      if (!userId) {
        console.log('用户未登录,跳过加载数据')
        return
      }
      // 每次显示页面时刷新任务列表、绑定车辆和消息数量
      this.loadUserVehicle()
      this.loadRunningTasks()
app/pages/login.vue
@@ -24,7 +24,7 @@
      <view class="agreement-checkbox">
        <checkbox-group @change="onAgreementChange">
          <label class="checkbox-label">
            <checkbox :checked="agreedToPolicy" value="agreed" color="#007AFF" style="margin-top: 0;" />
            <checkbox :checked="agreedToPolicy" value="agreed" color="#007AFF" class="round-checkbox" style="margin-top: 0;" />
            <text class="agreement-text">
              <text class="text-grey1">同意</text>
              <text @click.stop="handleUserAgrement" class="text-blue agreement-link">《用户协议》</text>
@@ -52,8 +52,8 @@
        captchaEnabled: true,
        // 用户注册开关
        register: false,
        // 隐私政策同意状态(默认选中)
        agreedToPolicy: true,
        // 隐私政策同意状态(默认未选中,需要用户主动勾选)
        agreedToPolicy: false,
        globalConfig: getApp().globalData.config,
        loginForm: {
          username: "",
@@ -285,6 +285,46 @@
            vertical-align: middle;
          }
          
          // 圆形复选框样式
          .round-checkbox {
            border-radius: 50% !important;
          }
          // 针对微信小程序的圆形样式
          ::v-deep .uni-checkbox-input,
          ::v-deep .wx-checkbox-input {
            border-radius: 50% !important;
          }
          // 针对H5的圆形样式
          ::v-deep input[type="checkbox"] {
            border-radius: 50% !important;
            -webkit-appearance: none;
            appearance: none;
            width: 36rpx;
            height: 36rpx;
            border: 2rpx solid #d1d1d1;
            background-color: #fff;
            position: relative;
            &:checked {
              background-color: #007AFF;
              border-color: #007AFF;
              &::after {
                content: '';
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 12rpx;
                height: 12rpx;
                background-color: #fff;
                border-radius: 50%;
              }
            }
          }
          .agreement-text {
            display: inline-flex;
            align-items: center;
app/pages/task/create-emergency.vue
@@ -1498,7 +1498,7 @@
            this.taskForm.transferDistance = distanceInKm
            
            console.log('距离计算成功:', distanceInKm, 'km')
            this.$modal.showToast(`距离计算成功: ${distanceInKm}公里`)
            // this.$modal.showToast(`距离计算成功: ${distanceInKm}公里`)
          } else {
            console.error('距离计算失败:', response.msg)
            this.$modal.showToast('距离计算失败,请手动输入')
ruoyi-admin/src/main/resources/application-prod.yml
@@ -96,6 +96,9 @@
tencent:
  map:
    key: 6YVBZ-ZJDLQ-JMY5F-BR7XG-H3TAV-C3FXC
baidu:
  map:
    ak: GX7G1RmAbTEQHor9NKpzRiB2jerqaY1E
# 旧系统配置
legacy:
  system: