/**
 * 协议详情页 - 展示用户服务协议 / 隐私政策等完整正文
 */
import { ScrollView, View, Text } from '@tarojs/components'
import Taro, { useLoad } from '@tarojs/taro'
import { useState } from 'react'
import './index.scss'

interface Section {
  title: string
  body: string
}

interface AgreementDoc {
  title: string
  updateDate: string
  sections: Section[]
}

// ────────────────────────────────────────────
// 《用户服务协议》正文
// ────────────────────────────────────────────
const userAgreement: AgreementDoc = {
  title: '用户服务协议',
  updateDate: '更新日期：2026年05月12日    生效日期：2026年05月12日',
  sections: [
    {
      title: '一、总则',
      body: '本协议由您（以下简称"用户"）与北京探力科技有限公司（以下简称"探力科技"或"我们"）就探力娱乐微信小程序（以下简称"本小程序"）的使用所订立。请您在使用本小程序前，仔细阅读本协议全部条款。您使用本小程序，即表示您已阅读并同意接受本协议的全部条款。\n\n若您未满18周岁，请在监护人陪同下阅读，且仅在监护人同意的前提下使用本小程序服务。',
    },
    {
      title: '二、服务内容',
      body: '本小程序为台球馆自助服务平台，主要提供以下功能：\n\n1. 查找附近台球馆（门店地图与导航）；\n2. 台球桌自助扫码开台、定时开台、续费与关台；\n3. 账户余额充值与消费记录查询；\n4. 存杆柜租赁；\n5. 团购券与优惠券管理；\n6. 预约/预定台球桌；\n7. VIP会员权益查询；\n8. 其他台球馆增值服务。',
    },
    {
      title: '三、账号注册与管理',
      body: '1. 您通过微信授权登录即可创建账号，无需单独注册。\n\n2. 您的账号仅供本人使用，请勿将账号及密码转让、出借给他人使用。\n\n3. 若发现账号被盗用或存在其他安全问题，请立即联系我们（邮箱：guohl@nvision.com.cn）。\n\n4. 您可随时申请注销账号，我们将在十五个工作日内完成处理。注销后，账号内剩余余额、优惠券及相关权益视为自愿放弃，不予退还。',
    },
    {
      title: '四、使用规范',
      body: '您在使用本小程序时，必须遵守以下规定：\n\n1. 遵守中华人民共和国相关法律法规；\n2. 不得利用本小程序从事任何违法违规活动；\n3. 不得干扰本小程序正常运行；\n4. 不得未经授权访问或使用他人账号信息；\n5. 不得通过非法手段恶意操控台球桌设备。\n\n若您违反上述规定，我们有权暂停或终止您的账号，并保留追究相关法律责任的权利。',
    },
    {
      title: '五、充值与支付',
      body: '1. 本小程序支持通过微信支付进行余额充值及开台付费。\n\n2. 充值成功后余额不可提现，不可转让，仅用于本小程序内台球馆消费。\n\n3. 若因支付系统故障导致充值失败，款项将原路退回，退款周期以微信支付规则为准。\n\n4. 充值完成后，如因个人原因申请退款，请联系客服（guohl@nvision.com.cn），我们将根据实际消费情况进行核算处理。\n\n5. 开台押金将在正常关台后原路退回，具体退回时间以微信支付到账时间为准。',
    },
    {
      title: '六、知识产权',
      body: '本小程序内所有内容（包括但不限于文字、图片、图标、音频、视频、软件代码）的知识产权均归北京探力科技有限公司所有。未经我们书面许可，您不得以任何形式复制、修改、传播上述内容。',
    },
    {
      title: '七、免责声明',
      body: '1. 因不可抗力（如自然灾害、网络故障、政策变化等）导致的服务中断，我们不承担责任，但将尽快恢复服务。\n\n2. 因用户个人操作失误（如误操作开台、错误充值等）造成的损失，由用户自行承担。\n\n3. 台球桌设备的使用安全由各合作台球馆负责，我们对场馆内人身财产安全事故不承担连带责任。',
    },
    {
      title: '八、协议变更与终止',
      body: '1. 我们有权根据实际情况修改本协议，并以邮件或小程序公告方式通知您。\n\n2. 若您不接受修改后的协议，可停止使用本小程序。继续使用即视为接受修改后的协议。\n\n3. 如您严重违反本协议，我们有权单方面终止对您的服务。',
    },
    {
      title: '九、适用法律与争议解决',
      body: '本协议的签订、履行和解释均适用中华人民共和国法律。如因本协议产生争议，双方应友好协商；协商不成的，任何一方均可向北京探力科技有限公司所在地有管辖权的人民法院提起诉讼。',
    },
    {
      title: '十、联系我们',
      body: '如对本协议有任何疑问，请通过以下方式联系我们：\n\n公司名称：北京探力科技有限公司\n电子邮箱：guohl@nvision.com.cn',
    },
  ],
}

// ────────────────────────────────────────────
// 《隐私政策》正文
// ────────────────────────────────────────────
const privacyPolicy: AgreementDoc = {
  title: '隐私政策',
  updateDate: '更新日期：2026年05月12日    生效日期：2026年05月12日',
  sections: [
    {
      title: '一、引言',
      body: '北京探力科技有限公司（以下简称"我们"）深知个人信息对您的重要性，并承诺对您的个人信息进行保护。本政策适用于探力娱乐微信小程序。请您在使用本小程序前，仔细阅读本政策，确保充分了解我们如何收集、使用、存储和保护您的个人信息。\n\n若您不同意本政策，请停止使用本小程序。',
    },
    {
      title: '二、我们收集的个人信息',
      body: '在您使用本小程序各项功能时，我们会收集以下信息：\n\n【1】微信登录信息\n收集内容：微信登录凭证（code）、微信OpenID。\n收集目的：完成账号创建与登录，标识用户身份，确保服务安全。\n收集方式：您点击登录时，通过微信官方接口自动获取。\n\n【2】个人资料\n收集内容：昵称、头像、手机号码、微信号（均为可选，您主动填写或选择）。\n收集目的：展示个人主页、提升服务个性化体验、账号找回。\n收集方式：您在"编辑资料"页面主动填写或选择微信头像时提供。\n\n【3】位置信息（地理位置）\n收集内容：设备实时经纬度坐标。\n收集目的：在首页展示附近台球馆及距离；在地图找店页面定位您的当前位置，优化门店排序。\n收集方式：在您授权"位置"权限后，通过微信 getLocation 接口获取。您可随时在微信小程序"设置"中关闭此权限，关闭后将无法使用附近门店相关功能。\n\n【4】扫码信息\n收集内容：您通过扫码功能扫描的台球桌或业务二维码内容。\n收集目的：识别台球桌设备，完成开台、优惠券核销等业务流程。\n收集方式：您主动触发扫码操作时通过微信 scanCode 接口获取。\n\n【5】支付信息\n收集内容：微信支付订单号、支付状态、消费金额；账户余额及充值/消费记录。\n收集目的：完成充值、开台付费、押金收退，及提供消费记录查询。\n收集方式：您使用充值或付费功能时，通过微信支付官方接口产生。\n\n【6】设备与日志信息\n收集内容：操作日志（如开台时间、关台时间、消费时间）。\n收集目的：账单核算、异常排查、服务安全保障。\n收集方式：您使用服务时自动生成。',
    },
    {
      title: '三、信息的使用规则',
      body: '我们仅将收集的信息用于本政策所明示的目的，包括：\n\n1. 提供台球馆自助开台、扫码、充值等核心服务；\n2. 展示附近门店与个人账户信息；\n3. 核算账单、处理退款与争议；\n4. 发送与服务相关的通知（如订单状态变更）；\n5. 改进和优化产品功能。\n\n若我们需将您的信息用于超出上述范围的目的，将提前以适当方式告知并征得您的明示同意。',
    },
    {
      title: '四、信息的对外提供',
      body: '1. 我们不会将您的个人信息出售给任何第三方。\n\n2. 在以下情形下，我们可能向第三方共享您的信息：\n   • 与合作台球馆共享开台/消费相关信息（仅限完成服务所需的最小必要信息）；\n   • 与微信支付共享完成支付所必要的订单信息；\n   • 依法律法规要求或有权机关要求披露时。\n\n3. 向第三方共享或转让您的信息前，我们将征得您的单独同意（法律法规另有规定的情形除外）。\n\n4. 我们不会对外公开披露您的个人信息，如必须公开披露，将向您说明目的并征得同意。',
    },
    {
      title: '五、信息的存储',
      body: '1. 存储地点：您的个人信息存储于中华人民共和国境内的服务器（服务地址：https://www.tlbar.com）。\n\n2. 存储期限：我们仅在实现处理目的所必要的最短时间内保存您的信息。账户注销后，我们将在合理期限内删除或匿名化处理您的个人信息，但法律法规另有规定的除外。',
    },
    {
      title: '六、信息安全',
      body: '我们采用行业通行的安全技术措施保护您的个人信息，包括：HTTPS 加密传输、访问权限控制等。如发生个人信息安全事件，我们将按法律法规要求及时通知您并采取补救措施。',
    },
    {
      title: '七、您的权利',
      body: '依据相关法律法规，您对您的个人信息享有以下权利：\n\n1. 查阅权：您可在"我的"页面查看个人资料及消费记录；\n2. 更正权：您可在"编辑资料"页面修改昵称、头像、手机号等信息；\n3. 删除权：您可联系我们（guohl@nvision.com.cn）申请删除您的个人信息；\n4. 撤回同意权：您可随时通过微信小程序"…"→"设置"撤回位置授权；\n5. 账号注销权：您可联系我们申请注销账号，我们承诺在十五个工作日内完成核查和处理。',
    },
    {
      title: '八、未成年人保护',
      body: '若您未满14周岁，请在监护人陪同下阅读本政策，并在征得监护人明示同意后方可使用本小程序。我们将依法对未成年人个人信息给予特别保护。\n\n若您是14至18周岁的未成年人，建议在监护人指导下使用本小程序。',
    },
    {
      title: '九、第三方 SDK 说明',
      body: '本小程序使用了微信官方提供的微信登录、微信支付能力，相关个人信息处理规则请参阅微信隐私保护指引：https://weixin.qq.com/cgi-bin/readtemplate?t=weixin_agreement&s=privacy。\n\n本小程序不接入其他第三方数据统计或广告 SDK。',
    },
    {
      title: '十、本政策的更新',
      body: '我们可能根据法律法规变化或产品更新适时修订本政策。修订后将在小程序内以公告形式通知您。若您在本政策更新后继续使用本小程序，表示您已接受修订后的政策。',
    },
    {
      title: '十一、联系我们',
      body: '如您对本隐私政策有任何疑问、意见或建议，或需行使您的相关权利，请通过以下方式联系我们：\n\n公司名称：北京探力科技有限公司\n电子邮箱：guohl@nvision.com.cn\n\n我们将在收到您的请求后十五个工作日内给予回复。',
    },
  ],
}

// ────────────────────────────────────────────
// 台球充值服务协议
// ────────────────────────────────────────────
const rechargeAgreement: AgreementDoc = {
  title: '台球充值服务协议',
  updateDate: '更新日期：2026年05月12日    生效日期：2026年05月12日',
  sections: [
    {
      title: '一、服务说明',
      body: '本协议适用于您在探力娱乐小程序内进行的账户余额充值服务。您充值即表示同意本协议。',
    },
    {
      title: '二、充值规则',
      body: '1. 充值后余额实时到账，可用于台球桌开台、存杆柜租赁等消费场景。\n2. 充值余额不可提现，不可转让。\n3. 充值金额以实际支付金额为准，活动赠送金额以活动规则为准。',
    },
    {
      title: '三、退款说明',
      body: '1. 因系统故障导致充值未到账，我们将在核实后全额退款。\n2. 因个人原因申请退款，需联系客服（guohl@nvision.com.cn）进行核实，扣除已消费部分后退还余额。\n3. 账号注销时，剩余余额视为自愿放弃，不予退还。',
    },
    {
      title: '四、支付安全',
      body: '充值通过微信支付官方通道完成，我们不存储您的银行卡或微信支付密码信息。',
    },
    {
      title: '五、联系我们',
      body: '如有充值相关问题，请联系：guohl@nvision.com.cn',
    },
  ],
}

// ────────────────────────────────────────────
// 协议映射表
// ────────────────────────────────────────────
const docMap: Record<string, AgreementDoc> = {
  user: userAgreement,
  privacy: privacyPolicy,
  recharge: rechargeAgreement,
}

const AgreementDetail = () => {
  const [doc, setDoc] = useState<AgreementDoc | null>(null)

  useLoad((options) => {
    const type = options.type || 'user'
    const agreement = docMap[type] || userAgreement
    setDoc(agreement)
    Taro.setNavigationBarTitle({ title: agreement.title })
  })

  if (!doc) return null

  return (
    <ScrollView className="agreement-detail-page" scrollY>
      <Text className="doc-title">{doc.title}</Text>
      <Text className="doc-update">{doc.updateDate}</Text>
      {doc.sections.map((section, idx) => (
        <View key={idx} className="section">
          <Text className="section-title">{section.title}</Text>
          <Text className="section-body">{section.body}</Text>
        </View>
      ))}
    </ScrollView>
  )
}

export default AgreementDetail
