{
  "moduleMeta": {
    "moduleName": "西行档案馆云端存档系统",
    "theme": "赛博国风档案存档",
    "description": "为每位行者提供安全可靠的云端档案存档与管理服务。"
  },
  "qrLogin": {
    "featureName": "唯一ID二维码扫码登录",
    "description": "每个账号生成唯一ID二维码，支持扫码快速登录与跨设备同步。",
    "qrCodeConfig": {
      "qrType": "动态二维码",
      "refreshIntervalSeconds": 60,
      "description": "登录二维码每60秒自动刷新，防止截图盗用。",
      "contentFormat": "XIYXING://login?uid={uid}&token={token}&ts={timestamp}"
    },
    "loginFlow": [
      "其他设备打开西行云途小程序",
      "进入设置→扫码登录",
      "扫描当前设备上的唯一ID二维码",
      "确认登录授权",
      "云端同步档案至新设备"
    ],
    "securityRules": {
      "tokenExpirySeconds": 300,
      "description": "扫码登录令牌5分钟内有效，超时需重新扫码。",
      "deviceBinding": true,
      "deviceBindingDescription": "首次扫码登录的新设备需短信二次验证。",
      "maxDevices": 3,
      "maxDevicesDescription": "同一账号最多绑定3台设备。"
    },
    "uniqueIdFormat": {
      "prefix": "XYT",
      "length": 12,
      "description": "唯一ID格式为XYT+9位数字字母组合，如XYT8A3B9C2D1。"
    }
  },
  "threeLayerSave": {
    "featureName": "三层存档机制",
    "description": "本地缓存、云端备份、加密存档三层保障数据安全。",
    "layers": [
      {
        "layerId": "layer_local",
        "layerName": "本地缓存层",
        "description": "存储在设备本地的最新档案数据，用于快速读取与离线操作。",
        "storageType": "本地Storage",
        "syncFrequency": "实时写入",
        "capacity": "10MB",
        "conflictResolution": "以本地缓存为优先，联网时同步至云端。",
        "dataScope": ["角色等级", "当前步数", "灵宠状态", "商城购物车", "聊天缓存"]
      },
      {
        "layerId": "layer_cloud",
        "layerName": "云端备份层",
        "description": "存储在云服务器的完整档案备份，用于跨设备同步与恢复。",
        "storageType": "云端数据库",
        "syncFrequency": "每5分钟自动同步+手动触发",
        "capacity": "无限",
        "conflictResolution": "云端与本地冲突时，以最后修改时间较新者为准并提示用户。",
        "dataScope": ["全部本地数据", "积分账户", "闯关进度", "PK记录", "成就"]
      },
      {
        "layerId": "layer_encrypted",
        "layerName": "加密存档层",
        "description": "对关键档案数据进行加密存储，用于防篡改与安全备份。",
        "storageType": "加密文件",
        "syncFrequency": "每次重大变更后加密存档",
        "capacity": "50MB",
        "encryptionAlgorithm": "AES-256",
        "conflictResolution": "加密层为只读备份，不参与冲突解决。",
        "dataScope": ["积分账户", "充值记录", "兑换码记录", "成就", "PK段位"]
      }
    ],
    "syncFlow": [
      "本地缓存层实时写入变更",
      "联网时自动推送至云端备份层",
      "重大变更（积分变动/闯关通关）触发加密存档",
      "检测到冲突时弹出冲突解决面板"
    ]
  },
  "timeline": {
    "featureName": "档案时光轴",
    "description": "以时间轴形式展示行者西行历程中的重要节点。",
    "timelineConfig": {
      "displayMode": "纵向卷轴",
      "theme": "赛博国风长卷",
      "autoGenerate": true,
      "description": "系统自动记录关键事件并生成时光轴节点。"
    },
    "eventTypes": [
      {
        "typeId": "event_start",
        "typeName": "启程",
        "icon": "flag_start",
        "description": "首次创建档案，开启西行之旅。"
      },
      {
        "typeId": "event_station",
        "typeName": "站点打卡",
        "icon": "flag_station",
        "description": "完成徒步站点打卡。"
      },
      {
        "typeId": "event_stage",
        "typeName": "闯关通关",
        "icon": "sword_stage",
        "description": "通过战斗闯关关卡。"
      },
      {
        "typeId": "event_pet",
        "typeName": "灵宠获得",
        "icon": "pet_get",
        "description": "获得新灵宠或解锁新皮肤。"
      },
      {
        "typeId": "event_pk",
        "typeName": "PK成就",
        "icon": "trophy_pk",
        "description": "PK连胜或段位晋升。"
      },
      {
        "typeId": "event_milestone",
        "typeName": "里程碑",
        "icon": "star_milestone",
        "description": "累计步数/积分达成里程碑。"
      }
    ],
    "timelineEvents": [
      {
        "eventId": "tl_01",
        "date": "2026-07-07",
        "eventType": "event_start",
        "title": "西行启程",
        "description": "玄清行者于云唐城开启西行云途之旅。",
        "location": "云唐城"
      },
      {
        "eventId": "tl_02",
        "date": "2026-07-08",
        "eventType": "event_station",
        "title": "分界岭破封",
        "description": "累计徒步3000步，完成分界岭打卡。",
        "location": "分界岭"
      },
      {
        "eventId": "tl_03",
        "date": "2026-07-10",
        "eventType": "event_pet",
        "title": "结缘小石灵",
        "description": "获得第一只灵宠·小石灵，开启灵宠伴读。",
        "location": "封石岭"
      }
    ],
    "exportTimeline": {
      "enabled": true,
      "description": "可将时光轴导出为长图分享。"
    }
  },
  "exportPoster": {
    "featureName": "导出海报",
    "description": "将行者档案与西行历程导出为精美海报。",
    "posterConfig": {
      "formats": ["PNG", "JPG"],
      "resolution": "1080×1920",
      "templates": [
        {
          "templateId": "poster_01",
          "templateName": "赛博国风·云途行记",
          "description": "深色赛博国风背景，展示行者头像、累计步数、已通关站点、灵宠合影。",
          "elements": ["行者昵称", "行者等级", "累计步数", "仙途勋值", "梵言书卷值", "已打卡站点", "灵宠合影", "西行称号"]
        },
        {
          "templateId": "poster_02",
          "templateName": "赛博国风·战斗荣耀",
          "description": "战斗主题海报，展示PK段位、闯关进度、战斗数据。",
          "elements": ["行者昵称", "PK段位", "闯关进度", "最高连胜", "灵宠参战buff", "战斗称号"]
        },
        {
          "templateId": "poster_03",
          "templateName": "赛博国风·年度行纪",
          "description": "年度总结海报，展示全年徒步与战斗数据汇总。",
          "elements": ["年度累计步数", "年度积分", "通关数", "灵宠收集", "时光轴精选"]
        }
      ],
      "customElements": {
        "description": "用户可自定义海报上显示的内容项。",
        "selectable": true
      },
      "watermark": {
        "enabled": true,
        "text": "西行云途",
        "position": "bottomRight",
        "opacity": 0.3
      },
      "shareSupport": ["微信好友", "朋友圈", "保存至相册"]
    }
  },
  "encryptedFile": {
    "featureName": "加密存档文件",
    "description": "将关键档案数据加密为文件存储，保障数据安全与完整性。",
    "fileConfig": {
      "fileFormat": ".xya",
      "fileNameRule": "XYT_{uid}_{date}.xya",
      "description": "加密存档文件后缀为.xya，含行者ID与日期。",
      "encryptionAlgorithm": "AES-256",
      "keyManagement": "基于账号密码派生密钥，服务端不存储明文密钥。",
      "integrityCheck": "SHA-256哈希校验",
      "description_integrity": "每次写入加密文件后生成哈希值，读取时校验完整性。"
    },
    "fileContents": [
      "行者基础信息",
      "积分账户余额与变动记录",
      "充值与兑换码记录",
      "闯关与PK历史",
      "成就与段位",
      "灵宠与皮肤收集"
    ],
    "exportEncryptedFile": {
      "enabled": true,
      "description": "用户可手动导出加密存档文件至本地，用于离线备份。",
      "exportPath": "用户指定目录"
    },
    "importEncryptedFile": {
      "enabled": true,
      "description": "支持导入加密存档文件恢复数据，需验证账号密钥。",
      "importTip": "导入加密存档将覆盖当前数据，请谨慎操作。"
    }
  },
  "backupRollback": {
    "featureName": "7天备份回滚",
    "description": "云端每日自动备份档案，支持7天内任意一天回滚恢复。",
    "backupConfig": {
      "backupFrequency": "每日自动备份",
      "backupTime": "每日凌晨3点",
      "retentionDays": 7,
      "description": "保留最近7天的每日备份快照，超出7天自动清理最早备份。",
      "maxBackupCount": 7
    },
    "rollbackFlow": [
      "进入档案馆→备份回滚",
      "查看7天备份列表（日期+快照摘要）",
      "选择目标日期备份",
      "预览备份内容差异",
      "确认回滚操作",
      "云端恢复至选中日期状态"
    ],
    "rollbackRules": {
      "rollbackCooldownHours": 24,
      "description": "回滚操作后24小时内不可再次回滚，防止频繁回滚。",
      "rollbackConfirmation": "需短信验证码二次确认",
      "dataWarning": "回滚将覆盖当前数据，回滚后无法撤销，请谨慎操作。"
    },
    "backupSnapshot": {
      "snapshotContents": "全量档案快照，含积分、进度、灵宠、成就等全部数据。",
      "snapshotSize": "约2-5MB/份",
      "diffPreview": "支持对比当前数据与备份快照的差异项预览。"
    },
    "manualBackup": {
      "enabled": true,
      "description": "用户可随时手动创建备份快照，不计入7天自动备份配额。",
      "maxManualBackup": 3,
      "description_max": "最多保留3份手动备份。"
    }
  }
}
