个人娱乐项目,请勿在生产环境中使用。
基于 create-rspeedy(ReactLynx)脚手架 + @ckylinmc/mp-sdk
(npm 安装)+ lynx-ui,内置完整文档、
AI 技能与打包命令的最小可用小程序模板。
bun install # 安装依赖(bun.lock;npm 亦可)
bun run dev # LynxExplorer 扫码预览(无宿主桥时徽标显示「桥不可用」,调用快速失败 NOT_IMPLEMENTED)
bun run build # 产出 dist/main.lynx.bundle(+ static/…)
bun run pack # 打包 {APP_ID}.lynx.bundle.zip(APP_ID 默认取 package.json name;可 bun run pack <id> 覆盖)打包产物上传宿主后端 mpindex 记录后即可真机运行(字段要求与版本递增规则见
docs/WORKFLOW.md §7–§8)。
| 部分 | 说明 |
|---|---|
src/App.tsx |
最小演示:桥探测徽标 + 首帧 requestPerms + 权限/存储/身份/分享/下载 + 结构化日志(错误 code·message) |
src/lib/ckylmp.ts |
桥 SDK 包装层(必读):import 'background-only' + export * from '@ckylinmc/mp-sdk';业务代码只从这里导入 |
docs/ |
SDK 完整文档(与 mp-sdk 仓库快照一致):权限系统 / API / 错误码 / 推送事件 / 开发与打包全流程 |
skills/ |
AI 可导入技能:ckylmp-sdk(桥 SDK)+ lynx-api-docs / lynx-ui / reactlynx-best-practices / lynx-typescript |
scripts/pack.mjs |
打包脚本(打包后自动校验条目:无 dist/ 层级、无穿越/绝对路径、必含 main.lynx.bundle) |
- 双线程:桥调用只在后台线程(事件处理器 /
useEffect/'background only'函数); 渲染作用域只允许纯模块与import type; - 权限声明前置:后端
mpindex.perms必须先声明(fail-closed),否则PERM_NOT_DECLARED; - 先订阅后调用:
onDownloadProgress等推送订阅在触发调用前完成; - 组件白名单:lynx-ui 已验证
Button/ScrollView/Dialog/Input; 禁用Checkbox(render-prop 白屏)、Sheet(backdrop 残留)、List(list-item 不渲染)。
- docs/PERMISSIONS.md — 权限系统(声明制/三态裁决/requestPerms/backevent/scope)
- docs/API.md — 全部 API:参数/返回/行为/错误/示例
- docs/ERRORS.md — 错误码全表/超时语义/降级矩阵
- docs/EVENTS.md — 推送事件契约
- docs/WORKFLOW.md — 脚手架 → 构建 → 打包 → 上传 → 验收全流程
- skills/README.md — AI 技能导入说明