V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
silhouette
V2EX  ›  微信

关于微信小程序获取用户头像的问题

  •  
  •   silhouette · 2018-04-06 11:11:14 +08:00 via Android · 11770 次点击
    这是一个创建于 2428 天前的主题,其中的信息可能已经有所发展或是发生改变。

    老哥们做小程序的时候,获取到的用户头像是直接使用微信的 avatar_url,还是先把 avatar_url 的图下载到自己的 Server 上面再使用自己的静态文件 url ?哪一种比较好呢?如果是后者,需要怎么时刻保证自己所存储的头像是最新的呢(比如说我数据库有一个“活动”表,里面记录了所有参与的用户,在视图上面要显示参与用户的头像,要实时确定这些头像是最新的)?

    12 条回复    2018-04-07 13:14:27 +08:00
    oh
        1
    oh  
       2018-04-06 11:18:08 +08:00
    前者,
    以前会缓存上级资源,是怕上级资源服务器不稳定,但微信的服务器嘛……
    silhouette
        2
    silhouette  
    OP
       2018-04-06 11:25:16 +08:00 via Android
    @oh 那请问要如何保证实时显示最新头像呢?比如说我的那个“活动”表里面存储了所有参与的用户,用户表里面都有 avatar_url,但是如果这个失效了怎么办呢?(比如说某个人他更新头像后没有登录小程序,于是之前那个 avatar_url 就为空了)
    em70
        3
    em70  
       2018-04-06 11:50:56 +08:00
    直接用微信的 URL,一年多了,没问题
    GooMS
        4
    GooMS  
       2018-04-06 12:34:38 +08:00 via Android
    @silhouette 默认给个不就就行了,下次登录在更新一下
    anye
        5
    anye  
       2018-04-06 12:37:25 +08:00
    如果希望头像能长期有效展示的话还是需要转存的,微信的头像在修改之后会失效。
    xiqingongzi
        6
    xiqingongzi  
       2018-04-07 06:46:17 +08:00 via iPhone
    实时最新用 open-data 组件,直接渲染到界面上
    silhouette
        7
    silhouette  
    OP
       2018-04-07 12:50:18 +08:00 via Android
    @xiqingongzi 请问 open-data 是不是只能获取当前访问的用户的公开信息呢?能不能有什么方式通过 openid 这种来访问任意的某个用户的信息呢
    silhouette
        8
    silhouette  
    OP
       2018-04-07 12:51:42 +08:00 via Android
    @xiqingongzi 比如说我有个活动表,里面存储了参与的用户,有什么办法能够使用 open-data 来直接获取某活动的所有用户的头像呢?
    xiqingongzi
        9
    xiqingongzi  
       2018-04-07 13:05:10 +08:00
    @silhouette #8 如果你有需要在其他用户的展示,那完全可以使用 getUserInfo 获取以后存储到数据库里调用。也可以考虑每次进入应用后获取。关于 open-data 的功能,参考官方文档。
    silhouette
        10
    silhouette  
    OP
       2018-04-07 13:09:29 +08:00 via Android
    @xiqingongzi 就是说还是不能避免地要存数据库咯,这样就没办法实时获取最新的了呀
    silhouette
        11
    silhouette  
    OP
       2018-04-07 13:10:22 +08:00 via Android
    @xiqingongzi 每个用户每次进入应用后获取就会导致每次进入都要查一遍数据库,感觉不太优雅啊 orz
    xiqingongzi
        12
    xiqingongzi  
       2018-04-07 13:14:27 +08:00
    @silhouette #10 如果你要在其他用户处展示,不可能不存储。或者你可以考虑使用类似 gravatar 的随机生成头像来表示。

    也可以不更新,一直用最初的,这个并不重要。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:05 · PVG 01:05 · LAX 09:05 · JFK 12:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.