<template>
  <view class="agreement-page" :style="{ background: themeConfig.bgColor }">
    <!-- 协议内容滚动区 -->
    <scroll-view class="content-scroll" scroll-y>
      <view class="agreement-content" :style="{ background: themeConfig.cardBgColor }">
        <view class="title" :style="{ color: themeConfig.textPrimary }">简记memo隐私政策</view>
        <view class="effective-date" :style="{ color: themeConfig.textSecondary }">生效日期：2025年04月24日</view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">1. 总则</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">1.1 为保护用户隐私，规范本小程序的个人信息处理行为，本小程序运营者（个人开发者，以下简称“运营者”）依据《中华人民共和国个人信息保护法》《中华人民共和国网络安全法》《微信小程序平台运营规范》等法律法规及规范，制定本隐私政策。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">1.2 本隐私政策适用于您使用本小程序过程中涉及的个人信息处理活动，您使用本小程序即视为同意本政策；若您不同意本政策，请勿使用本小程序。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">1.3 本小程序由个人独立开发及运营，无所属企业/公司主体，所有信息处理行为均由运营者个人负责。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">2. 个人信息的收集</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">2.1 登录相关信息：您使用微信授权登录本小程序时，运营者仅获取微信开放平台提供的唯一标识（OpenID），该信息仅用于识别您的用户身份，不会收集您的微信昵称、头像、手机号等其他微信账号信息。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">2.2 业务数据：您在本小程序内录入的备忘录、待办事项、账单内容、编辑记录、时间戳等数据，将存储于运营者的服务器中（而非本地设备），仅用于为您提供数据同步、查看、编辑等核心功能。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">2.3 设备与日志信息：为保障小程序正常运行，可能被动获取微信平台提供的基础设备信息（如设备型号、系统版本）、操作日志（如页面访问记录、功能使用记录），该类信息仅用于故障排查、功能优化，且仅与OpenID关联（不关联其他个人身份信息）。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">2.4 运营者不会主动收集您的姓名、身份证号、手机号、地理位置等其他个人敏感信息。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">3. 个人信息的使用</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">3.1 OpenID仅用于识别您的用户身份，保障您能正常访问、管理自己存储在服务器的业务数据。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">3.2 您的业务数据仅用于为您本人提供查看、编辑、删除、同步等核心功能，运营者不会利用该数据进行商业推广、数据分析、第三方共享等其他用途。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">3.3 设备与日志信息仅用于定位和解决小程序运行故障、优化产品体验，不会用于识别个人身份或向第三方披露。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">4. 个人信息的存储与保护</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">4.1 存储方式：OpenID及您的业务数据存储于运营者的服务器中；设备与日志信息仅在故障排查期间临时存储，排查完成后即时删除。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">4.2 存储期限：OpenID与业务数据将持续存储，直至您主动申请删除账号（可通过联系运营者完成）；设备与日志信息存储期限不超过7日。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">4.3 安全措施：运营者通过服务器访问权限控制、数据加密传输等技术手段保障数据安全，但因网络攻击、服务器故障、微信平台漏洞等非运营方可控因素导致的数据泄露，运营者不承担责任。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">4.4 您可通过小程序内的删除功能清理自身业务数据，如需彻底删除账号及所有数据，可联系运营者协助处理。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">5. 个人信息的共享、转让与公开披露</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">5.1 运营者不会将您的OpenID、业务数据、设备信息等任何信息共享、转让给第三方，除非获得您的明确授权，或法律法规、司法机关/行政机关的强制性要求。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">5.2 未经您同意，运营者不会公开披露您的任何信息；因法律法规要求披露时，将在允许范围内尽可能提前通知您。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">6. 您的权利</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">6.1 您有权随时查看、编辑、删除自己存储在本小程序内的业务数据；</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">6.2 您有权联系运营者申请删除账号及所有关联数据（包括OpenID、业务数据）；</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">6.3 您有权向运营者查询自身个人信息的处理情况，运营者将在合理期限内予以答复；</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">6.4 若您发现本小程序存在违规处理您信息的行为，有权向运营者反馈或向微信平台投诉。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">7. 未成年人保护</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">7.1 本小程序面向所有年龄段用户，若未成年人使用本小程序，应在监护人指导下进行，监护人应承担相应监护责任。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">7.2 运营者不会主动收集未成年人的任何额外个人信息，若监护人发现未成年人的信息被不当处理，可联系运营者协助处理。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">8. 隐私政策的变更</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">8.1 运营者可根据法律法规调整或业务优化，修改本隐私政策，修改后的政策将在小程序内公示，公示满7日后生效。</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">8.2 若您不同意修改后的政策，应停止使用本小程序并可申请删除账号数据；继续使用的，视为同意修改后的政策。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">9. 联系我们</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">9.1 若您对本隐私政策有任何疑问、意见或投诉，可通过以下方式联系运营者：</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">联系邮箱：memo@miaoall.cn</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">微信公众号：孙三苗（sunsanmiao）</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">9.2 运营者将在15个工作日内回复您的咨询或处理请求。</view>
        </view>

        <view class="section">
          <view class="section-title" :style="{ 
            color: themeConfig.primaryColor, 
            background: themeConfig.primaryColor + '10',
            borderLeftColor: themeConfig.primaryColor
          }">10. 其他</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">10.1 本隐私政策的解释权归运营者个人所有；</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">10.2 若本政策与法律法规冲突，以法律法规为准；</view>
          <view class="section-text" :style="{ color: themeConfig.textSecondary }">10.3 您使用本小程序的行为，同时受微信平台的隐私政策及运营规范约束。</view>
        </view>
      </view>
    </scroll-view>
  </view>
</template>

<script>
import { getThemeConfigFromStorage, THEME_PRESETS } from '@/utils/theme'
import { refreshNavBarTheme } from '@/utils/themeGlobal'

export default {
  name: "privacyPolicy",
  data() {
    return {
      themeConfig: getThemeConfigFromStorage() || THEME_PRESETS['default']
    };
  },
  onLoad() {
    refreshNavBarTheme()
    this.themeChangeHandler = (themeData) => {
      let newTheme = null
      if (themeData?.key && THEME_PRESETS[themeData.key]) {
        newTheme = THEME_PRESETS[themeData.key]
      } else if (themeData?.config) {
        newTheme = themeData.config
      }
      if (newTheme) {
        this.themeConfig = newTheme
        refreshNavBarTheme()
      }
    }
    uni.$on('themeChanged', this.themeChangeHandler)
  },
  onShow() {
    const latestTheme = getThemeConfigFromStorage() || THEME_PRESETS['default']
    if (JSON.stringify(latestTheme) !== JSON.stringify(this.themeConfig)) {
      this.themeConfig = latestTheme
    }
    refreshNavBarTheme()
  },
  onUnload() {
    uni.$off('themeChanged', this.themeChangeHandler)
  }
};
</script>

<style scoped>
.agreement-page {
  width: 100%;
  min-height: 100vh;
  padding: 20rpx 24rpx;
  padding-bottom: 40px;
  box-sizing: border-box;
}

.content-scroll {
  height: calc(100vh - 40rpx);
  box-sizing: border-box;
}

.agreement-content {
  padding: 40rpx;
  border-radius: 12rpx;
  min-height: calc(100% - 48rpx);
}

.title {
  font-size: 36rpx;
  font-weight: 700;
  text-align: center;
  margin-bottom: 16rpx;
  letter-spacing: 1rpx;
}

.effective-date {
  text-align: center;
  font-size: 24rpx;
  margin-bottom: 40rpx;
  padding-bottom: 24rpx;
  border-bottom: 1px dashed rgba(132, 179, 217, 0.2);
}

.section {
  margin-bottom: 36rpx;
}

.section-title {
  font-size: 30rpx;
  font-weight: 600;
  margin-bottom: 18rpx;
  padding: 12rpx 16rpx;
  border-radius: 12rpx;
  border-left: 4rpx solid;
}

.section-text {
  font-size: 28rpx;
  line-height: 2;
  margin-bottom: 14rpx;
  text-indent: 56rpx;
}

.footer-info {
  margin-top: 48rpx;
  padding-top: 24rpx;
  border-top: 1px dashed rgba(132, 179, 217, 0.2);
  text-align: center;
}

.footer-text {
  font-size: 24rpx;
  line-height: 1.6;
}

.contact-link {
  text-decoration: none;
}
</style>