返回列表 发新帖

使用Flutter开发的MT论坛app

  [复制链接]

54

主题

3588

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
789
好评
190
信誉
180

MT论坛新人MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员挂机大佬

发表于 2026-7-15 20:12:08 来自手机  | 显示全部楼层 | 阅读模式  来自 陕西
本帖最后由 青春向上 于 2026-7-30 15:37 编辑

GitHub链接:
https://github.com/qcxs/mtbbs_app



先简单介绍一下页面:
首页(长截屏)

消息:支持消息预览

导读

编辑器(后面详情介绍)

我的

板块

帖子详情页

小黑屋

在线用户:用户很多,需要等待头像全部加载完成

主要就上述这几个页面,app同时支持Android和Windows,上述截屏为Windows(宽屏),安卓显示窄屏UI



熟悉我朋友都知道,我发布了很多油猴脚本,便于论坛浏览或发帖。这个app是集大成者,可以说以前都是铺垫,没有之前的熟悉就不会写出这个app,自认为含金量很高~现在也遇到了开发瓶颈,进入稳定版。趁着还有一些记忆,就当写日记一样,把功能、经验列出来。


软件特色:
基于Flutter开发,理论上跨平台,于是很多操作都同时支持了手机、电脑,并尽量少用平台特色,做到通用。(demo不一定可用,推荐自己从源码编译)


核心设计理念:
discuz论坛原生为网页,而app使用json,设计适配器层,按照http、parse、test、export三层结构,使用dom提取出网页内容,让app无需关心数据,调用异步api即可。
示例:RSS

http层:发送http,获取到原始数据
parse层:发现原始数据是xml格式,使用xml解析器,最终转换为json数据
test:代码不是一次就编写成功的,test就是让ai编写并测试,直到成功
export:此时test验证通过,http和parse如何让app使用呢?export暴漏接口,app只需和接口打交道,无需关心其他代码,做到高内聚低耦合。
故dom解析效果决定app质量,当前由于个人精力有限,只让ai通过chrome mcp自己分析网页并解析,凑合能用但有很大的优化空间。(有什么数据上的bug,就是相关api的parse设计有问题)
登录功能:(支持多账号切换)

不是必选项(不登录也能用),不管那个大佬开发的app,都肯定包含了登录。
特色:让用户自己在浏览器中登录,app获取浏览器的cookie,完全不用考虑用户名密码错误、验证码等各种意外情况。
额外支持cookie登录

cookie从哪里来呢?自己抓包复制



编辑器

这是我觉得最有用的功能了,之前编写的油猴脚本:【论坛脚本】论坛自用发帖工具js(InsertLabel_2.0.js),虽然也不错(毕竟也是用心编写的),但是始终没法做到类似原生app的效果,重点介绍一下:
a、PC端双列布局,手机端单例布局,支持预览!
b、专业工具栏,绑定快捷键,Ctrl+B快速加粗

c、电脑一键粘贴并上传,真傻瓜式操作(可能有bug

d、支持发帖、发评论、回复评论,且编辑。即使我非常努力的拷打ai,但实在没法压缩这个页面,1500行左右代码,恐怖如斯。

e、同时支持附件图片和MT图床,任你挑选(Ctrl+V上传到附件图片)

f、辅助工具撤销、重做、选择、清除样式,你的痛点都能解决
选择:快速选中标签,方便删除或清除样式

清除样式:删除选中内容的[xxx]、[/xxx]、[xxx=yyy]。
插错标签怎么办?撤销、选中、清除样式,方案多多。


图片管理:

采用选中+操作,你需要先选中图片,才能插入。
右上角的刷新图标是恢复图片功能,如果你之前在网页上上传过图片,但是由于网页刷新或app崩溃,导致丢失,它会帮你找回来。
discuz图片有以下几种状态:
上传但未插入:此时所有帖子或评论都可以使用
已使用:在发帖成功后,图片和帖子绑定,此图片只能在此帖使用
而恢复图片就是恢复上传但未插入这类情况,但是万一你恢复后不想使用呢?点击忽略,功能介绍完毕。
具体它为什么从上传但未使用变为已使用呢?因为发帖时表单提交的参数有一项指向附件id。表单还有其他隐藏参数,例如可以通过以下特性获取某帖子或评论详细时间

快照和保存功能:

点击查看bbcode,然后复制,再搭配恢复功能,即使你编辑时遇到出现意想不到的事情,也能快速恢复
并且编辑器是免登录可用的!在设置中,将此功能关闭即可。

你可以只把app当做编辑器使用!你可以享受app编辑器的便捷,然后复制bbcode并搭配[MT论坛]移动端图片恢复功能,在浏览器中恢复编辑状态。
PS:未登录无法使用附件图片,请使用MT图床上传图片(此处图片大小显示有问题,bug)


表情和头像缓存:
为什么一个缓存能被单独拿出来说呢?这是一个坑。论坛强制禁用了缓存(使用请求头:cache-control:no-cache)

这真的造成了很多不必要的流量支出!你们如果注意过网页流量,就会发现每一次回复,点击表情会重复加载!

原因就是cdn只设置了60秒的缓存,但是论坛很多图片几乎不变,你设置60天都没问题,真的纯浪费流量……甚至因为浪费流量,Bin把动态头像禁用了(治标不治本呀)
刚开始让ai编写缓存图片功能,ai说没问题,框框两下写完了,结果没用……排查了一下午,原因是请求头的优先级比设置高,所以一直失效……最后忽略请求头,终于好了。我还专门看了一下康哥是怎么设计的,发现他是硬编码文件,走本地图片……
通用设计思想:
有没有在设置中发现“站点设置”?

没错,app预期不仅仅支持MT论坛,只要设计合理,兼容其他站点不是梦~(我没技术,大佬们可以自己移植),只要dom差异不大,parse写法完善,理论上支持切换站点。


搜索
支持uid(查看用户)、tid(打开帖子)、username(通过用户名查看用户)、bing(使用搜索引擎+搜索语法搜索)、站内搜索

积分分析
利用已有信息,反推精华帖数和积分占比,知不足然后能自反也。(好友加少了?在线时间不够?回复太少了?,详细见:论坛积分公式详情



内置浏览器

如果app功能太少,可以使用浏览器凑合。
a、在App中打开:app已支持帖子、个人空间、编辑等,点击跳回app,享受app的便利。
b、切换账号:快速切换账号,不多说。
查看图片:需要长按,没有做点击,不是不能,而是设计原因。
因为论友喜欢图链,即使url套img,此时如果图片可以点击,会消费点击事件,无法冒泡到链接上,干脆不能点击,改为长按。


完整bbcode预览
美观优雅。编辑器的预览和帖子的预览使用的是同一套渲染服务,

完美支付彩虹字体,表情等。(发现编辑器的预览里表情不显示,嗯……bug而已,不要在意细节)

包括表格渲染(左右滑动)

代码块(可复制,可高亮)



大概就这些了,我需要沉淀一段时间,处理一些个人事物。代码开源gpl v3协议(注明原作者+二改必须开源!),如果有大佬对发帖、评论、回复;上传、删除附件图片;上传MT论坛;html2bbcode;bbcode渲染等具体原理感兴趣,可以自行去源码中了解。
现在ai这么发达,只要大佬愿意,可以写出更适合你的论坛app。你可以fork此项目,配置运行环境。但是请注意:禁止以优化的名义添加盗号代码,本app代码均开源,欢迎大家监督,大家认准GitHub下载,不要安装来源不明的论坛app,论坛cookie不会过期,一旦泄露请联系管理员+更改密码,及时止损!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已有7人评分好评 金币 理由
JiGuro + 1 + 1
挽梦遗酒 + 1
龙一 + 1 赞一个!
+ 1 + 1 很给力!
fw + 1 + 1
zeroking + 1 赞一个!
空雨pro + 1 + 1

查看全部评分 总评分:好评 +4  金币 +7 

回复

使用道具 举报

12

主题

5246

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1590
好评
16
信誉
578

考神MT论坛帅哥MT论坛新人MT论坛最佳新人MT论坛活跃会员

发表于 2026-7-15 20:14:12 来自手机  | 显示全部楼层  来自 广西
支持一下
已有1人评分好评 金币 理由
青春向上 + 1 + 1 礼尚往来。

查看全部评分 总评分:好评 +1  金币 +1 

回复

使用道具 举报

54

主题

3588

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
789
好评
190
信誉
180

MT论坛新人MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员挂机大佬

发表于 2026-7-15 20:18:52 来自手机  | 显示全部楼层  来自 陕西
曾几何时,论友花费几小时编写帖子、插入图片并排版。而现在,随着ai的快速发展,某位论友接连发布了很多辅助发帖、逛论坛、实用工具,我把它们贴在这里,供大家参考:
各类脚本:https://qcxs.github.io/mtbbs/
markdown转bbcode神器:https://qcxs.github.io/mtbbs/mt-convert/
多端编辑器:https://bbs.binmt.cc/thread-169295-1-1.html
希望让大家更在意内容,不必为插图、排版等犯愁,不必误刷新网页而功亏一篑。
回复

使用道具 举报

22

主题

2389

回帖

7305

积分

硕士生

Rank: 6Rank: 6

金币
1430
好评
21
信誉
101

MT论坛新人考神

发表于 2026-7-15 20:20:15 来自手机  | 显示全部楼层  来自 湖南
看看隐藏
回复

使用道具 举报

18

主题

4875

回帖

1万

积分

博士生

MW

Rank: 7Rank: 7Rank: 7

金币
2511
好评
2
信誉
100

考神MT论坛新人MT论坛帅哥MT论坛最佳新人

发表于 2026-7-15 20:21:24 来自手机  | 显示全部楼层  来自 新疆
感谢分享,看看隐藏
回复

使用道具 举报

24

主题

3296

回帖

7102

积分

硕士生

Rank: 6Rank: 6

金币
4262
好评
0
信誉
104

MT论坛新人考神

发表于 2026-7-15 20:30:32 来自手机  | 显示全部楼层  来自 河南
瞅瞅
回复

使用道具 举报

2

主题

4507

回帖

1万

积分

禁止访问

iKUN

金币
1214
好评
16
信誉
111
发表于 2026-7-15 20:31:36 来自手机  | 显示全部楼层  来自 广西
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

14

主题

3245

回帖

1万

积分

博士生

我不懂浪漫

Rank: 7Rank: 7Rank: 7

金币
3146
好评
8
信誉
100

MT论坛新人考神MT论坛最佳新人MT论坛帅哥挂机大佬

QQ
发表于 2026-7-15 20:34:06 来自手机  | 显示全部楼层  来自 贵州
看看大佬分享
回复

使用道具 举报

0

主题

2964

回帖

6897

积分

硕士生

Rank: 6Rank: 6

金币
3316
好评
0
信誉
100

MT论坛新人考神MT论坛帅哥

发表于 2026-7-15 20:36:31 来自手机  | 显示全部楼层  来自 浙江
感谢分享
回复

使用道具 举报

12

主题

4207

回帖

1万

积分

博士生

......

Rank: 7Rank: 7Rank: 7

金币
678
好评
18
信誉
100

考神MT论坛新人MT论坛最佳新人MT论坛帅哥挂机大佬

QQ
发表于 2026-7-15 20:37:16 来自手机  | 显示全部楼层  来自 江西
看看隐藏
回复

使用道具 举报

31

主题

1929

回帖

6526

积分

硕士生

六午

Rank: 6Rank: 6

金币
2488
好评
5
信誉
112

MT论坛新人MT论坛帅哥考神MT论坛最佳新人

QQ
发表于 2026-7-15 20:37:26 来自手机  | 显示全部楼层  来自 山东
看看隐藏
回复

使用道具 举报

14

主题

607

回帖

2498

积分

大学生

Rank: 5Rank: 5

金币
850
好评
1
信誉
102
发表于 2026-7-15 20:42:07 来自手机  | 显示全部楼层  来自 广东
相见恨晚早该来了
已有1人评分金币 理由
青春向上 + 1 认真回复有赏。

查看全部评分 总评分:金币 +1 

回复

使用道具 举报

14

主题

376

回帖

1179

积分

高中生

Rank: 4

金币
385
好评
5
信誉
100
发表于 2026-7-15 20:47:51 来自手机  | 显示全部楼层  来自 山东
支持一下
回复

使用道具 举报

5

主题

3549

回帖

6276

积分

硕士生

Rank: 6Rank: 6

金币
795
好评
0
信誉
107
发表于 2026-7-15 20:52:25 来自手机  | 显示全部楼层  来自 山东
看看你的隐藏
回复

使用道具 举报

7

主题

616

回帖

1740

积分

高中生

Rank: 4

金币
562
好评
1
信誉
100

MT论坛新人

QQ
发表于 2026-7-15 20:55:29 来自手机  | 显示全部楼层  来自 湖南
看看
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表