Files
CompanyProject/衣莎项目/源码/YiShaXiYi/model/user.js
2024-09-27 01:32:49 +08:00

126 lines
4.0 KiB
JavaScript

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()
}
})
})
}
}