// pages/newCachePage/newCahePage.js import cloudApi from "../../apis/cloudApi" import { postApi } from "../../apis/api" import { uploadFile } from "../../utils/upload" Page({ /** * 页面的初始数据 */ data: { type: "", file: "", latitude: "", longitude: "", shipName: "", shipMmsi: "", agreeModal: false, agreeText: false }, goBack() { wx.redirectTo({ url: '/pages/index/index', }) }, checkout() { if (!this.data.shipName) { wx.showToast({ title: '请输入船名!', icon: "error" }) return } if (!this.data.shipMmsi) { wx.showToast({ title: '请输入MMSI!', icon: "error" }) return } return true }, agree() { this.setData({ agreeText: false, }) }, showAgeeeText() { this.setData({ agreeText: true }) }, hideAgreeText() { this.setData({ agreeText: false }) }, hideAgreeModal() { this.setData({ agreeModal: false }) }, showAgreeModal() { this.setData({ agreeModal: true }) }, async getPhoneNumber(e) { try { if (e.detail.errMsg == "getPhoneNumber:ok") { wx.showLoading({ title: '正在登录...', mask: true }) let session_key = wx.getStorageSync('session_key') let { result } = await cloudApi("getWxPhoneNumber", { ...e.detail, session_key }) let { phone, } = result if (phone) { wx.setStorageSync('phone', phone) let { shipName, shipMmsi } = this.data try { let res = await uploadFile(wx.getStorageSync('file'), { openId: wx.getStorageSync('openId'), phone, shipName, shipMmsi, type: wx.getStorageSync('type'), location: `${this.data.longitude},${this.data.latitude}` }, 1) if (res.status == 0) { wx.setStorageSync('shareImageUrl', res.result.mediaInfo.viewUrl) let { shipInfo, userInfo } = res.result let data = { ...shipInfo, ...userInfo } Object.keys(data).forEach(function (key) { wx.setStorageSync(key, data[key]) }) wx.showToast({ title: res.msg, }) wx.downloadFile({ url: res.result.mediaInfo.viewUrl, success: e => { console.log("下载调用!", e) wx.setStorageSync('cacheImage', e.tempFilePath) wx.saveImageToPhotosAlbum({ filePath: e.tempFilePath, success: e => { console.log(5, e) if (e.errMsg == "saveImageToPhotosAlbum:ok") { wx.showToast({ title: '保存成功!', }) wx.removeStorageSync('cacheImage') } }, fail: async e => { console.log("6", e) wx.hideLoading({}) wx.showToast({ title: '保存失败!', duration: 5000 }) await cloudApi('sendError', { e, flag: 4, msg: "保存失败" }) this.setData({ authModal: true, modalText: "文件存储" }) } }) wx.navigateTo({ url: '/pages/takePhoto/success/success', }) }, fail: async e => { wx.hideLoading({}) wx.showToast({ title: '下载失败!', duration: 5000 }) await cloudApi('sendError', { e, msg: "下载失败", flag: 3 }) } }) } else { wx.hideLoading({}) await cloudApi('sendError', { res, flag: 2 }) wx.showToast({ title: res.msg, icon: "error" }) } } catch (error) { await cloudApi('sendError', { error, flag: 1 }) } } else { wx.hideLoading({}) wx.showToast({ title: '获取手机号失败', duration: 5000 }) await cloudApi('sendError', { msg: "获取手机号失败" }) } } else { wx.showToast({ title: '请授权以登录', icon: "error" }) await cloudApi('sendError', { msg: "未授权手机号" }) } } catch (error) { await cloudApi('sendError', { msg: "全局trycatch", error }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ type: wx.getStorageSync('type'), file: wx.getStorageSync('file'), latitude: wx.getStorageSync('latitude'), longitude: wx.getStorageSync('longitude') }) }, onShareAppMessage: function () { } })