微信用户失效头像匹配算法

在这里插入图片描述

我们如果做微信相关业务的时候,会获取到用户的logo。但是这个logo用户可能会更换,更换后再次访问logo地址就会出现上面的头像。

这里提供两种解决方案来做处理,具体根据业务来
  1. 每天跑一个定时任务。匹配用户的头像和上述图像相识度。如果是同一张图片。那么请求微信那边接口去更新用户最新的logo。代码如下
<?php
/*
 * wx_url 微信头像
 * $local_b 本地空头像
 */
function checkLogo($wx_url){
    $content = file_get_contents($wx_url);
    file_put_contents("./a.png", $content);
    if(sha1_file("./a.png") == "eef4f463f08c5d1bfc004533ff9af936041ee362") {
        unlink("./a.png");
        return true;
    }else {
        unlink("./a.png");
        return false;
    }
}

var_dump(checkLogo("https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKVibyIUBicWeku0LTyNwRCOBXfc4nibQWSRJGRJriadL1tRNYbqbYeagfVgyia7iaHqca7XuuLQtCLlXKg/132");
  1. 第二种方法,在用户第一次登录授权的时候,我们拿到头像直接存到oss。这样就保证用户的头像永不失效。

总结:我倾向于第一种方法,第二种方法在业务上不友好的。用户换了头像,应该在我们APP里面也同步更换。尽管更换时间可能存在延迟。比如第一种,我们5天跑一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员若风+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值