跳到内容
当前位置:首页>小程序源码>我以为最难的是写代码,直到把小程序送上线

我以为最难的是写代码,直到把小程序送上线

  • 2026-10-28 08:45:51
我以为最难的是写代码,直到把小程序送上线
WORKBUDDY 手记 · 项目复盘2026.10.16

小程序上线了 · 7 天,和 12 个坑

一款 MOBA 出装速查工具,从立项到上线的完整流水账 —— 以及一份可以照着做的教程。

DOODLE

105 位英雄 · 315 套出装 · 云端 0 台服务器

微信小程序云开发

EDITOR'S NOTE

写在开头

这篇不是成功学。它是一个不会写代码的人,带着一个 AI 搭档,把一款小程序从想法推到线上的流水账 —— 哪天做了什么、卡在哪、怎么绕过去。后半部分是教程,可以照着做。

01

PART

上线之夜:8 小时 40 分

LAUNCH NIGHT

10 月 16 日上午 11 点 21 分,我点了后台那个「提交审核」。然后就是等。

晚上 8 点 04 分,手机弹出来一条通知:审核通过。我盯着看了两秒,才反应过来去点下一步 —— 提交发布。20 点 13 分,按钮按下。10 到 30 分钟后,这个小程序就能被搜到了。

 11:21:25 / 提交审核

代码上传完、版本描述写完、隐私说明填完、图片预览传完,点下提交。平台页面上写着一行字:「预计在 1-7 天内完成审核」。

 20:04 / 审核通过

提交到过审一共 8 小时 40 分,落在「1-7 天」区间的下限附近。全程没有补材料、没有被驳回 —— 这不是运气,是提审前把能查的项都自查了一遍。

 20:13 / 提交发布

按钮字面就是这四个字,在「管理 › 版本管理 › 审核版本」卡片右侧,绿底。旁边那个「详情」只是用来看填写内容的,别点错。

顺带说一句:平台明确写了不支持加急,也没有“催审”这个功能。能做只有一件事 —— 提交之前,把该自查的自查完。

🖼

待补素材

小程序首页截图(105 位英雄列表)

02

PART

先定性,再动手

POSITIONING

这个项目从立项到上线一共 7 天。但第一天我没写一行代码。做的全是“定性”:这东西到底是什么、算哪一类、数据从哪儿来。

别小看这一步。同样一份“英雄出装数据”,你怎么定义它,直接决定审核那边是放行还是拒稿。

攻略 · 速查工具

类目走「工具 > 信息查询」

vs

游戏辅助

触碰红线,个人主体必拒

这两者差多远?其实只差“你提供的是查得到的资料,还是替你操作游戏的能力”。前者是工具,后者是外挂。所以从第一天起,全站禁用“辅助 / 外挂 / 脚本 / 代练”这类词,一个都不留。

类目不是一个标签,是产品边界。 它决定了你能做什么功能、能放什么内容、甚至能不能做付费。选错不是改一下就能好的,是整条产品线要重来。

03

PART

105 位英雄:数据不是填出来的

DATA LAYER

一个出装速查工具,最重的不是代码,是数据。105 位英雄,每位 3 套出装,加起来 315 套方案。要是靠手写,光敲字就要好几天。

更要命的是,照着现成攻略抄一遍,等于复述别人的东西,版权和合规都不干净。所以换个思路:基础信息手工整理,出装交给规则引擎算。

PIPELINE

从 105 条基础信息,到 315 套出装的数据流水线

全链路零外部数据:从英雄总表进,到用户打开小程序看到的第一屏出,中间没有任何一次联网抓取。

引擎的判断方式很关键:它不认识“某件具体装备”,只认识能力标签 —— 这件装能提供多少护甲、多少穿透、能不能减疗,全是从属性推出来的。

所以在代码里,你找不到一行「看到破军就选破军」。 buildAdvisor.js 里没有装备 ID,只有能力和规则。

好处是,明天往库里加一件新装备,规则立刻就能用上它,代码一个字不用改。反过来,库里缺某类装备,引擎会老实报“缺口”,而不是硬凑一套出来骗人。

对外口径也守得很死:生成出来的方案,标题一律带「系统推荐」,注明“由规则引擎自动生成,仅作起步参考”。不许说“高分段方案”“胜率最高” —— 数据全是自建的,没有对局统计,就不能装成有。

04

PART

技术选型:能少折腾就少折腾

STACK

技术栈选了最朴素的一套:微信原生小程序 + 云开发。没有框架、没有构建工具、没有服务器。

理由很实际:一个人做,最贵的是“运维注意力”。多一台服务器,就多一份要盯的东西。

维度
原生 + 云开发
自建服务器
服务器
0 台
要买、要运维
备案
只备小程序
服务器 + 域名
成本
¥19.9/月起
几十到几百
广告 / 订阅消息
原生支持
要自己接

最后落地的规模是这样:13 个云函数、12 个集合、9 条索引,前端 3 个主包页面 + 2 个分包。

有个设计我自己挺满意:数据带版本号。后台改数据、切版本,用户下次打开小程序就是最新的 —— 全程不用重新发版,也不用再去惊动一次审核。

05

PART

上线前的三道关

GATES

代码写完只是“做完了”,离“能上线”还有三道关,而且只有这三道全过了,审核那一步才会顺。

第一关ICP 备案

这一步最不占工作量,但最费时间 —— 官方给的时间是 1 到 2 周,而且必须在提审前完成。它不占用你写代码的时间,所以正确做法是:开项目第一天就去提交。

有一个坑值得提前知道:地址栏别写“××经济开发区”这类字样,很容易被驳回重填,一来一回又是一周。按身份证地址老老实实写。

第二关隐私指引

这一关最容易翻车,因为它有两种方向的错:声明了没真正调用的接口(多余),或者调用了却没声明(要命)。

规规矩矩的做法是:声明只覆盖真正调用过的接口。这个项目里只用了两个 —— 一个是setClipboardData(复制铭文串),一个是选图片。那就只声明这两项,不贪多。

注意

未上线的小程序,隐私指引的入口在提审页的信息填写区,不在「设置」里;而且提审时有一栏「采集用户隐私」必须勾上。上线之后,入口才会挪到设置页去。

第三关提审材料

类目要选对,版本描述要写清,图片预览要放真实的界面截图。还有一个容易被忽略的点:提审页没有备注框,如果你有什么想跟审核解释的,只能写进“版本描述”里,而且限 200 字。

这三关都过完,再点提交。8 小时 40 分后收到的,才是一条干净的通知。

06

PART

我踩过的坑

PITFALLS

这部分是这篇文章里最值钱的内容。下面每一条都真踩过,而且都不是“报错了你才知道”的那种。

 01 / AppID 填错,会覆盖别人的小程序

一个 AppID 只属于一个小程序。你手上如果有好几个,千万别顺手复制粘贴 —— 点「上传」的那一刻,会静默覆盖那个小程序的开发版,不报错、不提示、你也不会发现。上传前先对一眼配置文件里的 AppID。

 02 / 最难查的 bug:0 条数据,还不报错

云数据库里有 105 条数据,首页却一位英雄都不显示,而且没有任何报错。原因是数据层拿到空结果时只返回空数组、不抛异常,所以“兜底”逻辑根本没被触发。查了半天才定位到是集合权限配错。教训:判断数据对不对,只能数条数,不能靠“页面没报错”。

 03 / 隐私声明在开发版上不生效

做剪贴板功能时,我在开发版里点了半天,一切正常。以为没事了 —— 但正式版的拦截链和开发版不一样,声明没配好,用户那边就是一个错误码 112。结论:涉及隐私接口的功能,只能在正式版上验,而且必须先发布上线 —— 这是它唯一的验证时机。

 04 / 加载提示和成功提示会打架

转圈提示和弹出提示共用同一层。你先弹了“成功”,后面那个“加载中”就会把它盖掉,用户看到的是一句莫名其妙的加载中。顺序必须是先关加载、再弹提示。

 05 / 免费环境有 15 天倒计时

云开发的免费环境,小程序发布上线后到期时间会变成“上线后第 15 天”,不转付费就销毁,数据找不回来。所以它有一个必须记住的时点:上线当天买套餐,别提前 —— 有效期是按购买日重算的,早买等于白烧一个月。

 06 / 买了套餐,倒计时没有消失

这是我差点被自己骗到的一条。买完套餐会有种“安全了”的错觉,但免费环境那条红线只是换了个日期 —— 套餐自己不续费,到期照样释放资源、数据不可恢复。而且“已购买”这三个字最容易让人松劲,所以到期日一定要写下来。

 07 / 清缓存不是“万能重启”

排查数据问题时我想当然地认为“清一次缓存就干净了”。实际上空结果从来不进缓存 —— 这本来是件好事(避免把一次失败固化 30 天),但反过来也说明:能不能查到数据,和缓存无关,别用它当判据。

 08 / 索引列表里那个多出来的,不用删

云数据库的索引列表里会多出一条你没建过的索引,看着像“建错了”。那是平台默认生成的,跟你配的权限没关系,留着也没有副作用。别为了“干净”把它删掉,反而可能踩到别的坑。

 09 / 那个绿色按钮不叫「发布」

过审之后,后台按钮上的字是「提交发布」,四个字,一个字都不能少。如果你按“发布”这两个字去找,会找不到。它就在「版本管理 › 审核版本」卡片右侧,绿底。

 10 / 「提交时间」和「状态时间」是两回事

上线之后我随手看了眼前面的记录,发现写着“已发布(9 小时前)”—— 可发布明明就在两分钟前。原因是那个时间是从提交审核那一刻算起的。同样一件“时间”,描述的是完全不同的两件事。

 11 / 测试“没变红”,先怀疑测试本身

我习惯用“故意改坏一处、看检查会不会报警”来证明检查有效。有几次改了却没反应,第一反应是“检查很稳”。其实是我改的那个地方渲染结果完全一样 —— 等于什么都没改。不报警的时候,先问一句:我刚才真的改变了什么吗?

 12 / 要到处出现的数字,只能有一个来源

同一件事的数字如果在好几个地方各写一遍,早晚会有一处忘了改。我就在这上面栽过:索引明明已经建完,页面上还在提示“记得去补索引”,两个地方自相矛盾。后来把判断收成一个统一的口径,所有地方都读它,这类问题就再也不出现了。

07

PART

手把手:做一个自己的小程序

TUTORIAL

下面这九步,是这次走下来的完整路径。顺序很重要 —— 尤其是第二步要提前,因为它最慢。

Step 1注册小程序账号

去微信公众平台,用一个全新邮箱注册(同一邮箱只能注册一个)。个人主体要做认证,大约 30 元一年。注册完立刻去看一眼「推广 › 流量主」那个按钮亮没亮。

提示

个人主体最多注册 5 个小程序(按身份证、微信号、手机号各有上限)。如果你已经有几个了,先查清楚余量,别做到一半发现额度不够。

Step 2提交 ICP 备案(立刻做)

在公众平台按引导提交,等 1 到 2 周。这一步不占用你写代码的时间,所以完全可以和开发并行 —— 你写你的代码,它在后台慢慢审。等你要提审了,它正好过。

Step 3装开发者工具,建工程

下载「微信开发者工具」,新建项目时选「小程序 · 云开发」模板,填上刚注册的 AppID。

建完第一个动作是核对 AppID:打开配置文件看一眼,和你注册的那个是不是同一个。这一步花 5 秒,能省掉后面最难查的一类事故。

Step 4开通云开发环境

在开发者工具里点开云开发控制台,创建环境,把环境 ID 填进代码的初始化里。免费额度对个人开发完全够用,上线前不用花一分钱。

Step 5建集合、配权限、加索引

这是整个教程里最容易配错的一步。原则只有一句:谁能读、谁能写,按数据本身的性质分,不按“方便”分。

面向所有人展示的数据(比如英雄资料),设成公开只读,让客户端直接查,快而且省调用;用户自己的数据(收藏、反馈),设成只有本人可读写;纯后台用的数据,直接完全禁止客户端访问。

配完一定要真的去数一下条数 —— 权限配错时,界面不会报错,只会安安静静地显示 0 条。这就是上面第 2 个坑。

Step 6写页面,但先写“能跑”的那版

先用最小的页面把主链路跑通:列表 → 详情 → 切换版本。跑通了,再加功能。这个项目第一版也只做了这三页。

页面一多就分包:主包只放首屏要用的,其余塞进分包,能把启动时的下载量压下去。这是体感最明显的一个优化。

Step 7提交前做一次全量自查

这一类项目最值钱的动作,其实是“提交之前”做的事。逐项对一遍:类目对不对、隐私声明有没有覆盖真调过的接口、有没有敏感词、有没有忘记写的免责声明。

我的习惯是把它做成一张可以逐条打勾的清单,每勾一条就当场验一条 —— 不是“我觉得应该没问题”,而是“我刚亲手验过”。这次 8 小时 40 分过审、零补材料,靠的就是这个。

Step 8上传、填表、提交审核

上传代码 → 填版本描述和隐私说明 → 传 3 到 4 张真实界面截图 → 点提交。然后关掉后台,去做点别的。平台写着 1 到 7 天,不支持加急,盯也盯不出来。

Step 9过审 → 提交发布 → 当天买套餐

收到过审通知后,去「版本管理 › 审核版本」点那个绿色按钮,10 到 30 分钟正式上线。同一天把云开发的付费套餐买掉 —— 别提前,也别拖到第 15 天。

九步里,只有第 6 步在写代码。 其余八步都是“决定”和“核对”。这也是为什么我说,写代码是这件事里最简单的一部分。

08

PART

最后,三句实话

CLOSING

///

END

门槛不在技术,在耐心

三句实话

第一句:做小程序真正的门槛不是写代码,是耐心。备案要等,审核要等,很多东西没有捷径也没有加急。能不能把“等”这段时间用来做别的,基本决定了一个人能不能把项目推到线上。

第二句:别把“没报错”当成“没问题”。这次最费时间的几个坑,全是不报错的那种 —— 0 条数据、按钮找不到、声明不生效。真正的功夫,是给这些“安静的错误”提前准备判据。

第三句:上线不是终点,是第一天。线上一分钟,问题就会以你想不到的方式冒出来。所以我把还没做完的几件事也留在这儿:中低端安卓机还没实机走查,讨论区还没开,装备库还能再扩。

把该查的查完,剩下的交给时间。

本期结论

一款 105 位英雄的出装速查工具,7 天从立项走到上线,8 小时 40 分过审。

下一步

冲 UV,把日活做到 3000 —— 广告位优化是放大器,不是发动机。

COMMON QUESTIONS

01 / 不会写代码,能做小程序吗?

02 / 一定要买服务器吗?

03 / 审核被驳回怎么办?

04 / 从零到上线,一共花了多少钱?

01 / 不会写代码,能做小程序吗? 能做。这次全程是一个不会写代码的人加一个 AI 搭档完成的。但要接受一点:不做代码,不等于不用做判断 —— 类目、权限、合规这些“决定”,AI 替不了你拍板。

02 / 一定要买服务器吗? 不一定。云开发这类方案可以让你一台服务器都不买,代价是长期成本按量走。小体量工具前期基本就是一杯奶茶钱一个月。

03 / 审核被驳回怎么办? 先看驳回理由属于哪一类,改完重新提交就行,不影响其他。真正要避免的是“因为没自查而被驳回”,那种最浪费时间。

04 / 从零到上线,一共花了多少钱? 认证费约 30 元一年,加上上线后的云开发套餐 ¥19.9 一个月。素材自绘,没有外包。加起来不到两位数。

我是王老灯,一个在 D 盘上折腾各种小项目的人。这里记录它们从想法到落地的过程,包括翻车的部分

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