feat(admin): HQ手机号编辑、合伙人子账号日志与子账号H5体验

支持 HQ 账户改手机号(格式校验)、合伙人日志包含子账号且子账号不显示主账号信息;改手机号时清除微信绑定。合伙人 H5 子账号页签与我的页、录入门店底部按钮及上传失败提示。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-12 13:29:09 +08:00
parent b8623f59f0
commit 63af3321dd
16 changed files with 259 additions and 40 deletions
@@ -1,27 +1,14 @@
import { NavLink, Outlet } from 'react-router-dom';
import { usePartnerSession } from '../contexts/PartnerSessionContext';
const TABS = [
{ to: '/stores/new', icon: 'add_business', label: '录入新店' },
{ to: '/stores', end: true, icon: 'store', label: '我的门店' },
{ to: '/stores', end: true, icon: 'store', label: '门店管理' },
{ to: '/stores/new', icon: 'add_business', label: '录入门店' },
{ to: '/me', icon: 'person', label: '我的' },
] as const;
export default function SubAccountLayout() {
const { account, logout } = usePartnerSession();
return (
<>
<header className="header app-page-header partner-sub-header">
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', width: '100%' }}>
<div>
<h1 className="app-page-title" style={{ fontSize: 18 }}>{account?.name || '拓店账号'}</h1>
<p className="label-md text-muted">{account?.companyName || '门店入驻'}</p>
</div>
<button type="button" className="partner-menu-icon" onClick={logout} aria-label="退出登录">
<span className="material-symbols-outlined">logout</span>
</button>
</div>
</header>
<Outlet />
<nav className="app-tabbar">
{TABS.map((tab) => (