# 我的梦(4/88)|第四章:授权弹窗


## 4.1
By 开着车往雾灯下冲的时候,仪表盘上的时间在跳。
不是秒针的跳。
是权限在跳。
每过一个路口,屏幕就弹出一个新的提示框,像系统在用力拦住我——
> **请求授权:读取你的“路线”**
下面两个按钮:
- **允许(推荐)**
- **拒绝**
我按了拒绝。
提示框立刻换了一句更温柔的话:
> **拒绝将导致体验下降。你确定要继续吗?**
By 再按一次拒绝。
第三个弹窗出现了,像忍无可忍的管理员:
> **拒绝将导致你无法回家。**
我握紧方向盘,心里冷笑:我现在最怕的不是回不了家,是回到一个“合理”的家。
## 4.2
我把手机扔到副驾驶。
手机却自己亮了。
屏幕像被远程接管,跳出一个熟悉得令人恶心的页面。
白底、Logo、条款。
飞书授权弹窗的模样。
标题写着:
> **应用请求以下权限:contact:contact.base:readonly**
下面是两行小字:
- 用于为你提供更好的体验
- 用于确保你的白天版本稳定
稳定。
我突然想起厨房里那个“我”的笑。
稳定就是刷新。
稳定就是把我的怀疑删掉。
屏幕最底下两个按钮:
- **同意**(蓝色,耀眼)
- **拒绝**(灰色,像被悄悄降权)
我没有点。
我把相机抬起来,对准手机。
取景框里,弹窗的底层并不是授权页。
而是一张我看不懂的表。
像数据库结构。
其中一列叫:
> **subject**
对应的值:
> **by**
另一列叫:
> **tradeoff**
值是:
> **memory**
我喉咙发紧。
原来“同意”不是给权限。
是用记忆换门票。
## 4.3
车窗外的路灯越来越白。
白到像一种审讯。
我突然看到一个路牌:
> **HALO / CONSOLE / ARCHIVE →**
那不是现实的路牌。
那是后台的菜单。
By 的世界开始把 UI 当成实体,把按钮当成路口。
我把车拐过去。
下一秒,整个车厢安静下来。
所有弹窗都消失了。
取而代之的是一个更大的窗口,像一张覆盖全屏的提示:
> **为了进入 NIGHT,你需要完成一次授权。**
下面列着三项:
- `im:message`
- `im:resource`
- `contact:contact.base:readonly`
每一项后面都有一个小小的勾选框。
只有最后一项是亮的,像诱饵。
我懂了。
他们不是要我一次性同意全部。
他们要我“先同意一点点”。
一点点,就足够让系统记住:By 会选择同意。
## 4.4
我终于看到雾。
雾灯在高架匝道口像一颗被按住的月亮。
我把车停在路边,冲下车。
雾里那扇门还在。
门缝里的眼睛盯着我,像盯着一个迟到的工单。
我举起手机,屏幕上那张授权弹窗还在。
我把手指悬在“同意”上。
我突然想到一个办法。
如果“同意”是写入缓存——
那我就给它写一个错误值。
我打开相机,对准门缝里的眼睛。
取景框里,那只眼睛不是眼睛。
它是一行日志:
> **cache write: subject=by, key=consent, ttl=60**
我笑了一下。
By 在雾里对自己说:
好。
你要我同意。
我就同意——六十秒。
---
**下一章预告**:第五章《缓存回滚》。