import { observable } from 'mobx'
// 想要页面监听值的变化更新需要把值解构出来 let {scene} = props.store.indexStore ,这样有变化才会刷新页面
// 使用方法时使用()=>函数执行或者用bind方法，否则会丢失this
export interface IndexStore {
    scene: number,    // 场景值
    system: string,  // 系统
    navBarTop: number,//状态栏高度
    navHeight: number,//导航栏高度
    query: any,//本次进入小程序参数
    isLogin:boolean,//是否登录用于页面刷新获取数据
    indexBanners: {
        "name": string,//名称
        "workDirection": number,//频道
        "bannerType": number,//banner类型
        "bookId": number,//书籍ID
        "activityPagePath": string,//活动页面地址
        "bannerImage": string,//图片地址
    }[],//首页banner数据
    indexHotBooks: {
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//首页热门数据
    indexHotCategory: {
        bookCategoryList: { id: number, name: string }[],//分类
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
    },//首页热门分类
    indexNewBooks:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//重磅数据
    indexHotRec:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//热门推荐
    indexBestReviews:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//口碑
    indexClassicBooks:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//经典
    indexBestBooks:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any[] | null
        shortBookInfoAppVOS:any[] | null,//书籍内容
    },//必看
    indexGuessLike:{
        name: string,//名称
        showRightButton: boolean,//右侧按钮是否展示
        workDirection: number,//频道
        longBookInfoAppVOS:any | null
        shortBookInfoAppVOS:any | null,//书籍内容
    },//猜你喜欢
    indexCategoryId: number,//首页分类选中的id
    rechargeTemplate:any[],//充值模板数据
    setData: (data: { [key: string]: any }) => void,
}
const Index:IndexStore = observable({
    scene: 0,    // 场景值
    system: '',  // 系统
    navBarTop: 0,//状态栏高度
    navHeight: 0,//导航栏高度
    query: null,//本次进入小程序参数
    indexBanners: [],//首页banner数据
    rechargeTemplate:[],//充值模板数据
    indexHotBooks: {
        name: "今日热书",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//首页热门数据
    indexHotCategory: {
        bookCategoryList: [],//分类
        name: "热门分类",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
    },//首页热门分类
    indexNewBooks:{
        name: "重磅新书",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//重磅新书
    indexHotRec:{
        name: "热门推荐",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//热门推荐
    indexBestReviews:{
        name: "口碑佳作",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//口碑佳作
    indexClassicBooks:{
        name: "经典热书",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//经典热书
    indexBestBooks:{
        name: "必看好书",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//必看好书
    indexGuessLike:{
        name: "猜你喜欢",//名称
        showRightButton: true,//右侧按钮是否展示
        workDirection: 0,//频道
        shortBookInfoAppVOS:null,//短篇
        longBookInfoAppVOS:null,//长篇
    },//猜你喜欢
    indexCategoryId: 0,
    isLogin:false,
    setData(data: { [key: string]: any }) {
        if (data) {
            Object.keys(data).forEach(key => {
                //数据不同才存放
                if(JSON.stringify(this[key]) !== JSON.stringify(data[key])){
                    this[key] = data[key]
                }
            })
        }
    },
})

export default Index