// 首页数据
import Vue from 'vue'
import { mapState, mapMutations } from 'vuex'
import authorize from '@/common/config/authorize.js'
const homeMiXins = {
    data() {
        return {
            nvabarData: {
                // 顶部自定义导航
                showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
                showSearch: 0,
                title: '联合丽格集采商城', // 导航栏 中间的标题
                haveBack: false,
                textLeft: this.$store.state.isIphone,
                textColor: '#FFFFFF'
            },
            CustomBar: this.CustomBar, // 顶部导航栏高度
            skeletonShow: false,
            userId: 0,
            current: 0,
            mode: 'round',
            userIdentity: 0,
            bannerList: [], // 轮播
            mainmenu: [], // 导航分类
            floorList: [], // 楼层
            mallTheme: {}, //活动专题
            isScrollTop: false,
            authParams: {
                code: '',
                encryptedData: '',
                iv: ''
            }
        }
    },
    computed: {
        ...mapState(['hasLogin', 'userInfo', 'isWxAuthorize'])
    },
    methods: {
        ...mapMutations(['login', 'logout', 'updateNoticeNum']),
        async mallOrganizeHome() {
            //初始化首页数据
            try {
                const res = await this.CommonService.mallOrganizeHome({ organizeId: 4 })
                let data = res.data
                this.bannerList = data.bannerList
                this.mainmenu = data.mainmenu
                this.floorList = data.floorList
                this.mallTheme = data.mallTheme
                if (this.hasLogin) {
                    this.updateCartCount()
                }
                this.skeletonShow = true
            } catch (error) {
                //TODO handle the exception
                console.log('error', error)
            }
        },
        async authApplets() {
            try {
                // 根据微信的code获取用户登录状态:1已登录过 -1未登录过
                const wechatCode = await authorize.getCode('weixin')
                const getUserInfo = await authorize.getUserInfo('weixin')
                this.authParams.code = wechatCode
                this.authParams.encryptedData = getUserInfo.encryptedData
                this.authParams.iv = getUserInfo.iv
                // 调用授权登录
                const res = await this.UserService.UserLoginAuthApplets(this.authParams)
                this.userId = res.data.userId
                this.$store.commit('updateStatus', res.data)
                this.login(res.data)
                uni.setStorageSync('token', res.data.token)
                uni.setStorageSync('unionId', res.data.unionId)
                this.mallOrganizeHome()
            } catch (error) {
                this.logout()
                uni.setStorageSync('unionId', error.data.unionId)
                this.$store.commit('updateStatus', error.data)
				 this.mallOrganizeHome()
            }
        },
        async updateCartCount() {
            // 获取购物车数量
            try {
                const res = await this.OrderService.ShoppingCartCount({ userId: this.userId })
                this.$store.commit('updateAllNum', res.data)
            } catch (error) {
                console.log('获取购物车数量异常')
            }
        }
    }
}

export default homeMiXins