当前位置:首页>java>代码之罪:3.2亿诈骗案背后的技术总监

代码之罪:3.2亿诈骗案背后的技术总监

  • 2026-02-05 00:44:24
代码之罪:3.2亿诈骗案背后的技术总监
我辞职照顾阿尔茨海默症的母亲时,以为只是换一份远程工作。
直到警察查封公司,我才发现两年写的每一行代码都在给自己攒刑期。
而更可怕的是:
当法庭拒绝我现场演示APP时,我知道有人想让我们永远闭嘴。

01

2023年6月18日,父亲在电话里沉默了三秒才开口:“你妈今天把我认成你了。”
我在天州滨江的国企办公室里,盯着电脑屏幕上未提交的代码。
窗外是钱塘江的夜景,霓虹灯勾勒出城市的轮廓。
我是这家国企最年轻的技术总监,年薪38万,期权明年兑现,手底下管着12个人。
“她昨天还认得我的。”
“医生说阿尔茨海默症就是这样的,”父亲的声音很平静,平静得可怕,“今天记得,明天就忘了。而且她最近开始乱跑,前天差点走到高速公路上。”
我闭上眼睛。母亲才62岁,退休前是小学语文老师,最喜欢背唐诗。去年她还给我儿子讲《静夜思》,说“举头望明月”的“举”字写得真好。
“我明天回来。”
挂掉电话后,我写了辞职信。领导老陈晚上十点打给我:“成江,你疯了?你知道多少人盯着你这个位置?”
“我妈需要有人24小时看着。”
“请护工啊!你那份薪水,请三个护工都够了!”
“她把我爸认成我了,”我说,“护工有什么用啊?”
老陈叹了口气。他知道我家的情况,我是独子生,妻子在绍兴教书,儿子刚上幼儿园。母亲在绍兴上虞老家,父亲心脏不好。这个家需要我回去。
三天后,我办完离职手续,正在收拾工位物品时,微信弹出一条消息:
“江哥,听说你离职了?我们公司招远程技术岗,待遇不错,主要做海外项目,时间自由。有兴趣聊聊吗?”
发消息的是王小帅,两年前我带的实习生,后来跳槽去了家创业公司。
我看着消息,手指在屏幕上悬停。
银行卡余额:12万。房贷还剩82万没还,月供8000。母亲如果住护理院,每月至少5000。儿子的私立双语幼儿园,每学期15000。
我回复:“什么公司?做什么的?”
“小美交友,做社交APP的。我现在是前端组组长,缺个技术大牛。老板说可以给到月薪三万。”
三万。比我预想的高。
“正规吗?”
“绝对正规!我们在天州未来科技城有正式办公室,2300平,一百多号人。国内版已经做了两年,现在重点发展海外市场。江哥,你就远程指导,每周来一两天就行,不耽误照顾家里。”
我点开王小帅发来的公司介绍。
PPT做得挺专业:小美交友网络科技有限公司,成立于2021年,旗下三款社交APP,累计用户400万+,已实现盈利。创始人袁成凯,连续创业者,简介里写着“毕业于浙大计算机系,曾任职阿里”。
看起来像一家正经的互联网公司。
“行,我先跟老板聊聊。”

02

面试安排在三天后,天州文一西路某写字楼32层。整层楼都是小美交友的办公室,装修得很现代:开放式工位、玻璃会议室、茶水间里有胶囊咖啡机和零食柜。
前台是个年轻女孩,工牌上写着“陈小雪,客服专员”。她抬头看我时眼神有些躲闪,很快又低下头去。
“张先生是吧?袁总在C3会议室等您。”
推开玻璃门,袁成凯站起身。他大概四十出头,穿着灰色Polo衫,戴黑框眼镜,像个标准的技术型创业者。
“成江,久仰!小帅天天念叨你,说你是他见过最牛的前端。”
握手,寒暄,落座。会议室白板上画着产品架构图,密密麻麻的关系线。
“我们做的是海外社交市场,”袁成凯递给我一份商业计划书,“东南亚、中东、拉美。国内版已经跑通了模式,现在复制到海外。”
我翻看计划书。用户数据、留存曲线、付费转化率。看起来都正常,甚至比很多同行好。
“国内版做什么的?”
“相亲交友,”袁成凯笑得很坦然,“线下见面那种。但我们做得很干净,不搞擦边球。你可以下载一个看看。”
我当场下载了“小美交友”APP。注册流程简单,首页推荐异性用户,有“一键搭讪”、“送礼物”、“视频聊天”功能。UI设计得不错,交互流畅。
“代码是你写的?”我问王小帅。他坐在旁边,有点紧张。
“大部分是。江哥,你来了帮我重构一下,现在的代码有点乱。”
袁成凯适时插话:“成江,我知道你家里情况特殊。这样,你平时在家远程办公,每周二四来公司开个会就行。月薪三万五,社保全额交,年终奖另算。”
“具体做什么?”
“海外版的技术负责人。国内版已经稳定了,你不用管,就专心做海外市场。东南亚文化差异大,要本地化改造。”
我犹豫了几秒。这条件太好了,好得有点不真实。
“为什么找我?”
“小帅推荐的,”袁成凯点了根烟,“他说你技术方面没问题,而且你家庭情况特殊,更能理解我们需要什么样的工作方式。说实话,我们也希望团队成员稳定。”
我看向王小帅。他眼神闪烁了一下,迅速避开。
后来我才明白那个眼神的意思:他早就知道公司不对劲,但他需要帮手,需要有人分担压力。而我是最合适的人选:急需用钱,技术过硬,而且因为要照顾母亲,不会深究公司业务细节。
“好。”我说。

03

入职第一周,我主要熟悉代码库。国内版的代码确实如王小帅所说,混乱、重复、注释不全。但架构还算清晰,核心功能就那几个:用户匹配、即时通讯、礼物系统、支付接口。
周二技术例会,产品经理演示新需求:“海外版要加一个‘超级邀请人’功能,用户邀请好友注册可以得佣金。”
“类似分销?”我问。
“比那个复杂,”产品经理解释,“邀请人不仅拿佣金,还能看到被邀请人的部分数据,帮他们呃撮合在一起。”
“这不侵犯隐私吗?”
会议室安静了几秒。袁成凯笑了:“成江考虑得对,但海外法律不同。东南亚很多国家允许这种模式,只要用户授权就行。”
技术总监罗大海接过话:“江哥,你就照着需求做,合规问题有法务部处理。”
罗大海是项目经理,戴着厚厚的眼镜,说话慢条斯理。他在公司呆了两年,据说从初创就在。后来我发现,每次提到敏感话题,都是他出来解释打圆场。
例会结束,王小帅拉我去抽烟区。
“江哥,你别太较真,”他压低声音,“公司业务有点灰色地带,但只要我们不做违法的事情就行。我们就是打工的。”
“什么意思?”
“你看国内版,”王小帅吐了个烟圈,“那些女主播不是真来交友的,就是赚礼物的。但我们平台是正规的,主播个人行为,我们管不了。”
我心中一沉:“你是说,我们明知主播的起点用意不是真正交友,出发点是在骗用户礼物钱,然后我们还提供平台?”
“话不能这么说!”王小帅赶紧摆手,“我们有用户协议,禁止诈骗行为,还有举报机制。但要完全杜绝,不可能啊!”
这时,财务部的张燕端着咖啡经过,听到我们的对话,脚步明显顿了一下,快步走了。
王小帅继续说:“江哥,你刚来,别问太多。月薪三万五,天州有几个公司能给这个数?你做海外版,跟国内业务没关系,怕什么?”
我想起母亲的护理院费用。
昨天刚问过,环境好一点的要6500一个月。父亲的降压药又涨价了。
“知道了。”我说。
那是我第一次选择闭上眼睛。
后来在法庭上,检察官问我什么时候知道公司有问题的。
我说2025年11月。
但其实2023年6月那个周二下午,在写字楼的吸烟区,我就已经知道了。
只是我不愿意不敢承认。

04

第一个月工资到账:35000,扣完社保还有32000。
我给母亲付了护理院半年费用,给儿子换了套更好的乐高,给妻子买了她看中很久的包。
妻子很高兴:“这公司真好,还让你在家办公。要不我辞职搬去天州?”
“别了,”我说,“你工作稳定,先别动。而且我在家时间多,可以照顾妈。”
其实我隐瞒了一件事,虽然在家办公,但工作时间反而更长。
海外版项目紧,又要适配不同国家的语言和支付系统,我经常熬到凌晨两三点。
九月的一个深夜,我正在调试阿拉伯语的RTL布局,父亲打来电话。
“你妈她把《春晓》背错了。”
“什么?”
“‘春眠不觉晓’后面,她接的是‘举头望明月’。我说不对,她急哭了,说就是这样的。”
我听着电话那头母亲的抽泣声,还有父亲笨拙的安慰。屏幕上的代码突然变得模糊。
“明天我带她去省医院再看看。”
“没用,”父亲声音疲惫,“上周刚去过,医生说这病就这样,只会越来越差。药只能延缓,不能逆转。如果可以弄到美国进口药的话,只能说延缓速度慢一点。”
挂掉电话后,我盯着代码发了半小时呆。
凌晨三点,王小帅在开发群里@我:“江哥,支付接口的汇率转换有问题,用户投诉多付了钱。”
我机械地回复:“马上改。”
那一刻我意识到,我回不去了。
国企的稳定、社会地位、未来的期权全都换成了这份高薪但可疑的工作。而这一切,只因为我需要钱,很多钱,去维持一个正在缓慢崩塌的家庭。
第二天上班,我在茶水间遇到张燕。她正在泡枸杞茶,黑眼圈很深。
“张会计,没睡好?”
她苦笑着点头:“月底结账忙。对了张总监,你工资还正常吧?有问题找我。”
“正常的,谢谢。”
张燕欲言又止,四下看了看,声音压得很低:“你看过公司的完整财报吗?”
我一愣:“没啊,我是技术的,不看那个。”
“哦,”她点点头,“那挺好。技术好,技术干净。”
这话说得莫名其妙。
但当时我没深想,以为是财务人员的职业病。
现在回想,那是一个警告。
张燕管账,她最清楚公司资金流向每月数百万的推广费用流向几十个个人账户;女主播提现时公司抽成30%;而所谓超级邀请人,其实就是拉皮条的掮客,按人头和消费额拿提成。
她知道这是灰色地带,可能涉嫌传销甚至诈骗。
但她没说,因为月薪两万,因为儿子在留学每年要钱,因为丈夫生意这两年失败欠了一屁股债。
我们都闭上了眼睛,各有各的理由。

05

2023年11月,公司开季度会。袁成凯宣布了一个消息:“国内版业务要逐步收缩,重心全部转向海外。明年上半年,我们要进入10个国家!”
会议室响起掌声。我注意到几个细节:
第一,罗大海没鼓掌,他在笔记本上写着什么,然后迅速合上。
第二,商业运营部的郝鹏飞没参会。王小帅说他去泰国了,谈海外公会合作。
第三,袁成凯提到风险控制时,特别看了一眼法务部的位置,那里坐着个年轻女孩,不是专业律师,是行政兼任的。
会后,王小帅请我吃火锅。两瓶啤酒下肚,他话多了起来。
“江哥,你知道公司去年流水多少吗?”
“多少?”
“一点八个亿,”王小帅伸出两根手指,“今年预计超三个亿。”
我筷子停在半空:“这么多?”
“你以为呢!用户充值买虚拟币,兑换礼物打赏给主播。平台抽三成,主播拿七成。一个头部主播,月入三五十万很正常。”
“那用户呢?真能交到朋友?”
王小帅笑了,笑得有点苦涩:“江哥,你怎么还这么天真?这是生意!用户花几十块几百块,买个情绪价值,买个小姐姐陪聊,买个幻想。你情我愿的事。”
“但如果有用户以为真能谈恋爱……”
“我们有免责条款啊!”王小帅打断我,“用户协议第37条写得很清楚:平台仅提供交友机会,不保证成功;用户应理性消费;如遇诈骗请及时举报。”
“举报了有用吗?”
王小帅不说话了,闷头喝酒。
好一会儿,他才说:“江哥,你知道我为什么找你吗?因为你技术好,而且你缺钱。我们都缺钱。这世道,干净又赚钱的工作有几个?现在很多大厂都也必有咱们赚得多。”
“但这是刀尖上跳舞。”
“所以要小心,”王小帅凑近,“记住了,你只管写代码,业务上的事别问。需求来了就做,有问题提出来,但别深究。这是生存之道。”
那晚我失眠了,脑子里反复回响王小帅的话。凌晨四点,我爬起来,打开公司代码库,找到国内版核心模块。
其中有一段关键代码,是我上个月帮王小帅优化过的:
// 打赏逻辑处理函数function handleGift(userId, giftId, receiverId) {
//1. 扣款
constgiftPrice = getGiftPrice(giftId);
constbalance = getUserBalance(userId);
if(balance < giftPrice) {
return{ code: 1, message: "余额不足" };
}
//2. 如果用户当天首次大额打赏(>199元),触发"心动模式"
if(isFirstLargeGiftToday(userId) && giftPrice > 199) {
//向主播发送系统提示:"用户XXX有高消费潜力,建议重点维护"
sendSystemHintToAnchor(receiverId,userId, giftPrice);
//解锁主播的"特殊关怀"功能:可发送专属问候、可查看用户部分访客记录
unlockSpecialCareFeatures(receiverId,userId);
}
//3. 如果用户累计给同一主播打赏超5000元
if(getTotalGiftToAnchor(userId, receiverId) + giftPrice > 5000) {
//系统提示:"可考虑向用户索要微信/电话,但需通过平台话术"
suggestGetContactInfo(receiverId,userId);
//同时,在该用户身上标记"高价值用户"标签
addUserTag(userId,"high_value");
}
//4. 如果用户是"高价值"标签,且48小时内未打赏
if(hasUserTag(userId, "high_value")
&&getLastGiftTime(userId) < Date.now() - 48*60*60*1000) {
//向主播推送提醒:"您的重要用户XXX已48小时未互动,建议联系唤醒"
pushRemindToAnchor(receiverId,userId);
}
//5. 完成交易
deductBalance(userId,giftPrice);
addAnchorIncome(receiverId,giftPrice * 0.7); // 主播得70%
addPlatformRevenue(giftPrice* 0.3); // 平台抽30%
return{ code: 0, message: "打赏成功" };
}
这段代码有问题。
表面上,它只是在处理虚拟礼物交易。
但看深层逻辑:它系统性地识别高消费用户,指导主播如何维护这些用户,鼓励主播索取联系方式,并且在用户消费懈怠时提醒主播再次联系。
这已经不是简单的平台抽成了。
这是有组织的、技术驱动的、精细化的诱导消费系统。
而且,代码注释里有一行小字:// 话术模板见运营后台,关键词:‘真心’、‘感动’、‘想见你’、‘支持我’。
我盯着屏幕,手在发抖。
我不是刚毕业的菜鸟,我知道这意味着什么。如果只是主播个人忽悠用户,那是主播的问题。但平台提供话术模板、识别高价值用户、指导主播如何持续榨取这就是平台在组织、策划、实施。
这是一条完整的犯罪链条,而我写的代码,是这条链条上的核心齿轮。
关上电脑时,天已经亮了。
母亲该起床了,护工六点会去给她量血压。
儿子今天要穿那件蓝色的卫衣去幼儿园。
妻子七点半有第一节课。
我洗了把脸,对着镜子说:“张成江,你什么都不知道。你只是个写代码的。”
然后我继续上班,继续写代码,继续领每个月三万五的工资。

06

2024年春节前,公司发年终奖。我拿到6万,王小帅5万,张燕8万。袁成凯在年会上宣布:“今年公司净利润超预期,明年全员涨薪10%!”
大家欢呼。但我注意到角落里的客服女孩陈小雪,她低着头玩手指,没笑。
陈小雪是“00后”,2022年5月入职,月薪6000。在天州,这个工资勉强够活。她工位在我斜对面,经常加班到深夜,回复用户投诉。
年会结束后,我在电梯里遇到她。
“小雪,年终奖拿了多少?”
她愣了一下,小声说:“八千。”
“不错啊,你才来一年多。”
她咬咬嘴唇:“张哥,可我想辞职。”
“为什么?公司不是挺好的?”
电梯到了1楼,她没回答,快步走出去。我跟了两步,在写字楼门口追上了她。
“到底怎么了?”
陈小雪回头看我,眼睛红红的:“张哥,你负责技术,你看不到那些投诉。我每天每天要处理几十个投诉,用户说被骗了钱,主播收了礼物就拉黑,有的用户被骗了几万块。”
“平台不是有举报机制吗?”
“举报了有什么用?”她声音颤抖,“大部分女主播用的假信息,封了一个号,换个手机又注册了。而且上面有指示,涉及金额小的投诉,尽量安抚用户,给点平台币补偿,不要走退款流程。”
“谁指示的?”
“客服主管钱成。他说如果全额退款太多,会影响公司现金流。”
冷风吹来,陈小雪打了个寒颤。她穿着单薄的外套,在天州湿冷的冬夜里显得格外瘦小。
“张哥,我上个月处理一个投诉,用户是个农民工,在工地干活,攒了三万块钱,全部打赏给一个女主播。那主播说会嫁给他,他信了。现在钱没了,主播消失了,钱打水漂了。”
我喉咙发干:“然后呢?”
“我申请退款,钱主管驳回了,说‘不能开这个口子’。我只能按标准话术回复:建议用户报警,平台会配合调查。但谁都知道,这种案子警察根本不管。”
她哭了,眼泪大颗大颗往下掉:“那个农民工后来给我打的最后一个投诉电话,说‘姑娘,我不怪你,是我自己傻,我太蠢了’。但我知道我是在做不好的事情。”
我递给她纸巾,一句话都说不出来。
“我想辞职,但我爸去年查出肺癌,一个月药费就五千。我弟还在上大学。六千块在天州是少,但总比没有强。”
她擦干眼泪,挤出一个笑:“张哥,你就当我没说。我可能年后就不来了。”
实际上,陈小雪干到2024年5月,被公司优化掉了。她拿了三个月赔偿金,一共两万多,准备回老家。但警察还是找上了她,在她回老家的火车上。
法庭上,检察官说陈小雪非法获利23万。她哭着说:“那是我两年工资加上赔偿金,我一分脏钱都没多拿!”
但没人听。
诈骗罪共犯,涉案金额3.2亿,个人获利23万,数字摆在那里,背后的血泪和无奈,没人关心。
那个夜晚,其实我本该做点什么。我可以给陈小雪一笔钱,让她辞职;我可以举报公司;至少,我应该停止写那些诱导消费的代码。
但我什么都没做。我只是拍了拍她的肩膀,说:“你再考虑考虑,工作不好找。”
然后我转身走向停车场,开着我新买的Model 3回家。车里开着暖气,座椅加热很舒服。我想着明天要给母亲买那个进口的药,2800一盒,医保不报销。
是的,这就是人性。
当罪恶不是刀架在脖子上,而是温水煮青蛙时,大多数人会选择闭上眼睛,数着银行卡里增长的数字。
我们都是普通人,有家人要养,有房贷要还,有想要的生活。
所以我们学会了自我欺骗:我只是打工的,我不了解业务,代码无罪。
直到手铐戴上来的那一刻。

07

2024年3月,公司发生了几件微妙的事。
第一件事是郝鹏飞从泰国回来了。这个商业运营部负责人晒得黝黑,脖子上多了条金链子。他在会议室跟袁成凯吵了一架,声音大到走廊都能听见:
“老袁,那边规矩不一样!你说的那套不行!”
“不行也得行!国内模式跑通了,照搬到海外!”
“会出事的!”
“出事我担着!”
后来王小帅告诉我,郝鹏飞反对在海外版完全复制国内模式。
东南亚法律虽然松,但有些国家诈骗罪判得很重。而且海外用户不好控制,万一闹大了,可能引发外交问题。
但袁成凯坚持:“国内监管越来越严,必须尽快在海外赚钱。按计划执行!”
第二件事是法务部换了人。
原来的行政女孩不见了,来了个四十多岁的男人,姓郑,据说是从某律师事务所挖来的。他上班第一天就调取所有用户协议、隐私政策、免责条款,关起门来改了三天。
第三件事,也是最重要的我开始接触海外版的合规方案。
罗大海把我叫到会议室,白板上写着新需求:“海外版需要开发一个用户保护系统。”
“具体任务要求是什么?”
“功能是这样,”罗大海指着流程图,“第一,用户单日消费超过500元,弹出风险提示。第二,用户连续三天大额消费,自动冻结账户24小时。第三,主播引导用户线下见面的消息,系统自动标记,人工审核。”
我皱了皱眉:“这是保护用户,还是做样子?”
罗大海推了推眼镜:“江哥,这话说的,当然是真保护。”
“那国内版为什么不加?”
“国内版没有法律明文规定,”他顿了顿,“而且架构太老了,不好改。海外版从零开始,可以做完善点。”
我看着他的眼睛。
罗大海是个老实人,技术出身,不擅长撒谎。他的眼神在躲着我的注视。
“罗哥,你是知道什么吗?”
长久的沉默。会议室里只有空调的嗡嗡声。
“江哥,”他终于开口,“有些事,不知道比知道好。你就按需求做,做漂亮点。这个用户保护系统,很重要,可能是护身符。”
最后三个字他说得很轻,但我听清了。
护身符。
我瞬间明白了。公司高层知道业务有风险,所以在海外版预设一个合规的外壳。万一出事,可以拿这个当证据:“看,我们有保护系统,我们尽了提醒义务,用户非要充值,我们拦不住。”
这是技术上的免责设计,和那些写在用户协议第37条的免责条款一样,都是事先准备好的退路。
“好,我做。”我说。
那一周,我写了海外版最复杂的模块。
代码很精巧:消费警示用了三种颜色提示(黄、橙、红),冻结账户有三级梯度,敏感词监控覆盖了六国语言。
我还特意加了一个功能:所有风险操作,系统都会在后台生成日志,包括“触发时间、用户ID、操作类型、处理结果”,日志保存五年。
我想,万一将来真的出事,这些日志至少能证明,我作为技术人员,试图保护用户。
很天真吧?
后来在法庭上,公诉人指着这个功能说:“看,他们明知有诈骗风险,才需要做这些防护。这是反向证明他们知情!”
我写的的护身符,成了我的罪证。
但当时我不知道。我甚至还为自己的责任感感动,觉得比其他只顾写代码的程序员强。
真是讽刺。

08

2024年5月,公司陆续裁员。陈小雪走了,其他几个客服也走了。张燕悄悄告诉我:“公司账面紧张,国内业务收入下滑。”
“为什么?”
“用户变聪明了,不好骗了。”她说这话时语气平淡,像在说今天天气不好。
那段时间,我注意到袁成凯经常不在公司。王小帅说他在跑融资,见了一圈投资人,没人愿意投。
“为什么?我们不是赚钱吗?”
“赚钱,但不光彩,”王小帅苦笑,“投资人也要声誉。而且风声有点紧。”
“什么风声?”
王小帅左右看了看,压低声音:“我听说,有用户报警了,大东那边的。公安可能立案了。”
我心跳漏了一拍:“严重吗?”
“不清楚。但袁总在活动,应该能压下来。”
这是典型的侥幸心理,总觉得天塌下来有高个子顶着,总觉得老板有背景有关系,总觉得不会轮到自己。
但我们忘了,在3.2亿的案子里,没有高个子,个个都是垫脚石。
6月初,袁成凯突然召开全员大会。一百多人挤在大会议室里,气氛凝重。
“今天宣布两个决定,”他站在台上,表情严肃,“第一,公司国内业务从今天起暂停运营。第二,海外业务独立拆分,成立新加坡分公司。”
台下哗然。
“为什么?”
“国内版做得好好的啊!”
“我们怎么办?”
袁成凯双手下压:“安静!国内版不是不做,是升级改造,需要时间。所有员工,愿意去新加坡的,公司包签证、包住宿,薪资翻倍。不愿意的,国内业务暂停期间,发基本工资三个月。”
基本工资是80%,也就是我的28000,王小帅的22400。对很多人来说,这笔钱不够在天州生活。
散会后,我问王小帅:“你去新加坡吗?”
“不知道,”他摇头,“我妈身体也不好。而且江哥,你不觉得奇怪吗?为什么突然要撤?”
“你觉得跟那个报警有关?”
他没回答,但眼神已经说明一切。
那天下午,我写代码时一直心神不宁。母亲又打来电话。
她现在偶尔会清醒几分钟,刚才突然说:“阿政,你工作是不是很累?累了就回家。”
“妈,我没事。”
“你爸说你晚上老加班,眼睛都红了。钱够用就行,别太拼。”
挂了电话,我盯着屏幕。
海外版的用户保护系统今天要上线,但我最后检查时,发现一个严重问题:
后台日志系统,默认是关闭状态。
也就是说,所有风险警示、账户冻结、敏感词监控的记录,除非手动开启,否则不会保存!
我立刻找罗大海:“罗哥,日志系统为什么默认关闭?”
“哦,那个啊,”罗大海一脸你懂的表情,“开启日志会占服务器资源,影响性能。等需要的时候再开。”
“什么时候需要?”
“比如审计的时候。或者有用户投诉的时候。”
我明白了。又是一个做样子的功能:平时不开,真出事时临时打开,假装系统一直在运行。
“这不行,”我坚持,“要么就真做,要么就别做。这样骗谁?”
罗大海叹了口气,把我拉到楼梯间:“江哥,你是真不懂还是假不懂?这个系统,就是个摆设!用户真要投诉,我们打开日志,调出记录,给人家看看:‘喏,我们提醒了三次,你不听,怪谁?’明白了吗?”
“那如果警察来查呢?”
他脸色变了:“你听到什么消息了?”
“没有,我就问问。”
罗大海盯着我看了很久,最后说:“江哥,你是我招进来的,我跟你说句实话。公司最近可能真要出事了。你早做打算。”
“多早?”
“尽快。”
他走了,留下我在楼梯间发呆。窗外是天州未来科技城,一栋栋写字楼里亮着灯,成千上万的人还在加班,写代码、做PPT、开电话会。
他们中有多少人也在做“灰色”业务?有多少人也在自我欺骗“我只是打工的”?有多少人知道风险,但因为房贷车贷孩子学费,选择沉默?
我想起刚毕业时,导师说:“技术是中立的,但技术人有立场。”
现在我的立场是什么?是母亲药费的账单,是儿子幼儿园的录取通知书,是妻子看到我高薪时安心的笑容。
我回到工位,写下了最后一行代码:不是技术代码,是一封简短的辞职信。
“袁总,因家庭原因,申请离职。”
写完后,我盯着这十一个字,看了整整二十分钟。然后,按了删除。
再等等,也许不会出事。
再等等,等儿子放暑假,等母亲的病情稳定一点,等我把房贷提前还掉一部分。
就等一个月。
不,半个月。不,一周。
我这样告诉自己。

09

暴风雨来临时,往往风平浪静。
那天上午很普通。王小帅在修复一个bug,张燕在算五月的账,陈小雪的工位空着,已经换了个新来的女孩。袁成凯没来公司,罗大海在开远程会议。
我接到母亲护理院的电话,说她的进口药快吃完了,要不要续。
“续,开三个月的。”
“张先生,三个月的量是8400,您确定吗?”
“确定。”
挂了电话,我查了银行卡余额:12万。如果离职,这些钱够撑多久?三个月?四个月?然后呢?
下午三点,张婷婷发来消息:“江哥,投放后台的数据看板是不是挂了?”
我检查了服务器,一切正常。
“你那边网络问题吧。”
“哦,那我再试试。”
她回了个捂脸表情。
张婷婷是市场部唯一的员工,负责投广告。月薪15000,和我当初一样,以为找到好工作,却不知道已经坐上了一艘正在沉没的船。
三点二十分,楼下传来嘈杂声。
王小帅从厕所冲回来,脸色惨白:“好多警察!上来了!”
大家还没反应过来,玻璃门被推开。七八个穿制服的警察走进来,为首的中年警官手里拿着文件夹。
“所有人待在原位,配合调查!”
财务部的张燕小声问:“怎么了?”
没人回答。警察开始检查电脑,拔电源,贴封条。我看到警察拿起我的机械键盘看了看,又放下了。
后来在法庭上,这个细节被反复提及,作为我长期在此工作的证据。
“张成江?”警官对着名单喊。
“我是。”
“带上身份证,跟我们走一趟。”
我下意识抓手机,被拦下了:“电子设备全部暂扣。”
在警车上,我坐在后排,看着窗外熟悉的街道,
每天上下班经过的咖啡店、便利店、地铁站。
那些普通得不能再普通的场景,此刻成了我对自由世界的最后记忆。
旁边的年轻警察一直盯着窗外,没看我。
“同志,”我终于开口,“我们公司到底是什么事?”
“到了就知道了。”
六个字,像六颗钉子,把我钉在座位上。

10

讯问室在南州公安局。白墙,铁椅,摄像头的红灯亮着。
做笔录的警察问了我三个小时,问题一个比一个尖锐:
“哪年开始参与APP开发?”
“2021年底,外包形式。2023年6月全职加入。”
“具体做什么功能?”
“前端开发,主要是用户界面和交互逻辑。”
“知不知道‘一键搭讪’‘超级邀请人’这些功能是做什么用的?”
“产品需求上写的是‘增加用户互动率’。”
警察停下笔,看我:“张成江,你是资深程序员,你应该知道这些功能的实际效果。它们是不是在诱导用户快速建立联系,产生消费冲动?”
我沉默。
“说话。”
“从技术角度看是的。”
“那你知不知道,女主播利用这些功能,诱导用户打赏,然后拉黑?”
“我听说过有用户投诉。”
“只是‘听说过’?”警察身体前倾,“你是技术负责人,客服每天处理的投诉,数据会不会进系统?你看不看后台数据?”
“我主要写代码,运营数据不归我管。”
这是实话,但也是狡辩。作为技术总监,我有权限查看所有数据,只是我从来没去看或者说,不敢去看。
“你工资多少?”
“月薪三万五。”
“年终奖呢?”
“去年六万。”
“社保公积金呢?”
“按最高基数交。”
警察把这些数字记下来:“所以你在小美交友工作期间,总收入大约61万?”
我算了算:“差不多。”
“这61万,”警察合上笔记本,“是诈骗赃款。”
我猛地抬头:“什么?”
“小美交友公司经营收入3.2亿元,被认定为诈骗资金。你的工资从这3.2亿里出,所以你的61万是非法获利,要追缴。”
追缴。
这个词像一盆冰水从头浇下。意味着我这两年白干了,意味着我给母亲买药的钱是赃款,儿子幼儿园的学费是赃款,我们一家人的生活都建立在犯罪之上。
“但我只是个写代码的!”我声音开始发抖。
“起诉书里,你是第一被告人。”警察站起身,“收拾一下,送看守所。”
“第一被告人?”我脑子嗡嗡作响,“为什么是我?我只是技术人员,老板是袁成凯,运营是郝鹏飞……”
“他们另案处理。”
“另案?”我抓住最后一根稻草,“那我呢?”
“你,”警察看着我,“是技术环节的主要实施者。知道什么叫共犯吗?明知是犯罪还提供帮助,就是共犯。”
“我不知道……”
“真不知道吗?”警察从文件夹里抽出一张纸,“这是你们公司的后台数据统计:2023年1月至2024年5月,客服共处理投诉2873起,涉及金额4128万元。这些投诉数据,每个月都会发到技术部邮箱,要求‘优化系统减少投诉’。你邮箱是zhangchengjiang@xiaomeijiaoyou.com吧?”
我手脚冰凉。
是的,我收到过那些邮件。但我从来没点开附件,只看标题:“本月投诉数据汇总,请技术部关注”。
我以为只是普通的工作邮件。
“我没看内容……”
“但你收到了,”警察说,“一个正常人,在相亲交友公司工作,收到‘投诉数据汇总’,难道不好奇里面是什么?为什么不点开?因为你不敢,你心里知道公司有问题,你在自我欺骗。”
我被噎得说不出话。
他说对了。每一个字都说对了。
在讯问笔录上签字按手印时,红色的印泥沾在食指上,怎么也擦不干净。就像罪孽,一旦沾上,就渗进了皮肤里。

11

监室六个人。我睡在最靠厕所的位置,因为新来的都睡那儿。
上铺是个盗窃犯,半夜小声问我:“大哥,你犯的什么事?”
“诈骗。”
“多少钱?”
“3.2亿。”
他倒吸一口冷气:“那你完了,得枪毙。”
我没说话,睁眼到天亮。
头顶有一小块窗户,能看见夜空。我想起小时候在山东老家,夏天躺在屋顶上看星星。那时候以为人生很长,有无限可能。
现在才知道,人生就是一次次选择。选对了,继续走;选错了,就掉进坑里,再也爬不出来。
第二天开始,时间变得模糊。一天二十四小时,只有放风半小时能看到太阳。其他时间,就在六平米的监室里,坐着,等着。
等律师,等传唤,等开庭,等判决。
律师是法律援助指派的,姓李,很年轻。第一次会见时,他问我:“说实话,你知情吗?”
我沉默了很久:“一部分。”
“什么叫一部分?”
“我知道业务有灰色地带,知道可能有主播骗人,但不知道公司层面是组织诈骗。”
“有什么证据能证明你不知情?”
我苦笑:“没有。所有证据都指向我知情。我写代码,我收高薪,我有权限看投诉数据。”
“那你在法庭上要怎么说?”
“说真话。”
李律师叹了口气:“张先生,这种案子,说真话没用。法庭看的是证据链条。你在链条上,就是共犯。”
我心里清楚。但我还是抱着一丝希望。也许法官能理解技术人员的处境?也许能区分“明知”和“应知”?也许还有一线生机?
然后,母亲出事了。
入看守所第四个月,妻子来会见,隔着玻璃,她眼睛红肿:“妈昨天走丢了。”
“什么?”
“护理院的人一时没看住,她自己跑出去了。找了五个小时,在郊区的高速路口找到的,差点差点被车撞。”
我浑身发抖:“现在呢?”
“接回家了,爸看着。但爸心脏不好,上次差点晕倒。”妻子咬着嘴唇,“成江,你到底什么时候能出来?”
我不知道。案子还在侦查阶段,律师说至少还要半年。
“钱呢?”我问最现实的问题。
“存款还剩两万。妈的药断了,换成国产的,便宜但效果不好。儿子私立幼儿园下学期可能上不了了。”
“把我名下的车卖了。”
“已经卖了,13万,够撑几个月。”
我握紧拳头,指甲掐进掌心。这就是现实,当你失去自由时,你的一切都在崩塌:家庭、经济、家人的健康。
而这一切,只因为当初那个选择:闭上眼睛,继续写代码。

12

2025年11月24日,案件终于开庭。
天气很好,阳光透过法院高高的窗户照进来。我被排在第一个,手铐在押解过程中一直戴着,直到进法庭才打开。
旁听席坐满了人。我看见了妻子,她抱着儿子,孩子瞪大眼睛好奇地看着这个陌生环境。父母没来。
母亲离不开人,父亲不敢来,怕心脏受不了。
公诉人念起诉书时,声音在大厅里回荡。那些数字被念出来,有种不真实感:3.2亿,400万用户,61万非法所得……
轮到辩护环节时,我深吸一口气:
“第一,我是技术执行者,不参与产品设计。”
“第二,我开发的功能是行业通用功能,不具有诈骗专属性。”
“第三,我2023年入职后主要负责海外版,与涉案国内业务关联有限。”
公诉人反驳:“但你领的工资、社保、年终奖,都来自这3.2亿!你享受了犯罪收益,就是共犯!”
辩论陷入僵局。关于技术中立的讨论持续了两小时,直到我的律师提出一个请求:
“我们申请当庭演示涉案APP。”
所有人都看向我。
我站起来:“给我一台电脑,快的话半天我就能把APP恢复到案发时的版本。如果有所谓的诈骗功能,我愿意当庭认罪。”
这是我唯一的机会:用技术对抗指控,用代码解释代码。
但公诉人反对:“数据安全无法保证。”
“可以请法院技术人员操作,我只提供指导。”
审判长休庭商议。回来时,他摇头:“不具备演示条件。”
我的心沉到谷底。
那些我熬夜写出的逻辑,那些被指控为诈骗工具的功能,连被展示的机会都没有。
为什么?
因为有人不想让代码说话。代码太诚实了,一行行逻辑摆在那里,哪里是诈骗,哪里是正常功能,一看便知。
所以他们不让演示。
庭审第二天,焦点转移到我的收入。那张表格被投影在大屏幕上:工资、奖金、社保公积金合计61万,全部标红:“非法获利予以追缴”。
律师问我:“这意味着什么你知道吗?”
我看着旁听席上的妻子,她眼泪流下来了。
“意味着,”我的声音沙哑,“我从入职第一天起就在犯罪,意味着我给母亲买药的钱是赃款,儿子幼儿园的学费是赃款,我们一家人的生活都建立在犯罪之上。”
“但我只是个写代码的。”
法庭很安静。审判长低头记录,陪审员表情严肃,法警站得笔直。
在那一瞬间,我突然明白了这个案子的本质:它不是要追究某个人的罪,而是要给3.2亿资金找到一个合规的出口。而我和其他14名员工,就是这个出口的代价。
公司高层另案处理,可能判得轻,可能花钱摆平。
但我们这些普通员工,成了罪名的承担者,成了数字的牺牲品。
休庭时,律师小声告诉我:“张婷婷的父亲昨天脑溢血,没抢救过来。”
我脑子一片空白。张婷婷,那个市场部唯一的女孩,月薪一万五,以为找到了好工作,现在父亲去世都不能去见最后一面。
“为什么?”
“取保候审没批准,她在看守所里哭晕了三次。”
这就是现实。没有温情,没有理解,只有冰冷的法律程序。只要你被认定为共犯,你的一切苦难都不重要,你只是案卷里的一个名字,一个数字。

13

2026年2月,案件第三次补充侦查结束。
我的取保候审申请又被驳回。律师带来的消息让人绝望:关键人物郝鹏飞、钱成仍未并案,电子数据虽然移交了,但“仍需时间审查”。
看守所里过年有加餐,一人一个鸡腿。我吃不下,给了旁边的狱友。
除夕夜,远处传来鞭炮声。
我想起去年除夕,一家人包饺子,母亲还能认出我,说“成江,你多吃点,瘦了”。
现在她连我爸都认不出了。
春节后,律师突然带来一个爆炸性消息:“郝鹏飞的笔录出来了!”
“他说什么?”
“他说,”律师压低声音,“公司高层明确知道业务涉嫌诈骗,但给员工传达的是‘合规业务’。尤其是技术人员,袁成凯特别嘱咐过:‘不能让技术人员知道太多,他们容易有道德包袱。’”
我心跳加速:“这是真的?”
“郝鹏飞为了减刑,什么都说出来了。他还提到一个细节:2023年底,公司开过一次高管会,袁成凯说过这样一句话:‘技术人员就是写代码的机器,别让他们想太多。’”
“所以我们是刻意被蒙蔽的?”
“至少可以辩称是,”律师眼睛亮了,“如果法庭采信这一点,你们的‘明知’就成问题了!”
这就是反转。我们一直以为自己是共犯,但实际上,我们可能也是受害者:被高层刻意隐瞒真相,被高薪诱惑留下,被当成犯罪工具使用而不自知。
但问题是:法庭会信吗?
郝鹏飞和钱成至今没有并案,他们的证言能否用在我们的庭审中?公诉人会不会说“这只是郝鹏飞的一面之词”?
更重要的是,就算我们不知情,我们写的代码客观上帮助了诈骗,这算不算犯罪?
技术中立的边界在哪里?

14

案件搁置期间,我收到了一封信。不是律师函,是妻子的笔迹:
“成江:
妈今天清醒了十分钟,让我给你写信。
她说:‘告诉成江,我忘了他是谁,但我记得他是个好孩子。如果他做错了事,要认;如果没做错,要争。妈等不了太久了,但妈相信他。’”
信很短,字迹潦草,估计是匆忙写的。但每一个字都像针,扎在我心上。
我妈,一个连自己儿子都忘了的人,却记得“要认错,要争”。
她不知道我犯了什么罪,不知道3.2亿是多少钱,不知道我可能要在监狱里度过余生。
她只知道,她儿子是个“好孩子”。
可我还是好孩子吗?
我闭上眼睛,选高薪,明知有问题还继续写代码,为了家庭牺牲良心。
如果时间能倒流,回到2023年6月那个下午,在吸烟区王小帅对我说“别太较真”时,我会怎么做?
可能还是同样的选择。
因为现实太沉重了:母亲的药费、儿子的学费、房贷的压力、中年危机的焦虑。在这座大山面前,道德成了奢侈品。
这就是人性的真相:没有绝对的好人坏人,只有在不同压力下做出不同选择的普通人。
我被捕后,网上有很多评论。
有人说:“程序员就该判重刑,明知是诈骗还写代码!”
也有人说:“他们只是打工的,老板才是罪魁祸首!”
两种声音都有道理。但真正身处其中的人才知道,那不是在“明知”和“不知”之间的选择,而是在“怀疑”和“生存”之间的挣扎。
怀疑公司有问题,但不敢确定;
怀疑可能违法,但想应该不会那么严重;
怀疑迟早出事,但觉得不会轮到自己。
然后一天天过去,代码越写越多,工资越领越多,沉没成本越来越大,直到再也无法回头。
看守所的日子让我想清楚一件事:如果我出不去,我希望至少能给后来的技术人员提个醒。
别闭上眼睛。
如果看到可疑的需求,问清楚。
如果知道公司有问题,尽早离开。
如果为了高薪留下,至少留个证据:邮件、聊天记录、会议纪要,证明你曾质疑,你曾反对,你不是同谋。
虽然这些证据可能也救不了你,但至少,能让你在夜里睡得踏实点。

15

2026年3月,律师告诉我一个消息:郝鹏飞、钱成的案件要开庭了,但和我们是分开审理。
“这意味着什么?”
“意味着,”律师叹气,“你们可能先被判决。等你们的案子定了,他们再开庭。这样,他们的证言就用不到你们案子里了。”
我懂了。这是一种策略。把核心人物和普通员工分开,避免证言相互影响。普通员工先判,定了基调,核心人物再酌情处理。
“我们还能做什么?”
“只有一个办法了,”律师看着我,“集体绝食抗议,要求并案审理。”
“那就试试。”我说。
绝食第一天,看守所领导来谈话:“你们这是扰乱秩序!”
“我们只要求依法并案审理。”我发言,“郝鹏飞和钱成是关键证人,不并案对我们的审判不公。”
“法庭有法庭的考虑!”
“那请法庭解释,为什么不并案?”
谈话没有结果。但我继续绝食。
第三天。消息传到外面,有一些媒体开始报道。
第四天,法院终于回应:“鉴于案件特殊情况,合议庭正在研究并案可能性。”
这是一个拖延战术,但我没得选,身体快到极限了。
第五天,我晕倒了。醒来时在医院输液,律师坐在床边。
“有一个消息,”他说,“不知道是好是坏。”
“说。”
“最高法刚发布了一个典型案例:某P2P平台诈骗案,技术总监被判无罪,理由是‘仅提供技术服务,无诈骗故意’。”
我坐起来:“真的?”
“但那个案子有个关键点,技术总监保留了所有质疑的邮件,证明他曾多次反对违规操作。”
我沉默了。我没有保留那些邮件。或者说,我根本没有发过质疑邮件。
我只是在心里怀疑,没有说出来。
“我们案子呢?”
“还在研究,”律师说,“但至少,风向可能在变。技术人员的责任认定,越来越谨慎了。”
阳光从病房窗户照进来,很暖。
我突然想起儿子,他今年该上小学了。如果我出不去,他的入学表格上,“父亲职业”那一栏该怎么填?
“诈骗犯”?“程序员”?还是“在押人员”?

16

2026年5月8日,案件重新开庭。
这次,法庭同意了我们部分请求:郝鹏飞和钱成不会并案,但他们的部分笔录可以作为证据引入。
更重要的是,法庭允许我们提交一份“技术分析报告”。
报告是我在看守所写的,用纸笔手写了120页,分析了涉案APP的每一个功能模块。我把技术逻辑、产品意图、实际效果拆解得清清楚楚:
“一键搭讪”功能——缩短用户建立联系的时间,增加冲动消费可能。
“超级邀请人”功能——实质是传销式拉新,激励用户发展下线。
“送礼打赏”功能——配合后台算法,识别高消费用户并重点维护。
“用户保护系统”——默认关闭,形同虚设。
最关键的一页,我画了一张图:公司的犯罪链条。
最上层是袁成凯等决策者,中间是郝鹏飞等运营者,最下层是我们这些执行者。
“技术人员处于链条末端,仅接收需求,不参与策划。我们像厨房的厨具,厨师用刀切菜还是杀人,厨具无法选择。”
报告当庭提交后,公诉人沉默了很长时间。
审判长问:“公诉人需要时间审阅这份报告吗?”
“需要,”公诉人站起来,“但我先问被告人一个问题:张成江,如果你真的怀疑公司有问题,为什么不辞职?”
我深吸一口气:“因为我母亲有阿尔茨海默症,每月药费要八千。因为我儿子要上学。因为我需要钱,很多钱。”
“所以为了钱,你可以放弃原则?”
“审判长,”我的律师举手,“这不是放弃原则,这是生存所迫。如果公诉人认为这是罪,那么请问,这个社会有多少人为了生存在做违心的工作?”
法庭再次安静。
最后,审判长宣布:“休庭,择日宣判。”
走出法庭时,我看到妻子抱着儿子在旁听席最后一排。儿子对我挥了挥手,口型在说:“爸爸加油。”
我点了点头,眼泪再也控制不住。

尾声:三年后

2026年8月,我出狱了。
不是无罪释放,而是“判三缓四”——有期徒刑三年,缓刑四年。也就是说,我实际在看守所羁押790天,剩下的刑期在外面执行,只要四年内不再犯罪,就不用坐牢。
判决理由写得很长,核心就一句:“被告人作为技术人员,主观恶性较小,在共同犯罪中起次要作用,且有家属需要抚养,酌情从轻处罚。”
其他同事也差不多:王小帅判三缓三,张燕判二缓三,陈小雪判一缓二。没有一个人实刑。
听起来是个好结果。
但代价是:我的61万全部追缴,房子被查封拍卖,妻子卖了绍兴的房子才还清罚金。
母亲在我入狱第二年去世。去世前,她偶尔清醒时会问:“成江呢?”父亲总是骗她:“出差了,很快就回来。”
她等不及了。
出狱那天,阳光刺眼。妻子和儿子来接我,儿子已经小学二年级了,长得很快。
“爸爸,”他递给我一个盒子,“送你的。”
是一副新的机械键盘,青轴。
“你以前那个,被警察收走了。”妻子说。
我接过键盘,很轻。就像我的人生,一场大火后,什么都没留下,只剩一点灰烬。
一个月后,我收到一封邮件,是王小帅发的:
“江哥,我在一家小公司写代码,月薪八千。张燕在超市当收银员,陈小雪回老家开网店。我们偶尔聚聚,从不谈过去。
但我想告诉你一件事,我自学了法律,明年准备考律师资格证。我想帮那些和我们一样的人,在技术、道德和法律之间,找到一条生路。
也许这也是你写代码的方式。
保重。”
我回了个“好”,然后打开电脑,注册了一个新的GitHub账号。
第一个仓库,命名为“Tech_Ethics”(技术伦理)。
第一行提交信息写着:“代码不应该成为罪恶的齿轮,写代码的人也不应该闭上眼睛。”
作为一名程序员,我失去了三年自由,失去了母亲,几乎失去家庭。
但至少,我还能写代码。
这一次,我要写一些干净的东西。
不管有没有人看,不管能不能赚钱。只为良心能安。
这就是我的故事。一个普通码农,在3.2亿诈骗案中的浮沉。我犯了错,也付出了代价。但生活还在继续,代码还在继续。
如果有天你读到这段代码,请记住:技术没有善恶,但技术人有选择。
别闭上眼睛。
(全文完)
改编至热点新闻,情节为作者虚构创作。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 23:25:43 HTTP/2.0 GET : https://f.mffb.com.cn/a/471652.html
  2. 运行时间 : 0.525480s [ 吞吐率:1.90req/s ] 内存消耗:4,757.04kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=99f89ac3b4db70a41fe37733f27186b8
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000687s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000674s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000257s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.009654s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000522s ]
  6. SELECT * FROM `set` [ RunTime:0.003772s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000581s ]
  8. SELECT * FROM `article` WHERE `id` = 471652 LIMIT 1 [ RunTime:0.101146s ]
  9. UPDATE `article` SET `lasttime` = 1770477944 WHERE `id` = 471652 [ RunTime:0.248268s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.001606s ]
  11. SELECT * FROM `article` WHERE `id` < 471652 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.014362s ]
  12. SELECT * FROM `article` WHERE `id` > 471652 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004947s ]
  13. SELECT * FROM `article` WHERE `id` < 471652 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008949s ]
  14. SELECT * FROM `article` WHERE `id` < 471652 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.027556s ]
  15. SELECT * FROM `article` WHERE `id` < 471652 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.019460s ]
0.529728s