// component/auth/auth.js const api = require('../../config/api') const util = require('../../utils/util.js'); import {getSubOpen} from './api' Component({ /** * 页面的初始数据 */ data: { show: false, loginNew: !!wx.getUserProfile, canIUse: wx.canIUse('button.open-type.getUserInfo') }, attached() { this.callback = () => { this.setData({show: !getApp().globalData.loginProps.isLogin}) // let pages = getCurrentPages() // let currPage = pages[pages.length - 1].route // if (currPage === 'pages/discover/discover') { // this.setData({bottom: '50px'}) // } else { // this.setData({bottom: 0}) // } } this.callback() getApp().addLoginListener(this.callback) getSubOpen() }, detached() { getApp().removeLoginListener(this.callback) }, methods: { quitHandle: function() { getApp().setLoginProps(true) }, getCode: function() { return new Promise(r => { wx.login({ success: function(res) { if (res.code) { r(res.code) } } }); }) }, authLogin() { this.triggerEvent('login') }, bindGetUserInfo: async function(e) { if (this.data.loginNew) { let info = await new Promise(resolve => { wx.getUserProfile({ desc: '获取用户昵称头像用作共享', success: resolve, fail(e) { console.error(e) } }) }) e.detail = info console.log('-----------------', e) } let code = await this.getCode() //登录远程服务器 util.request(api.AuthLoginByWeixin, { code: code, userInfo: e.detail }, 'POST', 'application/json').then(res => { if (res.errno === 0) { //存储用户信息 res.data.userInfo.userId = res.data.userId res.data.userInfo.sessionKey = res.data.sessionKey wx.setStorageSync('userInfo', res.data.userInfo); wx.setStorageSync('token', res.data.token); wx.setStorageSync('userId', res.data.userId); wx.setStorageSync('isLogin', true); getApp().setLoginProps(true) this.authLogin() getSubOpen() } else { // util.showErrorToast(res.errmsg) // wx.showModal({ // title: '提示', // content: res.errmsg, // showCancel: false // }); } }); }, } })