新闻详情

新闻详情

首页 / 资讯中心 / 详情

向AssppWeb贡献代码:编码规范、导入顺序与PR审查规则的完整开发者路线图

发布时间:2026/11/12 21:11:45来源:尧图网络
向AssppWeb贡献代码:编码规范、导入顺序与PR审查规则的完整开发者路线图
向AssppWeb贡献代码编码规范、导入顺序与PR审查规则的完整开发者路线图【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWebAssppWeb 是一款在 App Store 之外获取并安装 iOS 应用的网页工具支持 Apple ID 登录、应用搜索、许可证获取与 IPA 编译安装。本文是面向新手贡献者的完整路线图先讲清项目结构与 TypeScript 编码规范再拆解九级导入顺序规则最后汇总 PR 审查时的每一条硬性检查项帮助你的代码一次性通过评审 快速上手克隆仓库并了解项目结构如果你是第一次参与开发先克隆仓库git clone https://gitcode.com/gh_mirrors/as/AssppWeb项目采用多端单体仓库 Docker 多阶段构建核心目录如下目录职责backend/Node.js/Express 服务端TypeScriptESM提供 Wisp 盲代理与 Bag 代理frontend/React 19 Vite Tailwind CSS 4 单页应用e2e/Playwright 端到端测试pnpmcloudflare/Cloudflare Workers Containers 部署入口references/ApplePackage/Swift 参考实现是 Apple 协议行为的唯一事实来源构建与运行入口见 compose.yml 和 Dockerfile前后端依赖与脚本分别在 frontend/package.json 与 backend/package.json 中声明。 最重要的架构约束零信任。服务端是一个盲 TCP 代理永远看不到任何 Apple 凭证。任何 PR 都不得破坏这条边界——协议改动前务必对照 Swift 参考实现。TypeScript 编码规范4 条基本约定项目所有代码使用 TypeScript规范统一而克制规范项要求示例缩进2 空格const x 1分号必须保留const x 1;引号字符串统一单引号hello命名类型/接口用 PascalCase变量/函数用 camelCaseSoftware/accountHash()前后端都遵循这套风格后端是 ESM 模块backend/package.json 中type: module用tsx跑开发、tsc做生产构建前端由 Vite 驱动。错误处理风格同样固定提前 return 减少嵌套、异步操作一律try/catch、Express 统一错误中间件集中处理。导入顺序规则九级分类法逐层解析这是 AssppWeb 最容易被 PR 审查驳回的细节。每个前端文件顶部的 import 必须严格按以下 9 级顺序排列级别分类典型示例1React / 库导入useState、useNavigate、useTranslation2布局组件PageContainer3通用组件AppIcon、Alert、Spinner、Modal、CountrySelect4同功能目录内的兄弟组件Download/中的DownloadItem5Hooks / 状态存储useAccounts、useSettingsStore6Apple 协议 / API 模块authenticate、purchaseApp、apiPost7工具函数accountHash、getErrorMessage8配置countryCodeMap、storeIdToCountry9类型导入永远最后type Software审查中高频出现的三类错误提交前请自查❌ 把 Hooks/Stores 写到了布局/通用组件之前❌ 把配置写到了工具函数之前❌ 类型导入夹在中间而不是放在最后PR 审查规则6 类硬性检查项逐条解读以下规则的目标是防止代码库在 PR 合并后腐化每一条都会在审查中被逐文件核对。导入顺序验证合并任何前端 PR 前审查者会检查每一个被修改文件的 import 是否完全符合上述九级顺序。transition-colors 使用政策transition-colors加在静态容器上会导致深色模式加载时可见的闪色。只允许用在交互元素上按钮、链接、表单输入、导航项。卡片容器、Alert、Badge、Modal、空状态占位等一律禁用唯一例外是侧边栏等布局骨架可保留transition-colors duration-200以获得主题切换动画。共享图标规范所有导航与主题图标统一放在 frontend/src/components/common/icons.tsx禁止在组件内重复内联 SVG 图标。深色模式颜色配对明暗两套色值必须成对出现标准配对为主文本text-gray-900 dark:text-white、卡片bg-white dark:bg-gray-900、页面bg-gray-50 dark:bg-gray-950、卡片边框border-gray-200 dark:border-gray-800。防代码重复同一 UI 模式出现 3 次以上必须抽取到components/common/现有共享组件Alert、Modal、Spinner、CountrySelect、AppIcon、Badge、ProgressBar、icons。新增共享组件后记得同步更新 AGENTS.md。带鉴权的 API 下载设置了ACCESS_PASSWORD时a href或window.open访问/api/会因缺少X-Access-Token头返回 401。正确做法是用fetch()authHeaders()下载后通过 blob URL 触发保存仅/auth/*、/install/*等公开路由允许普通链接。测试与验证提交 PR 前的完整流程单元测试后端与前端均使用 Vitest分别在 Node 和 jsdom 环境下运行cd backend npx vitest run cd frontend npx vitest runE2E 测试Playwright端到端测试覆盖 Wisp 代理、账户添加、搜索映射、下载 API 等核心链路cd e2e pnpm test # 本地运行需 Docker 起在 8080 端口 bash e2e/docker-test.sh # 完整流程构建 测试 零信任校验⚠️ 测试凭据TEST_EMAIL、TEST_PASSWORD等只放在环境变量中严禁提交进仓库。提交 PR 前的最终自检清单缩进 2 空格、分号、单引号、命名规范全部达标每个被改动文件都符合九级导入顺序静态容器上没有transition-colors明暗色值成对、图标来自共享icons.tsx重复模式已抽取到components/common/后端单元测试 前端单元测试全部通过没有改动破坏服务端永不见 Apple 凭证的零信任边界新增共享组件已同步更新 AGENTS.md祝你的第一个 PR 顺利合并欢迎成为 AssppWeb 的共建者 【免费下载链接】AssppWeb项目地址: https://gitcode.com/gh_mirrors/as/AssppWeb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/11 13:52:51

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/10 19:42:40

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/12 9:50:02

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/10 17:14:10

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉