onLaunch: function(){
var that = this
var user=wxgetStorageSync('user') || {};
var userInfo=wxgetStorageSync('userInfo') || {}; //查看缓存是否有值
if((!useropenid || (userexpires_in || Datenow()) < (Datenow() + 600))&&(!userInfonickName)){
wxlogin({
success: function(res) {
if (rescode) {
//发起网络请求获取openid
// consolelog(rescode)
wxrequest({
url: '>
为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID。
扩展资料
微信平台开发者注意事项:
1、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请前往微信开放平台接入。
2、在申请到认证公众号之前,你可以先通过测试号申请系统,快速申请一个接口测试号,立即开始接口测试开发。 3、在开发过程中,可以使用接口调试工具来在线调试某些接口。
4、每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。 5、在开发出现问题时,可以通过接口调用的返回码,以及报警排查指引(在公众平台官网-开发者中心处可以设置接口报警),来发现和解决问题。
6、公众平台以access_token为接口调用凭据,来调用接口,所有接口的调用需要先获取access_token,access_token在2小时内有效,过期需要重新获取,但1天内获取次数有限,开发者需自行存储,详见获取接口调用凭据(access_token)文档。
7、公众平台接口调用仅支持80端口。
参考资料:
<view @click=getUserInfo">获取微信信息</view>
// 获取用户信息
getUserInfo() {
if(thisisShow){//防止多次点击
thisisShow = false
unigetUserProfile ({
desc: "获取个人信息",
success: (res) => {
thisuserInfo = resuserInfo
thisisShow = true
},
fail: getUserProfileFail => {
thisisShow = true
unishowToast({
title: '授权失败',
mask: false,
duration: 1000,
icon: 'none',
})
}
})
}
},
<button type="default" open-type="getPhoneNumber" @getphonenumber="ongetPhoneNumber">授权获取手机号登录</button>
// 获取手机号码
ongetPhoneNumber(e) {
if (edetailerrMsg == "getPhoneNumber:fail user deny") { //用户拒绝授权
//拒绝授权后d出一些提示
unishowToast({
title: '拒绝授权',
mask: false,
duration: 1000,
icon: 'none',
})
} else { //允许授权
apppostData('url',{
key: appglobalDatasession_key,
encryptedData: edetailencryptedData,
iv: edetailiv
})then(res=>{
consolelog("获取手机号码",res)
thismobile = resdataphoneNumber
unisetStorageSync('xmfTel',resdataphoneNumber)
})catch(err=>{
consolelog(err)
})
}
},
打开 manifestjson -> App模块权限配置,勾选 OAuth(登录鉴权)。
打开 manifestjson -> App SDK配置,查看到登录鉴权。在说明中有蓝色链接,其中包括向微信、QQ、微博等平台申请sdk的链接。
向微信、QQ、微博等平台申请到sdk的信息后,回填到manifest里。
这些配置需要打包生效,真机运行仍然是HBuilder基座的设置,可使用 自定义基座包 (opens new window) 。离线打包请参考离线打包文档在原生工程中配置。
配置并打包后,通过unigetProvider可以得到配置的结果列表,注意这里返回的是manifest配置的,与手机端是否安装微信、QQ、微博无关。
// 微信登录
wechatLogin() {
let _this = this;
if(unigetSystemInfoSync()platform == 'android' || unigetSystemInfoSync()platform == 'ios') {
unigetProvider({
service: 'oauth',
success: function (res) {
// consolelog(111,res)
unilogin({
provider: 'weixin',
// onlyAuthorize: true,
success: function(loginRes) {
// consolelog(loginRes)
// 获取用户信息
unigetUserInfo({
provider: 'weixin',
success: function (infoRes) {
// consolelog('用户昵称为:' + JSONstringify(infoRes));
let obj = JSONparse(JSONstringify(infoRes))
let newObj = {
access_token: loginResauthResultaccess_token,
openId: objuserInfoopenId,
nickName: objuserInfonickName,
avatarUrl: objuserInfoavatarUrl,
unionId: objuserInfounionId,
};
// consolelog(newObj)
_thisgetOpenidAndUserinfo(newObj)
},
fail:function(fail){
consolelog(fail)
}
});
}
});
}
});
}
},
在微信开放平台官方公告中:
2021年4月28日24时后发布的小程序新版本,无法通过wxgetUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。
新增getUserProfile接口(基础库2104版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档: 《getUserProfile接口文档》
在微信开发者工具词库版本2104之后getUserInfo获取的将是微信的拟名信息。
使用uniapp官方提供的unigetUserProfile(OBJECT)接口
但是unigetUserProfile是为了支持新版微信小程序获取个人信息的接口,如官方描述一样,该接口只支持打包为微信小程序并且微信基础词库为2104以上时获取个人信息
参考: >
自己的微信openid查看方法如下:
一、通过微信接口
获取网页授权code(分为静默授权,非静默授权(需用户确认))
通过授权code获取用户信息(用户信息包含两种:1)只取OpenId,2)取用户相关头像、昵称。openId等)
二、通过公众号用户
首先登陆公众号
找到管理-->用户信息
找到已关注用户列表
用F12打开,打开调试模式,选中某个用户
找到label下的value值,这就是用户的openId
以上就是关于如何获取微信小程序用户openid全部的内容,包括:如何获取微信小程序用户openid、Android不同的app接入微信登陆时,获取的微信openId的是否一样、uniapp微信小程序获取用户信息,手机号码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)