# yingzhang **Repository Path**: hubv5/yingzhang ## Basic Information - **Project Name**: yingzhang - **Description**: 利润与毛利率计算器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-20 - **Last Updated**: 2026-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 盈账 · 每日经营助手 基于需求文档、技术方案和 UI 设计图实现的纯前端利润计算器。手机与电脑可访问同一个站点;每台设备的记录独立保存在当前浏览器 IndexedDB 中,手动导入/导出 JSON 用于迁移。 ## 使用 项目现支持 Cloudflare Workers 和 Cloudflare Pages 两种部署方式,任选一种即可。推荐 Workers 静态资源模式。部署步骤见 [Cloudflare部署说明.md](Cloudflare部署说明.md)。正式地址以 Cloudflare 部署成功返回的地址或绑定的自定义域名为准。 Cloudflare 默认站点地址可以直接访问,无需 ChatGPT 登录。页面无业务账号系统;如需要限制访问,可在 Cloudflare 配置 Access。经营记录不上传,不自动同步;清理站点数据或切换浏览器前请导出备份。旧 Sites 地址的已有记录不会自动出现在 Cloudflare 新地址,需导出 JSON 后在新地址导入。 1. 在经营概览填写日期、销售额、商品成本(不含损耗)。 2. 选择损耗金额或销售额百分比,百分比范围 0–100%,最多两位小数。 3. 日常成本选择总额或七个固定类别,空白选填值按零处理。 4. 检查实时利润预览后保存。同一天再次保存会更新记录。 5. 每日记录支持日期范围查询、编辑、删除;经营报表支持日/自然周/自然月与上一周期比较。 6. 数据备份支持完整导出、文件校验、冲突预览、合并与全量替换。删除和替换需要明确确认。 日视图趋势为截至所选日期最近七天;周视图为周一至周日,月视图为整月,每天一个点。无记录日期显示零,不自动创建记录。总额成本归入“未分类 / 总额录入”。 ## 本地开发 推荐 Node.js 22 或更新的 LTS 版本。本地页面构建与业务测试不依赖第三方包;使用 Cloudflare CLI 时需安装开发依赖。 ```text npm run build npm test npm start ``` Cloudflare 部署命令(首次先执行 `npm install` 与 `npm run cf:login`): ```text npm run deploy:workers # 或:先创建同名 Pages 项目,再执行 npm run deploy:pages ``` 打开 http://127.0.0.1:4173 。保持浏览器、域名、协议、端口一致才能读取原有数据。正式站点和本地预览是不同的存储来源。 ## 文件结构 - `src/index.html`:语义页面及控件。 - `src/styles.css`:响应式样式与绿色视觉体系。 - `src/domain.cjs`:金额解析、日期、计算、聚合及备份校验,独立于 DOM。 - `src/app.js`:IndexedDB 事务、界面状态、交互与 SVG 图表。 - `scripts/build.cjs`:把样式和脚本内联生成 `dist/index.html`,最终交付单 HTML 文件。 - `scripts/serve.cjs`:固定本地地址的预览服务器,仅开发使用。 - `tests/domain.test.cjs`:业务规则及单页打包验证。 - `wrangler.workers.json`:Cloudflare Workers 静态资源配置,Workers 命令显式指定此文件。 - `wrangler.json`:Cloudflare Pages 默认配置,兼容 Pages CLI 和 Git 自动部署。 - `Cloudflare部署说明.md`:命令行、控制台、Git 集成与迁移操作说明。 - `.openai/hosting.json`:此前 Sites 部署的历史配置,Cloudflare 命令不读取它。 - `验收记录.md`:验证内容与范围。 生产页面无需构建运行时、远程字体、第三方脚本或图表库。静态资源可托管于其他 HTTPS 静态平台;更换网站地址前需手动备份迁移数据。 ## 数据及边界 金额内部为整数分,最大单项及日常成本合计 999,999,999.99 元,最多 20,000 条每日记录;备份大小上限 20 MB。比例为整数基点,损耗乘法使用 BigInt 后四舍五入到分。销售额为零时利润率为 `—`;汇总利润率使用汇总利润除以汇总销售。上期为零时环比百分比为 `—`,仍显示金额变化。 合并时备份覆盖相同日期,其余日期保留;全量替换在一个读写事务内清空并写入。校验失败不写入数据。备份未加密,应自行妥善保管。