// 两个后台分别保存演示登录状态;页面地址和账户输入不扩大员工权限。 function adminProduct(role) { return ['merchant', 'staff', 'supervisor'].includes(role) ? 'merchant' : role === 'platform' ? 'platform' : null; } function completeAdminLogin(product, data) { if (!data.get('account').trim() || !data.get('password').trim() || product === 'merchant' && !data.get('tenant').trim()) { notify('请填写完整的登录信息。'); return; } adminAuth[product] = true; const role = product === 'merchant' ? merchantRole : 'platform'; const target = adminReturn[product]; adminReturn[product] = null; notice = '已进入后台演示身份,功能按当前账户权限展示。'; navigate(role, target?.role === role && target.page !== 'login' ? target.page : roleHomes[role]); } function loginScreen(product) { const merchant = product === 'merchant'; return `

智服中台

${merchant ? '商家后台' : '平台后台'}

${merchant ? '店铺经营 · 客户服务 · 售后管理' : '商家接入 · 资源管理 · 运行监控'}

${merchant ? '商家员工登录' : '平台员工登录'}

${merchant ? '使用商家分配的员工账户登录。' : '仅限已授权的平台运营账户。'}

${form(`${product}-login`, `${merchant ? field('商家标识', 'tenant', 'merchant-a', 'text', 'required autocomplete="organization"') : ''}${field('员工账户', 'account', '', 'text', 'required autocomplete="username" placeholder="请输入员工账户"')}${field('密码', 'password', '', 'password', 'required autocomplete="current-password" placeholder="线稿演示,请勿输入真实密码"')}`, '登录')}

${merchant ? '账户与权限由商家管理员分配。' : '账户与权限由平台管理员分配。'}

${button('忘记密码 / 无法登录', 'admin-login-help')}
线稿使用任意非空账户与密码演示登录。${merchant ? '当前角色由评审工具中的员工角色决定。' : '商家员工账户不获得平台权限。'}
`; } register('merchant', 'login', 'M00', '商家后台登录', () => loginScreen('merchant'), ['商家标识、员工账户和密码必填;由服务端校验身份、账户状态和所属商家。', '登录成功后加载当前员工授权。无权访问的返回地址进入授权首页。', '登录失败保持页面并显示统一错误提示,密码清空;线稿情景用于确认反馈。']); register('platform', 'login', 'P00', '平台后台登录', () => loginScreen('platform'), ['平台账号通过独立的平台权限检查;商家登录状态不能用于平台后台。', '成功登录后进入授权的平台功能;失败不展示受保护内容。', '密码恢复由平台管理员处理,当前不设计自助注册。']);