|  | @@ -0,0 +1,190 @@
 | 
	
		
			
				|  |  | +// nova-werun/pages/my/feedback/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高度
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        content: '',
 | 
	
		
			
				|  |  | +        mobile: '',
 | 
	
		
			
				|  |  | +        fileList: []
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 生命周期函数--监听页面加载
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    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
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 生命周期函数--监听页面初次渲染完成
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onReady: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 生命周期函数--监听页面显示
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onShow: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 生命周期函数--监听页面隐藏
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onHide: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 生命周期函数--监听页面卸载
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onUnload: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 页面相关事件处理函数--监听用户下拉动作
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onPullDownRefresh: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 页面上拉触底事件的处理函数
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onReachBottom: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 用户点击右上角分享
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    onShareAppMessage: function () {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    async getUptoken() {
 | 
	
		
			
				|  |  | +        let res = await Parse.Cloud.run('qiniu_uptoken', {
 | 
	
		
			
				|  |  | +          company: company
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        console.log(Object.keys(res));
 | 
	
		
			
				|  |  | +        console.log(res);
 | 
	
		
			
				|  |  | +        this.setData({
 | 
	
		
			
				|  |  | +          uptokenURL: res.uptoken,
 | 
	
		
			
				|  |  | +          domain: res.domain,
 | 
	
		
			
				|  |  | +          uploadURL: res.zoneUrl
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      changeFile(e) {
 | 
	
		
			
				|  |  | +        console.log(e);
 | 
	
		
			
				|  |  | +        let fileList = e.detail
 | 
	
		
			
				|  |  | +        console.log(fileList);
 | 
	
		
			
				|  |  | +        this.setData({
 | 
	
		
			
				|  |  | +          fileList
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      //提交
 | 
	
		
			
				|  |  | +      upPost() {
 | 
	
		
			
				|  |  | +        let {
 | 
	
		
			
				|  |  | +          content,
 | 
	
		
			
				|  |  | +          mobile,
 | 
	
		
			
				|  |  | +          fileList
 | 
	
		
			
				|  |  | +        } = this.data
 | 
	
		
			
				|  |  | +        fileList = fileList.map(file => file.url)
 | 
	
		
			
				|  |  | +        console.log(content, mobile, fileList);
 | 
	
		
			
				|  |  | +        let contentLen = content.replace(/(^s*)|(s*$)/g, "").length
 | 
	
		
			
				|  |  | +        if (content == '' || contentLen == 0) {
 | 
	
		
			
				|  |  | +          wx.showToast({
 | 
	
		
			
				|  |  | +            title: '内容不完整',
 | 
	
		
			
				|  |  | +            icon: 'none',
 | 
	
		
			
				|  |  | +            image: '',
 | 
	
		
			
				|  |  | +            duration: 1500,
 | 
	
		
			
				|  |  | +            mask: false,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!mobile) {
 | 
	
		
			
				|  |  | +          wx.showToast({
 | 
	
		
			
				|  |  | +            title: '请留下您的联系方式哦!',
 | 
	
		
			
				|  |  | +            icon: 'none',
 | 
	
		
			
				|  |  | +            image: '',
 | 
	
		
			
				|  |  | +            duration: 1500,
 | 
	
		
			
				|  |  | +            mask: false,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        wx.showLoading({
 | 
	
		
			
				|  |  | +          title: '提交中',
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +          let user = Parse.User.current();
 | 
	
		
			
				|  |  | +          let feedBack = Parse.Object.extend("Feedback");
 | 
	
		
			
				|  |  | +          let fb = new feedBack();
 | 
	
		
			
				|  |  | +          fb.set("company", {
 | 
	
		
			
				|  |  | +            __type: "Pointer",
 | 
	
		
			
				|  |  | +            className: "Company",
 | 
	
		
			
				|  |  | +            objectId: company,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          fb.set("user", {
 | 
	
		
			
				|  |  | +            __type: "Pointer",
 | 
	
		
			
				|  |  | +            className: "_User",
 | 
	
		
			
				|  |  | +            objectId: user.id,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          fb.set("name", user.realname);
 | 
	
		
			
				|  |  | +          fb.set("images", fileList);
 | 
	
		
			
				|  |  | +          fb.set("content", content);
 | 
	
		
			
				|  |  | +          fb.set("mobile", mobile)
 | 
	
		
			
				|  |  | +        //   fb.set("type","email")
 | 
	
		
			
				|  |  | +          fb.save().then((res) => {
 | 
	
		
			
				|  |  | +            console.log(res);
 | 
	
		
			
				|  |  | +            wx.hideLoading();
 | 
	
		
			
				|  |  | +            wx.showToast({
 | 
	
		
			
				|  |  | +              title: "已提交",
 | 
	
		
			
				|  |  | +              icon: "none",
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +            setTimeout(() => {
 | 
	
		
			
				|  |  | +              wx.navigateBack({
 | 
	
		
			
				|  |  | +                delta: 1
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  | +            }, 1000);
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        } catch (error) {
 | 
	
		
			
				|  |  | +          console.log(error);
 | 
	
		
			
				|  |  | +          wx.hideLoading();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      onLoad: function (options) {
 | 
	
		
			
				|  |  | +        this.setData({
 | 
	
		
			
				|  |  | +          activeColor:getApp().globalData.activeColor || '#4F9AF7'
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +        this.getUptoken()
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +})
 |