天刚亮,杰伊揉了揉发涩的眼睛,手指还搭在键盘上。电脑屏幕黑着,映出他胡子拉碴的脸和身后诺雪蜷在沙发上的轮廓。她没走,也没睡实,一只手压着笔记本,像是怕梦里有人把昨晚整理的资料拿走。
他轻轻起身,把空调调高一度,顺手将诺雪滑到地上的毯子重新盖好。台灯还亮着,光圈比昨夜小了一圈,可能是电压不稳,也可能是灯泡快坏了。他没管,转身打开自己的笔记本,插上U盘,点开那份命名为“技术问题汇总_v1”的文档。
时间是六点十七分。
他翻出通讯录,在“王工”这个名字上停了几秒。这是他在上一家公司认识的It运维,话不多,做事稳。昨天凌晨他发了条微信:“有空吗?急事。”对方没回。现在他又拨过去。
电话响了三声被接起,背景音是煎蛋的滋啦声。
“是我。”杰伊低声说,“昨晚那个事,我想清楚了,得找人看看代码层面的问题。”
“你说那个页面乱套的事?”王工嗓音沙哑,“我跟你说,我不懂前端开发,但我知道谁懂。”
十分钟后,杰伊记下了另一个号码,备注写的是“张工-自由职业-网页架构”。
他立刻拨通。
对方语气清醒,一听完描述就说:“像是编码声明缺失导致的解析错位,你们上传的时候有没有改过文件格式?”
“没有。”杰伊把问题清单一条条念过去,对方一边听一边记,中途打断两次确认细节:轮播图失效是否伴随脚本报错、乱码出现的位置是不是集中在中文字符区域。
“能远程看一眼后台吗?”张工问。
“可以,但我们不想直接给权限。”杰伊说,“你能不能上门?我们在城东藤花路七十三号,工作室。”
“行。我九点前到。”
挂了电话,杰伊走到诺雪身边,轻拍她肩膀。她猛地坐直,笔从指间掉落,在本子上划出一道长线。
“张工九点来。”他说,“王工的朋友,专做网页结构调试的。”
诺雪眨了眨眼,伸手摸向平板,解锁后点开共享文件夹。“我把所有截图按时间排好了,原始文件也都备份在云端。”
“别急着打开。”杰伊提醒,“等他来之前,咱们先把系统恢复到最严重那次的状态,让他亲眼看看问题。”
她点头,站起身拉开窗帘。阳光照进来,落在那台还在待机的主机上,风扇轻微震动着,像一只困倦的蜂。
八点四十五分,门铃响了。
张工背着双肩包进来,三十出头,穿一件洗得发白的格子衬衫,头发乱翘,手里拎着一袋豆浆。他把豆浆放在桌上,说了句“路上买的,不烫了”,然后掏出笔记本电脑坐下。
“先别登录。”他说,“我用自己的设备连,避免污染现场环境。”
杰伊和诺雪退到旁边桌边站着。诺雪下意识捋了下刘海,动作轻巧,像整理裙摆。张工抬头看了她一眼,眼神平静,没多问,低头开始操作。
他接入网络,用开发者工具抓取页面请求记录,一层层展开htmL结构。屏幕上跳出密密麻麻的代码块,绿色和灰色的文字飞速滚动。
“果然。”他指着其中一行,“这里少了个meta charset声明,平台自动转码时默认用了GbK,但你们的文案全是UtF-8写的,特别是那些作品标题里的‘藤’‘缠’‘静’字,全被当成乱码处理了。”
杰伊听得半懂不懂,只抓住关键词:“所以不是我们传错了?”
“不是。”张工摇头,“是平台接收时没识别对编码格式,导致样式表加载失败,整个布局崩了。浏览器一看排版指令乱了,干脆自己重算尺寸,结果越整越歪。”
诺雪凑近一点:“那为什么重传一次会短暂恢复?”
“因为缓存机制。”张工切换窗口,调出上传日志,“第一次传成功后,服务器临时记住了正确格式,但第二次编辑时又触发了自动检测,系统再读一遍文件,发现没有明确编码标记,又按老规则处理,于是回到错误状态。”
他说到这里,停顿一下,看向两人:“你们以后上传任何文本内容,都得在文件开头加一句‘<meta charset=utf-8>’,不然还会出事。”
两人同时点头。
“我现在手动补上这个声明,再把主模板的cSS外链单独提取出来,加上强制编码声明。”张工说着,开始修改代码,“然后局部重传首页框架,不动其他数据。”
他操作得很慢,每改一段就刷新预览一次。第一次刷新,轮播图依旧卡住;第二次,首图出来了,但文字还是挤在一起;第三次,图文终于分开,布局回归正常。
“成了?”杰伊问。
“还没。”张工盯着屏幕,“链接跳转还不稳定,我得检查一下路由配置。”
他又花了二十分钟,逐项测试商品页、联系页、定制入口的功能按钮。期间诺雪递过去一杯温水,他接过道谢,一口没喝,直到全部测完才放下杯子。
“现在可以了。”他说,“我已经在关键模块加了兼容判断,就算平台再抽风,也不会完全崩溃。这是修复后的版本,你们用这个模板继续编辑就行。”
他把新生成的压缩包拷进U盘,递给杰伊。
诺雪立刻打开自己的电脑,登录后台,上传新模板。页面加载完成的一刻,三人同时凑上前。
首页回来了。
《缠绕》的轮播图缓缓滑动,三张作品依次展示,简介完整,字体大小合适,留白均匀。她点开详情页,《风雨同行》的照片清晰呈现,下方附着创作手记,一个标点都没错位。她再点击“联系我们”,跳转顺畅,表单可填写。
“能用了。”她轻声说。
杰伊呼出一口气,肩膀松下来。他转头看诺雪,发现她嘴角微微扬起,手指正无意识地摩挲着笔帽——那是她安心时的小动作。
“要不要试试多端同步?”张工问。
“要。”杰伊马上拿出手机和平板,“我们得确保客户看到的是一样的。”
接下来半小时,他们在不同设备上反复查看页面显示效果。手机端用的是主流浏览器,平板切换了两个系统模式,甚至连杰伊那台旧安卓机都拿出来试了一遍。每一次加载都正常,布局一致,图片完整,按钮可用。
“稳定性没问题。”张工说,“但我建议你们今后每次更新前,先在本地做个预览,别直接往线上推。”
他打开一个文档,快速写下几条注意事项:
1. 所有htmL文件必须包含UtF-8编码声明;
2. 避免频繁切换编辑器,防止格式意外更改;
3. 每次上传前压缩为.zip包,减少文件丢失风险;
4. 定期导出备份,保存至独立硬盘。
“打印出来贴墙上就行。”他说,“这种问题不会再来,除非平台大改版。”
杰伊照着文档一条条记下,诺雪则把指南存进共享文件夹,命名“维护守则_v1”。
九点五十三分,问题彻底解决。
“多少钱?”杰伊问。
“五百。”张工报得干脆,“两小时工时,加紧急响应费。你们要是推荐别人来找我,下次打八折。”
杰伊扫码转账,备注写“技术服务费”。张工收了钱,收拾背包,临走前留下一张纸质名片,上面只有姓名、电话和一句:“修得了代码,救不了拖延症。”
门关上后,屋里安静了几秒。
“他还挺有意思。”杰伊把名片放进笔筒。
诺雪没说话,正拿着平板挨个核对作品信息。她点开《静默》的页面,放大图片角落的一根细藤——那是她特意保留的自然弯曲痕迹,象征生命力的不规则生长。现在它清清楚楚地呈现在屏幕上,没有模糊,没有裁切。
“你看这个弧度。”她叫杰伊过来,“以前加载不出来的地方,现在都能看到了。”
杰伊凑近看,点点头:“就像那天晚上你说的,东西是真的,就得让人看见。”
她笑了下,没接话,只是把平板转向他:“帮我看看这段文案顺不顺?‘每一件作品都从一根藤开始,但它讲述的从来不只是藤。’”
“挺好。”他说,“不用改。”
她把这句话设为首页标语,点击保存。页面刷新后,文字稳稳地浮现在轮播图下方,灰底白字,简洁有力。
工作室恢复运转。
诺雪打开培训项目的执行清单,找到“线上店铺上线准备”这一项,在前面画了个小小的对勾。杰伊则翻出艺集网的商家协议,准备重新走一遍发布流程。
“先别急。”诺雪突然说。
他抬头。
“我们得先把修复后的页面给内部看过一遍。”她说,“你去把小悠叫起来吃早饭,顺便让她看看。”
“她昨晚睡得晚。”
“那就让她边吃边看。”诺雪已经拿起手机,“小孩子的眼光最准,她说好看才算真好看。”
杰伊笑了笑,走向门口:“行,我去喊她。你要不要也歇会儿?”
“我不累。”她低头继续检查照片分辨率,“我想趁现在脑子清楚,把剩下的作品简介都过一遍。”
他没再说什么,拉开门走出去。
阳光洒满走廊,照在楼梯扶手上。他一步步往下走,脚步比昨夜轻快许多。
工作室里,诺雪独自坐在电脑前,屏幕映着她的脸。她抬手捋了下耳边碎发,动作自然,像整理耳环。窗外风吹动藤蔓,在墙上投下摇曳的影子。
她点开下一个作品页面,输入标题:“《共生》”。