|
|
|
//app.js
|
|
|
|
App({
|
|
|
|
onLaunch: function (e) {
|
|
|
|
var that = this;
|
|
|
|
//获取设备信息
|
|
|
|
this.setMenuHeight()
|
|
|
|
},
|
|
|
|
onShow(e){
|
|
|
|
//隐藏系统tabbar
|
|
|
|
wx.hideTabBar();
|
|
|
|
|
|
|
|
var query = {};
|
|
|
|
if(e.query.q){
|
|
|
|
//通过扫码进来获取二维码上的参数并存入storage
|
|
|
|
let urlSpread = e.query.q;
|
|
|
|
if (urlSpread) {
|
|
|
|
if (urlSpread.indexOf('%3F') != -1) {
|
|
|
|
// 通过扫桌面二维码进来
|
|
|
|
urlSpread = urlSpread.split("%3F")[1].replace(/%3D/g, ":").replace(/%26/g, ",").split(",").map((item, index) => {
|
|
|
|
item = item.split(":");
|
|
|
|
return `"${item[0]}":"${item[1]}"`;
|
|
|
|
}).join(",");
|
|
|
|
query = JSON.parse("{" + urlSpread + "}");
|
|
|
|
}
|
|
|
|
console.log('query1',query)
|
|
|
|
this.globalData.inviterId = query.id
|
|
|
|
}
|
|
|
|
} else{
|
|
|
|
query = e.query
|
|
|
|
console.log('query2',query)
|
|
|
|
this.globalData.inviterId = query.id
|
|
|
|
}
|
|
|
|
},
|
|
|
|
setMenuHeight(){
|
|
|
|
wx.getSystemInfo({
|
|
|
|
success: res => {
|
|
|
|
// console.log(res)
|
|
|
|
this.globalData.navTopHeight = res.statusBarHeight;
|
|
|
|
this.globalData.CustomBar = res.statusBarHeight + 45;
|
|
|
|
this.globalData.systemInfo = res;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
let menuButtonObj = wx.getMenuButtonBoundingClientRect();
|
|
|
|
this.globalData.menuTop = menuButtonObj.top;
|
|
|
|
// console.log(menuButtonObj)
|
|
|
|
this.globalData.menuHeight = menuButtonObj.height;
|
|
|
|
this.globalData.navHeight = menuButtonObj.height + (menuButtonObj.top - this.globalData.navTopHeight);
|
|
|
|
|
|
|
|
},
|
|
|
|
editTabbar: function () {
|
|
|
|
var tabbar = this.globalData.tabBar;
|
|
|
|
var currentPages = getCurrentPages();
|
|
|
|
var that = currentPages[currentPages.length - 1];
|
|
|
|
var pagePath = that.route;
|
|
|
|
(pagePath.indexOf('/') != 0) && (pagePath = '/' + pagePath);
|
|
|
|
for (var i in tabbar.list) {
|
|
|
|
tabbar.list[i].selected = false;
|
|
|
|
(tabbar.list[i].pagePath == pagePath) && (tabbar.list[i].selected = true);
|
|
|
|
}
|
|
|
|
that.setData({
|
|
|
|
tabbar: tabbar
|
|
|
|
});
|
|
|
|
},
|
|
|
|
getToken(){
|
|
|
|
// console.log('getToken')
|
|
|
|
var tokentime = wx.getStorageSync('tokentime') || '';//过期时间
|
|
|
|
var timestamp = Date.parse(new Date());// 当前时间
|
|
|
|
var expiration = timestamp + 60000 * 60 * 12; //缓存12小时
|
|
|
|
var token = wx.getStorageSync('token') || '';
|
|
|
|
this.login(expiration);
|
|
|
|
},
|
|
|
|
login(expiration){
|
|
|
|
wx.login({
|
|
|
|
success: res => {
|
|
|
|
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
|
|
|
// console.log('code:',res.code)
|
|
|
|
this.http('GET','wechat/auth',{code : res.code,spread:0,login_type:0}).then(
|
|
|
|
response =>{
|
|
|
|
if(response.data.isSuccess){
|
|
|
|
wx.setStorageSync('token', 'Bearer '+ response.data.data.token);
|
|
|
|
wx.setStorageSync('uid', response.data.data.userId);
|
|
|
|
wx.setStorageSync('tokentime', expiration);
|
|
|
|
} else{
|
|
|
|
wx.showToast({
|
|
|
|
title: response.data.msg,
|
|
|
|
icon : 'none'
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
getInfo(){
|
|
|
|
this.http('get','userinfo').then((res)=>{
|
|
|
|
if(res.data.success){
|
|
|
|
wx.setStorageSync('userInfo',res.data.data)
|
|
|
|
var pages = getCurrentPages().pop();//当前页面
|
|
|
|
if (pages.getUser){
|
|
|
|
pages.getUser();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
http(mathods,url, params) {
|
|
|
|
var that = this;
|
|
|
|
var header = {
|
|
|
|
'content-type': 'application/json',
|
|
|
|
'Authorization' : wx.getStorageSync('token') || ''
|
|
|
|
}
|
|
|
|
return new Promise(
|
|
|
|
(resolve,reject) => {
|
|
|
|
wx.showLoading({
|
|
|
|
title: "正在加载中...",
|
|
|
|
})
|
|
|
|
wx.request({
|
|
|
|
url: this.globalData.baseURL + url, //请求地址
|
|
|
|
method: mathods, //请求方法
|
|
|
|
header: header,
|
|
|
|
data: params || {}, //请求参数
|
|
|
|
success: res => {
|
|
|
|
wx.hideLoading();
|
|
|
|
//判断token是否过期 res.data.code == 40001
|
|
|
|
if(!res.data.isSuccess && res.data.code == 40001){
|
|
|
|
console.log('token过期')
|
|
|
|
that.getToken()
|
|
|
|
}
|
|
|
|
resolve(res);
|
|
|
|
//成功执行方法,参数值为res.data,直接将返回的数据传入
|
|
|
|
},
|
|
|
|
fail: function() {
|
|
|
|
//请求失败
|
|
|
|
wx.hideLoading();
|
|
|
|
wx.showToast({
|
|
|
|
title: '服务器错误,请稍后再试!',
|
|
|
|
icon : 'none'
|
|
|
|
})
|
|
|
|
reject(err)
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
)
|
|
|
|
},
|
|
|
|
globalData: {
|
|
|
|
// baseURL : 'http://192.168.0.114:8092/api/',
|
|
|
|
baseURL : 'https://www.cyjyyjy.com:8093/api/',
|
|
|
|
userInfo: null,
|
|
|
|
navHeight : 0,
|
|
|
|
navTopHeight: 0,
|
|
|
|
menuTop: 0,
|
|
|
|
menuHeight: 0,
|
|
|
|
CustomBar: 0,
|
|
|
|
inviterId: null , //分享码
|
|
|
|
systemInfo: null, //客户端设备信息
|
|
|
|
tabBar: {
|
|
|
|
"backgroundColor": "#ffffff",
|
|
|
|
"color": "#979795",
|
|
|
|
"selectedColor": "#1c1c1b",
|
|
|
|
"list": [
|
|
|
|
{
|
|
|
|
"pagePath": "/pages/index/index",
|
|
|
|
"iconPath": "icon/icon_home.png",
|
|
|
|
"selectedIconPath": "icon/icon_home_HL.png",
|
|
|
|
"text": "首页"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "/pages/demandHall/index",
|
|
|
|
"iconPath": "icon/icon_home.png",
|
|
|
|
"selectedIconPath": "icon/icon_home_HL.png",
|
|
|
|
"text": "供需大厅"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "/pages/release/index",
|
|
|
|
"iconPath": "icon/icon_release.png",
|
|
|
|
"isSpecial": true,
|
|
|
|
"text": "发布"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "/pages/life/index",
|
|
|
|
"iconPath": "icon/icon_mine.png",
|
|
|
|
"selectedIconPath": "icon/icon_mine_HL.png",
|
|
|
|
"text": "购物车"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "/pages/user/index",
|
|
|
|
"iconPath": "icon/icon_mine.png",
|
|
|
|
"selectedIconPath": "icon/icon_mine_HL.png",
|
|
|
|
"text": "我的"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|