const app = getApp(); const config = app.loadConfig() const regeneratorRuntime = app.loadAsync() const api = app.loadApi() const { StorageSync } = app.loadModel("getSetting") const storage = new StorageSync() export class Getauth { /** * 获取用户当前授权过小程序的权限 */ getSetting() { return new Promise(function (resolve, reject) { wx.getSetting({ success(res) { resolve(res) } }) }) } /** * 个人信息授权处理 */ async userInfo() { // 未授权个人信息跳转到授权页面 // let user = await this.getSetting() // if (!user.authSetting['scope.userInfo']) { // wx.redirectTo({ // url: '/pages/login/login' // }) // return // } // await this.login() // 如果已授权跳转首页 wx.redirectTo({ url: '/pages/auth/auth?index=1' }) } /** * 地理位置授权 为了获取用户的地理位置 */ async userLocation() { return new Promise(function (resolve, reject) { wx.authorize({ scope: 'scope.userLocation', success() { wx.getLocation({ type: 'gcj02', success(res) { // 把地理信息存到本地 storage.setStorage("position", res) wx.request({ url: `${config.baseUrl}${api.lately}`, method: "POST", data: { lat: res.latitude, lng: res.longitude }, success(rel) { resolve(rel.data.data) storage.setStorage("nearestStore", rel.data.data) } }) } }) } }) }) } /** * 相册授权 */ albumAuthorization() { //获取相册授权 return new Promise(function (resolve, reject) { wx.getSetting({ success(res) { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success() { resolve("ok") }, fail() { resolve("err") } }) return } resolve("ok") } }) }) } /** * 用户登录方法 * 登陆成功把获取的token存到本地 */ login(userInfo) { wx.showLoading({ title: '登录中', }) let data = userInfo || {}; return new Promise(function (resolve, reject) { wx.login({ success(res) { if (res.code) { wx.request({ url: `${config.baseUrl}${api.login}`, method: "POST", data: { code: res.code, ...data }, success(rel) { storage.setStorage("token", rel.data.data.token) resolve(rel) app.globalData.isToken = true wx.hideLoading() } }) } else { wx.hideLoading() console.log('登录失败!' + res.errMsg) } }, fail() { wx.hideLoading() } }) }) } }