// nova-werun/pages/send-circle/index.js
const Parse = getApp().Parse;
const company = getApp().globalData.company;
Page({

    /**
     * 页面的初始数据
     */
    data: {
        //屏幕高度
        statusBarHeight: 0, // 状态栏高度
        screenHeight: 0, // 屏幕高度
        customHeight: 0, // 自定义导航栏高度（如小程序右上角胶囊按钮）
        bottomNavHeight: 0, // 底部导航栏高度
        contentHeight: 0, // 可用内容高度
        contentHeight2: 0,
        contentpadding: 0, //顶部padding高度
        //输入框
        inputValue: '', // 用于存储输入的内容
        textareaHeight: 52, // 初始高度，单位为 rpx
        // 图片
        fileList: [],
        fileLists:[],
        uptokenURL: '',
        domain: '',
        uploadURL: '',
        saveimage:false,
        checked:false,
        address:'',
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 计算
        const systemInfo = wx.getSystemInfoSync();
        const statusBarHeight = systemInfo.statusBarHeight || 0;
        const screenHeight = systemInfo.screenHeight || 0;
        const custom = wx.getMenuButtonBoundingClientRect();
        const customHeight = custom.height + 10 + 2 || 0;
        const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0;

        const contentpadding = (statusBarHeight + customHeight) * 750 / systemInfo.windowWidth;
        const contentHeight = (screenHeight - bottomNavHeight - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth;
        this.setData({
            statusBarHeight,
            screenHeight,
            customHeight,
            bottomNavHeight,
            contentpadding,
            contentHeight
        });
        const images = []
        images.push({
            url:options.image
        })
        console.log('options.image',options.image);
        if(options.image){
            this.setData({
                fileList:images,
                saveimage:true,
            })
        }
        this.getUptoken()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    //输入框高度随字体增多而变大
    onInput: function (event) {
        const value = event.detail.value; // 获取当前输入的值
        this.setData({
            inputValue: value,
        });
        console.log(this.data.inputValue);
    },
    async getUptoken() {
        let res = await Parse.Cloud.run('qiniu_uptoken', {
            company: company
        })
        this.setData({
            uptokenURL: res.uptoken,
            domain: res.domain,
            uploadURL: res.zoneUrl
        })
        console.log(this.data.uptokenURL, this.data.domain, this.data.uploadURL);
    },
    //获取图片数组
    picture(event) {
        console.log('event', event);
        let FileList = event.detail
        this.setData({
            fileList: FileList,
        })
        console.log('图片', this.data.fileLists);
    },
    //上传函数
    async send() {
        const currentUser = Parse.User.current();
        let Profilequery = new Parse.Query('Profile');
        Profilequery.equalTo('company', company);
        Profilequery.notEqualTo('isDeleted', true);
        Profilequery.equalTo('user', currentUser.id);
        let p = await Profilequery.first()

        let companyPointer = Parse.Object.extend('Company').createWithoutData(company);
        let Comment = new Parse.Object('AIMoment');
        Comment.set('profile', p.toPointer())
        Comment.set('company', companyPointer);
        Comment.set('isVisible', true);
        if(this.data.fileList.length>0){
            let url = []
            for (let i = 0; i < this.data.fileList.length; i++) {
                url.push(this.data.fileList[i].url)
            }
            this.setData({
                fileLists:url,
            })
            Comment.set('images', this.data.fileLists);
        }
        Comment.set('content', this.data.inputValue);
        if(this.data.checked){
            Comment.set('location', this.data.address);
        }
        try {
            if(this.data.fileList.length==0&& !this.data.inputValue){
                console.log('新数据保存失败');
            }else{
                let saveDate2 = await Comment.save();
                console.log(saveDate2);
                console.log("新数据保存成功");
                wx.showToast({
                    title: '发布成功',
                    icon: 'success',
                    duration: 1000
                });
                setTimeout(()=>{
                    this.goback()
                },1000)
            }
            
            
        } catch (error) {
            console.error("保存数据时出现错误:", error);
        }

    },
    async goback(){
        if(!this.data.saveimage){
            let pages = getCurrentPages(); //页面对象
            console.log(pages);
            let prevpage = pages[pages.length - 2]; //上一个页面对象
            console.log(prevpage);
            await prevpage.updateCom()
        }
        wx.navigateBack({
            delta: 1
        });
    },
    //选择展示当前位置
    onChange(event) {
        this.setData({
          checked: event.detail,
        });
        console.log(this.data.checked);
        this.Getlocation()
      },
      //获取当前位置
      Getlocation() {
        // 获取当前位置信息
        wx.getLocation({
            type: 'wgs84',
            success: (res) => {
                const {
                    latitude,
                    longitude
                } = res;
                //调用api解析地址
                wx.request({
                    url: 'https://api.map.baidu.com/reverse_geocoding/v3/?ak=sHZTomd7grslfP7sPKB8tRgT49FK9TEu&output=json&coordtype=gcj02&location=' + latitude + ',' + longitude,
                    data: {},
                    header: {
                        'Content-Type': 'application/json'
                    },
                    success: (ops) => { // 使用箭头函数
                        console.log(ops);
                        // const address = ops.data.result.formatted_address;//详细地址
                        const address = ops.data.result.formatted_address;
                        this.setData({
                            address: address,
                        });
                        console.log(this.data.address);
                    },
                    fail: function (resq) {
                        wx.showModal({
                            title: '信息提示',
                            content: '请求失败',
                            showCancel: false,
                            confirmColor: '#f37938'
                        });
                    },
                    complete: function () {}
                })

            },
            fail: (err) => {
                console.error(err);
                wx.showToast({
                    title: '获取位置失败',
                    icon: 'none'
                });
            }
        });
    },
})