logo和名称替换

This commit is contained in:
谢宇宁
2026-10-14 11:23:36 +07:00
parent 1cb514cd02
commit c5c04a7967
478 changed files with 8990 additions and 4948 deletions
+34 -21
View File
@@ -1,14 +1,14 @@
import 'package:get/get.dart';
import 'package:hgmj/hj_model/video_model.dart';
import 'package:hgmj/hj_page/pre_sale/pre_sale_page.dart';
import 'package:hgmj/hj_page/pre_sale/pre_sale_provider.dart';
import 'package:hgmj/hj_page/user_center_page/user_center_page.dart';
import 'package:hgmj/hj_page/video/video_page.dart';
import 'package:hgmj/tools_base/debug_log.dart';
import 'package:hgmj/tools_base/event_bus/events.dart';
import 'package:hgmj/tools_base/headphone_monitor.dart';
import 'package:hgmj/tools_base/loading/loading_helper.dart';
import 'package:hgmj/tools_base/toast.dart';
import 'package:wydj/hj_model/video_model.dart';
import 'package:wydj/hj_page/pre_sale/pre_sale_page.dart';
import 'package:wydj/hj_page/pre_sale/pre_sale_provider.dart';
import 'package:wydj/hj_page/user_center_page/user_center_page.dart';
import 'package:wydj/hj_page/video/video_page.dart';
import 'package:wydj/tools_base/debug_log.dart';
import 'package:wydj/tools_base/event_bus/events.dart';
import 'package:wydj/tools_base/headphone_monitor.dart';
import 'package:wydj/tools_base/loading/loading_helper.dart';
import 'package:wydj/tools_base/toast.dart';
import 'package:url_launcher/url_launcher.dart';
import '../config/config.dart';
@@ -56,7 +56,8 @@ Future? pushToVideoPage({
// 2. SEED_LINK:跳 ACG 游戏详情
if (videoModel?.newsType == 'SEED_LINK') {
return Get.to(() => AcgGameDetailPage(id: videoModel?.id ?? ''), preventDuplicates: false);
return Get.to(() => AcgGameDetailPage(id: videoModel?.id ?? ''),
preventDuplicates: false);
}
// // 3. 短视频:playTime < 300 且非 0(此分支 videoModel 必非 null,playTime 取自它)
@@ -93,14 +94,17 @@ void pushToCartoonPage(CartoonMediaInfo? info) {
Get.to(NovelDetailPage(info?.id), preventDuplicates: false);
return;
case 'video':
pushToVideoPage(videoModel: VideoModel(id: info?.id, cover: info?.coverV), isCartoon: true);
pushToVideoPage(
videoModel: VideoModel(id: info?.id, cover: info?.coverV),
isCartoon: true);
return;
}
}
/// 解析 deeplink/h5 链接并执行跳转
/// [sourcePage] 链接落到会员/金币页时的下单来源(如首页浮窗),不传走 pushToWalletPage 的默认
Future? pushToPageByLink(String? url, {Map<String, dynamic>? arguments, PaySourcePage? sourcePage}) async {
Future? pushToPageByLink(String? url,
{Map<String, dynamic>? arguments, PaySourcePage? sourcePage}) async {
if (url?.isNotEmpty != true) return null;
Uri? uri;
@@ -124,7 +128,8 @@ Future? pushToPageByLink(String? url, {Map<String, dynamic>? arguments, PaySourc
if (uri.queryParameters["inner"] == "1") {
// InAppWebView 是 PlatformView,创建时会重建渲染 Surface;视频在播放(Texture持续产帧)会导致部分机型画面放大/闪烁,先暂停所有播放
HeadphoneMonitor.instance.pauseAll();
return Get.to(H5Page(url: url!, showTitle: false, showClose: true), popGesture: true);
return Get.to(H5Page(url: url!, showTitle: false, showClose: true),
popGesture: true);
}
return launchUrlToWeb(url!);
}
@@ -133,7 +138,8 @@ Future? pushToPageByLink(String? url, {Map<String, dynamic>? arguments, PaySourc
}
/// 处理 yinseinner:// 内部 scheme 跳转
Future? _handleYinseInnerLink(String host, Map<String, dynamic> arguments, [PaySourcePage? sourcePage]) async {
Future? _handleYinseInnerLink(String host, Map<String, dynamic> arguments,
[PaySourcePage? sourcePage]) async {
switch (host) {
case "submodule": // 亚模块分类
eventBus.emit(YinseinnerModel(routeName: "module", id: arguments["id"]));
@@ -145,7 +151,8 @@ Future? _handleYinseInnerLink(String host, Map<String, dynamic> arguments, [PayS
eventBus.emit(YinseinnerModel(routeName: "community_page"));
return null;
case "community_module": // 社区
eventBus.emit(YinseinnerModel(routeName: "community_module", id: arguments["id"]));
eventBus.emit(
YinseinnerModel(routeName: "community_module", id: arguments["id"]));
return null;
case "vip_page": // 会员中心
return pushToWalletPage(vipId: arguments['id'], sourcePage: sourcePage);
@@ -159,11 +166,14 @@ Future? _handleYinseInnerLink(String host, Map<String, dynamic> arguments, [PayS
case "rankinglist": // 排行榜
return Get.to(RankMainPage(), preventDuplicates: false);
case "postdetail": // 帖子详情
return Get.to(() => PostDetailPage(argument: PostDetailPageArgument(id: arguments["id"])));
return Get.to(() => PostDetailPage(
argument: PostDetailPageArgument(id: arguments["id"])));
case "video_page": // 长视频播放页
return Get.to(() => VideoPage(model:VideoModel(id:arguments["id"])), preventDuplicates: false);
return Get.to(() => VideoPage(model: VideoModel(id: arguments["id"])),
preventDuplicates: false);
case "taskhall": // 福利任务
return Get.to(() => const WelfareHomePage(index: 1), preventDuplicates: false);
return Get.to(() => const WelfareHomePage(index: 1),
preventDuplicates: false);
case "advancepage": // 预售
return Get.to(() => const PreSalePage());
case "live_streaming": // 直播
@@ -243,9 +253,12 @@ Future? pushToPersonCenter(dynamic id, {int? type}) {
/// [sourcePage] 落地页下单时的来源。不传时各分支用各自的默认:会员页记会员中心
/// (绝大多数入口都是「跳进会员页再下单」),金币页记 UNKNOWN(没有专属枚举,别拿会员的顶上);
/// 有独立来源的(H5 活动等)自己传
Future pushToWalletPage({int? tabPosition, String? vipId, PaySourcePage? sourcePage}) async {
Future pushToWalletPage(
{int? tabPosition, String? vipId, PaySourcePage? sourcePage}) async {
if (tabPosition == 1) {
return Get.to(MineChargeCoinPage(sourcePage: sourcePage ?? PaySourcePage.unknown), preventDuplicates: false);
return Get.to(
MineChargeCoinPage(sourcePage: sourcePage ?? PaySourcePage.unknown),
preventDuplicates: false);
}
return Get.to(
MineChargeVipPage(