起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: q2045377

[结贴] 非父子关系的页面如何相互调用

[复制链接]

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-17 13:57:34 | 显示全部楼层
liangyongfei 发表于 2017-7-17 13:51
你还没登录就不会出现缓存问题了啊!
等你登录重新获取数据的时候!这个时候data中的数据就是最新的!  
...

那拉黑方呢,,如果对面不在线,,那拉黑操作一直执行不了,拉黑方还能给被拉黑方发消息,,删除也是如此,用户体验肯定不好的
回复 支持 反对

使用道具 举报

12

主题

40

帖子

70

积分

初级会员

Rank: 2

积分
70
QQ
发表于 2017-7-17 14:03:40 | 显示全部楼层
拉黑肯定要先在数据库处理两个用户的id关系,然后判断对方在线的话,给对方发一个通知,收不收到不管球。。。
然后好友发消息的时候,有个验证模块的,其中就包括对方id是否有效,这样即便对方黑了你,你没收到通知,能看到这个好友,但是这条消息依然发不出去。况且,即便收到黑的通知,还有其他因素导致你好友列表没刷新,比方说手机烂,卡页面了。
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-17 14:20:49 | 显示全部楼层
tictactoe 发表于 2017-7-17 14:03
拉黑肯定要先在数据库处理两个用户的id关系,然后判断对方在线的话,给对方发一个通知,收不收到不管球。。 ...

有 拉黑方和被拉黑方,,拉黑方拉黑了被拉黑方,
1,,如果是拉黑方发送一个信息让被拉黑方执行数据库拉黑操作,,此时,拉黑方的表里没有操作,,那拉黑方还能发送信息给被拉黑方,,按照您的方法,,这个应该怎么解决

2,,我想的是,,拉黑方和被拉黑方同时操作,,不管被拉黑方在不在线(如果不在线又登录了先判断拉黑表里有没有这条数据),,但是如果俩人都在线,,因为表没有刷新,,俩人都删除了这条数据,,会不会造成错误
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-17 14:24:12 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-17 14:43 编辑
tictactoe 发表于 2017-7-17 14:03
拉黑肯定要先在数据库处理两个用户的id关系,然后判断对方在线的话,给对方发一个通知,收不收到不管球。。 ...

然后判断对方在线的话,给对方发一个通知,收不收到不管球。。。
这个操作有什么用呢,,如果在线有什么操作?
我希望的效果是,,当拉黑了,,,拉黑方发信息给被拉黑方会即时提示已经拉黑了,,,反之亦然
所以只能俩个人同时操作,,如果同时操作(被拉黑方会判断拉黑表里有没有这条数据,如果有了就不操作,,如果没有就是俩个人会同时添加这条数据也就是被拉黑方页面当时没有刷新,),那肯定会报错的,,如果分成俩条数据,,那也不合理

有办法了,,只能是拉黑方操作这条数据了,,被拉黑方发信息让拉黑方判断,如果拉黑了,被拉黑方发送信息给拉黑方,就让拉黑方发送信息告诉被拉黑方已经被拉黑
回复 支持 反对

使用道具 举报

发表于 2017-7-17 15:20:42 | 显示全部楼层
q2045377 发表于 2017-7-17 14:20
有 拉黑方和被拉黑方,,拉黑方拉黑了被拉黑方,
1,,如果是拉黑方发送一个信息让被拉黑方执行数据库拉 ...

其实 ,拉黑方在拉黑的那一刻!做了两件事
1.请求数据库!修改数据库表的状态!数据库表中存储,数据已经被修改了!记录拉黑已经生效!
2.给被拉黑方发送一条消息!

如果被拉黑方在线!收到消息,就可以调用代码修改data数据!表示已经被拉黑了!
如果被拉黑方不在线!等它上线!重新登录的时候!就去数据库中获取最新的数据!数据库中数据已经改变了!当然他查出来的数据,是能够知道被拉黑的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

12

主题

40

帖子

70

积分

初级会员

Rank: 2

积分
70
QQ
发表于 2017-7-17 15:33:46 | 显示全部楼层
我觉得你需要定义一下拉黑这个动作,一种是a拉黑b,但是b没拉黑a,单向的,其中有一方依然可以看到另一方的,这种黑法游戏里经常见。另一种是只要一个拉黑,就是互黑。
我感觉你做的是互黑,互黑只要有一方拉黑,那在后台直接两方黑就行了,不需要另一方做动作的,不需要给他发什么操作代码。之所以给对方发个通知,不是为了让他做什么动作,而是为了让(恰好在线的)他,立马看不到你的id或者显示离线状态。但是这个通知有很多因素在干扰,比方说网络不通畅,或者他的机器卡住了,没有相应这个通知,依然能给你发消息,这就需要在后台的发消息模块,加一个我所说的验证模块,每次发消息都验证对面是否是合法id,检测到id被拉黑了,就不是合法的了,就不能发消息,即便他页面上依然显示你在线而且是好友。。
回复 支持 反对

使用道具 举报

12

主题

40

帖子

70

积分

初级会员

Rank: 2

积分
70
QQ
发表于 2017-7-17 15:42:53 | 显示全部楼层
至于当时被拉黑的一方不在线的情况,liangyongfei说的很清楚了,他一登录,就从数据库调用好友列表的,你已经不再他好友里了,他根本就看不到前天半夜偷偷摸摸干这活的你。
另外,即便是双方同时在线玩拉黑,也不给对方提示拉黑的,一般人性化的做法都是显示离线。稍微严厉一点的,可以在发离线消息的时候,告知一下,被黑了。。。
这些你自己设定啊,可以设置黑了后互相看不到,可以设置黑了后只显示离线,可以设置发离线消息没有被黑提示,可以设置有被黑提示。。
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-18 02:49:47 | 显示全部楼层
本帖最后由 q2045377 于 2017-7-18 03:12 编辑
tictactoe 发表于 2017-7-17 15:42
至于当时被拉黑的一方不在线的情况,liangyongfei说的很清楚了,他一登录,就从数据库调用好友列表的,你已 ...

谢了,,肯定要操作的,,不在线好操作,,就怕对方在线而且页面没有刷新并且还给你发信息,对方却得不到您已经被拉黑或者其它发送不成功的提示
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-7-18 03:06:43 | 显示全部楼层
liangyongfei 发表于 2017-7-17 15:20
其实 ,拉黑方在拉黑的那一刻!做了两件事
1.请求数据库!修改数据库表的状态!数据库表中存储,数据已经 ...

谢了,,,是应该这样做的
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-11 17:23 , Processed in 0.053654 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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