import {
    defineStore
} from 'pinia';
import {
    ref
} from 'vue'
import {
    msg
} from '@/common/globalFunction.js'
import config from '../config';

const useLocationStore = defineStore("location", () => {
    // 定义状态
    const longitudeVal = ref(null) // 经度
    const latitudeVal = ref(null) //纬度

    function getLocation() {
        return new Promise((resole, reject) => {
            try {
                lightAppJssdk.map.getLocation({
                    success: function(data) {
                        longitudeVal.value = Number(data.longitude)
                        latitudeVal.value = Number(data.latitude)
                        resole(data)
                    },
                    fail: function(data) {
                        longitudeVal.value = 120.382665
                        latitudeVal.value = 36.066938
                        resole({
                            longitude: 120.382665,
                            latitude: 36.066938
                        })
                        msg('用户位置获取失败')
                        console.log('失败', data)
                    }
                })
            } catch (e) {
                longitudeVal.value = 120.382665
                latitudeVal.value = 36.066938
                resole({
                    longitude: 120.382665,
                    latitude: 36.066938
                })
                msg('测试环境，使用模拟定位')
                console.log('失败', data)
            }
        })
    }

    function longitude() {
        return longitudeVal.value
    }

    function latitude() {
        return latitudeVal.value
    }

    // 导入
    return {
        getLocation,
        longitudeVal,
        latitudeVal

    }
})

export default useLocationStore;