收藏
回答

同一用户在小程序、APP登录后openid不一致,导致注册时生成两个用户,怎么办?

小程序发布上线已有一定的用户量,现在App开发完成,发现两者获取的openid不一致,老用户APP登录会识别为新用户 该怎么解决?

新用户已改用unionId,如何兼容老用户

最后一次编辑于  2020-07-27
回答关注问题邀请回答
收藏

2 个回答

  • 寻己
    寻己
    2020-07-27

    不用openID区分用户,可以利用手机号或其他字段区分

    2020-07-27
    有用
    回复 1
    • 
      
      2020-07-27
      没有唯一性的字段
      2020-07-27
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-07-27

    老用户unionId字段没有值就重新授权登录获取unionId咯

    统一按unionId来识别用户

    如果使用unionId查询用户表没有找到,则使用unionId对应的openid查询用户表,存在,则更新unionId,不存在则新增用户

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-07-27
    有用
    回复 4
    • 
      
      2020-07-27
      目前表里存的只有小程序登录获取的openid,如果老用户是APP登录 openid、unionId都不存在 会新增一条
      2020-07-27
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-07-27回复
      小程序和app不是同一个用户表?
      2020-07-27
      回复
    • 
      
      2020-07-27
      是同一张表,小程序端登录 是按你说的这种方式处理的,问题在于老用户直接用APP登录的话 无法更新unionId,小程序、APP两个地方登录获取到的openid是不一样的 会被当成新用户
      2020-07-27
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-07-27回复
      小程序和APP端的appid要属于同一主体,同一主体下的不同appid的unionId是一样的
      小程序和app登录都要记录unionId,这样不管那一端登录都使用unionId查询用户表没有找到,则使用unionId对应的openid查询用户表,存在,则更新unionId,不存在则新增用户
      可能用户表要有多个openid字段
      unionId
      openid1 对应小程序端
      openid2 对应app端
      ....
      2020-07-27
      回复
登录 后发表内容
问题标签