//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) {
        /**
        * 自定义post函数,返回Promise
        * +-------------------
        * @param {String} url 接口网址
        * @param {arrayObject} data 要传的数组对象 like: {name: 'name', age: 32}
        * +-------------------
        * @return {Promise} promise 返回promise供后续操作
        */
        // wx.showLoading({
        // title: '加载中',
        // })
        wx.showNavigationBarLoading()
        wx.showLoading({
            title: '加载中',
        })
        var promise = new Promise((resolve, reject) => {
            //init
            let that = this;
            let postData = data;
            let baseUrl = 'http://grouppay.w.bronet.cn/api/';
            // let baseUrl = 'http://192.168.1.15/public';
            // postData.signature = that.makeSign(postData);
            //网络请求
            let header = {
                'content-type': 'application/x-www-form-urlencoded'
            }
            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 == '30000') {
                        resolve(res.data.data);
                    } else if (res.data.code == '40000') {//返回错误提示信息
                        wx.showToast({
                            title: res.data.msg,
                            icon: 'none'
                        })
                    } else if (res.data.code == '40001') {//返回错误提示信息
                        wx.showModal({
                            title: '提示',
                            content: '登录已过期请重新登录!',
                            showCancel: false,
                            success: function (res) {
                                if (res.confirm) {
                                    wx.removeStorageSync('token');
                                    wx.navigateTo({
                                        // url: '/pages/startRecord/startRecord',
                                    })
                                }
                            }
                        })
                    } else if (res.data.code == '40002') {
                        console.log(res)
                        // wx.showModal({
                        // title: '提示',
                        // // content: res.data.msg,
                        // showCancel: false,
                        // success: function (res) { }
                        // })
                    } else if (res.data.code == '40003') {
                        // 初始化用户信息判断
                        let usetrInfoType = {
                            hasUserInfo: false
                        }
                        resolve(usetrInfoType);
                        // wx.showModal({
                        // title: '提示',
                        // content: res.data.msg,
                        // showCancel: false
                        // })
                    } else {
                        console.log(res)
                        // wx.showModal({
                        // title: '提示',
                        // // content: res.data.msg,
                        // showCancel: false
                        // })
                        reject(res.data)
                    }
                    setTimeout(function () {
                        wx.hideLoading()
                        wx.hideNavigationBarLoading()
                    }, 600)
                },
                fail: function (e) {
                    reject('网络出错');
                    // wx.hideLoading()
                    wx.hideNavigationBarLoading()
                }
            })
        });
        return promise;
    },



    globalData: {
        userInfo: null,
        baseUrl: '../../img/',
        artid: null
    }
})