Skip to content

realth000/tsdm_client

Repository files navigation

tsdm_client_logo
tsdm_client

天使动漫论坛官方跨平台客户端

test_ci release platforms download_total flutter_version dart_percentage codacy_code_analyze vga_lint

Tip

受测试条件限制,标注为已实现的功能也可能有缺陷,欢迎提issue或PR。

截图

screenshot_01 screenshot_02
screenshot_03 screenshot_04
screenshot_05 screenshot_06

下载

系统 版本
Android stable_apk_armv8
stable_apk_armv7
F-Droid
iOS stable_ipa_universal
Linux stable_targz_x64
macOS stable_dmg_universal
Windows stable_zip_win

Tip

  • iOS和macOS平台的产物没有测试环境,未经过测试,欢迎提issue和PR。
  • iOS和macOS平台产物并未签名,ipa签名请自行寻找方法。

功能

斜体字功能目前尚未release

  • 看贴
    • 回复
    • 基本信息(用户名、头像)
    • 其他信息(用户组、昵称、头衔等)
    • 链接跳转
    • 电梯直达
    • 倒序浏览
    • 筛选和排序帖子
    • 只看指定作者
    • 展开/折叠
    • 引用
    • 提示有投票区域(不实现投票功能)
    • 查看点评
    • 评分/查看评分
    • 代码块
    • 我的帖子
    • 查看新帖
    • 帖子类型(加精,置顶,已关闭等)
    • 置顶帖
    • 领取红包
    • 悬赏/悬赏答案
    • 积分信息
    • 签到信息
    • 勋章
    • 第二牌子
    • 签名档
    • 查看图片
  • 回帖
    • 回复文字
    • 回复其他楼层
    • 编辑回复
    • 编辑帖子(一楼)
    • 富文本模式
  • 编辑帖子
    • 修改纯文本内容
    • 设置分类和标题
    • 设置附加选项
    • 设置阅读权限
    • 设置售价
    • 富文本模式
  • 发帖
    • 纯文本内容
    • 保存为草稿
    • 编辑草稿
    • 本地自动保存
    • 设置分类和标题
    • 设置附加选项
    • 设置阅读权限
    • 设置售价
    • 富文本模式
  • 登录
    • 用户名登录
    • UID或邮箱登录
    • 带安全问题登录
    • 登录一次后cookie自动登录
    • 退出登录
    • 多账户登录
  • 搜索
    • 按作者id和论坛id搜索
  • 积分
    • 积分统计和历史记录
    • 查询积分记录
  • 购买
    • 购买帖子
    • 回复后可见
    • 购买记录
  • 签到
    • 手动签到
    • 自动签到(为所有用户)
  • 深色模式
    • 手动设置
    • 跟随系统
    • 自动调整帖子内的颜色
  • 主题
    • 更换主题色
    • 动态颜色
  • 用户信息
    • 查看用户信息
    • 积分信息
    • 签名档
    • 修改头像
    • 修改个人资料
    • 切换用户组
  • 通知
    • 查看提醒
    • 回复提醒
    • 跳转到提醒的帖子
    • 查看私信/系统消息
    • 查看私信对话历史
    • 回复私信
    • 发送私信
    • 发送富文本私信
    • 自动拉取通知
    • 自动拉取到新通知时发送系统通知(安卓)
  • 好友
    • 加好友
    • 查看好友
    • 分组
    • 删除
  • 收藏
    • 收藏帖子或分区
    • RSS订阅
  • 多用户
  • 多语言
    • 软件界面
    • 浏览内容翻译为繁体中文
  • ...

不实现的功能

考虑到安全性和测试条件,以下功能不会实现

  • 账号安全:更改密码、更换邮箱和设置安全问题。
  • 版主权限:帖子操作、用户操作和版区操作等。
  • 存储:保存登录密码或安全问题。

富文本支持

概述

目前正在添加bbcode的富文本支持,最终会在发表帖子/回复/消息等场景内支持所见即所得的bbcode书写体验。

BBCode编辑器主要功能存放在单独的仓库flutter_bbcode_editor中。

编写

编写新内容时,以所见即所得的形式输入和编辑以下样式中支持的部分。

  • 文本样式
    • 字号(固定大小1-7)[font]
    • 字体颜色 [color]
    • 背景颜色 [backcolor]
    • 粗体 [b]
    • 斜体 [i]
    • 下划线 [u]
    • 删除线 [s]
    • 字体 [font](不实现)
  • 表情 {:$GROUP_$ID:}
  • 网页链接 [url]
    • 添加
    • 修改
  • 外链图片 [img]
    • 添加
    • 设置大小
    • 修改
    • 自动填充图片大小
    • 根据比例自动设置长度或宽度
  • 折叠卡片 [spoiler] (Android尚不支持)
  • 隐藏内容 [hide](Android尚不支持)
    • 根据积分隐藏 [hide=$POINTS]
    • 需要回复 [hide]
  • 代码块 [code]
  • 引用文字 [quote]
  • 分隔线 [hr]
  • 提醒用户 [@]
    • 根据用户名搜索
    • 随机推荐好友
  • 无序列表 [list]
  • 有序列表 [list=1]
  • 表格 [table]
  • 上标 [sup]
  • 对齐
    • 居左 [align=left]
    • 居中 [align=center]
    • 居右 [align=right]

解析

编辑已发布的内容时,可将以下样式中支持的部分解析为所见即所得的内容,而不支持的样式将以纯文本的形式呈现。

  • 文本样式
    • 字号(固定大小1-7)[font]
    • 字体颜色 [color]
    • 背景颜色 [backcolor]
    • 粗体 [b]
    • 斜体 [i]
    • 下划线 [u]
    • 删除线 [s]
    • 字体 [font](不实现)
  • 表情 {:$GROUP_$ID:}
  • 网页链接 [url]
  • 外链图片 [img]
  • 折叠卡片 [spoiler]
  • 隐藏内容 [hide]
  • 代码块 [code]
  • 引用文字 [quote]
  • 分隔线 [hr]
  • 提醒用户 [@]
  • 无序列表 [list]
  • 有序列表 [list=1]
  • 表格 [table]
  • 上标 [sup]
  • 对齐
    • 居左 [align=left]
    • 居中 [align=center]
    • 居右 [align=right]

已知问题

在修了在修了

  • 暂不支持论坛的璀璨星河主题,请不要在设置中使用该主题。
  • 长时间使用至cookie过期时一些功能可能无法使用,例如签到,此时请重新登录。

开发

编译

# 1. All
git clone --recursive https://github.com/realth000/tsdm_client
cd tsdm_client
dart ./Makefile.dart

# 2. Android
flutter build apk

# 2. iOS
flutter build ios --no-codesign

# 2. Linux
flutter build linux

# 2. macOS
flutter build macos

# 2. Windows
flutter build windows

更新数据库schema

# One step
dart ./Makefile.dart

# Or manually
# Export schema
dart run drift_dev schema dump lib/shared/providers/storage_provider/models/database/database.dart lib/shared/providers/storage_provider/models/database/schema/migration/
# Generate migration
dart run drift_dev schema steps lib/shared/providers/storage_provider/models/database/schema/migration/ lib/shared/providers/storage_provider/models/database/schema/schema_versions.dart
# Update schema for test
dart run drift_dev schema generate lib/shared/providers/storage_provider/models/database/schema/migration/ test/data/generated_migrations/

隐私

本程序不会收集或上传任何系统或设备或用户信息,访问主站时使用的凭据均只保存在设备本地。

  • 保存用户信息,包括用户名、UID和cookie供登录和访问时使用。
  • 不会保存邮箱、密码和安全问题。

许可

本程序在MIT License下分发。