这里使用的mpvue

第一步组件DOM部分

/pages/index
<button class="app_btn" open-type="getUserInfo" @getuserinfo="getUserInfo" type="primary"> 欢迎使用XXX </button>

第二步登录方法

/pages/index
getUserInfo() {
let _this = this;
wx.login({
success: async function(res) {
if (res.code) {
//发起网络请求
let ares = await execteGet('/v1/inner/wechat/getOpenId',{code: res.code})
if(ares){
_this.operId = ares;
wx.setStorageSync('operId', ares);
// 存在groupId及通过组分享进来的,直接加入对应组
console.log('开始加入群组----:'+ _this.groupId)
if(_this.groupId){
let join_data = {
groupId: _this.groupId,
"weChatId": ares
}
let jres = await exectePost('/v1/inner/group/joinGroup', join_data)
console.log('加入群组参数---:' + JSON.stringify(join_data))
console.log('加入群组状态----:'+jres)
}
// 获取用户信息
wx.getSetting({
success(cres) {
if (cres.authSetting['scope.userInfo']) {
console.log("已授权=====")
// 已经授权,可以直接调用 getUserInfo 获取头像昵称
wx.getUserInfo({
success(zres) {
console.log("获取用户信息成功", zres);
_this.globalData.userInfo = zres.userInfo;
if(!wx.getStorageSync('nickName')){
wx.setStorageSync('nickName', zres.userInfo.nickName)
}
// 存用户数据
let sdata = {
address:`${zres.userInfo.country}-${zres.userInfo.province}-${zres.userInfo.city}`,
name: zres.userInfo.nickName,
sex: zres.userInfo.gender,
weChatId: _this.operId,
portrait: zres.userInfo.avatarUrl
}
exectePost('/v1/inner/task/loginOrInsertUser', sdata).then(data =>{
gotabbar()
})
},
fail(res) {
console.log("获取用户信息失败", res)
}
})
} else {
console.log("未授权=====")
that.showSettingToast("请授权")
}
}
})
}else{
wx.showToast({
title: '获取operid失败!',
icon: 'loading',
duration: 1500
})
}
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
}, // 打开权限设置页提示框
showSettingToast(e) {
wx.showModal({
title: '温馨提示提示!',
confirmText: '去设置',
showCancel: false,
content: e,
success: function(res) {
if (res.confirm) {
wx.navigateTo({
url: '../setting/main',
})
}
}
})
}

第三步编写授权页面

/pages/setting
<button class="primary_btn" type="primary" open-type="openSetting">去设置开启权限</button>

随便记录下分享

/pages/sharePage
<button type="primary" open-type='share'>直接分享</button>
//与methods方法同级
onShareAppMessage: function(options) {
console.log(JSON.stringify('分享来源'+ JSON.stringify(options)))
return {
title: '邀请组二维码',
path: `/pages/index/main?groupId=${this.$root.$mp.query.groupid}`,//被分享人点击进来的界面
// imageUrl: '../../static/images/user.png',
success: function (res) {
console.log(res)
wx.getShareInfo({
shareTicket: res.shareTickets[0],
success: function (res) { console.log(res) },
fail: function (res) { console.log(res) },
complete: function (res) { console.log(res) }
})
},
fail: function (res) {
console.log(res)
}
}
console.log('分享参数' + `/pages/index/main?groupId=${this.$root.$mp.query.groupid}`)
}

最新文章

  1. Add&amp;Delete WindowService
  2. iOS NSString中字符串的删除,替换
  3. 阿里云服务器Node环境配置
  4. int a[5]={1,2,3,4,5}; int *p=(int*)(&amp;a+1); printf(&quot;%d&quot;,*(p-1)); 答案为什么是5?
  5. UI特效--Android利用ViewFlipper实现屏幕切换动画效果
  6. 【CSS】Beginner6:Border
  7. Centos7.0挂载优盘安装jdk1.7和tomcat7.0
  8. Android静态变量使用陷阱
  9. 获取Excel表中各个Sheet的方法
  10. Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)
  11. AngularJS4.0环境搭建详解--windows系统环境
  12. Experience of Python Learning Week 1
  13. jstl 处理字符串
  14. C# 防止程序多开的两种方法
  15. loadrunner11浏览器兼容性的问题
  16. ASP.NET MVC项目中App_Code目录在程序应用
  17. CSS鼠标悬浮DIV后显示DIV外的按钮
  18. 【.NET】using 语句中使用的类型必须可隐式转换为&quot;System.IDisposable&quot;
  19. D - The Lucky Week ZOJ - 3939 (思维)
  20. 分布式监控系统Zabbix--完整安装记录(7)-使用percona监控MySQL

热门文章

  1. 【JS学习】慕课网8-17编程练习 网页的返回与跳转
  2. k8s集群搭建之二:etcd集群的搭建
  3. 重新开始学习C++
  4. 【dart学习】-- Dart之类和对象
  5. bzoj1001 [ICPC-Beijing 2006]狼抓兔子
  6. 攻防世界 MISC篇
  7. Spring源码剖析4:懒加载的单例Bean获取过程分析
  8. 【SQL】事务回滚
  9. python之lambda,random,timeit,collections,
  10. MySQL server has gone away 解决办法