本帖最后由 barbo123 于 2014-9-12 18:16 编辑
还是根据错误推算,肯定是在注册时候出现错误。往下找
$uid = WeChat::register(WeChat::getnewname($openid), 1); 找到这句
WeChat::getnewname在文件
wechat.class.php
getnewname文件中 通过openid 来获取微信上的昵称
if($userinfo) {
$defaultusername = substr(WeChatEmoji::clear($userinfo['nickname']), 0, 15);
loaducenter();
$user = uc_get_user($defaultusername);
if(!empty($user)) {
$defaultusername = cutstr($defaultusername, 9, '').'_'.random(5);
}
} else {
$defaultusername = 'wx_'.random(5);
}
return $defaultusername;
这段代码 如果能获取则 截取nickname。。。ok问题出现了,尼玛userinfo file_put_contents中是
WeChat::getnewname($openid) 在 wechat.lib.class.php中
public function getUserInfoById($uid, $lang = '') {
if (!$lang) {
$lang = self:_USERINFO_LANG;
}
$access_token = $this->getAccessToken();
$url = self:_URL_API_ROOT . "/cgi-bin/user/info?access_token=$access_token&openid=$uid&lang=$lang";
$res = json_decode(self::get($url), true);
return self::checkIsSuc($res) ? $res : null;
}
很明显是 微信调用接口返回的用户名有问题,同时有些ok,有些不ok。。微信调取用户数据有问题。希望官方尽快解决
|