125 lines
2.8 KiB
JavaScript
125 lines
2.8 KiB
JavaScript
import globalData from '@/common/js/globalData.js';
|
|
|
|
export default {
|
|
// 异步接口拦截
|
|
addInterceptor() {
|
|
uni.addInterceptor('request', {
|
|
invoke(args) {
|
|
// request 触发前拼接 url
|
|
args.url = 'http://127.0.0.1:80' + args.url;
|
|
// console.log("停止触发");
|
|
// return false;
|
|
},
|
|
// success(args) {
|
|
// console.log('interceptor-success', args);
|
|
// },
|
|
// fail(err) {
|
|
// console.log('interceptor-fail', err)
|
|
// },
|
|
// complete(res) {
|
|
// console.log('interceptor-complete', res)
|
|
// res = res.data;
|
|
// }
|
|
})
|
|
},
|
|
checkAndAuth() {
|
|
let _this = this;
|
|
// 通过 wx.getSetting 先查询一下用户是否授权了 "scope.userInfo" 这个 scope
|
|
wx.getSetting({
|
|
success(res) {
|
|
if (!res.authSetting['scope.userInfo']) {
|
|
// 用户授权
|
|
wx.authorize({
|
|
scope: 'scope.userInfo',
|
|
success() {
|
|
// 用户已经同意, 后续调用此接口不会弹窗询问
|
|
_this.login();
|
|
},
|
|
fail() {
|
|
// 用户已经拒绝过授权
|
|
wx.openSetting({
|
|
success(res) {
|
|
if (res['scope.userInfo']) {
|
|
_this.checkAndAuth();
|
|
}
|
|
}
|
|
})
|
|
}
|
|
})
|
|
} else {
|
|
_this.login();
|
|
}
|
|
}
|
|
})
|
|
},
|
|
async login() {
|
|
// 从缓存中获取登录信息
|
|
let userInfo = uni.getStorageSync('userProfile');
|
|
if (userInfo) {
|
|
return true;
|
|
}
|
|
|
|
// 获取微信登录凭证
|
|
const wxLoginCode = wx.login();
|
|
// TODO:调用小程序服务端确认是否是授权登录过的用户
|
|
let loginRes = {
|
|
logined: false,
|
|
userInfo: {}
|
|
};
|
|
// 未登录过的获取微信用户信息
|
|
if (!loginRes || !loginRes.logined) {
|
|
userInfo = await wx.getUserProfile({
|
|
desc: '用于小程序登录'
|
|
});
|
|
// 再次请求小程序服务端存储用户,服务端添加附加用户信息后返回
|
|
loginRes = {
|
|
logined: true,
|
|
userInfo: {
|
|
userId: 1
|
|
}
|
|
};
|
|
}
|
|
userInfo = loginRes.userInfo;
|
|
if (!userInfo) {
|
|
uni.showToast({
|
|
icon: 'error',
|
|
title: '用户信息获取失败,请退出小程序重试'
|
|
})
|
|
return false;
|
|
}
|
|
// 页面存储用户登录有效信息,以便其他页面调用
|
|
uni.setStorageSync('userProfile', userInfo);
|
|
return true;
|
|
},
|
|
getCurUserInfo() {
|
|
let userProfile = uni.getStorageSync('userProfile');
|
|
console.log("curUser:" + userProfile)
|
|
return userProfile;
|
|
},
|
|
getProductCategories(params = {}) {
|
|
return uni.request({
|
|
url: '/goods/deptcategory/app/list',
|
|
method: 'POST',
|
|
data: params
|
|
})
|
|
},
|
|
qryProductPage(params = {}) {
|
|
return uni.request({
|
|
url: '/goods/goods/list',
|
|
method: 'POST',
|
|
data: params,
|
|
header: {
|
|
pageNum: params.pageNum,
|
|
pageSize: params.pageSize
|
|
}
|
|
})
|
|
},
|
|
placeOrder(params = {}) {
|
|
return uni.request({
|
|
url: '/goods/goods/list',
|
|
method: 'POST',
|
|
data: params
|
|
})
|
|
}
|
|
}
|