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,
defaultVal: true,
),
const SetSwitchItem(
title: '消息页禁用“收到的赞”功能',
subTitle: '禁止打开入口,降低网络社交依赖',
setKey: SettingBoxKey.disableLikeMsg,
defaultVal: false,
),
ListTile(
dense: false,
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 '../../models/msg/msgfeed_unread.dart';
import '../../utils/storage.dart';
class WhisperController extends GetxController {
RxList<SessionList> sessionList = <SessionList>[].obs;
@@ -17,24 +18,28 @@ class WhisperController extends GetxController {
"name":"回复我的",
"icon":Icons.message_outlined,
"route": "/replyMe",
"enabled": true,
"value": 0
},
{
"name":"@我",
"icon":Icons.alternate_email_outlined,
"route": "/atMe",
"enabled": true,
"value": 0
},
{
"name":"收到的赞",
"icon":Icons.favorite_border_outlined,
"route": "/likeMe",
"enabled": true,
"value": 0
},
{
"name":"系统通知",
"icon":Icons.notifications_none_outlined,
"route": "/sysMsg",
"enabled": true,
"value": 0
},
].obs;
@@ -47,6 +52,10 @@ class WhisperController extends GetxController {
msgFeedTop[1]["value"] = msgFeedUnread.value.at;
msgFeedTop[2]["value"] = msgFeedUnread.value.like;
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();
} else {

View File

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

View File

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