first commit
This commit is contained in:
126
衣莎项目/源码/YiShaXiYi/model/user.js
Normal file
126
衣莎项目/源码/YiShaXiYi/model/user.js
Normal file
@@ -0,0 +1,126 @@
|
||||
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()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user