微信小程序 官方API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/

首先 以下代码是 页面加载请求用户 是否同意授权 同意之后 用code 访问 微信接口 拿到OpenId

//页面加载 微信授权
var getInfo = function (thisObj){
var that = thisObj;
wx.login({
success: function (res) {
if (res.code) {
//获取openId
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
       //小程序唯一标识
appid: '',
        //小程序的 app secret
secret: '',
grant_type: 'authorization_code',
js_code: res.code
},
method: 'GET',
header: { 'content-type': 'application/json'},
success: function(openIdRes){
console.info("登录成功返回的openId:" + openIdRes.data.openid);
weChatUserInfo.openId = openIdRes.data.openid;
// 判断openId是否获取成功
if (openIdRes.data.openid != null & openIdRes.data.openid != undefined) {
        // 有一点需要注意 询问用户 是否授权 那提示 是这API发出的
wx.getUserInfo({
success: function (data) {
// 自定义操作
// 绑定数据,渲染页面
that.setData({ });
},
fail: function (failData) {
console.info("用户拒绝授权");
}
});
}else {
console.info("获取用户openId失败");
}
},
fail: function(error) {
console.info("获取用户openId失败");
console.info(error);
}
})
}
}
});
}

以下是 手动配置 打开 微信授权

//手动打开微信授权
var getInfoAgain = function (thisObj){
var that = thisObj;
wx.openSetting({
success: function (data) {
//判断 用户是否同意授权
if (data.authSetting["scope.userInfo"] == true) {
// 同意授权
wx.login({
success: function (res) {
if (res.code) {
console.info("登录成功返回的CODE:" + res.code);
//获取openId
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
// 小程序唯一标示
appid: '',
// 小程序的 app secret
secret: '',
grant_type: 'authorization_code',
js_code: res.code
},
method: 'GET',
header: { 'content-type': 'application/json' },
success: function (openIdRes) {
// 获取到 openId
console.log(openIdRes.data.openid);
// 判断openId是否为空
if (openIdRes.data.openid != null & openIdRes.data.openid != undefined) {
wx.getUserInfo({
success: function (data) {
// 自定义操作
// 绑定数据,渲染页面
that.setData({ });
}
})
}else {
// openId为空
}
}
})
}
}
});
}else {
// 手动 开启 是否授权提示框后 拒绝
}
}
});
}

//TODO 有个地方需要注意一下 小程序开发者工具 有一个配置

这个配置 如果打开 不验证域名 都可以访问

但是 这只是开发者工具 可以访问 以及手机预览 可以访问

如果放到正式版的环境 或者说 测试版的环境 那么 是不可以访问除了 设置好的域名以外 所有的域名 需要将 微信接口 (https://api.weixin.qq.com) 设置到 小程序白名单中 否则 获取不到OpenId 返回undefined

最新文章

  1. CMD安装/删除服务
  2. 微信小程序(应用号)开发体验
  3. 【转载】Arcengine效率探究之二——属性的更新
  4. 使用keepalived及典型应用
  5. ArcGIS Wpf MarkerSymbol 图形符号无法序列化为 JSON
  6. acdream.郭式树(数学推导)
  7. Js全选,插入实现
  8. echars3.0 柱状图大小设置
  9. BZOJ_1031_[JSOI2007]_字符串加密_(后缀数组)
  10. sql server 常用小知识点
  11. cf492B Vanya and Lanterns
  12. swift 它们的定义TabBarItem
  13. 在Docker容器中搭建MXNet/Gluon开发环境
  14. 微信如何获取unionid 并且打通微信公众号和小程序
  15. h5页面弹窗滚动穿透的思考
  16. 添加mysamba
  17. SQL存储过程使用方法
  18. 通过ExchangeService 发送邮件
  19. 《TCP/IP具体解释卷2:实现》笔记--接口层
  20. 5、Dubbo-监控中心

热门文章

  1. require.js疑惑
  2. MySQL一个简单的存储过程demo
  3. 构造函数与普通函数的区别还有关于“new”操作符的一些原理
  4. UITableView grouped样式使用探索
  5. _getch() 函数,应用于输入密码敲入回车前修改
  6. 兼容IE8的input输入框的正确使用姿势
  7. xmlplus 组件设计系列之零 - xmlplus 简介
  8. Linux Shell——流程控制
  9. extern用法详解
  10. JS实现鼠标悬浮,显示内容