回应模式 - No.50095250


No.50095250 - 技术支持


蓝岛客户端 用户反馈与技术支持无名氏No.50095250 只看PO

2022-06-23(四)18:29:23 ID:Loyea 回应


⚠️ 回复前请阅读以下几点内容:
・该串仅供提交与蓝岛客户端有关的反馈或 bug,非蓝岛客户端请单独在技术支持版块发串寻求帮助。请勿回复与蓝岛 bug、反馈无关的内容。
・搜索功能是服务器尚未开放,不是蓝岛不能用,相关询问将不再回答。
・Loyea 只负责提供蓝岛客户端的技术支持,不参与X岛的运营和版务管理。与版务相关内容(例如版块开设、内容审核、删帖等)请移步至「版务」版块询问,版务相关询问将不再回答。
・「蓝岛」是「X岛揭示板」的第三方、非盈利、闭源客户端。

⬇️ 蓝岛下载 & 更新地址:
  ① https://landao.app (推荐)

  ② https://landao.loyea.com

❤️ 支持 & 赞助蓝岛:
  https://afdian.net/a/Loyea
  跳转至「爱发电」平台,欢迎赞助蓝岛
  蓝岛因为有你的支持而会变得更加完美


📝 缩略词含义:
  ・todo:待开发需求或待修复的 bug。bug 会尽快修复,需求开发时间不定。考虑到蓝岛上线已经七年了,都还这么简陋,请勿期待需求完成时间。
  ・tbd:待确认需求,不确定是否会成为正式需求,如果被放弃就不会开发。
  ・fixed:已修复,会随着下次更新部署到应用里。
  ・done:已完成新需求开发,会随着下次更新部署到应用里。

为了保证版面整洁易读,已完成的功能请求或已修复的bug反馈的回复,会在一定时间后被删除。与蓝岛使用相关的回复将会被保留。你可以通过二楼了解蓝岛详细开发历史。

无标题无名氏No.56230986

2023-03-16(四)13:09:51 ID: 5v3oHYz

上传失败 文件上传保存错误

Version: 0.23.2.24.a1b3
Device: Xiaomi M2011K2C OS: 11(30)

无标题无名氏No.56288085

2023-03-19(日)01:58:01 ID: TBitMJi

>>No.51592322
呃呃,上次发的有点问题,没说明白。说白了就是跳转到回复页(;´Д`)
正确的应该(中括号内的内容为添加的内容):

发言→[我希望]我的回复点击后直接跳转到指定页,而不是上次页(比如我在2页回复,上次在11页退出,那么点击后[应该]跳转到2页而不是11页)
不过这好像需要服务器的api支持|д` )

因为蓝岛无论在哪回复,都是回到上次退出的位置(有时候只回到父串,甚至到不了指定位置),所以提出了这个建议。最近想出一种没有api的解决办法

以下是解决代码(java)(没写判空,懒( ̄3 ̄),本人技艺不精,再加上用手机写的没测试,可能有bug,请大佬谅解)(json包用的json-java,其他的应该差不多):
@param pfId 父串id
@param pageCount 父串的总页数
@param userId 回复时的user_hash
@param rtime 回复时的时间戳(精确到秒)
@return 第几页(索引0对应值)的第几个(索引1对应值)消息,可以配合接口获取父串,然后再通过蓝岛本身实现跳转到第几个,-1代表不存在

public static int[] getReplyLocation(int pfId,int pageCount,String userId,long rtime){
int page = pageCount/2;
do{
JSONObject pf = getpf(pfId,page);
JSONArray replies = pf.getJSONArray("replies");
JSONObject head = replies.getJSONObject(0);
Date firstTime = formatT(head.getString("now"));
JSONObject last = replies.getJSONObject(replies.size()-1);
Date lastTime = formatT(end.getString("now"));
Date rTime = new Date(rtime);
if(rTime.after(lastTime)){
//回复时间在该页最后的时间以后
page += page/2;
}else if(firstTime.after(rTime)){
//该页最早的时间在回复时间以后,即回复时间比该页最早的时间还早
page -= page/2;
}else{
//回复时间在该页回复内
//todo 这里也可以用二分法查找,但是懒得写了
for(int i;i<replies.size();++i){
JSONObject reply = replies.getJSONObject(i);
if(userId.equal(reply.getString("user_hash")&&rtime==formatT.getTime(reply.getString("now"))))) return new int[]{page,i};//这里也可以改为匹配串id,更快,但是我懒得改了
}
}
}while(page<pageCount);
return new int[]{-1,-1};
}
public static Date formatT(String backTime){
//为什么X岛不直接返回时间戳,非得是可视化时间,搞得还得转换一步( ̄皿 ̄)
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d;
try {
d = df.parse(backTime.replaceAll("(.+)"," "));
} catch (ParseException e) {
//todo 解决异常的代码
}
return d;
}
public static JSONObject getpf(int pfId,int page){
//todo 通过串id获取串内容的方法,还是懒得写
}

这种方法只需要log2^n次请求,非常的节省服务器资源,而且可以用其他查找方法,实现更少的请求

希望能加入此功能(*゚∀゚*)

Version: 0.23.2.24.a1b3
Device: HONOR RNA-AN00 OS: 12(31)

无标题无名氏No.56288143

2023-03-19(日)02:03:44 ID: TBitMJi

>>No.56288085
不好意思又占用一条( ´д`)

这个在for循环之内的最后一句还得加入
page=pageCount;
不然会死循环

Version: 0.23.2.24.a1b3
Device: HONOR RNA-AN00 OS: 12(31)

无标题无名氏No.56293147

2023-03-19(日)12:28:30 ID: DEVICU9

最近经常在发布回复后闪退
报错如图

Version: 0.23.2.24.a1b3
Device: Xiaomi M2011K2C OS: 13(33)

无标题无名氏No.56349266

2023-03-22(三)05:05:21 ID: NkSchyi

>>No.54578269
同情况。以前不会。

Version: 0.23.2.24.a1b3
Device: motorola XT2175-2 OS: 11(30)

无标题无名氏No.56364866

2023-03-22(三)22:07:17 ID: EN063tG

真的跪求增加或者可以自定义长按操作和效果(也就是水波纹)的触发时间,尤其是看长篇贴的的时候,一整块屏幕一闪一闪的眼睛疼,提供一个关闭水波纹效果的开关也好啊(;´Д`)

Version: 0.23.2.24.a1b3
Device: Xiaomi 2207122MC OS: 13(33)

无标题无名氏No.56375468

2023-03-23(四)14:48:50 ID: PYCSjOJ

有图片发不出,是图片文件的规格吗
(;´Д`)

Version: 0.23.2.24.a1b3
Device: HONOR TEL-AN00a OS: 10(29)

无标题无名氏No.56375646

2023-03-23(四)14:58:34 ID: PYCSjOJ

>>No.56375468
是想问是不是图片规格太大了,字打的有点问题,见谅(;´Д`)

Version: 0.23.2.24.a1b3
Device: HONOR TEL-AN00a OS: 10(29)

无标题无名氏No.56396949

2023-03-24(五)14:25:17 ID: xKTRsdM

莫名闪退、重载

Version:0.23.2.24.a1b3
Device:ZTE A2322
MyOS12.0.22MR_A2322

Version: 0.23.2.24.a1b3
Device: ZTE ZTE A2322 OS: 12(31)