H5/PHP/微信小游戏源码下载 - Unity/Cocos完整工程项目

📅 2026/8/2 12:16:00
H5/PHP/微信小游戏源码下载 - Unity/Cocos完整工程项目
在当下小游戏变现与流量主生态里「拿到一份能跑、能改、能上架」的完整工程比从零写一行代码更值钱。本文以标题H5/PHP/微信小游戏源码下载 - Unity/Cocos完整工程项目为纲把一类典型可交付源码包的内部结构、技术栈边界、后端对接方式与二次开发坑点一次性拆开面向的是个人开发者、接单工作室、运营买量团队以及想把 Demo 转成线上产品的技术同学。源码及演示y.wxlbyx.icu一、为什么是「H5 PHP 微信小游戏 Unity/Cocos」这套组合小游戏源码市场里单纯前端 Canvas 玩具和单纯 Unity 工程都不算「完整项目」。真正能交付的包通常长这样表现层H5 网页版用于落地页试玩、PC 端预览 微信小游戏版流量主变现主阵地生产工具Unity偏中重度/3D/转 WebGL或 Cocos Creator 3.x偏 2D 休闲/官方原生小游戏适配后端层PHP 8.x 提供登录、签名、排行榜、支付回调、防刷分与运营后台MySQL 落库 Redis 抗并发可运行证据game.js入口、build/wechatgame/导出包、AssetBundle/Asset Bundle 分包、PHP 的api/与config/目录齐全这套组合的意义在于——前端覆盖试玩与裂变微信覆盖变现PHP 覆盖你完全掌控的数据主权。不像纯云函数方案老板换个人就能把玩家资产带走。二、完整工程源码包的目录范式以 Cocos PHP 为例下载一份合格的「完整工程」后根目录应至少能看到两条平行主线/root ├── client-cocos/ # Cocos Creator 3.8.x 工程 │ ├── assets/ │ │ ├── app/ # 入口初始化、广告ID配置(handle.ts) │ │ ├── app-bundle/ # 界面与资源可拆分包 │ │ ├── app-builtin/ # 核心数据模型与状态机 │ │ ├── resources/ # 首包强制资源慎放大图 │ │ └── scene/ # home.scene / play.scene │ ├── build-templates/ │ │ └── wechatgame/game.js # 自定义覆盖微信入口 │ └── build/wechatgame/ # 构建产物game.js/game.json/js/res │ ├── client-unity/ # 可选Unity 转微信小游戏工程 │ ├── Assets/WeChatPackages/ # 分包 AB 资源 │ └── minigame/ # 微信转换工具导出目录 │ ├── h5-web/ # 纯 H5 试玩版Vite/原生均可 │ └── index.html main.js # 复用 Cocos 导出的 web-mobile 包 │ └── server-php/ # PHP 后端 ├── public/index.php # 入口 ├── api/ # login.php / start.php / click.php / rank.php ├── config/database.php # PDO 连接禁存网页根目录 ├── middleware/auth.php # sessionsign 校验 └── scripts/ # 运维脚本、补数据、清脏分判废标准如果卖家发来的「源码」只有game.js一个文件或 PHP 端只有conn.php拼 SQL没有 Asset Bundle 分包、没有 Redis、没有签名校验——那是教学 Demo不是工程。三、Cocos 工程侧从game.js到 Asset Bundle 的真实结构3.1 微信小游戏入口game.jsCocos 构建到微信平台后根目录生成的game.js负责 boot 引擎window.bootfunction(){constsettings{id:gameCanvas,debugMode:0,frameRate:60};require(./js/bundle.js);cc.game.run(settings,(){require(./src/project.js);cc.assetManager.loadScripts();});};typeofwx!undefinedwx.onWindowResizewx.onWindowResize();二次开发时不要直接改build/wechatgame/game.js而应在build-templates/wechatgame/game.js放覆盖模板这样每次 Cocos 点「构建」不会把你手改的启动逻辑冲掉。3.2 资源分包4MB 主包红线怎么破微信小游戏主包限制 4MBCocos 工程必须把非首屏资源拆出去resources/只留 Loading 图、首场景脚本、配置文件玩法场景放app-bundleAsset Bundle按需cc.assetManager.loadBundle(app-bundle)音频独立bundleAudio关卡数据用 Excel→JSON 导出到bundleCommon/data/levels.json广告 ID、分享文案、振动开关收口到assets/app/handle.ts的adConfigMap换皮只需改这一处Unity 侧思路一致把Resources/拆成WeChatPackages/Level1等 AB 包导出后在project.config.json声明subPackages否则 iOS 冷启动直接超时。3.3 广告与平台能力的接入面完整工程里应能看到激励视频wx.createRewardedVideoAd封装在GameSdk.ts插屏createInterstitialAd且带「每局仅 1 次」节流微信开放数据域排行榜子域openDataContext/独立构建分享图动态绘制canvasToTempFilePath这些在 Cocos 工程里通常聚合在assets/GameSdk/下PHP 端不需要管但广告位 ID 必须抽成配置否则你买来的源码跑的还是原作者的流量主。四、Unity 转微信小游戏工程的特殊结构如果源码包带client-unity/它不是普通 APK 工程而是走微信官方Unity 转换工具的产物Unity 打 WebGL → 装「微信小游戏 Unity 插件」→ 填 AppID 与资源 CDN → 导出minigame/与webgl/两套目录minigame/game.js加载 wasm 分包资源走 CDN 预下载原生Socket全部改成UnityWebRequest WebSocketPHP 后端要支持Sec-WebSocket-Protocol握手Addressable/AB 分包映射WeChatPackages主包 wasm 拆首帧/延迟两块拿到 Unity 版源码先问一句资源 CDN 地址硬编码在哪不清掉原作者的 OSS 域名你构建完游戏会去拉别人的包。五、PHP 后端小游戏服务端的最小可用架构H5/小游戏后端用 PHP 完全够打关键是别用「表单提交MySQL 直写」的老写法。推荐常驻或半常驻方案轻量接口PHP-FPM Nginx OPCacheRedis 做排行榜 ZSetMySQL 仅落结束局实时房间Webman/Swoole常驻内存WebSocket 管心跳避免 FPM 千连接爆炸5.1 接口分层示例以「羊了个羊」类三消为例// routes/api.phpRoute::post(/start,[GameController::class,start]);Route::post(/click,[GameController::class,click]);Route::get(/rank,[GameController::class,rank]);// GameController::rank$listRedis::zrevrange(rank:score,0,19,WITHSCORES);// 前端拿到 [{name, score}] 渲染前 20核心约定开始游戏前端带wx.login拿的code→ PHP 调微信jscode2session换openid→ 下发token存 Redis 30 分钟每次点击/得分前端带token sign md5(actiontssecret)ts防重放PHP 校验时间窗 ±30s结束局写 MySQLgame_log含ip_hash、ua_hash做反作弊同时Redis::zincrby(rank:score, $score, $uid)防刷分单 uid 每秒请求数限流连击分超过阈值进人工审查队列5.2 数据库骨架脱敏users(id,openid_unique,nick,avatar,ctime)game_log(id,uid,score,level,combo,ip_hash,ua_hash,ctime)props(uid,coin,revive_count,ad_watch_today)secret.php放 Web 根外.htaccess禁访密码用password_hash分数用 PDO 预编译XSS 用htmlspecialchars过滤输出。5.3 H5 与微信共用一套 PHP 后端时的差异处理H5 端用自有账号体系或微信 H5 授权snsapi_userinfoorigin校验防 CSRF微信小游戏端用wx.login静默授权广告归因靠wx.getLaunchOptionsSync()的query回传 PHP 记渠道同套接口通过platform字段路由H5 走 sessioncookie小游戏走 tokenRedis六、一份「完整工程」该附带的隐性资产只给代码的人是卖文件卖工程的人会给这些Excel 数值表 → JSON 导出脚本关卡、道具、广告触发点换皮清单美术替换路径映射表哪张图对应哪个 prefab 的 SpriteFrame微信侧配置样本appid占位、project.config.json分包声明、sitemap.jsonPHP 部署文档Nginx 伪静态把/api/*转public/index.php、Redis 持久化开关、HTTPS 强制防封指南激励视频触发间隔、隐私协议弹窗、wx.requirePrivacyAuthorize接入位买量落地页H5 试玩版带「点击跳转微信小游戏」按钮UTM 参数回传 PHP缺第 6 条你源码再完整也接不住投放流量。七、二次开发最常踩的 7 个坑Cocos 改了代码不生效忘了先改build-templates再构建直接手改build/wechatgame被下次构建覆盖主包超 4MB 传不上微信把关卡 png 塞进resources/应移入 Asset Bundle CDNUnity 转微信黑屏wasm 没拆包、CDN 没配安全域名、iOS 没开高性能模式PHP 排行榜串号用$_SESSION存分FPM 多机不共享必须 Redis 绑定 uid广告收入跑别人账号handle.ts里adConfigMap没替换成自己流量主 IDH5 被 iframe 嵌套刷分PHP 没校验Origin与Referer没加 token 时效买来源码有后门game.js里藏wx.request上报玩家 openid 到第三方域名拿到包先 grep 外部域名八、怎么判断你下载的那份「源码」值不值按这个清单打勾✅ Cocos 工程能用 3.8.x 打开Unity 工程带minigame/导出目录✅build/wechatgame/game.js存在且入口规范✅ PHP 端有config/database.php外置、PDO 预编译、Redis 排行榜✅ 广告 ID 集中在单个 ts/php 配置数组未硬编码散落✅ 资源走 Asset Bundle / AB 分包非首屏不进主包✅ 带 Excel 数值表与导出脚本✅ 有部署文档与隐私弹窗接入位七条全中是「完整工程项目」中三条以下是「代码片段合集」。