公司最近开发小程序,要获取用户的手机号,微信官方有提供APIgetPhoneNumber
,获取到的信息是加密的需要使用encryptedData
解密后为以下 json 结构
{
"phoneNumber": "13580006666",
"purePhoneNumber": "13580006666",
"countryCode": "86",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
参数 | 类型 | 说明 |
---|---|---|
phoneNumber | String | 用户绑定的手机号(国外手机号会有区号) |
purePhoneNumber | String | 没有区号的手机号 |
countryCode | String | 区号 |
通过官方给的demo,输出string类型的json数据,小程序中无法直接单独取出手机号来使用,只能使用json字符串转 json对象的方法,从昨天晚上纠结了几个小时到今天解决了,特此记录一下,免得下次还踩坑。
2018年3月21日补充:
现在好像不用转了,直接就可以获取到。如果你获取不到可以加一下。
success: function (res) {
var jsonStr = res.data;
jsonStr = jsonStr.replace(" ", "");
if (typeof jsonStr != 'object') {
jsonStr = jsonStr.replace(/\ufeff/g, "");
var sy = JSON.parse(jsonStr);
res.data = sy;
}
// console.log(res.data.purePhoneNumber);
}
嗯,看到了,不过还是要解密,不能直接获取
@一个龟仙人 我有说解密的文章 你搜索一下
@一个龟仙人 文章底部相关文章也有
最后那个success什么鬼。。。
@一个龟仙人 请求成功后返回的数据
现在很多大平台都出了这种
小程序的代码应该不少都是json吧。
@夏日博客 嗯 php接口处理返回数据都是json
大佬,请收下我的膝盖 😛
@西枫里博客 我是渣渣 哈哈