export default {
    install(Vue, options) {
        Vue.prototype.host = "https://wx.weibaoge.cn/web/index.php?_mall_id=1285"
            // Vue.prototype.host2 = "http://192.168.0.110:8200"
            // Vue.prototype.host2 = "https://mallApi.oytour.com"	
            Vue.prototype.host2 = "http://192.168.1.5:8088"
            // Vue.prototype.host2 = "http://192.168.1.21"
			// Vue.prototype.host2 = "http://192.168.1.27:8200"
        Vue.prototype.request = function(param, success, failed) {
            //网络请求
            uni.request({
                url: this.host + "&r=" + param.data.r,
                method: param.method || "GET",
                header: param.header || {
                    'content-type': "application/json"
                },
                data: param.data,
                success: res => {
                    if (res.data.code != 0 && res.data.msg != "商品未上架") {

                    }
                    typeof success == "function" && success(res.data);
                },
                fail: (e) => {
                    console.log("网络请求fail:" + JSON.stringify(e));
                    uni.showModal({
                        content: "" + res.errMsg
                    });
                    typeof failed == "function" && failed(res.data);
                }
            });
        }
        Vue.prototype.request2 = function(param, success, failed) {
                //网络请求
                uni.request({
                    url: this.host2 + param.url,
                    method: param.method || "Post",
                    header: param.header || {
                        'content-type': "application/json"
                    },
                    data: {
                        MallBaseId: 1,
                        TenantId: 1,
                        OpenId: this.GetOpenId().OpenId,
                        UserId: this.GetOpenId().UserId,
                        SmallShopsId: this.GetOpenId().SmallShopsId,
                        MiniAppId: this.GetMiniAppId(),
                        msg: param.data,
                        token: this.GetOpenId().token
                    },
                    success: res => {

                        if (res.data.resultCode == 10000) {

                            let u = uni.getStorageSync("mall_UserInfo");
                            if (u) {
                                this.getLogin_t(u)
                                typeof failed == "function" && failed(res.data);
                            }

                        } else if (res.data.resultCode != 1) {
                            if (res.data.message != '') {
                                uni.showToast({
                                    title: res.data.message,
                                    icon: "none",
                                });
                            }



                            typeof failed == "function" && failed(res.data);

                        } else {

                            typeof success == "function" && success(res.data);
                        }
                    },
                    fail: (e) => {
                        console.log("网络请求fail:" + JSON.stringify(e));
                        uni.showModal({
                            content: "" + res.errMsg
                        });
                        typeof failed == "function" && failed(res.data);
                    }
                });
            }
            // token失效再次登录接口
        Vue.prototype.getLogin_t = function(obj) {
                let pid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
				let Up = uni.getStorageSync("Up") ? uni.getStorageSync("Up").Up : 0;
                let SmallShopId = uni.getStorageSync("SmallShopId") ? uni.getStorageSync("SmallShopId").SmallShopId : 0;
                this.request2({
                        url: '/api/AppletLogin/Login',
                        data: {
                            Source: 1,
                            OpenId: obj.OpenId,
                            Name: obj.Name,
                            Photo: obj.Photo,
                            Moblie: '',
                            SuperiorId: pid,
                            SmallShopId: SmallShopId,
							UserPageType: Up,
                        }
                    },
                    res => {
                        if (res.resultCode == 1) {
                            uni.setStorageSync('mall_UserInfo', res.data);
                            uni.removeStorageSync('pid');
                            uni.removeStorageSync('SmallShopId');
							uni.removeStorageSync("Up");
                        }
                    }
                );
            }
            // 获取小程序APPID
        Vue.prototype.GetMiniAppId = function() {
                return 'wxacd9f8cc3480d29e'
                    // return 'wxcf0727a7c78b501e' //旅小友
            }
            //获取OpenId
        Vue.prototype.GetOpenId = function() {
                let mall_userinfo = wx.getStorageSync('mall_UserInfo')
                var obj = {
                    OpenId: '',
                    UserId: 0,
                    token: '',
                    SmallShopsId: 0,
                }
                if (mall_userinfo) {
                    if (mall_userinfo.OpenId) {
                        obj.OpenId = mall_userinfo.OpenId;
                        obj.UserId = mall_userinfo.UserId;
                        obj.token = mall_userinfo.Token;
                        obj.SmallShopsId = mall_userinfo.UserSmallShopId;
                    }
                }
                return obj
            }
            //公用判断图片地址 判断是否包含http
        Vue.prototype.getIconLink = function(url) {
                let str = ''
                if (url && url != '') {
                    if (url.indexOf('http') != -1) {
                        str = url
                    } else {
                        str = 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com' + url;
                    }
                    return str;
                }
            }
            //价格返回.00
        Vue.prototype.getPrice = function(val) {
            val = Number(val).toFixed(2);
            return val
        }

        Vue.prototype.apiheader = function() {
            return {
                'X-Access-Token': '_4Y_WpUZ4a6SI5uJgsZ4Lb7t9mvqJTyr',
                'X-App-Platform': 'wxapp',
                'X-App-Version': '4.2.47',
                'X-Form-Id-List': '[]',
                'X-Requested-With': 'XMLHttpRequest',
                'X-User-Id': '19992',
                'content-type': "application/json"
            }
        }
    }
}