221 篇博文 含有标签「iCoding」
个人简介
查看所有标签315打假
一、食品安全:从“舌尖隐患”到贴身风险
-
翻新卫生巾/纸尿裤产业链
梁山希希纸制品有限公司收购残次品卫生巾、婴儿纸尿裤,经简单翻新后贴上“麦酷酷”“自由点”等品牌标签二次销售,威胁女性健康。涉事企业已被查封,负责人被控制,济宁市启动专项整治行动。 -
保水虾仁“注冰增重”
盐城海创源等企业通过过量添加保水剂(磷酸盐超标30倍)和包冰工艺增重,1斤冻虾仁解冻后仅剩3两虾肉,且隐瞒添加剂信息。市场监管总局已介入调查。 -
一次性内裤徒手制作不灭菌
河南商丘多家代工厂(如梦阳服饰)在垃圾堆旁徒手缝制内裤,使用含苯系物的“枪水”去污,产品菌落超标12倍,浪莎、初医生等品牌涉事。商丘市监局已查封涉事车间。
二、数字经济与隐私安全:技术滥用成重灾区
-
AI骚扰电话产业链
智优擎科技等企业利用AI外呼机器人(日拨10万次)和虚拟运营商“小号”(无需实名),形成骚扰电话黑色产业链。工信部已关停涉事线路并核查数据。 -
隐私窃取“信息黑洞”
云企智能、绿信科技通过嵌入短视频平台的“获客软件”,1分钟窃取6条用户隐私数据,日处理量达百亿条。国家网信办将开展专项整改。 -
手机抽奖连环陷阱
诺诺网等平台通过自动跳转抽奖页面诱导充值,用户需连续6个月充值4000元才能用完“200元话费券”,80%用户中途放弃。
三、服务乱象:从“维修刺客”到金融陷阱
-
啄木鸟维修平台虚报故障
国内最大维修平台“啄木鸟”培训员工虚构故障(如开个水龙头收费100元),燃气灶换点火器成本20元却收250元,平台抽佣40%。重庆市场监管局已进驻调查。 -
电子签高利贷套路
借贷宝、人人信平台以“砍头息”(如借款5000元实收3500元)和展期费牟利,年化利率近6000%,放贷人使用虚假身份规避法律追责。
四、其他重点曝光问题
• 非标电线电缆:南宁、贵阳五金市场售卖未达国标的电线,安全隐患严重。 • 黄桃罐头黑幕:个别厂家使用烂桃翻新,篡改生产日期。
五、监管部门行动
• 市场监管总局:全面彻查“保水虾仁”、非标电线等违法行为,拟于5月上线“全国食品安全举报系统”。 • 工信部:关停骚扰电话线路,清理违法外呼软件。 • 地方政府:山东济宁、河南商丘等地连夜查封涉事企业并启动专项整治。
如需查看完整曝光名单和案例细节,可参考央视财经、新京报等权威报道。
微信公众号

这周发生了什么
以下是这周编程技术领域的一些重要动态:
工具与平台更新
- 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中常见的状态管理方案:
- Provider:由Flutter官方推荐,基于依赖注入,简单易用,适合中小型应用。
- Getx:全能框架,用于状态管理、路由和依赖注入,非常适用于低到中等复杂度的应用程序。
- 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:启动屏
微信公众号

老婆生日
待办事项
- 设置页
- 排队页面
根据2025年的最新规定,自动挡(C2)驾照考试内容主要包括以下四个科目:
科目一:理论考试
- 考试内容:交通法规、道路标志、安全文明驾驶等相关知识。
- 考试形式:计算机答题,题库与手动挡驾照相同。
科目二:场地驾驶技能考试
- 考试项目包括:
- 倒车入库。
- 侧方停车。
- 曲线行驶。
- 直角转弯。
- 注意:2025年起,自动挡科目二取消了“坡道定点停车和起步”项目,考试内容由5项减少为4项。
科目三:道路驾驶技能考试
- 考试项目包括:
- 上车准备、起步。
- 直线行驶、变更车道。
- 靠边停车。
- 直行通过路口、路口左转弯、路口右转弯。
- 通过人行横道线、通过学校区域、通过公共汽车站。
- 会车、超车、掉头。
- 夜间行驶。
- 注意:自动挡科目三考试取消了“加减挡操作”项目。
科目四:安全文明驾驶常识考试
- 考试内容:安全文明驾驶常识、应对突发状况的处理能力。
- 考试形式:计算机答题,题库与手动挡驾照相同。
总结
自动挡驾照考试整体难度相对手动挡较低,特别是在科目二和科目三中,取消了“坡道定点停车和起步”以及“加减挡操作”等项目,更加贴近实际驾驶需求。
微信公众号

中关村办公
Flutter for Restro
介绍
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
参数说明:
- --name=xxx 指定名称
- -y 强制覆盖已存在文件
最终会生成:
- 创建:pages/test_user/test_user_page.dart;
- 创建:controllers/test_user_controller.dart;
- 创建:services/test_user_service.dart;
- 修改: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
参考文档
- Flutter 官方文档
- Flutter 官方示例
- Flutter 官方插件
- Flutter 官方插件
- Flutter 学习 Codelabs
- GetX 路由、状态、国际化等
- GetX 路由管理
- Flutter 项目名称修改
微信公众号

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

儿童备用药
为孩子准备一些常备药物可以帮助应对常见的小病小痛。以下是一些适合儿童的常备药物,但请在使用前仔细阅读说明书,并遵循医生或药剂师的建议:
1. 退烧药
- 对乙酰氨基酚(如泰诺林):适用于3个月以上的婴儿和儿童,用于退烧和缓解轻至中度疼痛。
- 布洛芬(如美林):适用于6个月以上的婴儿和儿童,用于退烧和缓解疼痛。
2. 感冒药
- 抗组胺药(如氯雷他定、西替利嗪):用于缓解过敏症状,如流鼻涕、打喷嚏。
- 止咳药(如右美沙芬):用于缓解咳嗽症状,但请注意不要给6岁以下的儿童使用。
3. 止泻药
- 蒙脱石散(如思密达):用于治疗腹泻,保护肠道黏膜。
- 口服补液盐(如ORS):用于预防和治疗脱水。
4. 抗过敏药
- 氯雷他定(如开瑞坦):用于缓解过敏症状,如荨麻疹、过敏性鼻炎。
- 西替利嗪(如仙特明):用于缓解过敏症状,适用于2岁以上的儿童。
5. 外用药
- 碘伏:用于消毒伤口,预防感染。
- 创可贴:用于小伤口的止血和保护。
- 炉甘石洗剂:用于缓解皮肤瘙痒,如蚊虫叮咬、湿疹等。
6. 维生素和矿物质补充剂
- 维生素D滴剂:用于预防和治疗维生素D缺乏,促进钙吸收。
- 铁剂:用于预防和治疗缺铁性贫血,但需在医生指导下使用。
7. 其他
- 益生菌:用于调节肠道菌群,改善消化不良。
- 退热贴:用于辅助退烧,缓解发热不适。
使用注意事项
- 严格按照说明书或医生的建议使用药物,特别是剂量和适用年龄。
- 不要自行给儿童使用成人药物,因为儿童的肝肾功能尚未完全发育,可能无法代谢成人药物。
- 定期检查药物的有效期,过期药物不要使用。
- 将药物存放在儿童无法触及的地方,避免误服。
希望这些信息对您有帮助。如果孩子出现严重症状或持续不适,请及时就医。
微信公众号

