import {
    ApiModel
} from './utils/Api';
import {
    Language
} from './utils/language';
App({
    onLaunch(options) {
        //小程序跳转进入
        if (options.query.userMsg) {
            let userMsg = JSON.parse(options.query.userMsg)
            wx.removeStorageSync('userMsg');
            wx.removeStorageSync('auth');
            wx.removeStorageSync('userauth');
            wx.removeStorageSync('userrole');
            wx.removeStorageSync('templetList');
            wx.setStorageSync('userMsg', userMsg);
            wx.setStorageSync('userrole', userMsg.usertype == 1 ? '业务员' : '经销商');
            wx.setStorageSync('auth', JSON.parse(options.query.auth));
            wx.setStorageSync('siteP', JSON.parse(options.query.site));
            wx.setStorageSync('templetList', JSON.parse(options.query.templetList));
            console.log("options.query.templetList", options.query.templetList)
            wx.removeStorageSync('languagecode');
            wx.setStorageSync('languagecode', options.query.languagecode);
            //获取用户权限 
            this.globalData.http.basic({
                "classname": "sysmanage.develop.userauth.userauth",
                "method": "query_userauth",
                content: {
                    nocache: true
                }
            }).then(res => {
                console.log("跳转进入查询权限", res)
                if (res.code != '1') return wx.showToast({
                    title: '权限查询失败,请稍后再试',
                    icon: "none"
                })
                wx.setStorageSync('userauth', res.data);
            });
            this.globalData.http.sColors = require("./utils/defaultColors")
            _Http.basic({
                "classname": "sysmanage.develop.optiontype.optiontype",
                "method": "optiontypeselect",
                "content": {
                    "typename": "statuscolors"
                }
            }).then(res => {
                if (res.code != '1') return;
                res.data.forEach(v => {
                    _Http.sColors[v.value] = v.remarks
                })
            });
        } else {
            this.globalData.http.sColors = require("./utils/defaultColors")
        }
        if (!wx.getStorageSync('languagecode')) wx.setStorageSync('languagecode', 'ZH');
        this.globalData.Language.getLanguages(wx.getStorageSync('languagecode'));
    },
    initSocket() {
        let that = this;
        this.globalData.SocketTask = wx.connectSocket({
            url: (this.globalData.http.baseUrl + '/yos/webSocket/').replace("https", "wss").replace("http", "ws") + wx.getStorageSync('userMsg').token,
            complete: (res) => {
                console.log(res)
            }
        })
        this.globalData.SocketTask.onOpen(function (res) {
            that.globalData.socketEstablish = true;
        })
        this.globalData.SocketTask.onMessage(function (res) {
            that.globalData.socket.callback(res)
        })
        this.globalData.SocketTask.onError(function (res) {
            that.globalData.socketEstablish = false;
        })
        this.globalData.SocketTask.onClose(function (res) {
            that.globalData.socketEstablish = false;
        })
    },
    globalData: {
        http: new ApiModel, //挂载接口文件
        Language: new Language(), //语言包
        queryPer: require("./utils/queryPermissions"), //权限查询
        handleSelect: null, //处理选择结果  函数
        socketEstablish: false, //是否已经建立socket
        SocketTask: '', // Socket方法
        socketCallback: null, // Socket回调
    }
})