Files
pte/untitled/lib/utils/Core.dart
2024-09-27 01:31:25 +08:00

101 lines
3.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_modular/flutter_modular.dart';
import 'package:peach/config/Colors.dart';
import 'package:peach/entity/_.dart';
import 'package:peach/service/_.dart';
import '_.dart';
/*
* 核心的utils主要封装UI相关的操作
*/
class Core {
static FreeUseEntity freeUseStatus;
/// 修改状态栏颜色
static void SetStatusThemeColor({Color color : ColorConfig.ThemeColor}) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: ColorConfig.ThemeColor
));
}
static void deleteDialog(BuildContext context, Function callback,{ String content: "确认删除该收藏吗?" }) async {
return await showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text('提示'),
content: Text(content),
actions: <Widget>[
FlatButton(
child: Text('取消',style: TextStyle(color: ColorConfig.NoActiveColor),),
onPressed: () {
Navigator.of(context).pop();
}
),
FlatButton(
child: Text('确认',style: TextStyle(color: ColorConfig.ThemeColor),),
onPressed: () async {
callback();
Navigator.of(context).pop();
}
),
],
);
});
}
/// 调用接口,减少免费试看的次数
static Future<FreeUseEntity> freeUse(BuildContext context, Function vipCallBack) async {
freeUseStatus = await UserService.freeUse(params: { 'objectId': Tool.userInfo()['objectId'] });
// 如果已经没有免费试看的次数了,弹窗提醒
if (freeUseStatus.freeNumber == 0) {
await showDialog(
context: context,
builder: (context) {
return WillPopScope(
onWillPop: () async => false,
child: AlertDialog(
title: Text('温馨提示'),
content: Text("免费体验到期请开通VIP享受更多特权和功能"),
actions: <Widget>[
FlatButton(
child: Text('取消',style: TextStyle(color: ColorConfig.NoActiveColor),),
onPressed: () {
Modular.to.pop();
Modular.to.pop();
}
),
FlatButton(
child: Text('开通VIP',style: TextStyle(color: ColorConfig.ThemeColor),),
onPressed: () async {
Modular.to.pushNamed('/vip');
}
),
],
),
);
});
} else {
vipCallBack();
}
}
// -1 表示已经开通了vip
static bool isVip(BuildContext context) {
print("freeUseStatus.freeNumber ======= ${freeUseStatus.freeNumber}");
if (freeUseStatus.freeNumber == -1) {
return true;
} else {
return false;
}
}
/// 复制文字到剪切板
static void copy (String message) {
Clipboard.setData(ClipboardData(text: message));
}
}