Skip to content

管理后台 — 门店管理

上级文档:管理后台 Web


模块概述

门店管理是管理后台的核心基础模块,提供门店的全生命周期管理能力:从门店列表的一览监控,到单门店的多维度信息编辑,再到设备、权限、进出记录的精细化管理。支持总部模式(多店管理 + Tab 架构)和分店模式(单店 + 左侧列表架构)两种视图切换。


页面路由

路由页面说明
/stores门店列表多店一览 + 筛选排序
/stores/:id门店详情(总部模式)Tab 架构,含概览 + 各子模块
/stores/:id/:subTab门店详情子页总部模式下可直达指定 Tab

门店列表

列表字段

列 / 区块字段 key类型权限说明
门店 IDidString全角色系统内唯一标识
门店名称nameString全角色多语言
营业状态statusEnum全角色虚拟门店 | 装修中 | 营业中 | 已闭店
门店类型typeEnum全角色直营 | 加盟
实时在场人数currentOccupancyInt全角色实时更新,来自刷脸进出统计
今日到店总人数todayVisitsInt全角色当日累计到店人次
今日营收todayRevenueDecimal老板 / 财务仅超级管理员和财务可见
昨日营收yesterdayRevenueDecimal老板 / 财务仅超级管理员和财务可见
营收环比revenueChangeRatePercentage老板 / 财务(今日-昨日)/昨日 × 100%,正数绿色↑负数红色↓
操作按角色「进入管理」按钮 / 行内快捷操作

营收列权限控制:营收相关三列(今日营收、昨日营收、环比)仅对 bossfinance 角色可见。前端通过 can('store:revenue_view') 控制,后端接口同样按角色过滤返回字段。

营收列交互

交互说明
今日营收大字突出显示,如「¥ 3,280」
昨日营收小字辅助,如「昨日 ¥ 2,950」
环比彩色百分比标签,如「🟢 +11.2%」或「🔴 -8.5%」
刷新频率今日营收每 30 秒自动刷新(WebSocket 推送变更时即时更新)
0 营收显示「¥ 0」,不显示环比

多维度快速搜索与排序

筛选维度

维度key类型说明
关键词keyword输入框门店 ID(精确)、名称模糊、地址片段(省市区/详细地址)
营业状态status多选虚拟门店 | 装修中 | 营业中 | 已闭店
门店类型type单选直营 | 加盟
区域 / 城市region级联选择省 → 市 → 区,与后台主数据枚举对齐
渠道绑定channel单选美团/抖音:已绑定、未绑定、授权异常
设备状态deviceStatus单选全部 / 设备正常 / 有告警 / 有离线

排序能力

可排序字段key默认排序说明
门店名称nameA→Z按拼音首字母排序
营业状态status营业中优先
实时在场人数currentOccupancy高→低
今日到店todayVisits高→低
今日营收todayRevenue高→低仅 boss/finance 可选
营收环比revenueChangeRate高→低仅 boss/finance 可选
创建时间createdAt新→旧

排序交互:列表每列标题可点击切换升序/降序,当前排序列标题显示箭头指示器。支持多字段组合排序(长按列标题添加为第二排序字段)。

搜索交互

交互说明
条件组合多条件默认 AND 组合
一键清空重置所有筛选和排序条件
关键词防抖输入后 300ms 防抖触发查询,或回车立即触发
分页服务端分页 + 虚拟滚动
移动端切换器以全屏搜索 + 最近使用 + 扫码辅助快速定位
排序持久化用户排序偏好保存到 localStorage,下次进入自动恢复

门店详情页架构

两种视图模式

模式触发条件布局
总部模式老板、财务等全局角色,或处于全体店模式Tab 架构:顶部 Tab 切换各子模块
分店模式店长等单店角色左侧列表 + 右侧内容:左侧导航列表,右侧展示选中模块内容

总部模式 — Tab 架构

┌─────────────────────────────────────────────────────────────┐
│  ← 返回   朝阳门店                             [营业中 🟢]  │
├─────────────────────────────────────────────────────────────┤
│  [概览] [基本信息] [结算配置] [商业配套] [门店照片] [公告]  │
│  [POI 管理] [渠道管理] [设备管理] [进出记录] [权限管理]      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│                   当前 Tab 内容区                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

分店模式 — 左侧列表 + 右侧内容

┌─────────────────────────────────────────────────────────────┐
│  ← 返回   朝阳门店                             [营业中 🟢]  │
├──────────────┬──────────────────────────────────────────────┤
│              │                                              │
│  📊 门店概览 │           当前选中模块内容区                  │
│  📋 基本信息 │                                              │
│  🅿️ 商业配套│                                              │
│  📷 门店照片 │                                              │
│  📢 门店公告 │                                              │
│  🏋️ 器械管理│                                              │
│  📍 POI 管理│                                              │
│  📡 设备管理│                                              │
│  📋 进出记录│                                              │
│              │                                              │
├──────────────┴──────────────────────────────────────────────┤

分店模式下隐藏的模块:结算配置、渠道管理、权限管理(总部专属),不在左侧列表中显示。

前端实现建议

typescript
// 门店详情页根据角色自动切换布局
const layout = computed(() => {
  if (isBranch.value) return 'sidebar'   // 分店模式:左侧列表
  return 'tabs'                           // 总部模式:顶部 Tab
})

// Tab / 左侧列表定义,支持 requireHQ / requirePermission
const storeModules = [
  { key: 'overview', label: '门店概览', icon: '📊' },
  { key: 'basic-info', label: '基本信息', icon: '📋' },
  { key: 'settlement', label: '结算配置', icon: '💰', requireHQ: true },
  { key: 'facilities', label: '商业配套', icon: '🅿️' },
  { key: 'photos', label: '门店照片', icon: '📷' },
  { key: 'announcements', label: '门店公告', icon: '📢' },
  { key: 'equipment', label: '器械管理', icon: '🏋️' },
  { key: 'poi', label: 'POI 管理', icon: '📍' },
  { key: 'channels', label: '渠道管理', icon: '🔗', requireHQ: true },
  { key: 'devices', label: '设备管理', icon: '📡' },
  { key: 'access-logs', label: '进出记录', icon: '📋' },
  { key: 'permissions', label: '权限管理', icon: '🔐', requireHQ: true },
]

Tab 1:门店概览(只读)

所有角色可见,纯只读面板。展示门店的核心经营数据概览,用于快速了解门店运营状态。

数据面板

区块指标说明
经营状态营业状态、营业时间当前状态一目了然
实时数据在场人数、今日到店人次实时更新
营收概览今日营收、昨日营收、环比、本月累计仅 boss/finance 可见
会员概况总会员数、本月新增、活跃会员(近 30 天到店)
设备概况设备总数、在线数、离线数、告警数

营收概览面板权限

指标老板财务店长客服
今日营收
昨日营收
营收环比
本月累计

Tab 2:基本信息(可编辑)

字段定义

字段key类型必填多语言说明
门店编号storeCodeString系统生成或手动设定,唯一
门店名称nameString✅ (zh/en)对外展示的门店名称
营业状态statusEnum虚拟门店 | 装修中 | 营业中 | 已闭店
门店类型typeEnum直营 | 加盟
营业时间businessHoursObject见下方详细定义
联系电话phoneString门店联系电话
店长企微managerWechatObject企微姓名 + 头像 + 联系方式
门店面积areaDecimal数值,单位 ㎡
开业日期openDateDateYYYY-MM-DD
所在城市cityString✅ (zh/en)省 → 市 → 区
门店简介descriptionText✅ (zh/en)富文本,用于小程序门店详情页展示

闲时时段配置

用于闲时卡产品的进店时段校验。每个门店可独立配置自己的闲时时段。

typescript
interface StoreOffPeakConfig {
  isEnabled: boolean           // 是否启用闲时卡功能
  offPeakSlots: {              // 闲时时段列表,可配置多条
    dayOfWeek: 1-7             // 周几(1=周一, 7=周日)
    startTime: string          // 如 "06:00"
    endTime: string            // 如 "14:00"
  }[]
}

门店基本信息 Tab 中增加的配置字段

字段key类型必填说明
启用闲时卡offPeakEnabledBoolean开启后该门店支持闲时卡产品
闲时时段offPeakSlotsArray条件必填启用闲时卡后必填至少一条

角色权限:闲时时段配置由 boss 编辑,店长只读。属于门店维度的运营策略配置。

营业时间详细定义

typescript
interface BusinessHours {
  is24Hours: boolean              // 是否 24 小时营业
  timeSlots: {                    // 非全天营业时的时段定义
    openTime: string              // 如 "06:00"
    closeTime: string             // 如 "23:00"
  }
  weeklySchedule?: {              // 按周定义(可选,默认全周相同)
    [day: 1-7]: {
      isOpen: boolean
      openTime?: string
      closeTime?: string
    } | null                      // null 表示跟随默认时段
  }
  holidaySchedule?: HolidayRule[] // 节假日特殊安排(可选)
}

店长企微详细定义

typescript
interface ManagerWechat {
  name: string          // 企微姓名
  avatarUrl: string     // 头像 URL
  contactUrl: string    // 企微联系链接 / 二维码
  phone?: string        // 店长手机号(不对外公开)
}

小程序对外公开配置

每个字段可独立控制是否在小程序中对外公开(如门店列表、门店详情页)。

字段级公开开关

字段公开开关 key默认说明
联系电话publicPhone关闭开启后在小程序门店详情页展示
店长企微publicWechat开启店长企微名片卡片
门店面积publicArea开启小程序门店详情展示
开业日期publicOpenDate关闭展示「已运营 X 年」
门店简介publicDescription开启门店详情页富文本展示
营业时间publicBusinessHours开启

小程序列表展示开关

开关key默认说明
是否在小程序门店列表中展示visibleInApp开启关闭后该门店不出现在小程序的门店列表和门店选择器中

使用场景虚拟门店已闭店 的门店默认关闭此开关。装修中的门店可保持开启(用户仍可见,显示「装修中」状态)。

基本资料 — 角色编辑权限

字段老板财务店长客服
门店编号✅ 编辑只读只读只读
门店名称✅ 编辑只读只读只读
营业状态✅ 编辑只读只读只读
门店类型✅ 编辑只读只读只读
营业时间✅ 编辑只读✅ 编辑只读
联系电话✅ 编辑只读✅ 编辑只读
店长企微✅ 编辑只读
门店面积✅ 编辑只读只读只读
开业日期✅ 编辑只读只读只读
所在城市✅ 编辑只读只读只读
门店简介✅ 编辑只读✅ 编辑只读
对外公开开关✅ 编辑
列表展示开关✅ 编辑

Tab 2.5:结算配置(总部配置)

在门店详情中配置门店与总部的分成关系,以及技术服务费计费口径。结算计算规则见 结算系统

配置字段

字段key类型必填说明
门店分成比例storeShareRatePercentage门店可得比例
总部分成比例hqShareRatePercentage总部可得比例
分成基准settlementBaseEnum定价 / 实际销售金额 / 扣除支付通道费后的实收金额
技术服务费费率fitronTechRatePercentage默认 1%,由 FCC 按客户配置后客户云同步;本页只读
技术服务费计费基准fitronFeeBaseEnum与分成基准一致
配置生效时间effectiveFromDateTime仅影响生效后新订单

校验规则

  • storeShareRate + hqShareRate = 100%
  • fitronTechRate 在门店详情中只读展示,不允许手工修改
  • 变更分成规则不回溯历史订单,历史按订单快照结算

角色权限

操作老板财务店长客服
查看结算配置✅(只读)
编辑结算配置

Tab 3:商业配套

管理门店的商业配套设施信息,用于小程序门店详情页展示,帮助用户提前了解门店环境。

停车场信息

字段key类型必填说明
是否有停车场hasParkingLotBoolean开启后展开下方字段
停车场类型parkingTypeEnum地下 | 地面 | 立体
可供车位parkingSpacesInt数量
免费停车时长freeParkingDurationInt分钟数;0 表示不免费
收费标准parkingFeeDescString文本描述,如「首小时 5 元,之后 3 元/小时」

充电宝 & 售卖机

字段key类型必填说明
充电宝hasPowerBankBoolean是否有共享充电宝
自助售卖机hasVendingMachineBoolean是否有饮料/零食售卖机

储物柜

字段key类型必填说明
是否有储物柜hasLockersBoolean
储物柜类型lockerTypeEnum电子密码柜 | 投币柜 | 人脸识别柜
储物柜数量lockerCountInt总柜门数
是否免费lockerFreeBooleanfalse 时展示收费标准描述
收费标准lockerFeeDescString如「¥ 3/次」

WiFi

字段key类型必填说明
是否有 WiFihasWifiBoolean
WiFi 名称wifiNameStringSSID
WiFi 密码wifiPasswordString明文展示

场地空间(功能分区)

展示门店内部的功能分区信息,帮助用户了解器械和空间布局。

字段key类型说明
功能分区列表zonesArray可拖拽排序,每个分区包含以下字段

单个分区定义

typescript
interface StoreZone {
  id: string
  name: string          // 分区名称,多语言 (zh/en),如「力量区」「有氧区」
  description?: string  // 分区描述,多语言,如「自由重量训练区,包含深蹲架、卧推架等」
  imageUrl?: string     // 分区照片(可选)
  sortOrder: number     // 展示排序
}

预设分区枚举(运营可在预设基础上自由增减):

预设分区说明
力量区杠铃、哑铃、自由重量器械
有氧区跑步机、椭圆机、划船机等
固定器械区插片式、插销式固定器械
拉伸/放松区瑜伽垫、泡沫轴、拉伸带
更衣室更衣储物空间
淋浴区淋浴间

场地空间分区信息与小程序门店详情页联动展示,也用于首页的「门店特色设备展示」区块。

商业配套 — 角色编辑权限

模块老板财务店长客服
停车场信息✅ 编辑只读✅ 编辑只读
充电宝 & 售卖机✅ 编辑只读✅ 编辑只读
储物柜✅ 编辑只读✅ 编辑只读
WiFi✅ 编辑只读✅ 编辑只读
场地空间✅ 编辑只读✅ 编辑只读

Tab 4:门店照片

要素说明
照片上传支持 JPG/PNG,单张 ≤ 5MB
照片分类门头 | 环境 | 器械区 | 休息区 | 其他
封面设置从上传的照片中选择 1 张作为封面(用于小程序门店卡片)
排序拖拽调整展示顺序
批量操作批量删除

角色编辑权限

操作老板财务店长客服
上传/删除照片
设置封面/排序
查看照片

Tab 5:门店公告

管理门店公告,公告会同步展示在小程序首页和门店详情页。

字段key类型说明
公告标题titleString多语言 (zh/en)
公告内容contentRichText富文本,支持图片
生效时间effectiveAtDateTime公告开始展示时间
失效时间expiresAtDateTime公告停止展示时间;为空则永久有效
优先级priorityInt数字越大越靠前

公告列表

说明
标题多语言,默认中文
状态生效中(绿色)/ 未生效(灰色)/ 已过期(红色)
有效期生效时间 ~ 失效时间
操作编辑 / 删除 / 置顶

角色编辑权限

操作老板财务店长客服
发布/编辑公告
删除公告
查看公告

Tab 6:器械管理

管理门店的器械设备清单,用于小程序门店详情页展示,也用于器械报修入口的联动。

器械列表字段

字段key类型说明
器械名称nameString多语言 (zh/en)
所属分区zoneIdFK关联「商业配套 → 场地空间」中的分区
品牌型号modelString
数量quantityInt该器械的数量
维护状态maintenanceStatusEnum正常 | 维护中 | 待报废
报修记录点击查看该器械的报修历史

器械列表操作

操作说明
新增器械填写名称、分区、品牌型号、数量
编辑器械修改信息
删除器械确认后删除
标记维护将状态改为「维护中」,记录维护原因
查看报修记录跳转到该器械的报修历史

角色编辑权限

操作老板财务店长客服
新增/编辑/删除器械
标记维护状态
查看器械列表

Tab 7:POI 管理

管理门店的地图位置信息,供小程序导航使用。

字段key类型说明
POI 名称poiNameString地图平台上的点位名称
地址addressString完整地址,多语言
经纬度latitude / longitudeDecimal
交通提示trafficHintString多语言,如「地铁 5 号线 XX 站 B 出口步行 5 分钟」
地图平台 IDmapPlatformIdString高德/腾讯地图的 POI ID(如有)

POI 拾取交互

  • 在表单内嵌入地图组件,支持点击地图或搜索地址拾取坐标
  • 拾取后自动填充地址字段(可手动修改)

角色编辑权限

操作老板财务店长客服
编辑 POI 信息
查看 POI 信息

Tab 8:渠道管理(总部专属)

仅总部角色可见。管理门店在第三方平台(美团、抖音)的账号绑定。

平台字段说明
美团meituanStoreId门店在美团侧的 ID
美团meituanBindStatus未绑定 | 已绑定 | 授权异常
美团meituanBindAccount绑定的美团账号
抖音douyinStoreId门店在抖音侧的 ID
抖音douyinBindStatus未绑定 | 已绑定 | 授权异常
抖音douyinBindAccount绑定的抖音账号

操作

操作说明
绑定填写平台门店 ID,发起授权流程
解绑确认后解除绑定
刷新状态重新检查授权状态

Tab 9:设备管理

管理门店的智能硬件设备。详细 PRD 参见 硬件控制面板

门店维度设备概览

设备类型说明
工控机(边缘盒子)核心控制设备,在线状态、运行时间
A 门 / B 门门锁状态、门磁状态
灯光控制各分区灯光开关状态
UPS 电源电池电量、市电状态
温湿度传感器最新读数、告警阈值
淋浴控制器淋浴间状态
摄像头在线状态、预览(如接入)

本 Tab 功能

功能说明
设备列表展示当前门店绑定的所有设备
设备状态在线/离线/告警状态实时展示
远程操作远程开门、灯光控制等(需权限)
设备绑定新增/解绑设备(仅总部)
快速跳转「前往硬件控制面板 →」跳转 /hardware/:storeId

角色编辑权限

操作老板财务店长客服
查看设备状态✅(本店)
远程开门✅(紧急情况)
灯光控制
新增/解绑设备

Tab 10:进出记录

查看门店的用户刷脸进出日志,即门禁事件记录。

筛选条件

维度key类型说明
时间范围dateRangeDateRange默认今天
事件类型eventType单选全部 / 进店 / 离店
用户搜索userKeyword输入框手机号 / 昵称 / 用户 ID
识别方式authMethod单选全部 / 人脸识别 / 远程开门 / 临时权限

记录列表字段

key说明
时间eventTime进出事件发生时间
事件类型eventType进店(绿色)/ 离店(灰色)
用户userName昵称 + 头像缩略图
手机号userPhone脱敏显示,如 138****5678
识别方式authMethod人脸识别 / 远程开门 / 临时权限 / 二维码
识别照片capturePhoto缩略图,点击可查看大图(按权限)
滞留时长duration仅离店事件展示,如「1 小时 23 分钟」

操作

操作说明
导出导出当前筛选条件下的记录为 CSV/Excel
跳转用户点击用户 → 跳转会员详情页
查看照片点击识别照片 → 查看抓拍大图(需 member:face_view 权限)

角色查看权限

操作老板财务店长客服
查看进出记录✅(全部门店)✅(全部门店)✅(本店)✅(全部门店)
查看识别照片按策略
导出记录✅(本店)按策略

Tab 11:权限管理(总部专属)

仅总部角色可见。管理门店维度的角色分配和开门权限。

11.1 人员与角色管理

功能说明
门店管理员列表查看该门店绑定的所有管理员
分配角色为指定人员分配门店维度的角色(店长、客服等)
移除权限取消某人在该门店的管理权限
快速跳转「前往系统设置 →」跳转全局权限配置

11.2 开门权限管理

用户刷脸开门权限

功能说明
冻结用户进门权限冻结后该用户无法刷脸进门,需解冻后恢复
解冻用户进门权限恢复用户的刷脸进门权限
批量冻结按条件批量冻结(如欠费、违规等)
冻结记录查看冻结/解冻操作日志

冻结触发方式

  1. 手动冻结:管理员在此页面手动操作
  2. 系统自动冻结:如订单退款成功后自动冻结(可配置)
  3. 违规冻结:多次违规行为触发自动冻结(可配置规则)

临时开门权限

功能说明
发放临时权限为非会员(访客、临时工、维修人员等)发放限时进门权限
权限类型单次 / 限时(如 2 小时)/ 指定日期范围
授权方式人脸录入(临时) / 二维码(一次性)
权限列表查看当前有效的临时权限及其状态
撤销权限提前撤销已发放的临时权限

临时权限字段

字段key类型说明
授权对象targetNameString访客姓名
授权对象手机targetPhoneString
权限类型tempTypeEnum单次 | 限时 | 日期范围
有效时段validFrom / validToDateTime权限生效和失效时间
授权方式authMethodEnum临时人脸 | 一次性二维码
授权人grantedByString发放此权限的管理员
使用状态usageStatusEnum未使用 | 已使用 | 已过期 | 已撤销

远程开门权限

功能说明
远程开门权限列表查看哪些角色可以通过管理后台远程开 AB 门
配置远程开门权限编辑角色 → 开启/关闭远程开门能力

远程开门权限与全局角色权限矩阵联动,参见 硬件控制面板权限

权限管理 — 角色权限

操作老板财务店长客服
查看 Tab
人员角色管理
冻结/解冻进门权限✅(紧急情况)
发放临时开门权限
配置远程开门权限

门店详情页 Tab 权限矩阵(汇总)

L1 主 Tab 可见性

Tab老板财务店长(本店)客服模式
门店概览只读面板
基本信息✅(全部可编辑)✅(只读)✅(部分可编辑)✅(只读)编辑表单
结算配置✅(可编辑)✅(可编辑)总部专属
商业配套✅(全部可编辑)✅(只读)✅(全部可编辑)✅(只读)编辑表单
门店照片✅(只读)图集管理
门店公告✅(只读)✅(只读)公告 CRUD
器械管理✅(只读)✅(只读+标记维护)列表 CRUD
POI 管理✅(只读)✅(只读)✅(只读)位置编辑
渠道管理总部专属
设备管理✅(完整)✅(操作)设备列表+操作
进出记录✅(本店)日志列表
权限管理总部专属

分店模式 — 左侧列表可见性

分店模式下,requireHQ 的 Tab 从左侧列表中移除,店长可见模块:

左侧菜单项可见
📊 门店概览
📋 基本信息
🅿️ 商业配套
📷 门店照片
📢 门店公告
🏋️ 器械管理
📍 POI 管理✅(只读)
📡 设备管理
📋 进出记录

API 接口规划

text
# 门店列表
GET /api/v1/admin/stores
  Query: { keyword?, status?, type?, region?, channel?, deviceStatus?,
           sortField?, sortOrder?, page?, pageSize? }
  Response: {
    items: StoreListItem[],
    total: number
  }
  StoreListItem {
    id, name, status, type, currentOccupancy, todayVisits,
    todayRevenue?,        // 仅 boss/finance 返回
    yesterdayRevenue?,    // 仅 boss/finance 返回
    revenueChangeRate?    // 仅 boss/finance 返回
  }

# 门店详情
GET /api/v1/admin/stores/:id
  Response: StoreDetail { ...全部字段, facilities, zones, photos, announcements, equipment }

# 更新门店基本信息
PUT /api/v1/admin/stores/:id/basic-info
  Body: { name, status, type, businessHours, phone, managerWechat, area,
          openDate, city, description, publicFields, visibleInApp }

# 更新门店结算配置
PUT /api/v1/admin/stores/:id/settlement
  Body: { storeShareRate, hqShareRate, settlementBase, fitronTechRate, fitronFeeBase, effectiveFrom }

# 更新商业配套
PUT /api/v1/admin/stores/:id/facilities
  Body: { parking, powerBank, vendingMachine, lockers, wifi, zones }

# 门店照片管理
POST   /api/v1/admin/stores/:id/photos          # 上传照片
DELETE /api/v1/admin/stores/:id/photos/:photoId  # 删除照片
PUT    /api/v1/admin/stores/:id/photos/cover     # 设置封面
PUT    /api/v1/admin/stores/:id/photos/sort      # 调整排序

# 门店公告管理
GET    /api/v1/admin/stores/:id/announcements
POST   /api/v1/admin/stores/:id/announcements
PUT    /api/v1/admin/stores/:id/announcements/:id
DELETE /api/v1/admin/stores/:id/announcements/:id

# 器械管理
GET    /api/v1/admin/stores/:id/equipment
POST   /api/v1/admin/stores/:id/equipment
PUT    /api/v1/admin/stores/:id/equipment/:id
DELETE /api/v1/admin/stores/:id/equipment/:id

# POI 管理
PUT    /api/v1/admin/stores/:id/poi
  Body: { poiName, address, latitude, longitude, trafficHint, mapPlatformId }

# 渠道管理
POST   /api/v1/admin/stores/:id/channels/:platform/bind    # 绑定渠道
DELETE /api/v1/admin/stores/:id/channels/:platform/unbind  # 解绑渠道
GET    /api/v1/admin/stores/:id/channels/:platform/status  # 查看授权状态

# 进出记录
GET /api/v1/admin/stores/:id/access-logs
  Query: { dateRange?, eventType?, userKeyword?, authMethod?, page?, pageSize? }
  Response: { items: AccessLog[], total: number }

# 权限管理 — 人员角色
GET    /api/v1/admin/stores/:id/admins
POST   /api/v1/admin/stores/:id/admins
DELETE /api/v1/admin/stores/:id/admins/:adminId

# 权限管理 — 开门权限
POST   /api/v1/admin/stores/:id/access-control/freeze/:userId    # 冻结
POST   /api/v1/admin/stores/:id/access-control/unfreeze/:userId  # 解冻
GET    /api/v1/admin/stores/:id/access-control/freeze-logs       # 冻结日志

# 权限管理 — 临时权限
GET    /api/v1/admin/stores/:id/temp-access
POST   /api/v1/admin/stores/:id/temp-access
DELETE /api/v1/admin/stores/:id/temp-access/:tempId

飞创 Fitron 内部规划文档