import { getInvoiceInfoDetail, downloadInvoice } from "../../service/invoice"; import { alertInfo } from "../../utils/index"; import request from '../../utils/request' const { OK } = request; // pages/invoiceInfo/index.js Page({ /** * 页面的初始数据 */ data: { detail: {}, id: "", }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const { id } = options; this.init(id); }, async init(id) { const { code, message, data } = await getInvoiceInfoDetail(id) this.setData({ detail: data, id }); }, handleBack() { wx.navigateBack() }, jumpToDetail() { wx.redirectTo({ url: '/pages/invoiceDetailContent/index?id=' + this.data.id, }) }, download() { // console.log('---------') const that = this; wx.showActionSheet({ itemList: ['发票XML文件下载', '发票PDF文件下载'], async success(res) { console.log('res', res.tapIndex) const { code, message, data } = await downloadInvoice(that.data.id, res.tapIndex); if (code !== OK) { alertInfo(message) return; } wx.downloadFile({ url: data, success(res) { if (res.statusCode === 200) { wx.openDocument({ filePath: res.tempFilePath, fileType: [res.tapIndex === 0 ? 'xml' : "pdf"], // 3. 这个必须写合法类型,不然下载不了 !!! success: function (res) { console.log('打开文档成功') }, fail: function (e) { console.log(e.errMsg); } }) } } }) // console.log('data', data) // const filePath = `${wx.env.USER_DATA_PATH}/发票/${that.data.id}.${res.tapIndex === 0 ? 'xml' : "pdf"}`; // FileSystemManager.writeFile({ // filePath: filePath, // data: res.data, // encoding: 'base64', // 2. base64解密写入, 后台返回的byte[]数组是经过base64编码的,其他方式写入文件打开格式不对 // success: function(res) { // }, // fail: function (e) { // console.log(e.errMsg); // } // }); } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })