|
@@ -1,126 +1,156 @@
|
|
|
//authorize.js
|
|
|
-import api from './utilsTools.js';
|
|
|
+import api from './utilsTools.js'
|
|
|
|
|
|
//判断是否登陆 通过检测sessionkey是否过期 1未过期 0已过期
|
|
|
-const checkSessionKey=()=>{
|
|
|
- return new Promise((resolve,reject) => {
|
|
|
- const user = uni.getStorageSync('user');// 用户缓存信息
|
|
|
- if(user){
|
|
|
+const checkSessionKey = () => {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ const user = uni.getStorageSync('user') // 用户缓存信息
|
|
|
+ if (user) {
|
|
|
uni.checkSession({
|
|
|
- success() {
|
|
|
- resolve(1); //状态未过期
|
|
|
- }
|
|
|
- ,fail() {
|
|
|
- resolve(0); //状态已过期
|
|
|
+ success() {
|
|
|
+ resolve(1) //状态未过期
|
|
|
+ },
|
|
|
+ fail() {
|
|
|
+ resolve(0) //状态已过期
|
|
|
}
|
|
|
})
|
|
|
- }else{
|
|
|
- resolve(2); //未存贮
|
|
|
+ } else {
|
|
|
+ resolve(2) //未存贮
|
|
|
}
|
|
|
- })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 登录授权
|
|
|
-const login = (params)=> {
|
|
|
- return new Promise((resolve,reject) => {
|
|
|
- authDo(params).then(res=>{
|
|
|
- if ( res.statusCode && res.statusCode != 200 ) {
|
|
|
- reject('网络错误,请检查一下网络');return;
|
|
|
+const login = (params) => {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ authDo(params).then(res => {
|
|
|
+ if (res.statusCode && res.statusCode != 200) {
|
|
|
+ reject('网络错误,请检查一下网络')
|
|
|
+ return
|
|
|
}
|
|
|
if (res.data.code != 0) {
|
|
|
- reject('登录失败');return;
|
|
|
+ reject('登录失败')
|
|
|
+ return
|
|
|
}
|
|
|
- let user = res.data.data.user;
|
|
|
- uni.setStorageSync('user', user);//储存用户信息到本地
|
|
|
- resolve(user);
|
|
|
+ let user = res.data.data.user
|
|
|
+ uni.setStorageSync('user', user) //储存用户信息到本地
|
|
|
+ resolve(user)
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 查询用户信息 write by self
|
|
|
const authDo = function(params) {
|
|
|
- return new Promise(function (resolve, reject) {
|
|
|
- uni.request({
|
|
|
- url: api.requestUrl +'/login/doLogin',
|
|
|
- data: params,
|
|
|
- method:'POST',
|
|
|
- header: {
|
|
|
- 'content-type': 'application/x-www-form-urlencoded'
|
|
|
- },
|
|
|
- success: function(res){ resolve(res) },
|
|
|
- fail:function(){ reject("保存用户信息失败") }
|
|
|
- })
|
|
|
+ return new Promise(function(resolve, reject) {
|
|
|
+ uni.request({
|
|
|
+ url: api.requestUrl + '/login/doLogin',
|
|
|
+ data: params,
|
|
|
+ method: 'POST',
|
|
|
+ header: {
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded'
|
|
|
+ },
|
|
|
+ success: function(res) {
|
|
|
+ resolve(res)
|
|
|
+ },
|
|
|
+ fail: function() {
|
|
|
+ reject('保存用户信息失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 获取服务商信息 uni-app是聚合开发 所以先获得是什么小程序 原生的不用这个
|
|
|
const getProvider = () => {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- uni.getProvider({
|
|
|
- service: 'oauth', //服务类型 登录授权
|
|
|
- success: function(res) {resolve(res.provider[0])},
|
|
|
- fail:function() { reject("获取服务商失败") }
|
|
|
- });
|
|
|
- })
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ uni.getProvider({
|
|
|
+ service: 'oauth', //服务类型 登录授权
|
|
|
+ success: function(res) {
|
|
|
+ resolve(res.provider[0])
|
|
|
+ },
|
|
|
+ fail: function() {
|
|
|
+ reject('获取服务商失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
|
|
|
// 获取code
|
|
|
const getCode = provider => {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- if (!provider) { reject("获取缺少provider参数") }
|
|
|
- uni.login({
|
|
|
- provider: provider,
|
|
|
- success: function(loginRes) {
|
|
|
- if (loginRes && loginRes.code) {
|
|
|
- resolve(loginRes.code)
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (!provider) {
|
|
|
+ reject('获取缺少provider参数')
|
|
|
+ }
|
|
|
+ uni.login({
|
|
|
+ provider: provider,
|
|
|
+ success: function(loginRes) {
|
|
|
+ if (loginRes && loginRes.code) {
|
|
|
+ resolve(loginRes.code)
|
|
|
} else {
|
|
|
- reject("获取code失败")
|
|
|
+ reject('获取code失败')
|
|
|
uni.navigateTo({
|
|
|
- url:'/pages/tabBar/home/index'
|
|
|
+ url: '/pages/tabBar/home/index'
|
|
|
})
|
|
|
}
|
|
|
- },
|
|
|
- fail:function(){ reject("获取code失败")}
|
|
|
- });
|
|
|
- })
|
|
|
+ },
|
|
|
+ fail: function() {
|
|
|
+ reject('获取code失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 是否开启了获取用户名授权 当用户一开始拒绝了 需再次提醒授权
|
|
|
const getSetting = function() {
|
|
|
- return new Promise((resolve,reject) => {
|
|
|
- uni.getSetting({
|
|
|
- success:function(res) {
|
|
|
- let authSetting=res.authSetting
|
|
|
- if(authSetting['scope.userInfo']){resolve(1);return;}//授权成功
|
|
|
- if(authSetting['scope.userInfo']===false){resolve(0);return;}//拒绝授权
|
|
|
- resolve(2) //2未操作
|
|
|
- },
|
|
|
- fail:function() {
|
|
|
- reject("获取用户授权失败")
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ uni.getSetting({
|
|
|
+ success: function(res) {
|
|
|
+ let authSetting = res.authSetting
|
|
|
+ if (authSetting['scope.userInfo']) {
|
|
|
+ resolve(1)
|
|
|
+ return
|
|
|
+ } //授权成功
|
|
|
+ if (authSetting['scope.userInfo'] === false) {
|
|
|
+ resolve(0)
|
|
|
+ return
|
|
|
+ } //拒绝授权
|
|
|
+ resolve(2) //2未操作
|
|
|
+ },
|
|
|
+ fail: function() {
|
|
|
+ reject('获取用户授权失败')
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 获取用户信息
|
|
|
-const getUserInfo = (provider)=>{
|
|
|
- return new Promise( (resolve,reject)=>{
|
|
|
- if (!provider) { reject("获取缺少provider参数");return; }
|
|
|
+const getUserInfo = (provider) => {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (!provider) {
|
|
|
+ reject('获取缺少provider参数')
|
|
|
+ return
|
|
|
+ }
|
|
|
uni.getUserInfo({
|
|
|
provider: provider,
|
|
|
success: (detail) => {
|
|
|
- if(detail.iv != ''){
|
|
|
- resolve(detail);
|
|
|
- }else{
|
|
|
- reject(0); //用户点击拒绝授权
|
|
|
+ if (detail.iv != '') {
|
|
|
+ resolve(detail)
|
|
|
+ } else {
|
|
|
+ reject(0) //用户点击拒绝授权
|
|
|
}
|
|
|
+ },
|
|
|
+ fail: (error) => {
|
|
|
+ reject(0) //如果用户拒绝过授权 直接走fail
|
|
|
}
|
|
|
- ,fail: (error) => {
|
|
|
- reject(0); //如果用户拒绝过授权 直接走fail
|
|
|
- }
|
|
|
- });
|
|
|
+ })
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-export default {getProvider,getSetting,checkSessionKey,getCode,login,getUserInfo}
|
|
|
+export default {
|
|
|
+ getProvider,
|
|
|
+ getSetting,
|
|
|
+ checkSessionKey,
|
|
|
+ getCode,
|
|
|
+ login,
|
|
|
+ getUserInfo
|
|
|
+}
|