跳到主要内容

222 篇博文 含有标签「iCoding」

个人简介

查看所有标签

RestoSuite之订位

· 阅读需 9 分钟
Quany
软件工程师

Figma 拥有丰富的 AI 插件生态,涵盖设计生成、图像处理、文案填充、代码转换等多个方向。以下是目前(截至 2025 年 3 月)主流的 AI 插件分类及代表性工具:


一、AI 设计生成类

  1. Builder.io
    • 输入文字描述(如「类似 Everlane 的产品页」)即可生成完整 UI 设计稿,支持电商、App 注册页等多种场景,生成结果可直接在 Figma 中编辑。
  2. Dora AI
    • 通过提示词生成响应式网页设计稿(支持 PC 和移动端),生成结果包含可编辑的图层和自动布局,新用户可免费体验 3 次。
  3. 即时 AI
    • 输入详细文字描述(如页面结构、内容类型)生成高保真 UI 设计图,支持浏览器直接使用,无需本地安装。

二、AI 图像处理类

  1. ComfyUI 系列插件
    • 支持接入本地或云端 GPU 运行 ComfyUI 工作流,实现文生图、图生图、智能抠图、背景融合等功能,可自定义参数如步数、降噪强度等。
  2. Magician
    • 通过文本生成图标、插画和文案,支持 14 种语言,提供「魔法咒语」功能自动优化设计元素。基础功能免费,高级功能需订阅。

三、AI 内容填充类

  1. NoMoreWrite
    • 一键填充多行业模拟数据(如金融账户、电商商品、物联网设备),支持批量操作和自定义文本循环填充,提升原型设计效率。
  2. 智能填充(Quick Fill 2)
    • 自动匹配真实场景数据,如用户评论、社交账号信息,每天免费 10 次使用额度。

四、AI 代码转换类

  1. Locofy Lightning
    • 将 Figma 设计稿转换为响应式代码(支持 React、Vue 等框架),40 秒内完成转换并允许开发人员调试代码细节。
  2. Codia AI Design
    • 上传界面截图即可生成可编辑的 Figma 设计稿,自动添加布局约束,适合快速复刻现有网页。

使用建议:


以上插件均可在 Figma 社区中直接安装,部分需注册 API 密钥或订阅高级服务。如需完整列表,可访问 Figma 插件市场 搜索「AI」关键词。

根据最新行业评测和苹果产品线分析,搭载 M3 Ultra 芯片的 Mac Studio 目前是苹果 GPU 性能最强的设备。以下是其核心优势和技术细节:


一、GPU 架构与性能

  1. 80 核 GPU 设计
    M3 Ultra 的 GPU 采用苹果自研架构,拥有 80 个计算核心,支持以下关键技术:

    • 动态缓存(Dynamic Caching):智能分配显存资源,提升 GPU 利用率
    • 硬件加速网格着色(Mesh Shading):优化 3D 建模和游戏渲染效率,实测在 GFXBench 4K Aztec Ruins 测试中达到 374 FPS,领先 NVIDIA RTX 5070 Ti 约 20%
    • 光线追踪(Ray Tracing):实现电影级光影效果,接近 NVIDIA RTX 5080 的 90% 性能
  2. 统一内存架构优势
    最高支持 512GB LPDDR5x 统一内存,其中 448GB 可分配为 VRAM(需手动调整 macOS 设置),远超消费级显卡的显存容量。这使得 Mac Studio 可直接本地运行 6000 亿参数的 DeepSeek-R1 大语言模型,而传统多 GPU 方案需要 10 倍以上功耗。


二、实际应用场景表现

  1. AI 开发领域

    • 运行 Llama 8B、Gemma 29B 等模型时,性能超越 Intel i9 + RTX 5090 的高端 PC
    • 在 Geekbench AI 基准测试中,全精度模式得分比 M3 Max 提升 63.6%
  2. 3D 创作与渲染

    • Cinebench 2024 GPU 测试得分约 20,000,领先 AMD Radeon RX 7900 XTX 25%
    • 影视后期特效制作效率提升 2.6 倍,DNA 测序速度提升 3.3 倍

三、扩展与能效

  1. Thunderbolt 5 支持
    提供 120Gbps 传输带宽,可同时连接多台 8K 显示器或高速存储设备,突破传统工作站扩展瓶颈。

  2. 超低功耗设计
    即使满载运行 DeepSeek-R1 模型,整机功耗仅 200W,比同性能多 GPU 方案节能 90%,符合苹果 2030 碳中和目标。


四、产品定位与竞品对比

指标Mac Studio (M3 Ultra)NVIDIA RTX 5090
显存容量最高 448GB (可分配)24GB GDDR7
内存带宽819GB/s1TB/s (HBM3e 显存)
典型功耗200W450W (单卡)
AI 开发兼容性macOS 原生优化依赖 CUDA 生态

推荐组合:使用 Mac Studio 进行本地 AI 原型开发,搭配云端 NVIDIA H100 服务器处理超大规模训练任务。


总结

M3 Ultra 的 GPU 在 显存容量、能效比、统一内存架构 上具有革命性突破,尤其适合需要本地运行大模型或处理超大规模数据的开发者。尽管在纯算力上稍逊于顶级消费级显卡(如 RTX 5080),但其 系统级优化与生态整合能力 重新定义了高性能计算设备的可能性。

以下是2025年最新乘机携带物品限制清单,综合民航局规定和实际案例整理:


一、绝对禁止携带(随身/托运均不可)

  1. 危险物品

    • 枪支弹药、爆炸物、管制刀具(包括仿真枪、钢珠枪、发令枪等)
    • 易燃易爆品:氢气罐、汽油、烟花爆竹、镁棒、强磁性物品
    • 剧毒/腐蚀性物品:氰化物、硫酸、汞(水银)、放射性物质
  2. 特殊物品

    • 酒精含量≥70%的酒精饮料
    • 自喷压力容器类:发胶、摩丝、防晒喷雾、保湿喷雾(无论容量大小)
    • 充电宝/锂电池:额定能量>160Wh(约43000mAh)或标识模糊的

二、可托运但禁止随身携带

  1. 液体类

    • 酒精含量24%-70%的酒精饮料(每人托运≤5L)
    • 酒精湿巾/消毒液:酒精含量≤70%,单瓶≤500mL
    • 液态火锅油、辣椒油等食用液体
  2. 工具类

    • 长度>6cm的普通刀具(如菜刀、水果刀)
    • 登山杖、棒球棍等钝器(需包装完好)

三、可随身携带但禁止托运

  1. 电子设备

    • 笔记本电脑、相机等含锂电池设备(电池不可拆卸时)
    • 充电宝:标识清晰且额定能量≤100Wh(约27000mAh)
  2. 特殊用途物品

    • 婴儿液态乳制品、糖尿病患者液态药品(需现场安检确认)
    • 医用氧气瓶(需医院证明并提前向航司申报)

四、限制性携带物品

  1. 化妆品

    • 单瓶容器标注≤100mL(实际用量不影响判定),总量≤1000mL
    • 例外:指甲油、染发剂等含易燃成分的化妆品完全禁止
  2. 食品

    • 香肠腊肉:商业包装可携带,自制需真空密封且无异味
    • 固体火锅底料可随身带,液态底料需托运
  3. 其他

    • 打火机/火柴:每人限带1个普通打火机(不可托运)
    • 宠物:猫狗等需检疫证明,使用航空箱托运(禁止入客舱)

五、特殊注意事项

  1. 锂电池管理

    • 备用电池每人限带2块,需单独绝缘包装
    • 飞行中禁止使用充电宝,且需全程关闭电源
  2. 行李尺寸限制

    • 国内航班手提行李≤20×40×55cm,托运行李≤40×60×100cm
    • 超规格乐器(如大提琴)需提前申请占座托运

违规处理建议

若携带违禁品被查获,可选择:

  1. 现场放弃物品
  2. 寄存机场(按日收费)
  3. 改签航班后补托运(限可托运物品)

温馨提示:出发前可通过航司官网或机场服务热线(如重庆机场023-966666)查询最新规定。跨境航班需额外遵守目的地国家检疫要求(如澳洲禁止肉类入境)。

以下是2025年最新科学解酒方法整合,结合传统经验和医学研究,分三类推荐:


一、科学解酒方法(优先推荐)

  1. 补水和电解质

    • 温蜂蜜水:蜂蜜中的果糖可加速酒精代谢,缓解头痛;
    • 椰子水/运动饮料:补充因酒精利尿流失的钾、钠,每小时饮用500ml温水或含电解质饮品;
    • 西瓜汁或番茄汁:高水分促排尿,番茄中的特殊果糖可加速酒精分解。
  2. 保护胃黏膜

    • 牛奶/酸奶:蛋白质包裹胃壁,延缓酒精吸收,酸奶中的钙还能缓解烦躁;
    • 鸡蛋或燕麦:酒后2小时食用,半胱氨酸中和乙醛毒性,维生素B1减少乳酸堆积。
  3. 物理降温与休息

    • 冷敷后颈或手腕10分钟,缓解心跳加速和面部潮红;
    • 右侧卧睡:减少胃酸反流和胰管压迫风险,切忌仰卧以防呕吐物窒息。

二、民间验证有效方法

  1. 蔬果类

    • 芹菜汁:缓解酒后头痛脑胀,直接榨汁饮用;
    • 葡萄/香蕉:葡萄中的酒石酸降低乙醇浓度,香蕉补钾缓解乏力。
  2. 食疗配方

    • 绿豆甘草汤:绿豆50g+甘草10g煮汤,促酒精代谢;
    • 葛根水:饮酒前饮用可护肝,酒后饮用助醒酒。

三、解酒误区(避免踩坑)

  1. 浓茶/咖啡加重脱水:咖啡因加剧心跳和头痛,优先选择温水;
  2. 强行催吐危险:可能引发贲门撕裂或急性胰腺炎,仅适合神志清醒者轻抠喉咙;
  3. 解酒药无效:市面产品无法加速代谢,维生素B仅缓解部分不适。

紧急就医信号

若出现以下情况,立即拨打120:

  • 昏迷不醒、呼吸频率<8次/分钟;
  • 呕吐物带血或咖啡色液体;
  • 抽搐或体温低于35℃。

预防醉酒建议

  1. 饮酒前:喝酸奶或吃鸡蛋(延缓酒精吸收50%);
  2. 饮酒时:避免混酒,每杯间隔15分钟,优先选择低度酒;
  3. 基因检测:亚洲40%人群缺乏乙醛脱氢酶(喝酒脸红者),建议滴酒不沾。

注意:以上方法仅缓解不适,酒精无安全剂量,长期饮酒仍会损伤肝脏和神经系统。

微信公众号

RestoSuite之预定 App

· 阅读需 1 分钟
Quany
软件工程师

协助任务

  • 通知中心
  • pin 弹窗组件
  • 预定设置-高级库存管理:lib/pages/setting/widget/plan_stock.dart

微信公众号

315打假

· 阅读需 3 分钟
Quany
软件工程师

一、食品安全:从“舌尖隐患”到贴身风险

  1. 翻新卫生巾/纸尿裤产业链
    梁山希希纸制品有限公司收购残次品卫生巾、婴儿纸尿裤,经简单翻新后贴上“麦酷酷”“自由点”等品牌标签二次销售,威胁女性健康。涉事企业已被查封,负责人被控制,济宁市启动专项整治行动。

  2. 保水虾仁“注冰增重”
    盐城海创源等企业通过过量添加保水剂(磷酸盐超标30倍)和包冰工艺增重,1斤冻虾仁解冻后仅剩3两虾肉,且隐瞒添加剂信息。市场监管总局已介入调查。

  3. 一次性内裤徒手制作不灭菌
    河南商丘多家代工厂(如梦阳服饰)在垃圾堆旁徒手缝制内裤,使用含苯系物的“枪水”去污,产品菌落超标12倍,浪莎、初医生等品牌涉事。商丘市监局已查封涉事车间。


二、数字经济与隐私安全:技术滥用成重灾区

  1. AI骚扰电话产业链
    智优擎科技等企业利用AI外呼机器人(日拨10万次)和虚拟运营商“小号”(无需实名),形成骚扰电话黑色产业链。工信部已关停涉事线路并核查数据。

  2. 隐私窃取“信息黑洞”
    云企智能、绿信科技通过嵌入短视频平台的“获客软件”,1分钟窃取6条用户隐私数据,日处理量达百亿条。国家网信办将开展专项整改。

  3. 手机抽奖连环陷阱
    诺诺网等平台通过自动跳转抽奖页面诱导充值,用户需连续6个月充值4000元才能用完“200元话费券”,80%用户中途放弃。


三、服务乱象:从“维修刺客”到金融陷阱

  1. 啄木鸟维修平台虚报故障
    国内最大维修平台“啄木鸟”培训员工虚构故障(如开个水龙头收费100元),燃气灶换点火器成本20元却收250元,平台抽佣40%。重庆市场监管局已进驻调查。

  2. 电子签高利贷套路
    借贷宝、人人信平台以“砍头息”(如借款5000元实收3500元)和展期费牟利,年化利率近6000%,放贷人使用虚假身份规避法律追责。


四、其他重点曝光问题

非标电线电缆:南宁、贵阳五金市场售卖未达国标的电线,安全隐患严重。 • 黄桃罐头黑幕:个别厂家使用烂桃翻新,篡改生产日期。


五、监管部门行动

市场监管总局:全面彻查“保水虾仁”、非标电线等违法行为,拟于5月上线“全国食品安全举报系统”。 • 工信部:关停骚扰电话线路,清理违法外呼软件。 • 地方政府:山东济宁、河南商丘等地连夜查封涉事企业并启动专项整治。

如需查看完整曝光名单和案例细节,可参考央视财经、新京报等权威报道。

微信公众号

微信公众号

这周发生了什么

· 阅读需 6 分钟
Quany
软件工程师

以下是这周编程技术领域的一些重要动态:

工具与平台更新

  • JDK 24 进入发布阶段:JDK 24 已进入首个候选发布阶段,计划于2025年3月18日正式发布。它包含24项新特性,涵盖核心Java库、语言规范、安全库、HotSpot和Java工具等方面。
  • 字节跳动Trae国内版上线:字节跳动的AI编程产品Trae国内版正式上线,配置了先进的AI模型,支持代码补全、理解、Bug修复及自然语言生成代码等功能,为开发者提供高效、智能化的编程体验。

行业趋势

  • AI主导代码生产趋势加速:Anthropic CEO预测,未来3到6个月内AI将编写90%的代码,一年内几乎包揽全部编程工作。这一趋势促使开发者提升AI相关技能,同时也引发对软件工程师职业前景的思考。
  • 低代码/无代码平台兴起:低代码和无代码平台使开发更加便捷,无需深厚编程知识即可构建强大应用,有助于简化开发流程、缩短产品上市时间并促进快速创新。

未来展望

  • AI编程工具持续进化:AI编程助手将更加智能,能够更好地理解开发者意图,自动生成高质量代码,并在代码优化、调试等方面提供更强大支持。
  • 量子计算与编程融合加深:随着量子计算技术的发展,未来可能出现专门针对量子计算的编程语言和工具,推动量子计算在更多领域的应用。

这些动态反映了编程技术领域的快速发展和变革,开发者需要不断学习和适应新技术,以保持竞争力。

----------------------------Flutter

以下是Flutter中常见的状态管理方案:

  1. Provider:由Flutter官方推荐,基于依赖注入,简单易用,适合中小型应用。
  2. Getx:全能框架,用于状态管理、路由和依赖注入,非常适用于低到中等复杂度的应用程序。
  3. Riverpod:由Provider的作者开发,功能更强大、灵活且类型安全,状态管理与BuildContext解耦,适用于大型应用的开发。

以下是目前Flutter中最流行的状态管理方案:

1. Riverpod

  • 特点:由Provider的作者开发,功能更强大、灵活且类型安全,状态管理与BuildContext解耦,适用于大型应用的开发。
  • 使用示例
    final counterProvider = StateNotifierProvider<CounterModel, int>((ref) {
    return CounterModel();
    });

    class CounterModel extends StateNotifier<int> {
    CounterModel() : super(0);

    void increment() {
    state++;
    }
    }

    void main() {
    runApp(ProviderScope(child: MyApp()));
    }

    class MyApp extends StatelessWidget {

    Widget build(BuildContext context) {
    return MaterialApp(
    home: Scaffold(
    appBar: AppBar(title: Text('Riverpod Example')),
    body: Center(
    child: Consumer(
    builder: (context, ref, child) {
    final count = ref.watch(counterProvider);
    return Text('Count: $count');
    },
    ),
    ),
    floatingActionButton: FloatingActionButton(
    onPressed: () => context.read(counterProvider.notifier).increment(),
    child: Icon(Icons.add),
    ),
    ),
    );
    }
    }
  • 优点:解耦上下文,类型安全,易于测试,支持异步状态。

2. Provider

  • 特点:Flutter官方推荐的状态管理方案之一,基于依赖注入,简单易用,适合中小型应用。
  • 使用示例
    class Counter with ChangeNotifier {
    int _count = 0;
    int get count => _count;

    void increment() {
    _count++;
    notifyListeners();
    }
    }

    void main() {
    runApp(
    ChangeNotifierProvider(
    create: (context) => Counter(),
    child: MyApp(),
    ),
    );
    }

    class MyApp extends StatelessWidget {

    Widget build(BuildContext context) {
    return MaterialApp(
    home: Scaffold(
    appBar: AppBar(title: Text('Provider Example')),
    body: Center(
    child: Consumer<Counter>(
    builder: (context, counter, child) {
    return Text('Count: ${counter.count}');
    },
    ),
    ),
    floatingActionButton: FloatingActionButton(
    onPressed: () => Provider.of<Counter>(context, listen: false).increment(),
    child: Icon(Icons.add),
    ),
    ),
    );
    }
    }

3. Getx

  • 特点:全能框架,用于状态管理、路由和依赖注入,非常适用于低到中等复杂度的应用程序。
  • 使用示例
    void main() => runApp(MaterialApp(home: Home()));

    class Home extends StatelessWidget {
    var count = 0.obs;


    Widget build(context) => Scaffold(
    appBar: AppBar(title: Text("counter")),
    body: Center(
    child: Obx(() => Text("$count")),
    ),
    floatingActionButton: FloatingActionButton(
    child: Icon(Icons.add),
    onPressed: () => count++,
    ));
    }
  • 优点:简单易用,性能优秀,内置依赖注入和路由管理功能。

4. Redux

  • 特点:具有集中式存储、操作和减速器的可预测状态管理,适用于需要强大可预测性和工具的应用程序。
  • 使用示例
    enum Actions { Increment }

    int counterReducer(int state, dynamic action) {
    return action == Actions.Increment ? state + 1 : state;
    }

    void main() {
    final store = Store<int>(counterReducer, initialState: 0);
    runApp(FlutterReduxApp(title: 'Flutter Redux Demo', store: store));
    }

    class FlutterReduxApp extends StatelessWidget {
    final Store<int> store;
    final String title;

    FlutterReduxApp({Key key, this.store, this.title}) : super(key: key);


    Widget build(BuildContext context) {
    return StoreProvider<int>(
    store: store,
    child: MaterialApp(
    theme: ThemeData.dark(),
    title: title,
    home: Scaffold(
    appBar: AppBar(title: Text(title)),
    body: Center(
    child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
    StoreConnector<int, String>(
    converter: (store) => store.state.toString(),
    builder: (context, count) {
    return Text(
    'The button has been pushed this many times: $count',
    style: Theme.of(context).textTheme.display1,
    );
    },
    )
    ],
    ),
    ),
    floatingActionButton: StoreConnector<int, VoidCallback>(
    converter: (store) {
    return () => store.dispatch(Actions.Increment);
    },
    builder: (context, callback) {
    return FloatingActionButton(
    onPressed: callback,
    tooltip: 'Increment',
    child: Icon(Icons.add),
    );
    },
    ),
    ),
    ),
    );
    }
    }

5. BLoC

  • 特点:通过将业务逻辑与UI分离,便于代码复用和测试,适合中大型应用。
  • 使用示例
    class CounterBloc {
    final _counterController = StreamController<int>();
    Stream<int> get counter => _counterController.stream;

    int _count = 0;
    void increment() {
    _count++;
    _counterController.sink.add(_count);
    }

    void dispose() {
    _counterController.close();
    }
    }

    void main() {
    final counterBloc = CounterBloc();
    runApp(Provider.value(value: counterBloc, child: MyApp()));
    }

    class MyApp extends StatelessWidget {

    Widget build(BuildContext context) {
    return MaterialApp(
    home: Scaffold(
    appBar: AppBar(title: Text('BLoC Example')),
    body: Center(
    child: StreamBuilder<int>(
    stream: Provider.of<CounterBloc>(context).counter,
    builder: (context, snapshot) {
    return Text('Count: ${snapshot.data ?? 0}');
    },
    ),
    ),
    floatingActionButton: FloatingActionButton(
    onPressed: () => Provider.of<CounterBloc>(context).increment(),
    child: Icon(Icons.add),
    ),
    ),
    );
    }
    }

6. MobX

  • 特点:采用响应式编程,简化状态管理,适合需要灵活状态管理的项目。
  • 使用示例
    class CounterStore {

    int count = 0;


    void increment() {
    count++;
    }
    }

    void main() {
    final store = CounterStore();
    runApp(Provider.value(value: store, child: MyApp()));
    }

    class MyApp extends StatelessWidget {

    Widget build(BuildContext context) {
    return MaterialApp(
    home: Scaffold(
    appBar: AppBar(title: Text('MobX Example')),
    body: Center(
    child: Observer(
    builder: (_) => Text('Count: ${Provider.of<CounterStore>(context).count}'),
    ),
    ),
    floatingActionButton: FloatingActionButton(
    onPressed: () => Provider.of<CounterStore>(context).increment(),
    child: Icon(Icons.add),
    ),
    ),
    );
    }
    }

这些状态管理方案各有优缺点,选择哪种方案取决于项目的具体需求和复杂度。

flutter 待加库

  • flutter_native_splash:启动屏

微信公众号

微信公众号

老婆生日

· 阅读需 2 分钟
Quany
软件工程师

待办事项

  • 设置页
  • 排队页面

根据2025年的最新规定,自动挡(C2)驾照考试内容主要包括以下四个科目:

科目一:理论考试

  • 考试内容:交通法规、道路标志、安全文明驾驶等相关知识。
  • 考试形式:计算机答题,题库与手动挡驾照相同。

科目二:场地驾驶技能考试

  • 考试项目包括:
    • 倒车入库。
    • 侧方停车。
    • 曲线行驶。
    • 直角转弯。
  • 注意:2025年起,自动挡科目二取消了“坡道定点停车和起步”项目,考试内容由5项减少为4项。

科目三:道路驾驶技能考试

  • 考试项目包括:
    • 上车准备、起步。
    • 直线行驶、变更车道。
    • 靠边停车。
    • 直行通过路口、路口左转弯、路口右转弯。
    • 通过人行横道线、通过学校区域、通过公共汽车站。
    • 会车、超车、掉头。
    • 夜间行驶。
  • 注意:自动挡科目三考试取消了“加减挡操作”项目。

科目四:安全文明驾驶常识考试

  • 考试内容:安全文明驾驶常识、应对突发状况的处理能力。
  • 考试形式:计算机答题,题库与手动挡驾照相同。

总结

自动挡驾照考试整体难度相对手动挡较低,特别是在科目二和科目三中,取消了“坡道定点停车和起步”以及“加减挡操作”等项目,更加贴近实际驾驶需求。

微信公众号

微信公众号

中关村办公

· 阅读需 1 分钟
Quany
软件工程师

待办事项

  • app 开发
  1. 协同问题:测试在等我们这边交付功能,希望做完一个功能测一个;
  2. 有些接口已经完成;

Android gradle flutter 脚本

packages/flutter_tools/gradle/src/main/groovy/flutter.groovy

改 ndk 版本

规范

  • 命名规范:驼峰命名法,首字母小写;

开发工具

Android Studio

微信公众号

微信公众号

Flutter for Restro

· 阅读需 3 分钟
Quany
软件工程师

介绍

Restro

figma 设计

git@gitlab.suixingpay.com:wang_sb/flutter_resto_demo.git

https://restosuite.sg.larksuite.com/wiki/M5z1wnh9AiN7OLkXFZklBglEged

https://www.figma.com/design/nyVmeDET90AY92wTh7Xbx0/%E9%A2%84%E8%AE%A2-APP?node-id=407-45570&m=dev

Flutter

国内镜像:

export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

flutter 基础框架

特性

  • 状态管理:GetX
  • 路由管理:GetX
  • 路由拦截:middlewares
  • 路由 Controller 绑定:GetPage -> binding
  • 全局 Controller 绑定: app.dart -> initialBinding
  • 网络请求封装:commons/ajax.dart -> dio
  • 主题切换:GetX
  • 枚举:封装 enums
  • 区分环境配置: config
  • 本地存储、区分 local 和 session 级别:commons/storage.dart
  • iconfont 图标:脚本基于 iconfont.json 生成
  • 国际化:GetX
  • 全局错误捕获上报服务器
  • MVVM 模式:models/pages/controllers+services
  • 日志管理:commons/logger.dart
  • 启动屏:纯 Flutter 组件方式实现,如果是 android 或 ios 可以考虑使用 flutter_native_splash + Flutter组件方式,避免白屏 + 处理业务逻辑
  • 屏幕适配(缩放):flutter_screenutil
  • 代码生成 build_runner + 自定义脚本
  • 代码规范:git_hooks
  • app 版本检测,下载新的版本
  • 如何做热更新或者类似热更新
  • 依赖注入:injectable
  • 权限管理:permission_handler 处理相机、存储、GPS等权限 app_settings 让用户跳转到系统设置页

代码生成

通过代码生成,简化开发流程,提高开发效率。

基础代码生成

  • models 生成: 基于 json_serializable 做*.g.dart相关文件生成
  • iconfont:基于builder/iconfont_builder.dart 生成 gen/icon_font.gen.dart
  • assets: 基于flutter_gen 做资源文件生成 gen/assets.gen.dart

注意:项目拉取下来之后,首先通过如下命令生成代码。

# 清除缓存
dart run build_runner clean

# 生成代码 强制覆盖已存在的生成文件
dart run build_runner build --delete-conflicting-outputs

生成页面

基于bin/create_page.dart 生成 pages/controllers/services 修改路由文件routes/app_routes.dart

参数说明:

  1. --name=xxx 指定名称
  2. -y 强制覆盖已存在文件

最终会生成:

  1. 创建:pages/test_user/test_user_page.dart;
  2. 创建:controllers/test_user_controller.dart;
  3. 创建:services/test_user_service.dart;
  4. 修改:routes/app_routes.dart
# 例如生成一个test_user页面

dart bin/create_page.dart --name=test_user -y

打开模拟器

flutter emulators
flutter emulators --launch <模拟器名称>

区分环境配置

项目中,区分环境配置主要是通过RUN_ENV变量来实现的,在lib/config/config.dart中根据RUN_ENV变量来配置不同的环境。

# 开发环境
flutter run --dart-define=RUN_ENV=dev

# 生产环境
flutter run --dart-define=RUN_ENV=production

# 测试环境
flutter run --dart-define=RUN_ENV=test

# 打包Android
flutter build apk --release --shrink --dart-define=RUN_ENV=production

# 打包iOS
flutter build ios --dart-define=RUN_ENV=production

代码规范

项目中,代码规范主要是通过analysis_options.yaml文件来实现的。

git_hooks结合,提交时检测:

# 安装 git_hooks
dart bin/git_hooks_init.dart

# 卸载 报错忽略,库有问题,其实已经卸载了
dart bin/git_hooks_un_install.dart

测试

Flutter 约定测试文件放在/test目录中,测试文件以_test.dart结尾,例如test/widget_test.dart

运行测试:

flutter test

参考文档

微信公众号

微信公众号

风筝

· 阅读需 1 分钟
Quany
软件工程师

代办事项

  • 扫普通链接二维码打开小程序,兼容支付宝小程序

微信公众号

微信公众号

门铃

· 阅读需 1 分钟
Quany
软件工程师

二维码门铃

解决快递员,拜访联系

Delphi 是一种由 Borland 公司(现为 Embarcadero Technologies)推出的可视化集成开发环境(IDE),主要用于快速应用程序开发(RAD)。它是一种基于 Object Pascal 的编程语言,结合了强大的可视化设计工具和高效的编译器,使得开发者能够快速创建 Windows 应用程序,支持创建高度复杂的图形用户界面(GUI)应用程序,适用于多种场景,包括但不限于商业软件、工业控制系统、数据库管理工具等。

微信公众号

微信公众号

儿童备用药

· 阅读需 2 分钟
Quany
软件工程师

为孩子准备一些常备药物可以帮助应对常见的小病小痛。以下是一些适合儿童的常备药物,但请在使用前仔细阅读说明书,并遵循医生或药剂师的建议:

1. 退烧药

  • 对乙酰氨基酚(如泰诺林):适用于3个月以上的婴儿和儿童,用于退烧和缓解轻至中度疼痛。
  • 布洛芬(如美林):适用于6个月以上的婴儿和儿童,用于退烧和缓解疼痛。

2. 感冒药

  • 抗组胺药(如氯雷他定、西替利嗪):用于缓解过敏症状,如流鼻涕、打喷嚏。
  • 止咳药(如右美沙芬):用于缓解咳嗽症状,但请注意不要给6岁以下的儿童使用。

3. 止泻药

  • 蒙脱石散(如思密达):用于治疗腹泻,保护肠道黏膜。
  • 口服补液盐(如ORS):用于预防和治疗脱水。

4. 抗过敏药

  • 氯雷他定(如开瑞坦):用于缓解过敏症状,如荨麻疹、过敏性鼻炎。
  • 西替利嗪(如仙特明):用于缓解过敏症状,适用于2岁以上的儿童。

5. 外用药

  • 碘伏:用于消毒伤口,预防感染。
  • 创可贴:用于小伤口的止血和保护。
  • 炉甘石洗剂:用于缓解皮肤瘙痒,如蚊虫叮咬、湿疹等。

6. 维生素和矿物质补充剂

  • 维生素D滴剂:用于预防和治疗维生素D缺乏,促进钙吸收。
  • 铁剂:用于预防和治疗缺铁性贫血,但需在医生指导下使用。

7. 其他

  • 益生菌:用于调节肠道菌群,改善消化不良。
  • 退热贴:用于辅助退烧,缓解发热不适。

使用注意事项

  • 严格按照说明书或医生的建议使用药物,特别是剂量和适用年龄。
  • 不要自行给儿童使用成人药物,因为儿童的肝肾功能尚未完全发育,可能无法代谢成人药物。
  • 定期检查药物的有效期,过期药物不要使用。
  • 将药物存放在儿童无法触及的地方,避免误服。

希望这些信息对您有帮助。如果孩子出现严重症状或持续不适,请及时就医。

微信公众号

微信公众号