feat: 新增禁用收到的赞功能

This commit is contained in:
orz12
2024-03-22 21:09:44 +08:00
parent 27d9fa05f5
commit c03e43098b
4 changed files with 35 additions and 13 deletions

View File

@@ -198,6 +198,12 @@ class _ExtraSettingState extends State<ExtraSetting> {
setKey: SettingBoxKey.enableAi, setKey: SettingBoxKey.enableAi,
defaultVal: true, defaultVal: true,
), ),
const SetSwitchItem(
title: '消息页禁用“收到的赞”功能',
subTitle: '禁止打开入口,降低网络社交依赖',
setKey: SettingBoxKey.disableLikeMsg,
defaultVal: false,
),
ListTile( ListTile(
dense: false, dense: false,
title: Text('评论展示', style: titleStyle), title: Text('评论展示', style: titleStyle),

View File

@@ -6,6 +6,7 @@ import 'package:PiliPalaX/models/msg/account.dart';
import 'package:PiliPalaX/models/msg/session.dart'; import 'package:PiliPalaX/models/msg/session.dart';
import '../../models/msg/msgfeed_unread.dart'; import '../../models/msg/msgfeed_unread.dart';
import '../../utils/storage.dart';
class WhisperController extends GetxController { class WhisperController extends GetxController {
RxList<SessionList> sessionList = <SessionList>[].obs; RxList<SessionList> sessionList = <SessionList>[].obs;
@@ -17,24 +18,28 @@ class WhisperController extends GetxController {
"name":"回复我的", "name":"回复我的",
"icon":Icons.message_outlined, "icon":Icons.message_outlined,
"route": "/replyMe", "route": "/replyMe",
"enabled": true,
"value": 0 "value": 0
}, },
{ {
"name":"@我", "name":"@我",
"icon":Icons.alternate_email_outlined, "icon":Icons.alternate_email_outlined,
"route": "/atMe", "route": "/atMe",
"enabled": true,
"value": 0 "value": 0
}, },
{ {
"name":"收到的赞", "name":"收到的赞",
"icon":Icons.favorite_border_outlined, "icon":Icons.favorite_border_outlined,
"route": "/likeMe", "route": "/likeMe",
"enabled": true,
"value": 0 "value": 0
}, },
{ {
"name":"系统通知", "name":"系统通知",
"icon":Icons.notifications_none_outlined, "icon":Icons.notifications_none_outlined,
"route": "/sysMsg", "route": "/sysMsg",
"enabled": true,
"value": 0 "value": 0
}, },
].obs; ].obs;
@@ -47,6 +52,10 @@ class WhisperController extends GetxController {
msgFeedTop[1]["value"] = msgFeedUnread.value.at; msgFeedTop[1]["value"] = msgFeedUnread.value.at;
msgFeedTop[2]["value"] = msgFeedUnread.value.like; msgFeedTop[2]["value"] = msgFeedUnread.value.like;
msgFeedTop[3]["value"] = msgFeedUnread.value.sys_msg; msgFeedTop[3]["value"] = msgFeedUnread.value.sys_msg;
if (GStrorage.setting.get(SettingBoxKey.disableLikeMsg, defaultValue: false)) {
msgFeedTop[2]["value"] = -1;
msgFeedTop[2]["enabled"] = false;
}
// 触发更新 // 触发更新
msgFeedTop.refresh(); msgFeedTop.refresh();
} else { } else {

View File

@@ -1,5 +1,6 @@
import 'package:easy_debounce/easy_throttle.dart'; import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:PiliPalaX/common/widgets/network_img_layer.dart'; import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
import 'package:PiliPalaX/utils/utils.dart'; import 'package:PiliPalaX/utils/utils.dart';
@@ -103,6 +104,10 @@ class _WhisperPageState extends State<WhisperPage> {
], ],
), ),
onTap: () { onTap: () {
if (!_whisperController.msgFeedTop[idx]['enabled']) {
SmartDialog.showToast('已禁用');
return;
}
setState(() { setState(() {
_whisperController.msgFeedTop[idx]['value'] = 0; _whisperController.msgFeedTop[idx]['value'] = 0;
}); });
@@ -205,7 +210,8 @@ class _WhisperPageState extends State<WhisperPage> {
.outline)), .outline)),
trailing: Text( trailing: Text(
Utils.dateFormat( Utils.dateFormat(
sessionList[i].lastMsg.timestamp, formatType: "day"), sessionList[i].lastMsg.timestamp,
formatType: "day"),
style: Theme.of(context) style: Theme.of(context)
.textTheme .textTheme
.labelSmall! .labelSmall!

View File

@@ -132,6 +132,7 @@ class SettingBoxKey {
enableSearchWord = 'enableSearchWord', enableSearchWord = 'enableSearchWord',
enableSystemProxy = 'enableSystemProxy', enableSystemProxy = 'enableSystemProxy',
enableAi = 'enableAi', enableAi = 'enableAi',
disableLikeMsg = 'disableLikeMsg',
defaultHomePage = 'defaultHomePage'; defaultHomePage = 'defaultHomePage';
/// 外观 /// 外观