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