开发报价文件 · V3 · 报价日期:2026/5/29 · OAuth2 Full Integration
| 范围类型 / 功能点 | 技术实现 & 验收依据 |
|---|---|
| IN (a) 交付物 · 钱包身份验证 | OAuth2 Implicit Flow → access_token → SEMI /get_me → iMeeting 后端签发 Auth Token 覆盖场景:持有 SEMI 钱包的用户一键登录 iMeeting |
| IN (b) 交付物 · 身份绑定 | 已登录 iMeeting 用户发起 SEMI 绑定;匹配逻辑:semiId → 手机号 → 邮箱;写入 UserModel 覆盖场景:老用户在 Profile 页绑定 / 更换 SEMI 钱包 |
| IN (c) 交付物 · 新账户创建 | 首次钱包登录无匹配账户时,以 SEMI 手机号/邮箱自动注册新 iMeeting 账户 覆盖场景:新用户通过 SEMI 钱包直接完成注册 |
| IN (d) 验收依据 · 双技术路线兼容 | 以 OAuth2 Implicit Flow 为主路线;同步保持项目沟通期前 SEMI API 直连路线为辅,确保切换灵活性 覆盖场景:OAuth 上线前以 API 路线维持可用;OAuth 就绪后无缝切换为主路线,API 路线作降级保留 |
| 类别 | 说明 |
|---|---|
| OUT 链上交易发起 | 代币转账、NFT 铸造/转移等任何需用户签名并广播至链上的操作 |
| OUT 链上数据读取 | 钱包余额、NFT 持仓、链上历史、合约状态 read calls |
| OUT 智能合约交互 | 调用任何合约(ERC-20/721/1155/6551 等)的 write 操作 |
| OUT Gas 代付 / Paymaster | ERC-4337 账户抽象、无感 Gas 支付流程 |
| OUT 钱包资产管理 | 余额展示、资产列表、历史记录、代币兑换等钱包原生功能 |
| OUT 多链支持 | 以太坊以外的任何链(Polygon、BSC、Arbitrum、Base 等) |
| OUT SEMI 深度 API | 除 /get_me 外的任何 SEMI 接口(支付、积分、链上操作代理等) |
| OUT 其他业务功能 | iMeeting 原有功能修改、会议/通知/支付/统计等与钱包身份无关模块 |
| 开发模块 | 任务说明 | 工时(h) | 单价($) | 费用($) | 费用(¥) |
|---|---|---|---|---|---|
| ① 环境 & 模型 | UserModel 新增 semiId / semiWalletAddress / semiSyncAt;配置 .env 变量 | 3 | 22 | 66 | 478.50 |
| ② loginSemi.js | 账户匹配(findById → Mobile/Email → CreateNew);签发 Auth Token;错误分支 | 12 | 22 | 264 | 1,914.00 |
| ③ linkSemi.js | 已登录用户绑定/解绑/更换钱包;冲突账号检测与提示 | 5 | 22 | 110 | 797.50 |
| ④ 前端 UI | 登录页 SEMI 按钮;Profile 钱包展示 & 绑定入口;Loading 状态动画 | 8 | 22 | 176 | 1,276.00 |
| ⑤ OAuthHelper | 重定向 URL 构建;URL Hash Token 提取;history.replaceState() 安全清理 | 12 | 22 | 264 | 1,914.00 |
| ⑥ 回调处理 | MainPageController 检测 #access_token=;调用 /get_me;同步接口;跳转 | 6 | 22 | 132 | 957.00 |
| ⑦ 账户关联 | 前端多状态响应处理(新用户 / 老用户绑定 / 冲突);登录后路由 | 6 | 22 | 132 | 957.00 |
| ⑧ 测试 & 联调 | OAuth 闭环联调;多设备;账户冲突边缘测试;Testnet 安全回归 | 12 | 22 | 264 | 1,914.00 |
| 小计 | 64 | 1,408 | 10,208.00 | ||
| 开发模块 | 任务说明 | 工时(h) | 单价($) | 费用($) | 费用(¥) |
|---|---|---|---|---|---|
| 项目沟通 | 需求确认、方案讨论、进度同步(线上/异步) | 6 | 22 | 132 | 957.00 |
| Review & 文档 | 代码 Review;接口文档;部署说明 | 4 | 22 | 88 | 638.00 |
| 风险预留 | SEMI API 变更、环境差异调试、意外返工 | 6 | 22 | 132 | 957.00 |
| 社区 Handover 沟通 | 开发者社区 handover 非预期沟通;双技术路线(API / OAuth)切换协调 | 8 | 22 | 176 | 1,276.00 |
| 小计 | 24 | 528 | 3,828.00 | ||
| 参数 | 值 | 备注 |
|---|---|---|
| 合同总金额 | $1,936 USD | 引用报价单合计;以 USD 为最终计价单位 |
| 首选支付币种 | USDT / USDC | 稳定币,1:1 锚定美元,无折算风险 |
| 可接受替代币种 | ETH | 须按首付日价格折算,见 B 节规则 |
| Phase 1 比例 | 70% | 首付,合同签署后 24h 内 |
| Phase 2 比例 | 30% | 验收交付后 48h 内 |
| 报价日 ETH 14日均价 (5/16–5/29,CoinGecko/Binance) | ≈ $2,104 | 5/16 约 $2,320 → 5/29 约 $2,013;14日均价约 $2,104;仅供估算参考 |
| USDT / CNY 参考汇率 (兑汇日期:2026/5/29) | 1 USDT ≈ ¥6.7755 | 来源:WEEX;实际兑换以交易所当日报价为准 |
| USDC / CNY 参考汇率 (兑汇日期:2026/5/29) | 1 USDC ≈ ¥6.7661 | 来源:Wise USD/CNY 中间价;USDC 与 USD 等值 |
| Gas Price (Gwei) ETH付款适用 | 5 | 主网 ETH 转账保守估算 |
| 单笔 Gas 费 (ETH) ETH付款适用 | 0.000105 | Gas Limit 21,000 × 5 Gwei × 1e-9 |
| 规则 | 说明 |
|---|---|
| 锚定时点 | 以该笔款项链上确认时间所在日期(UTC+8)的 ETH/USD 市价为折算基准 |
| 参考价格来源 | CoinGecko / Binance 现货日均价,双方于付款前 24h 内确认 |
| 报价日 14日均价用途 | 仅用于本报价文件估算参考(见 D 节敏感性表),不作为实际 ETH 折算依据 |
| 尾款独立定价 | Phase 2 以尾款到账日市价独立折算,与 Phase 1 价格无关 |
| 超额/不足处理 | 若 ETH 折算后与 USD 金额存在微小差异(<0.5%),以实际到账等值为准,不追补 |
| 阶段 | 条件 | USD 金额 | 稳定币 (USDT/USDC) | USDT/CNY 参考 (5/29) | ETH 参考估算 * |
|---|---|---|---|---|---|
| Phase 1 首付 70% | 合同签署 + 开发启动确认后 24h 内 | 1,355.20 | 1,355.20 | ≈ ¥9,183 | ≈ 0.64411 |
| Phase 2 尾款 30% | 验收通过 + 代码交付后 48h 内 | 580.80 | 580.80 | ≈ ¥3,935 | ≈ 0.27604 |
| 合计 88h × $22/h | 1,936 | 1,936.00 | ≈ ¥13,119 | ≈ 0.92015 | |
| ETH 价格 | Phase 1 ETH | Phase 2 ETH | 合计 ETH | 合计 CNY(USDT等值) | 备注 |
|---|---|---|---|---|---|
| $1,800 | 0.75289 | 0.32267 | 1.07556 | ≈ ¥13,119 | |
| $2,000 | 0.67760 | 0.29040 | 0.96800 | ≈ ¥13,119 | |
| ≈ $2,104 ← 14日均价参考 | 0.64411 | 0.27604 | 0.92015 | ≈ ¥13,119 | 5/16–5/29 均价 |
| $2,300 | 0.58922 | 0.25252 | 0.84174 | ≈ ¥13,119 | |
| $2,500 | 0.54208 | 0.23232 | 0.77440 | ≈ ¥13,119 | |
| $2,800 | 0.48400 | 0.20743 | 0.69143 | ≈ ¥13,119 |
OAuth2 Implicit Flow 中 access_token 暴露在 URL,history.replaceState() 清理、Token 有效期与过期兜底是不可省略的安全要求,原社群方案未计入此成本
账户冲突(同一手机号属于不同账户)等边缘场景有真实用户影响,必须完整处理;原方案未包含此类边缘处理预算
SEMI 方 API 变更、沙盒环境差异、多设备测试属于客观成本,不在开发者控制范围内。此外,开发者社区内部 Handover 流程中,版本信息不一致、文档交接不完整所造成的上下文重建与协调确认,构成额外的非预期沟通成本(+8h,见版本 V3 说明)
商业交付须含接口文档与部署说明;项目沟通、代码 Review、风险预留属于商业项目的必要成本,原社群方案未计入
| 版本 | 日期 | 总工时 / 总价 | 变更说明 |
|---|---|---|---|
| V1 | 2026/4 初 | — / — | 初版报价草稿,基于社群基金方案,核心模块估算 44 小时,未含沟通与风险工时 |
| V2 | 2026/5/1 | 80h / $1,760 | 正式报价。核心开发 64h + 沟通备用 16h;含功能范围声明、双技术路线(OAuth 主 / API 备)、付款计划 |
| V3 | 2026/5/29 | 88h / $1,936 | 依据 5/29 会议决议(#373984141):增加 8h 社区 Handover 沟通工时;范围声明补充 (d) 双技术路线条款;付款计划改为稳定币优先,更新 ETH 14日均价(5/16–5/29 ≈ $2,104),新增 USDT/USDC/CNY 参考汇率(兑汇日期 2026/5/29) |
| 议题 | 纪要要点 |
|---|---|
| 工时调整决议 主动议 · 表决通过 赞成 2 票 / 反对 0 票 |
开发范围与报价单功能范围声明一致;将工时从 80 小时调整为 88 小时,增加的 8 小时用于沟通,按 $22/h 计算;合并当前价格支付至指定位置;其余参考 V2 报价单内容 |
| Handover 背景 自由讨论 5 |
FC 说明:开发社区在交接过程中提供的版本、文件信息不一致,导致开发者在等待与核对上耗费了额外时间;难度不在技术层面,而在社区内部 Handover 流程的信息成本。此部分未含于 V2,因此以 +8h 补足 |
| 双技术路线确认 修正案 1.1 · 默认一致同意 |
在 SEMI 集成中,确保 CI 主动提供 API 与 OS OAuth 时两条通道均可连通,以 OS OAuth 为主要方式;API 路线作为降级备用 |
| 议题 | 纪要要点 |
|---|---|
| SEMI 钱包长期发展 主动议 1.1 · 默认一致同意 |
推动 SEMI 钱包开源社区发展,吸引更多开发者参与;加强与区块链的互动能力,改善社区开发能力与氛围,促进长期发展 |
| iMeeting × SEMI 共同用户机制 主动议 1.2 · 赞成 2 票 |
① 在登录功能基础上增加备忘录;② 追加功能点讨论清晰后随后报价进入开发排程,否则基础报价直接推进;③ 探讨除 SEMI 钱包外其他钱包(MetaMask、imToken 等)加入的情况,须先梳理产品设计逻辑与生态 |
| Web3 合同与表决机制 主动议 2.1 · 赞成 2 票 |
探讨基于 iMeeting 的数字身份表决与合同机制:表决确认 → 资金扣入决议 → 转化电子合同 → 智能合约执行;推动 Web3 方向,需评估法律风险 |
https://imeeting.club/01-semi-wallet-integration/