零件搜索(精确零件号)
归一化规则:大写、去掉横线与空格后精确匹配。模糊搜索待接真实接口,本版无精确匹配时不猜测、不展示相近件。访客无价:只有已批准且已入组的登录态才显示价格。
价格口径:卡片单价为库内美元面价(已按品牌固定汇率重算:LGMG 6.99、REES 7,2026 年固定档)。 LGMG 参考折后价 = 面价 × 60%。REES 折后价按公司档案取,本版不套用统一 60%,显示为待接公司折扣。 Casepack:现行零件库尚未建立此字段,本版不以其他字段冒充,显示为待回填。
演示切换只改本页显示态,不产生真实会话、不计价、不写库。真实登录必须等后端接通后用测试码/测试邮箱实测。
门页入口(两扇门)
正式门禁在服务端 gate Worker:邀请码校验、门 Cookie 签名、输错 5 次锁 15 分钟都在 Worker 里。 本静态页不能验码:真实验码在 gate Worker 服务端(Worker 调 Main POST /gate/code, 成功才发一次性 reg_token;该接口只接受 gate Worker 带门密钥调用,浏览器不能直接调)。 下面“用邀请码进入”按钮在已配置 gate Worker 地址时直接跳到 Worker 门页; 部署方必须把 Worker 的 302 跳转目标改成 test 站,并实测跨源链路——Worker 发的 HttpOnly 门 Cookie 在不同源下 test 站读不到,这是已知待实测点(见 README),不要在 test 站里改老 Worker 配置, 也不要把 reg_token 放 URL 里传(会外泄)。
第一扇门:邀请码门(访客)
持邀请码可浏览、搜零件(无价)、进注册。无码请联系销售代表。码分客户码 / 员工码,属性在注册第一步定死;一码一注册,提交后码被占住,批准后作废,拒绝后复活并从拒绝时刻再给 7 天。
真实路径:跳到 gate Worker 门页,Worker 调 Main POST /gate/code 验码,成功发一次性 reg_token 并 302 回 test 站。 未配置 Worker 地址时本按钮只提示未配置,不会假装验码通过。演示按钮只切换视图,不产生任何门凭证。
第二扇门:已注册用户登录
已批准客户用邮箱 + 密码登录。待审批、冻结时提示不泄漏细节(不区分账号不存在还是密码错)。登录后会话 30 分钟,心跳不续期,到期回登录页。
客户登录
接法(已写代码,待 config 配置):Customer Auth 密码登录(/token?grant_type=password)+ POST /activity/login 建 30 分钟会话; token 只存 sessionStorage,不存 localStorage;旧会话置 superseded;心跳 5 分钟只更新在线时间、绝不续期,到期回登录页。 待审批/冻结一律不放行,提示不泄漏细节。未配置后端地址时提交只提示未配置,不冒充登录成功。
注册(两步)
只走主路径:Main POST /public/register。本页不发密码给旧直接注册接口,不留旧直接注册调用。 注册表不发密码;Edge 内部随机密码建号,提交后码变 submitted、建 pending 档案。提交字段只用接口文档里的字段 (email、reg_token、company、contact_name、country、street、street2、city、province、postal、phone、currency、referral_source、referral_source_other), 不发密码。界面语言只由浏览器记住;通知语言与条款同意证据的服务端落点不在 /public/register 已读字段清单里, 实测时须确认其落点(见 README),不要宣称已入库。
第 1 步:邀请码校验
门页已发 reg_token 时可直接进第 2 步。本静态页不直接调 /gate/code(该接口只接受 gate Worker 带门密钥调用), 也不会把填入的邀请码当成已验证。reg_token 只由服务端验码后的回跳流程交给本页(部署方定交接方式,绝不放 URL), 未持有 reg_token 时第 2 步表单只能预览、不能真实提交。
第 2 步:注册表
注册已提交,等待审批
忘记密码
正式规则:不透露邮箱是否注册。邮件里的恢复 token 在 URL hash 里,落地页无门 Cookie 也可达,但没有一次性 token 就改不了密码。
重置落地页(演示)
我的资料
真实会话下调 GET /me/profile 回显,只读。改关键字段不直接写,前台只提交申请(POST /me/profile-change-request),走后台处理。 未登录时这里是占位,不冒充已回显。
退出:调 POST /activity/end(尽力调用,失败也不阻塞清本地会话)并清 sessionStorage、停 5 分钟心跳定时器;两端会话一起清,避免“门页显示已登录、业务接口已过期”或反向。
会话已过期
会话 30 分钟绝对时长,心跳只更新最后在线时间、绝不续期。到期请重新登录;业务接口 401 一律回登录页,不要只弹报错。