那就有的做了,大工程啊,理一下思路。
如果想要要在板块页向串内发帖,首先要把/Home/Forum/doPostThread.html替换为/Home/Forum/doReplyThread.html,我们自己构建个格式差不多的可以吗,能发挥作用吗,目前看来,只要resto和__hash__是对的就没问题。
不对,其实板块页没有“回应模式”,但串内有,可以把那里从默认折叠里取消,再改造一下,做个按钮切换“发串/快捷回帖”模式,如果在快捷回帖模式,还得能预览自己回复的帖子对不对,这个应该好说,让原生悬浮引用和点击弹出引用弹窗再支持一下这个区域就好,哎呀我之前不想做这个的。
板块页点击串的串号是https://www.nmbxd1.com/t/66994128?r=66994128,点击串的回复也一样但r=不一样。如果是发串模式,让引用追记作用就是了,也不用跳转新网页了;如果是快捷回帖模式的话,点击串号判断一下r=是不是原串号,不是的话加引用,是的话就不加了。所以引用追记功能需要改造,而且是在写了切换按钮之后就要做,还得再加一个判断,
然后在获取到要回复的串号以后,要请求一下这个串号,把那个串内的回复表单整个复制过来,或者说获取一下它的resto和__hash__替换进去就可以。测试发现重点是resto不是__hash__,但为了以防万一,还是一起修改了吧。
而且发送以后,是不是还得把板块页的回复的那个帖子的单独刷一下,但不能刷新整体,在板块页发送后局部刷新的逻辑得改一下,发串模式下全刷,快捷回帖模式下找到对应的帖子然后局部刷新。局部刷新在拦截中间页里,写新的快捷回复函数的时候得传递一个参数出来,让拦截中间页改变刷新模式。某个帖子的单独刷新应该不难,毕竟那你回复了这个串,这个串必然会在第一页(很悲伤但现在岛上确实不可能刚回的串不在第一页,一页可是有20个串呢),只要请求板块页的第一页,找到串号一致的的div替换即可,要记得把该作用的函数作用了再替换。
发送完成后就把发送表单重置为空的状态吧,以免下次还回到刚才回复的串里,毕竟目的是“快捷回复”不是一直回复。或者可以设置状态?连续回复/临时回复?临时回复下发送成功即重置,连续回复下直到手动清除。
真的大工程,头疼,不知道要搞多久。