· 抹茶文学

第11章

更新时间:2026-07-09 19:10

周六下午,空教室里只有林讯一个人。

苏晚宁发消息说要晚半小时到,李浩然下午有选修课,要四点多才能来。林讯乐得清静,一个人把聊天页面的接口写了大半。

窗外的阳光很好,照在桌面上,把键盘晒得有点烫。他把窗帘拉了一半,光线变得柔和了些,继续敲代码。

讯聊的聊天功能,他设计得比微信简单得多。

没有红包,没有语音通话,没有朋友圈,没有那么多花里胡哨的东西。就是最纯粹的收发消息,加上已读回执和正在输入提示。

不是做不出来更复杂的功能,而是他想让产品的第一版足够轻、足够快、足够稳定。功能越多,bug越多,用户越烦。

这个道理,他上辈子用了好几年才明白。

门被推开了。

苏晚宁走进来,手里提着两杯茶。

“给你,”她把一杯放在林讯面前,“学校新开的店,说是台湾的牌子,我排了二十分钟队。”

林讯看了一眼茶杯上的标签——波霸茶,少冰,三分糖。

他愣了一下。

他从来没跟苏晚宁说过自己喜欢喝什么口味的茶。

“你怎么知道我喜欢喝这个?”

“猜的,”苏晚宁在旁边坐下,打开自己的那杯,“你不喜欢太甜的,上次吃烧烤的时候你可乐只喝了两口,太甜了。三分糖应该刚好。”

林讯看着她,心里有一种说不出的感觉。

不是感动,是那种“被一个人放在了心上”的暖意。

她记住了他不喜欢太甜。

这个细节,连他爸妈都不一定知道。

“谢谢,”林讯上吸管喝了一口,“味道不错。”

“那当然,我排了二十分钟呢。”

苏晚宁打开电脑,调出她昨天画的设计图。

“你看,这是聊天页面的设计。消息气泡,我方的在右边,对方的在左边。头像在气泡外面,上方是昵称,下方是时间。输入框在底部,左边是表情按钮,右边是加号按钮,点加号可以发图片。”

林讯凑过去看。

设计图画得很细,每一个元素的位置、大小、颜色都标注得清清楚楚。他甚至觉得,这已经不是一个“临时设计”的水准了,拿给专业的设计师看也不会丢人。

“你这个设计,可以直接拿去当最终版用了。”

“真的?”苏晚宁的眼睛亮了一下。

“真的。比我见过的很多APP都好看。”

苏晚宁低下头,嘴角有一个藏不住的笑。

“那我去把这个设计转化成代码,”她说,“今天争取把聊天界面的框架搭完。”

“别急,慢慢来。先把布局写出来,再考虑数据绑定。”

“我知道。”

两个人安静地写了一会儿代码,茶喝了一半,冰块化了一些,味道刚好。

林讯的手机震了一下,是李浩然发来的消息:“选修课点名了,我在教室,四点才下课,你们先搞。”

林讯回了一个“OK”的表情,把手机放到一边。

“老李说要四点才来。”

“那我们先做,”苏晚宁头也没抬,“我刚好有个问题想问你。”

“什么问题?”

“你说的那个‘已读回执’,技术上怎么实现?”

林讯想了想,在纸上画了一个简单的示意图。

“很简单。客户端发送一条消息,服务端收到后存进数据库,同时往接收方的客户端推送一条通知。接收方打开聊天页面的时候,客户端发一个请求告诉服务端‘我看到了’,服务端再把‘已读’的状态推送给发送方。”

苏晚宁看着那张图,想了一会儿。

“推送用的是什么东西?”

“iOS用的是APNs,苹果提供的推送服务。安卓用的是各家厂商的推送,比较麻烦,第一版我们先不做安卓。”

“那消息的时序怎么保证?如果网络不好,消息发送的顺序乱了怎么办?”

林讯又画了一张图。

“每条消息都有一个时间戳和服务端生成的序列号。客户端收到消息后,按序列号排序再展示。如果发现中间缺了某条消息,主动去拉取。”

苏晚宁点了点头,在自己的笔记本上记下了几个关键词。

她现在的学习方式跟刚开始不一样了。最开始她是“学什么记什么”,现在是“不懂什么记什么”。笔记本上的内容越来越少,但每一条都更精炼、更有价值。

这是进步的表现。

一个人从“什么都想记住”到“只记不懂的”,说明她的知识体系已经建立起来了。

“林讯。”

“嗯?”

“我有个想法,”苏晚宁放下笔,转过身来看着他,“关于表白墙的。”

“你说。”

“李浩然说的那个表白墙,我觉得可以做成每天固定时间发布的形式。比如每天晚上十点,把当天审核通过的表白发出来,做成一张长图,让用户可以在朋友圈转发。”

林讯想了想,这个想法不错。

每天晚上十点发布,能培养用户的习惯。做成图片方便转发,又能带来新的用户。

“可以,而且我们可以在图片上加上二维码,扫码下载讯聊。”

“对!我就是这么想的!”苏晚宁有点兴奋,“而且还可以分主题,比如‘今天我想对你说’‘那些说不出口的喜欢’‘给陌生人的一封信’……每一期一个主题,这样不会显得单调。”

林讯看着她兴奋的样子,嘴角不自觉地翘了起来。

她不只是会写代码,她还会想产品。

这才是最难得的。

很多人写了一辈子代码,都是在实现别人的想法。苏晚宁不一样,她有自己的想法,而且这些想法还挺好的。

“苏晚宁,你有没有想过,以后不做技术,去做产品?”

苏晚宁愣了一下:“什么意思?”

“我是说,你有产品思维。你知道用户想要什么,知道怎么设计能让用户更愿意用。这个能力,比写代码更值钱。”

苏晚宁沉默了几秒,然后摇了摇头。

“我还是喜欢写代码,”她说,“写代码的时候,我能看到自己创造出来的东西,每一行代码都在搭建一个真实存在的世界。这种感觉很好。”

林讯没再说什么。

他理解这种感觉。

下午四点多,李浩然推门进来了。

“我来了我来了!选修课终于结束了!”他把书包往桌上一扔,“我跟你们说,今天老师讲的那个什么宏观经济,我一个字都没听懂。”

“你不用听懂,”林讯说,“你只需要把代码写好就行。”

“那倒是,”李浩然打开电脑,“对了,昨天说的表白墙,我想到了一个具体的实现方案。”

“说说看。”

“用户在前端提交表白内容,提交的时候要选表白对象是‘指定的人’还是‘不确定的人’。指定的人需要填写对方的特征描述,比如‘图书馆三楼靠窗戴眼镜的男生’。不确定的人就是那种暗恋,不需要写对象,只写自己的心情。”

林讯想了想,觉得这个设计还挺有想法的。

“可以,但有一条规则——不能出现真实姓名、学号、电话这些个人信息。”

“我知道,我在设计的时候会加一个敏感词过滤。”

苏晚宁抬起头看了李浩然一眼:“你会写敏感词过滤?”

“不会,但我可以学。”

苏晚宁看了林讯一眼,林讯笑了笑。

李浩然现在最大的变化就是这句话——“不会,但我可以学。”

以前他是“我不会,算了”,现在他是“我不会,但我可以学”。

这个变化,比他会写什么功能都重要。

三个人继续写代码。

苏晚宁在搭聊天界面的框架,李浩然在设计表白墙的后台管理页面,林讯在写消息推送的接口。

教室里很安静,只有键盘声和偶尔的讨论声。

写到五点多的时候,李浩然突然举起手。

“报告!我有一个问题!”

“说。”林讯头也没抬。

“表白墙的表白内容,谁来审核?我们三个人不可能二十四小时盯着吧?”

林讯停下敲键盘的手。

这是个好问题。

表白墙如果没有人审核,就会出现各种乱七八糟的内容。广告、骂人、造谣、甚至更严重的东西。但如果完全靠人工审核,三个人确实忙不过来。

“第一版先人工审核,”林讯说,“等用户量上来了,再考虑做机器审核或者招募志愿者审核。”

“志愿者?谁愿意这个?”

“肯定有人愿意,”苏晚宁说,“有些人就是喜欢看别人表白,让他们顺便审核一下,他们不会拒绝的。”

李浩然想了想,觉得有道理。

“那行,我先按人工审核来做。后台管理页面加一个待审核列表,管理员可以看到所有待审核的表白,点‘通过’或者‘拒绝’。”

“拒绝的要写原因,”苏晚宁补充道,“不然用户不知道自己的表白为什么没通过。”

“好,加一个拒绝原因的输入框。”

三个人又安静了下来。

林讯写完消息推送接口的时候,看了一眼时间,快六点了。

“今天到这儿吧,明天继续。”

“等一下,”苏晚宁说,“我再写半小时,这个页面还差一点。”

“我也再写一会儿,”李浩然说,“我那个待审核列表还差个分页。”

林讯看着这两个人,有点无奈。

以前都是他催别人加班,现在是被别人催着下班。

“行,再写半小时,六点半准时走。”

六点半的时候,三个人准时关了电脑。

李浩然第一个冲出去:“我去食堂了,饿死了!”

苏晚宁慢慢收拾东西,把设计图一张一张夹回文件夹,把茶杯扔进垃圾桶,把椅子推回原位。

林讯站在门口等她。

“你今天好像心情很好。”林讯说。

“有吗?”

“有,你今天笑了好多次。”

苏晚宁想了想,好像确实是。

“可能是因为今天写代码写得很顺吧,”她说,“没有遇到什么大问题,每个功能都能按预期跑通。”

“那明天如果遇到大问题呢?”

“那就解决它。”

苏晚宁背上书包,走到门口,看着林讯。

“走吧。”

两个人一起下了楼,走在校园的主道上。

六点半的校园很热闹,到处都是人。有人在去食堂的路上,有人在场上跑步,有人在路边发社团招新的传单。

“林讯。”

“嗯?”

“你说讯聊上线以后,真的会有人用吗?”

“会。”

“你怎么这么确定?”

“因为每个人都有想说话但不敢说的时候,”林讯说,“匿名树洞、表白墙,就是给这些人一个说话的地方。”

苏晚宁沉默了一会儿。

“那你呢?”

“我什么?”

“你有没有想说话但不敢说的时候?”

林讯想了想,说:“有。”

“什么时候?”

“现在。”

苏晚宁停下脚步,看着他。

“你想说什么?”

林讯也停下来,转过身面对着她。

夕阳在他们身后,把两个人的影子拉得很长很长。

“我想说,苏晚宁,谢谢你。”

“谢我什么?”

“谢谢你愿意相信我,谢谢你愿意跟我一起做这件事,谢谢你……”

林讯顿了顿。

“谢谢你那天晚上亲了我。”

苏晚宁的脸一下子红了。

“你……你怎么还记得这件事!”

“我每天晚上睡觉前都想一遍,怎么会忘。”

“林讯!你!”

苏晚宁举起拳头要打他,林讯笑着躲开了。

两个人在路边闹了一会儿,引得路人侧目。

最后苏晚宁停下来,喘着气,脸红红的,但嘴角是翘着的。

“林讯,你变了。”

“哪里变了?”

“你以前不敢看我的眼睛,现在不光敢看,还敢开我玩笑了。”

“因为我胆子变大了。”

“为什么?”

林讯看着她,认真地说:“因为我不想再错过你了。”

苏晚宁愣了一下,然后低下头,声音很轻地说了一句。

“你已经不会错过我了。”

林讯的心跳漏了一拍。

她没有说“我喜欢你”,没有说“我爱你”。

她说的是“你已经不会错过我了”。

这句话比任何告白都让他安心。

因为她说的不是感觉,是结果。

结果是——不管发生什么,他们都会在一起。

两个人继续往前走,这次走得更近了。

肩膀之间的距离,不到十厘米。

谁都没有主动去牵对方的手,但谁都知道,那一天不远了。

到了女生宿舍楼下,苏晚宁停下来。

“到了。”

“嗯。”

“明天下午两点?”

“两点。”

苏晚宁转身走了两步,又停下来。

“林讯。”

“嗯?”

“明天见。”

“明天见。”

苏晚宁笑了笑,转身上了楼。

林讯站在原地,看着她消失在楼道里。

他拿出手机,给苏晚宁发了一条消息:

“你今天真好看。”

苏晚宁回了一条:“你今天也好看。”

林讯:“男生不能用好看。”

苏晚宁:“那就帅。”

苏晚宁:“你今天真帅。”

林讯看着这条消息,笑了很久。

他把手机放进口袋,转身往回走。

四月的晚风吹过来,带着花香和青草的味道。

他深吸一口气,觉得活着真好。

重生真好。

遇到她真好。

字号 / 行高
主题