一页掌握 · K4 第4章 移动多媒体技术基础

全量 13 题 · 核心 4 组 + 超纲附录 0 题 · 四段式解析 · 难度 ★12/★★1/★★★0 · 进度本地保存
13
K4 总题数
4
核心分组
0
超纲附录
1
教材章节
4
考点小节
13
历年真题
0
自主练习
0
案例分析
12
★ 基础识记
1
★★ 进阶推理
0
★★★ 冲刺拔高
0
🔥 高频考点
← 返回总览 📝 自主刷题
筛选
分类
难度
叠加
模式
0 / 13

① 考点骨架

4.1 移动多媒体技术基础
  • 4.1.1 移动互联网的定义:利用互联网的技术、平台、应用及商业模式,与移动通信技术相结合用于实践活动的统称。
  • 4.1.2 移动互联网的特征:便携性、移动性、无线性、应用丰富及免费性。
4.2 无线移动通信技术
  • 4.2.1 无线移动通信技术的定义:基于用户身份认证、环境感知、终端智能、无线泛在的互联网应用业务集成,以用户需求为中心将互联网应用通过变换在各终端定制化/个性化展现。
  • 关键技术:SOA、WebX.0、widget/mashup、p2p/p4p、SaaS/云计算等架构;MIP、SIP、RTSP 等协议及业务运营平台。
  • 4.2.2 中短距离无线通信技术
  • 红外线接入:红外接发器距离不超 1.5 m,手机距离不超 25 cm。
  • 蓝牙:2.4 GHz ISM 频段,数据速率 1 Mb/s,时分双工实现全双工。
  • 无线局域网与 IEEE 802.11(射频 RF 技术)。
  • Wi-Fi 联盟:采用 802.11b 协议,覆盖范围 90 m。
  • IEEE 802.11 协议族:5 GHz — 802.11a(54 Mbit/s)、802.11ac(1 Gbit/s)、802.11h;2.4 GHz — 802.11(2 Mbit/s)、802.11b(11 Mbit/s)、802.11g(54 Mbit/s);802.11e 支持 QoS;802.11p 车用电子;802.11x 含 a/b/g。
  • 4.2.3 第一代移动通信技术(1G):模拟蜂窝移动通信网(AMPS);频分复用、模拟调制,每 30 kHz/25 kHz 一个模拟用户信道。标准:AMPS(美)、NMT(北欧)、TACS(英)。
  • 4.2.4 第二代移动通信技术(2G)
  • 主要制式:GSM、D-AMPS、PDC、CDMA。我国用 GSM(欧洲)与窄带 CDMA(北美)。
  • GSM:全球移动通信系统,速率 9.6 kb/s;频段 GSM900(900 MHz)、GSM1800(1800 MHz)、GSM1900(1900 MHz);4 种蜂窝单元:巨蜂窝(楼顶)、微蜂窝(低于建筑高度)、微微蜂窝(室内)、伞蜂窝(盲区)。
  • GPRS:通用分组无线服务,基于 GSM 的分组交换,理论最高 171.2 kb/s,俗称"2.5G"。
  • EDGE:增强型数据速率 GSM 演进,GSM→3G 过渡,多时隙操作 + 8PSK 调制,俗称"2.75G",最高 384 kbit/s。
  • CDMA:码分多址,无线扩频,联通推出的属 2.5 代(现中国电信),支持 64 kb/s 数据;CDMA2000 为向 3G 过渡标准。
  • WAP:无线通信协议,WAP1.0 基于 WML、WAP2.0 基于 XHTML 支持 CSS;WAP2.0 取消 WSP、WDP,代以 HTTP 和 TCP/IP。
  • 4.2.5 第三代移动通信技术(3G)
  • 三运营商牌照:中国移动 TD-SCDMA(自主产权)、中国电信 CDMA2000、中国联通 W-CDMA。
  • W-CDMA:GSM(2G)-GPRS-EDGE-WCDMA(3G) 演进;基于 GSM 网;DS-CDMA + FDD;中国频段 1940–1955 MHz(上行)、2130–2145 MHz(下行)。
  • CDMA2000:CDMAIS95(2G)-CDMA20001x-CDMA20003x(3G);1x 为 2.5 代。
  • TD-SCDMA:中国独定 3G 标准,辐射低(绿色 3G),不经 2.5 代中间环节直接过渡。
  • WiMAX:全球微波互联接入,即 802.16 无线城域网;最远 50 km;采用 OFDM/OFDMA、AAS、MIMO。
  • 4.2.6 第四代移动通信技术(4G):集 3G 与 WLAN,标准 UMB、LTE、WiMAXII。频谱:移动 1880–1900/2320–2370/2575–2635 MHz;联通 2300–2320/2555–2575 MHz;电信 2370–2390/2635–2655 MHz。
  • 4.2.7 第五代移动通信技术(5G):4G 之后延伸,预言 2020 年达 20 Gb/s 商用 5G 网络。
4.3 移动多媒体终端设备及系统平台
  • 4.3.1 移动多媒体终端设备:智能手机(无线联网、PDA 功能、开放 OS、人性化、功能强、速度快)、平板计算机、可穿戴式智能设备。
  • 4.3.2 移动操作系统:iOS;Android(4 大组件:Activity 活动、Service 服务、Broadcast Receiver 广播接收器、Content Provider 内容提供商);Windows Phone。
4.4 移动多媒体技术应用
  • 社交沟通(移动社交多维度发展)、电子商务(强势崛起的颠覆者)、生活服务("互联网+"重构生活)。

② 核心概念 / 公式 / 数据速记

③ 易混边界提示

易混边界:与 K1(多媒体技术基础,偏概念)区分——K4 特指"移动/无线"场景;与 K5(多媒体信息传输)区分——K4 聚焦移动通信制式与移动终端,不是一般网络传输协议;与 K6(版权/安全)无关。

逐题演练(核心分组 4 组 + 附录 0 题)

1K4·网络协议与体系9 题▾
#1 ★ 历年真题 2022年下半年
#历年真题#多媒体核心
1987年,我国第一个( )模拟蜂窝移动电话系统建成并投入使用。
ACDMA
BGSM
CPHS
DTACS
答案:D
📍 考点定位
考查移动通信发展史与制式演进,出自第4章无线移动通信技术。
💡 关键概念
TACS(全接入通信系统)是英国开发的第二代模拟蜂窝移动通信标准,采用FDMA技术,是我国早期引进并广泛部署的1G模拟网制式。
🛠 解题技巧
【时间轴+代际对应法】抓题干“1987年”“第一个”“模拟蜂窝”。1G时代主流为AMPS(美)和TACS(英/中);2G起进入数字时代(GSM/CDMA)。直接按“1987+中国首套+模拟”锁定TACS,排除数字制式(A/B)及小灵通(C)。
⚠ 易混总结
易混淆点:1G模拟制式(TACS/AMPS) vs 2G数字制式(GSM/CDMA/PDC);TACS与PHS(小灵通,固话延伸非蜂窝移动网)的本质区别;FDMA(频分多址,1G)与TDMA/CDMA(2G/3G)的多址技术演进。
<!-- polish:v1 -->
#2 ★ 历年真题 2020年下半年
#历年真题#多媒体核心
Wi-Fi是一种短距离无线技术,使用的是( ) 附近的频段。
A1.8GHz
B2.3GHz
C2.4GHz
D2.6GHz
答案:C
📍 考点定位
考查无线局域网(Wi-Fi)工作频段,出自第4章移动通信与无线网络基础。
💡 关键概念
Wi-Fi依托ISM工业科学医疗免授权频段运行,2.4GHz因其波长较长、绕射与穿透能力较强,成为最早普及且兼容性最广的Wi-Fi工作频段。
🛠 解题技巧
【频段归属归类法】将选项频段按通信标准归类:1.8G/2.3G/2.6G均为蜂窝移动通信(2G/4G/5G)专用频段;仅2.4G属于全球统一的ISM免授权频段,专供Wi-Fi/蓝牙/Zigbee等短距无线技术使用,直接选C。
⚠ 易混总结
易混淆点:ISM免授权频段(2.4GHz/5GHz/6GHz) vs 运营商授权蜂窝频段(1.8G/2.1G/2.6G/3.5G);Wi-Fi 2.4G与5G频段在抗干扰性、传输速率、覆盖范围上的性能权衡。
<!-- polish:v1 -->
#3 ★ 历年真题 2020年下半年
#历年真题#多媒体核心
( )不属于移动操作系统。
AiOS
BAndroid
CWindows 7
DWindows Phone
答案:C
📍 考点定位
考查移动终端操作系统分类,出自第4章移动应用开发环境。
💡 关键概念
移动操作系统专为资源受限的移动设备设计,具备触控交互、低功耗管理、移动网络适配等特性,主流包括iOS、Android、Windows Phone等。
🛠 解题技巧
【平台属性对比法】快速判断OS适用终端:iOS/Android/WinPhone均针对手机/平板等移动设备优化;Windows 7为传统PC桌面操作系统,架构庞大且不支持触屏原生交互,直接排除C。
⚠ 易混总结
易混淆点:Windows Phone(已停更但仍属移动OS) vs Windows 7/10/11(桌面OS);移动端OS(iOS/Android)与嵌入式OS(QNX/VxWorks)的应用场景差异;注意Windows Mobile/CE系列才是微软早期的移动系统。
<!-- polish:v1 -->
#4 ★ 历年真题 2020年下半年
#历年真题#多媒体核心
在无线通信中,电磁波( )。
A频率越低,传输距离越短,绕射能力越弱
B频率越高,传输距离越短,绕射能力越弱
C频率越低,传输距离越长,绕射能力越强
D频率越高,传输距离越长,绕射能力越强
答案:B
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“移动与无线通信”中电磁波传播特性与频率的物理关系。
💡 关键概念
💡关键概念:电磁波的传播规律由频率决定。频率与波长成反比,高频电磁波波长短,能量衰减快且易被建筑物、地形等障碍物阻挡吸收,故传输距离短、绕射(绕过障碍物边缘继续传播)能力弱;低频电磁波波长长,绕射能力强,适合广域覆盖。
🛠 解题技巧
🛠解题技巧:【口诀匹配法】牢记“高短弱,低长短”。遇到电磁波传播题,直接建立逻辑链:频率↑→波长↓→衰减↑/绕射↓→距离↓。结合选项关键词,找出“频率高低”与“距离/绕射强弱”呈反向对应的选项即可秒杀,无需复杂计算。
⚠ 易混总结
⚠易混总结:易混淆“绕射能力”与“穿透能力”。绕射指波绕过障碍物边缘(低频强),穿透指直接穿过介质(高频在特定材料上可能较强但整体衰减大)。本题核心考“绕射”,切勿等同。另注意与K5网络传输协议区分,本题纯考物理层电磁波基础规律。
<!-- polish:v1 -->
#5 ★ 历年真题 2024年下半年
#历年真题#多媒体核心
在HMD中,实现用户头部动作映射功能的是( )。
A惯性传感器
B追踪传感器
C虚拟传感器
D定位传感器
答案:B
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“虚拟现实与增强现实技术”中HMD硬件组成与交互原理。
💡 关键概念
💡关键概念:HMD(头戴式显示器)实现空间交互依赖传感器融合。其中“追踪传感器”专指用于实时捕捉用户头部在三维空间中的位置(X/Y/Z轴位移)和姿态(俯仰/偏航/翻滚角)的模块,负责将物理动作精准映射到虚拟场景中,是VR/AR六自由度(6DoF)交互的核心输入设备。
🛠 解题技巧
🛠解题技巧:【功能排他法】题干抓关键词“头部动作映射”。逐一比对:惯性传感器(IMU)仅测加速度/角速度,需算法解算且易漂移;定位传感器多指GPS,精度仅米级,不适用于头部微动;虚拟传感器为软件模拟概念。直接锁定具备“实时空间位姿捕捉”功能的“追踪传感器”。
⚠ 易混总结
⚠易混总结:极易混淆“追踪传感器”与“惯性传感器(IMU)”。IMU通过陀螺仪和加速度计测量运动状态,存在累积误差,需配合光学追踪或磁力计校准;而题目强调“直接实现动作映射”,在HMD语境下通常指集成的高精度追踪模块。答题时认准“空间位姿实时映射”即选追踪类。
<!-- polish:v1 -->
#6 ★★ 历年真题 2024年下半年
#历年真题#多媒体核心
移动互联网包含四个部分:移动通信网络、移动互联网应用、移动互联网相关技术和( )。
A移动互联网终端设备
B移动互联网协议
C移动互联网传输设备
D移动互联网业务
答案:A
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“移动互联网体系架构”的基础组成模型。
💡 关键概念
💡关键概念:移动互联网是完整的生态系统,由四大支柱构成:底层支撑是“移动通信网络”(如4G/5G),载体是“移动终端设备”(手机/平板等),上层展现是“移动应用”,中间桥梁是“相关技术”(云计算/大数据/安全加密等)。缺任何一环均无法形成业务闭环。
🛠 解题技巧
🛠解题技巧:【架构补全法】回忆“端-管-云-用”四层模型。“端”=终端设备,“管”=通信网络,“云/技”=相关技术,“用”=移动应用。题干已给出后三者,空缺的必为“端”即终端设备。采用宏观架构视角直接补全,无需纠结干扰项的具体硬件或业务形态。
⚠ 易混总结
⚠易混总结:易将“传输设备”(路由器/基站等)或“业务”(电商/支付等)误认为组成部分。需明确:教材定义的“四部分”是宏观架构分类,而非具体硬件清单或商业形态。“协议”属于技术范畴,已涵盖在“相关技术”中。牢记“端、管、技、用”四字口诀防混淆。
<!-- polish:v1 -->
#7 ★ 历年真题 2022年下半年
#历年真题#多媒体核心
基于移动端的信息采集方式,为大数据整理和分析奠定坚实的基础,其优势不包括( )。
A无需打印纸质表格,输入数据后立即进行校验,随时随地上传信息
B灵活多样的采集方式,表格页面简洁,操作简单,可清除冗余数据
C可实现批量采集和统一处理,可建立表单之间的关联关系
D可在信息采集的同时进行数据分析、图表展示和辅助决策
答案:D
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“移动端信息采集与数据处理”的应用特点与边界。
💡 关键概念
💡关键概念:移动端信息采集的核心优势在于“前端轻量化”与“流程敏捷化”。它侧重于数据的快速录入、即时校验、去重与云端同步,解决的是“数据如何高效获取”的问题。复杂的数据分析、图表渲染与决策支持属于后端计算密集型任务,受限于移动端算力与功耗,通常不在采集端完成。
🛠 解题技巧
🛠解题技巧:【边界界定法】题干问“优势不包括”。抓住移动端设备的物理限制(算力有限、电量受限、屏幕小)。A/B/C均描述采集流程优化(免打印、简操作、批量关联),符合前端特性;D描述“同时进行分析决策”,属于重型后端处理,违背移动端“轻采集、重传输”的设计原则,直接排除。
⚠ 易混总结
⚠易混总结:易混淆“数据采集”与“数据分析”的部署边界。移动端侧重“感”与“传”(感知环境、上传数据),服务器/云平台侧重“算”与“策”(清洗建模、可视化决策)。做题时若选项出现“实时复杂运算/深度挖掘/大规模图表生成”,基本可判定为非移动端原生优势。
<!-- polish:v1 -->
#8 ★ 历年真题 2020年下半年
#历年真题#多媒体核心
蓝牙通信是一种无线通信技术,其特点是( )。
A大功率、长距离
B低功率、短距离
C大功率、短距离
D低功率、长距离
答案:B
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“短距离无线通信技术”中蓝牙的技术特征与应用定位。
💡 关键概念
💡关键概念:蓝牙(Bluetooth)专为个人区域网(PAN)设计,核心定位是替代有线连接。其射频功率极低(通常Class 2为1mW~2.5mW),工作频段为2.4GHz ISM免授权频段,天然决定了其“低功耗、短距离(经典版约10m)”的物理属性,兼顾了便携性与抗干扰性。
🛠 解题技巧
🛠解题技巧:【场景反推法】根据应用场景反推技术参数。蓝牙常用于耳机、鼠标、手环等电池供电设备,若为“大功率”则续航极差,排除A/C;若为“长距离”则需蜂窝网络(如4G/5G)或Wi-Fi,蓝牙定位为“个人局域网”,故必为“短距离”。锁定“低功率+短距离”组合。
⚠ 易混总结
⚠易混总结:易与Wi-Fi、ZigBee、NFC混淆。Wi-Fi主打“高速率、中长距离、高功耗”;ZigBee主打“超低功耗、自组网、中短距离”;NFC主打“近场(<10cm)、极高安全性、无源供电”。本题紧扣蓝牙“个人设备互联”的定位,死记“低功短距”即可秒杀。注意新版BLE距离有所提升,但考试仍以经典特征为准。
<!-- polish:v1 -->
#9 ★ 历年真题 2019年下半年
#历年真题#多媒体核心
蓝牙技术支持点对点及点对多点通信,其基本速率为( )
A1Mb/s
B2.4Mb/s
C10Mb/s
D25Mb/s
答案:A
📍 考点定位
📍考点定位:考查《多媒体应用设计师》第4章“短距离无线通信技术”中蓝牙的核心参数指标。
💡 关键概念
💡关键概念:蓝牙技术演进包含多个版本。经典蓝牙(Bluetooth Classic)第一代规范定义的基本速率(BR, Basic Rate)为1Mb/s,增强速率(EDR)提升至3Mb/s;后续蓝牙4.0引入BLE速率降至125kbps~1Mbps;蓝牙5.0提升至2Mbps。考题若未特指版本,默认考查经典蓝牙的基础标准参数。
🛠 解题技巧
🛠解题技巧:【版本锚定法】面对通信速率题,先判断是否指定版本。题干仅提“蓝牙技术”及“基本速率”,属经典考点。建立参数锚点:经典蓝牙BR=1Mb/s,EDR=3Mb/s,WiFi 802.11g/n常见为54M/150M起。直接匹配“1Mb/s”这一标志性基础数值,避开高阶版本干扰。
⚠ 易混总结
⚠易混总结:极易混淆各代蓝牙速率及与Wi-Fi速率。经典蓝牙BR(1M) vs EDR(3M) vs BLE(0.125M~1M) vs BT5.0(2M)。考试中若出现“基本速率/传统速率”字眼,必选1Mb/s;若问“增强速率”选3Mb/s。切勿与Wi-Fi的54M/300M等高速率混淆,蓝牙定位决定其速率上限较低。
<!-- polish:v1 -->
2无线移动通信技术2 题▾
#1 ★ 历年真题 2024年下半年
#历年真题#多媒体核心
Wi-Fi是一种短距离无线技术,使用的是(25)附近的频段。
A2.3GHz
B1.8GHz
C2.6GHz
D2.4GHz
答案:D
📍 考点定位
考查无线局域网(Wi-Fi)工作频段,出自第4章移动通信与无线网络基础。
💡 关键概念
Wi-Fi作为短距离无线通信技术,主要依赖ISM免授权频段进行数据传输,其中2.4GHz和5GHz是最核心的两个工作频段。
🛠 解题技巧
【关键词匹配法】直接抓取题干“Wi-Fi”与“附近频段”,结合常识记忆核心频段为2.4GHz/5GHz,排除非标准通信频段(如1.8G属早期GSM,2.3/2.6G多用于LTE/5G),直接锁定D。
⚠ 易混总结
易混淆点:2.4GHz vs 5GHz Wi-Fi差异(2.4G穿墙强但干扰大、速率低;5G速率高但穿墙弱);以及2.4GHz ISM频段与其他蜂窝网络频段(如1.8G GSM、2.6G LTE)的用途区分。
<!-- polish:v1 -->
#2 ★ 历年真题 2020年下半年
#历年真题#多媒体核心
在饭店、保安、公司内部广泛使用的手机单向交流方式,使用户可以与另一个或另一组用户通话。这种方式采用的是( )技术。
AVoIP
BGPRS
CPush to Talk
DLBS
答案:C
📍 考点定位
考查无线移动通信技术中的即时语音通信方式,属教材第4章“移动与无线网络技术”。
💡 关键概念
PTT(Push to Talk)是一种半双工对讲式通信技术,用户只需按住按钮即可发起通话,松开发送结束,无需拨号等待,专为快速、群组即时语音交互设计。VoIP依赖互联网数据通道且多为全双工,GPRS侧重分组数据传输,LBS聚焦定位服务,均不符合“按键即通、单向调度”的特征。
🛠 解题技巧
抓题干关键词“单向交流”“保安/公司内部调度”,直接匹配PTT的半双工对讲特性;采用排除法:VoIP需网络数据承载且强调数字化语音包,GPRS是2G/3G数据业务非语音直连,LBS侧重地理定位非通话,锁定C。
⚠ 易混总结
易混淆点:PTT(按键对讲,半双工,专网/集群通信,低延迟) vs VoIP(基于IP网络的语音通话,全双工,公网/互联网,依赖带宽) vs CTI(计算机电话集成)。注意PTT强调“一键通、物理按键触发”,而VoIP强调“媒体流封装传输”。
<!-- polish:v1 -->
3推断-K41 题▾
#1 ★ 历年真题 2022年下半年
#历年真题#多媒体核心
在饭店、保安、公司内部广泛使用的手机单向交流方式,使用户可以与另一个或另一组用户通话。这种方式采用的是(28)技术。
AVoIP
BGPRS
CPush to Talk
DLBS
答案:C
📍 考点定位
考查移动通信中的即时语音业务技术,出自第4章移动应用与服务。
💡 关键概念
PTT(一键通)是一种基于IP网络的半双工语音通信技术,用户按下通话键即可实现群组或单呼对讲,底层通常依托VoIP在移动数据网络上传输语音包。
🛠 解题技巧
【场景特征排除法】题干强调“单向交流”“饭店/保安/企业内部”“另一组用户”,符合对讲机特性。A(VoIP是底层协议非业务)、B(GPRS是2G数据承载)、D(LBS是定位服务),仅C(PTT)精准匹配“按键即讲、群组对讲”的业务形态。
⚠ 易混总结
易混淆点:PTT(业务层,半双工对讲) vs VoIP(传输层,全双工网络电话) vs LBS(位置服务);注意PTT虽用VoIP传语音,但本质是“一键通”业务而非单纯的网络电话。
<!-- polish:v1 -->
4移动多媒体技术基础1 题▾
#1 ★ 历年真题 2022年下半年
#历年真题#多媒体核心#光盘
一般定义人耳听觉范围的最高频率为(/);CD音乐使用的数字化音频信号为了包含人耳的听觉范围,使用的采样频率为( )。
A16kHz
B44.1kHz
C48kHz
D96kHz
答案:B
📍 考点定位
考查音频数字化基础参数,出自第1章多媒体技术基础(数字信号处理)。
💡 关键概念
人耳可听声频范围通常为20Hz~20kHz。根据奈奎斯特采样定理,采样频率必须大于信号最高频率的2倍才能无失真还原,因此CD音频需采用略高于40kHz的标准频率。
🛠 解题技巧
【定理推导+常识记忆】先记人耳上限20kHz → 套用奈奎斯特定理(采样率>2×20k=40kHz)→ 结合行业标准(CD采用44.1kHz,DVD/专业音频常用48kHz)→ 直接选B。若遇计算题,牢记公式:fs ≥ 2fmax。
⚠ 易混总结
易混淆点:CD采样率(44.1kHz) vs DVD/专业录音采样率(48kHz) vs 电话语音采样率(8kHz);奈奎斯特采样定理中“≥2倍”与“实际标准值”的区别;人耳听觉范围(20Hz-20kHz)与超声波/次声波界限。
<!-- polish:v1 -->
开发者:李磊 联系电话:15920082829
前 功能:v2数据模型 / v1自动迁移 / 导出导入快照 / 错因标签 / 学习时长 / 今日待复习 不修改v1数据,v2是叠加层。IIFE自包含。 */ (function(){ 'use strict'; // 1. 检测当前K号 var m = (document.title.match(/K\s*(\d+)/) || [])[1]; if(!m){ return; } var KN = m; var V1_KEY = 'k'+KN+'_master_v1'; var V1W_KEY = V1_KEY+'_w'; var V2_KEY = 'k'+KN+'_v2'; var DUR_PREFIX = 'study_duration_'; var todayStr = (function(){ var d=new Date(); return d.getFullYear()+'-'+String(d.getMonth()+1).padStart(2,'0')+'-'+String(d.getDate()).padStart(2,'0'); })(); // 2. 安全存储(与页面已有降级逻辑一致) var _mem = {}; var _ls = (function(){ try{ localStorage.setItem('__t','1'); localStorage.removeItem('__t'); return localStorage; }catch(e){ return null; } })(); function rd(k){ try{ return _ls? _ls.getItem(k): (_mem[k]!=null?_mem[k]:null); }catch(e){ return _mem[k]!=null?_mem[k]:null; } } function wr(k,v){ try{ if(_ls) _ls.setItem(k,v); else _mem[k]=v; }catch(e){ _mem[k]=v; } } // 3. v2读写 function loadV2(){ try{ var o = JSON.parse(rd(V2_KEY)||'{}'); return (o && typeof o==='object')? o : {}; } catch(e){ return {}; } } function saveV2(o){ wr(V2_KEY, JSON.stringify(o)); } // 4. v1->v2 自动迁移(只迁一次,不动v1) function migrateV1ToV2(){ if(rd(V2_KEY)) return; // 已有v2不覆盖 var v2 = {}; try{ var mastered = JSON.parse(rd(V1_KEY)||'[]'); mastered.forEach(function(stid){ v2[stid] = { status:'mastered', reviewCount:1, failCount:0, lastSeen:Date.now(), nextReview: Date.now()+3*86400*1000, easeFactor:2.5, wrongReasons:[], note:'' }; }); var wrong = JSON.parse(rd(V1W_KEY)||'[]'); wrong.forEach(function(stid){ if(v2[stid]){ v2[stid].status='wrong'; v2[stid].failCount=1; } else { v2[stid] = { status:'wrong', reviewCount:0, failCount:1, lastSeen:Date.now(), nextReview:Date.now()+86400*1000, easeFactor:2.5, wrongReasons:[], note:'' }; } }); saveV2(v2); }catch(e){} } migrateV1ToV2(); // 5. 记录一题(答对/答错) function recordQ(stid, ok){ var v2 = loadV2(); var rec = v2[stid] || { status:'new', reviewCount:0, failCount:0, lastSeen:0, nextReview:0, easeFactor:2.5, wrongReasons:[], note:'' }; rec.lastSeen = Date.now(); rec.reviewCount = (rec.reviewCount||0)+1; if(ok){ rec.status = 'mastered'; rec.easeFactor = Math.min(3.0, (rec.easeFactor||2.5)+0.1); rec.nextReview = Date.now() + 3*86400*1000; // 3天后复习 } else { rec.status = 'wrong'; rec.failCount = (rec.failCount||0)+1; rec.easeFactor = Math.max(1.3, (rec.easeFactor||2.5)-0.2); rec.nextReview = Date.now() + 24*86400*1000; // 明天复习 } v2[stid] = rec; saveV2(v2); return rec; } // 6. 包装原pickOpt var origPick = window.pickOpt; if(typeof origPick === 'function'){ window.pickOpt = function(opt, ev){ // 先执行原逻辑 origPick(opt, ev); // 后记录v2 try{ var q = opt.closest('.q'); if(!q) return; var stid = q.dataset.stid; if(!stid) return; var ok = opt.dataset.ok === '1'; recordQ(stid, ok); if(!ok){ showWrongReasonBar(q, stid); } }catch(e){} }; } // 7. 错因标签条(答错后在题卡下方弹) var REASONS = ['概念混淆','计算错误','记忆模糊','审题错']; function showWrongReasonBar(q, stid){ // 移除已有的 var old = q.querySelector('.se-reasonbar'); if(old) old.remove(); var bar = document.createElement('div'); bar.className = 'se-reasonbar'; bar.style.cssText = 'margin-top:10px;padding:10px 12px;background:#FFF7E6;border:1px solid #FFD591;border-radius:8px;font-size:13px;'; var html = '
📝 这题错在哪?(点标签记录)
'; REASONS.forEach(function(r){ html += ''; }); html += '
'; bar.innerHTML = html; bar.querySelectorAll('button').forEach(function(btn){ btn.addEventListener('click', function(){ var reason = btn.dataset.reason; var v2 = loadV2(); var rec = v2[stid] || { wrongReasons:[] }; if(rec.wrongReasons.indexOf(reason) < 0) rec.wrongReasons.push(reason); v2[stid] = rec; saveV2(v2); btn.style.background = '#FFD591'; btn.style.color = '#fff'; btn.disabled = true; }); }); q.appendChild(bar); } // 8. 右上角工具栏(导出/导入/快照) function buildToolbar(){ var bar = document.createElement('div'); bar.style.cssText = 'position:fixed;top:12px;right:12px;z-index:9999;font-family:"PingFang SC","Microsoft YaHei",sans-serif;'; bar.innerHTML = ''+ ''; document.body.appendChild(bar); var gear = bar.querySelector('#seGear'); var menu = bar.querySelector('#seMenu'); gear.addEventListener('click', function(e){ e.stopPropagation(); menu.style.display = menu.style.display==='none'?'block':'none'; }); document.addEventListener('click', function(){ menu.style.display='none'; }); menu.addEventListener('click', function(e){ e.stopPropagation(); }); menu.querySelectorAll('button[data-act]').forEach(function(btn){ btn.addEventListener('click', function(){ var act = btn.dataset.act; if(act==='export') doExport(); else if(act==='import') doImport(); else if(act==='snapshot') doSnapshot(); menu.style.display='none'; }); }); } function doExport(){ var dump = { _meta:{ app:'yizhang-wo-K', version:2, exportedAt:new Date().toISOString(), k:KN } }; try{ for(var i=0;i<_ls.length;i++){ var k = _ls.key(i); if(/^k\d+_(master_v1|v2)/.test(k) || k.indexOf(DUR_PREFIX)===0){ dump[k] = _ls.getItem(k); } } }catch(e){} var blob = new Blob([JSON.stringify(dump, null, 2)], {type:'application/json'}); var a = document.createElement('a'); var d = new Date(); var stamp = d.getFullYear()+String(d.getMonth()+1).padStart(2,'0')+String(d.getDate()).padStart(2,'0'); a.href = URL.createObjectURL(blob); a.download = 'study-backup-'+stamp+'.json'; document.body.appendChild(a); a.click(); a.remove(); } function doImport(){ var inp = document.createElement('input'); inp.type = 'file'; inp.accept = '.json'; inp.addEventListener('change', function(){ var f = inp.files[0]; if(!f) return; var rd2 = new FileReader(); rd2.onload = function(){ try{ var data = JSON.parse(rd2.result); Object.keys(data).forEach(function(k){ if(k==='_meta') return; wr(k, typeof data[k]==='string'? data[k] : JSON.stringify(data[k])); }); alert('导入完成,已恢复 '+Object.keys(data).length+' 个键'); setTimeout(function(){ location.reload(); }, 800); }catch(e){ alert('导入失败:JSON解析错误'); } }; rd2.readAsText(f); }); inp.click(); } function doSnapshot(){ var v2 = loadV2(); var total = Object.keys(v2).length; var mastered = Object.keys(v2).filter(function(k){ return v2[k].status==='mastered'; }).length; var wrong = Object.keys(v2).filter(function(k){ return v2[k].status==='wrong'; }).length; var dur = rd(DUR_PREFIX+todayStr) || 0; var win = window.open('', '_blank'); win.document.write('学习快照 K'+KN+'

K'+KN+' 学习快照

'+ '

总题数(v2记录):'+total+'

已掌握:'+mastered+'

错题:'+wrong+'

今日学习:'+Math.floor(dur/60)+'分'+(dur%60)+'秒

'); } // 9. 学习时长(Page Visibility API,每秒累计) function loadDur(){ try{ return parseInt(rd(DUR_PREFIX+todayStr)||'0',10); }catch(e){ return 0; } } function saveDur(s){ wr(DUR_PREFIX+todayStr, String(s)); } var visible = !document.hidden; setInterval(function(){ if(document.hidden) return; var d = loadDur(); d++; saveDur(d); }, 1000); document.addEventListener('visibilitychange', function(){ // 切走时不累计(interval里已判断document.hidden) }); // 初始化工具栏 if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', buildToolbar); } else { buildToolbar(); } // 暴露给总览页用 window.__studyEngine = { getK: function(){ return KN; }, getV2: loadV2, recordQ: recordQ, todayStr: todayStr, loadDur: loadDur }; })();