Files
jiu/client/lib/models/shop.dart
T
wangjia a05f9bd4ec
Deploy / deploy (push) Failing after 8s
feat(shop): 门店 logo 上传 + 侧边栏品牌替换
- shops 表新增 logo_url 字段,AutoMigrate 自动建列
- 后端新增 POST /api/v1/shop/logo 接口(管理员),图片裁剪为 256×256 JPEG 存储
- UpdateInfo 支持传入 logo_url
- 侧边栏「岩美」替换为门店真实名称 + 自定义 logo
- 无 logo 时显示店名首字文字头像(深蓝底白字)
- 设置页「酒行信息」展示 logo 预览,编辑弹窗新增「更换 Logo」上传按钮
- 修复库存导入计数逻辑:total/imported/updated/errors 四项分别统计
- 库存导入去重改为双路索引(编号 + 名称|系列|规格),避免 key 不一致误判新增
- settings 页导入结果统一显示「重复 X 条」,兼容 skipped 和 updated 两个字段

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 20:03:43 +08:00

30 lines
796 B
Dart

class ShopInfo {
final int id;
final String code;
final String name;
final String address;
final String phone;
final String managerName;
final String logoUrl;
const ShopInfo({
required this.id,
required this.code,
required this.name,
required this.address,
required this.phone,
required this.managerName,
this.logoUrl = '',
});
factory ShopInfo.fromJson(Map<String, dynamic> json) => ShopInfo(
id: (json['id'] as num).toInt(),
code: json['code'] as String? ?? '',
name: json['name'] as String? ?? '',
address: json['address'] as String? ?? '',
phone: json['phone'] as String? ?? '',
managerName: json['manager_name'] as String? ?? '',
logoUrl: json['logo_url'] as String? ?? '',
);
}