import {
	ApiModel
} from './utils/Api';

import {
	evidence,
	update
} from './utils/pay';

App({
	onLaunch: function () {
		wx.getSystemInfo({
			success: e => {
				this.globalData.StatusBar = e.statusBarHeight;
				let custom = wx.getMenuButtonBoundingClientRect();
				this.globalData.Custom = custom;
				this.globalData.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
			}
		})
	},
	initSocket() {
		let that = this;
		this.globalData.SocketTask = wx.connectSocket({
			url: this.globalData.http.baseUrl.replace("https", "wss").replace("http", "ws") + '/yos/webSocket/' + wx.getStorageSync('userMsg').token,
			complete: (res) => {
				console.log(res)
			}
		})

		//获取领域对应账户
		this.globalData.http.basic({
			"classname": "sysmanage.develop.optiontype.optiontype",
			"method": "optiontypeselect",
			"content": {
				"pageNumber": 1,
				"pageSize": 9999,
				"typename": "domainrelatedaccounts"
			}
		}).then(res => {
			console.log("查询领域对应列表", res)
			wx.setStorageSync('domainrelatedaccounts', res.msg == '成功' ? res.data : [])
		})
		console.log(this.globalData.http.baseUrl.replace("https", "wss").replace("http", "ws") + '/yos/webSocket/' + wx.getStorageSync('userMsg').token)
		this.globalData.SocketTask.onOpen(function (res) {
			that.globalData.socketEstablish = true;
		})
		this.globalData.SocketTask.onMessage(function (res) {
			that.globalData.socket.callback(res)
			let data = JSON.parse(res.data);
			if (data.message.type == 'pay') update();
		})
		this.globalData.SocketTask.onError(function (res) {
			that.globalData.socketEstablish = false;
		})
		this.globalData.SocketTask.onClose(function (res) {
			that.globalData.socketEstablish = false;
		})
	},
	globalData: {
		http: new ApiModel, //挂载接口文件
		queryPer: require("./utils/queryPermissions"), //权限查询
		handleSelect: null, //处理选择结果函数
		collectCount: "", //购物车商品数量
		getCollectCount: null, // 获取购物车数量
		socketEstablish: false, //是否已经建立socket
		SocketTask: '', // Socket方法
		remindchangepassword_str: "",
		refreshData: null, //保存首页更新应用信息函数
		evidence
	},
})