//app.js App({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } }) // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId this.globalData.userInfo = res.userInfo // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } } }) }, post: function (url, data, headerParams, showLoad) { wx.showNavigationBarLoading() var promise = new Promise((resolve, reject) => { //init let that = this; let postData = data; let baseUrl = 'https://winesbook.cn/api/'; //网络请求 let header = { 'XX-Device-Type': 'wxapp', 'XX-Token': wx.getStorageSync("token") || '' } header = Object.assign(header, headerParams) //网络请求 wx.request({ url: baseUrl + url, data: postData, method: 'POST', header: header, success: function (res) { //返回取得的数据 if (res.data.code == '20000') { resolve(res.data.data); } else if (res.data.code == '201') { resolve(res.data); } else { wx.showToast({ title: res.data.msg, duration: 1200, icon:'none' }) reject(res) } // else if (res.data.code == '42002') { // } // setTimeout(function () { // wx.hideNavigationBarLoading() // }, 600) }, fail: function (e) { reject('网络出错'); // wx.hideLoading() wx.hideNavigationBarLoading() }, complete: function () { wx.hideNavigationBarLoading() }, }) }); return promise; }, // 上传图片 upload(filetype, file) { var promise = new Promise((resolve, reject) => { let url = 'https://winesbook.cn/api/user/upload/one'; let head = { 'XX-Token': wx.getStorageSync('token'), 'XX-Device-Type': 'wxapp' } let typename = { filetype: filetype } wx.uploadFile({ url: url, //仅为示例,非真实的接口地址 filePath: file, name: 'file', header: head, formData: typename, success: function (res) { console.log('上传文件后', res) let temdata = JSON.parse(res.data); console.log(temdata) let urlobj = { url: temdata.data.url, local_url: temdata.data.local_url } resolve(urlobj); wx.hideNavigationBarLoading(); wx.hideLoading(); }, fail: function (res) { reject('网络出错'); wx.hideNavigationBarLoading() wx.hideLoading() }, complete: () => { wx.hideNavigationBarLoading() wx.hideLoading() }, }) }); return promise; }, nowDate() { let date = new Date(); let month = date.getMonth() + 1; let day = date.getDate(); return date.getFullYear() + '年' + (month > 9 ? month : ('0' + month)) + '月' + (day > 9 ? day : ('0' + day)) + '日'; }, newnowDate() { let date = new Date(); let month = date.getMonth() + 1; let day = date.getDate(); return date.getFullYear() + '-' + (month > 9 ? month : ('0' + month)) + '-' + (day > 9 ? day : ('0' + day)); }, initDate(a) { let date1 = new Date(); let time1 = date1.getFullYear() + "年" + (date1.getMonth() + 1) + "月" + date1.getDate() + '日'; let date2 = new Date(date1); date2.setDate(date1.getDate() + a); let time2 = date2.getFullYear() + "年" + (date2.getMonth() + 1) + "月" + date2.getDate() + '日'; return time2; }, globalData: { userInfo: null, url:'http://winesbook.cn/static/images_mini/', baseUrl:'https://winesbook.cn/api' } })