收藏
回答

微信小程序用户关注和取消关注的功能差异如何区分?

做的一个类似购物平台的小程序。在用户对商家店铺进行“关注”相关操作时,如何更好的区分“关注”与“取消关注”?

主要问题是 在小程序首页点进商家主页时关注按钮的状态,,以及在关注页面点进商家主页时关注按钮的状态。

现在的代码呈现的是从首页点进商家主页显示的是“已关注”(实际上未关注),点击后按钮切换为“未关注”并跳出弹窗“取消关注”(但实际与功能相反,为已关注),从关注页点进商家主页显示的也是“已关注”,点击切换为“未关注”并跳出弹窗“取消关注”(此时实际功能与操作相同,为取消关注)

简单来说,从首页 与 从关注页进入商家主页,总会有一个页面的关注相关功能与实际情况相反。

如何让它在正确显示关注状态的情况下,也能正确呈现关注功能?

代码片段如下:

从首页进入情况如下:

此时从关注页进入的功能实现正常。

最后一次编辑于  2022-10-26
回答关注问题邀请回答
收藏

2 个回答

  • ⅴ
    2022-10-26

    没理解错的话,问题是:首页和关注页进入同一个页面,用户关注状态显示的不一样?

    1.查一下,首页,关注页跳转到这个页面,url是否带参数,参数是否一致?

    2.这个状态如果是从服务器获取到的,打log看看两种情况服务器返回的状态是否一致?

    3.如果服务器返回一致,就看看有没有本地缓存,是否有从缓存中取状态的逻辑。


    2022-10-26
    有用 1
    回复 42
    • 啵啵
      啵啵
      2022-10-26
      目前首页和关注页(全文的关注页都为已关注页面。类似:我的关注页面)进入同一个已关注页面时,用户关注状态显示是一致的。但是我在首页进入未关注的页面时,同样显示为已关注状态。
      2022-10-26
      回复
    • 啵啵
      啵啵
      2022-10-26
      两个页面的跳转参数
      2022-10-26
      回复
    • ⅴ
      2022-10-26回复啵啵
      看下进入未关注页,这个like是怎么什么地方赋值的。是不是哪里给他赋了1。
      2022-10-26
      1
      回复
    • 啵啵
      啵啵
      2022-10-26回复
      把console.log(“businessInfo.is_attention”,businessInfo.is_attention) console.log(“like”,like)写在load里面,返回的初始值如下图
      2022-10-26
      回复
    • ⅴ
      2022-10-26回复啵啵
      这个is_attention怎么没有赋值给like,这个页面是不是应该为【关注】,实际【未关注】。理论上like被赋值才会改变UI。试试请求服务获取到is_attention值后,赋给like。
      2022-10-26
      1
      回复
    查看更多(37)
  • 啵啵
    啵啵
    2022-10-26

    尝试过用businessInfo.is_attention来作为判断条件,但会有些小错误,页面需要点击一次关注按钮并刷新后才能正常显示或者直接报错之类的

    2022-10-26
    有用
    回复
登录 后发表内容