diff --git a/common/api/common.js b/common/api/common.js
index 0c1f82f..475f4bd 100644
--- a/common/api/common.js
+++ b/common/api/common.js
@@ -54,8 +54,9 @@ export const getLatestNotices = (data = {})=> {
return coreRequest(url.getLatestNotices, data, {}, "GET")
}
+// 接口返回-文件流
export const getStaffQRCodePng = (data = {})=> {
- return coreRequest(url.getStaffQRCodePng, data, {}, "GET")
+ return coreRequest(url.getStaffQRCodePng, data, {}, "GET", { _isFile: true })
}
diff --git a/common/api/order.js b/common/api/order.js
index 333b6c8..90bca8f 100644
--- a/common/api/order.js
+++ b/common/api/order.js
@@ -91,9 +91,7 @@ export const getNextStationList = (data = {})=> {
return coreRequest(url.getNextStationList, data, {}, "GET")
}
-// 扫描-获取下一网点
+// 获取运单详细信息-图片 接口返回-文件流
export const getRealGetWaybillPrintData = (data = {})=> {
- return coreRequest(url.getRealGetWaybillPrintData, data, {}, "GET")
+ return coreRequest(url.getRealGetWaybillPrintData, data, {}, "GET", { _isFile: true })
}
-
-
diff --git a/common/manageServer.js b/common/manageServer.js
index e2156aa..ee9d15b 100644
--- a/common/manageServer.js
+++ b/common/manageServer.js
@@ -1,6 +1,7 @@
import { goto } from "./untool";
-import { showToast, showLoading, hideLoading } from "./untool"
+import { showToast, showLoading, hideLoading, downloadFile } from "./untool"
import { setSessionXToken, getSessionXToken } from "@/session"
+import { textEncoder, textDecoder } from "./util"
const getCommonReqData = ()=> {
const xToken = getSessionXToken()
@@ -12,7 +13,7 @@ const getCommonReqData = ()=> {
}
// 请求接口
-function dealRequest(def, url, param) {
+function dealRequest(def, url, param, coreParams) {
if(param && param._loading) {
showLoading()
}
@@ -38,7 +39,8 @@ function dealRequest(def, url, param) {
reject,
url,
header,
- param
+ param,
+ coreParams
});
}, function(response) {
console.log('request url==========1', url)
@@ -63,30 +65,22 @@ function dealRequest(def, url, param) {
}
// 处理响应
-function handleResponse({
+async function handleResponse({
data,
header,
resolve,
reject,
url,
- param
+ param,
+ coreParams
}) {
// 图片类型数据特殊处理
if(header['content-type']?.indexOf?.("image/") > -1) {
- uni.downloadFile({
- url: data,
- success: (res) => {
- debugger
- },
- fail: (err)=>{
- debugger
- console.log("downloadFile:err", err)
- reject(err)
- }
- })
- debugger
+ const base64 = "data:image/png;base64," + uni.arrayBufferToBase64(data)
+ let { tempFilePath } = await downloadFile(base64)
+ resolve({ data: { fileUrl: tempFilePath } })
+ return
}
-
data = data || {}
const { msg, code } = data
if ((code == 200)) {
diff --git a/common/request.js b/common/request.js
index 7fd6ea2..2553997 100644
--- a/common/request.js
+++ b/common/request.js
@@ -3,9 +3,12 @@ import { showToast } from "./untool"
import { host } from "./api"
import { getSessionXToken } from "@/session"
-const coreRequestBase = (url, reqParams, options = {}, methodType = "POST") => {
+const coreRequestBase = (url, reqParams, options = {}, methodType = "POST", coreParams = {}) => {
let comReqData = getCommonReqData()
+ if(coreParams._isFile) {
+ coreParams.responseType = "arraybuffer"
+ }
return new Promise((resolve, reject) => {
uni.request({
@@ -16,6 +19,7 @@ const coreRequestBase = (url, reqParams, options = {}, methodType = "POST") => {
...options
},
method: methodType,
+ ...coreParams,
success: (res) => {
resolve(res)
},
@@ -28,14 +32,19 @@ const coreRequestBase = (url, reqParams, options = {}, methodType = "POST") => {
const BaseParam = {}
// 请求处理
-let coreRequest = function(url, params = {}, options = {}, methodType) {
+let coreRequest = function(url, params = {}, options = {}, methodType, coreParams) {
// 统一把emo转unicode
// emoUnicode(params)
const reqParams = {
...BaseParam,
...params,
}
- return dealRequest(coreRequestBase(url, reqParams, options, methodType), url, reqParams).then(res => {
+ return dealRequest(
+ coreRequestBase(url, reqParams, options, methodType, coreParams),
+ url,
+ reqParams,
+ coreParams
+ ).then(res => {
// 解析unicode
// emoUnicode(res, 2)
return res
diff --git a/common/util.js b/common/util.js
index 323627c..147f76b 100644
--- a/common/util.js
+++ b/common/util.js
@@ -169,6 +169,16 @@ const throttle = (fn, wait) => {
}
}
+//TextEncoder
+const textEncoder = (input)=> {
+ return unescape(encodeURIComponent(input)).split("").map(val => val.charCodeAt());
+}
+
+//TextDecoder
+const textDecoder = (input)=> {
+ return decodeURIComponent(escape(String.fromCharCode(...[input])));
+}
+
export {
getAddressDetail,
setAddresModalParam,
@@ -179,4 +189,6 @@ export {
transListKeyTitle,
debounce,
throttle,
+ textEncoder,
+ textDecoder
}
diff --git a/components/tpx-bluetooth-print/tpx-bluetooth-print.vue b/components/tpx-bluetooth-print/tpx-bluetooth-print.vue
index 35106a7..7b59126 100644
--- a/components/tpx-bluetooth-print/tpx-bluetooth-print.vue
+++ b/components/tpx-bluetooth-print/tpx-bluetooth-print.vue
@@ -1,10 +1,11 @@
+ {{canvasHeight}}
打印
-
+
diff --git a/pages/print/courierNote.vue b/pages/print/courierNote.vue
index f3ab5ae..2129242 100644
--- a/pages/print/courierNote.vue
+++ b/pages/print/courierNote.vue
@@ -157,10 +157,9 @@
handleScanValChange: debounce(function(val){
// val && ()
}),
- handleSubmit() {
- this.getRealGetWaybillPrintData()
- this.goto("print/bluetoothPrinter")
- // this.goto("print/bluetooth-mini-printer")
+ async handleSubmit() {
+ let res = await this.getRealGetWaybillPrintData()
+ this.goto(`print/bluetoothPrinter?imageUrl=${res.data.fileUrl}&canvasWidth=${480}`)
},
handleSelAll() {
if(this.submitParam.subBillCodeRange.length == this.yundanList.length) {
@@ -174,7 +173,8 @@
param.printType = param.printType.join(',')
param.subBillCodeRange = param.subBillCodeRange.join(',')
// param.isNeedPdf = param.isNeedPdf ? 'T' : ''
- let res = await apiService.getRealGetWaybillPrintData(param)
+ let res = await apiService.getRealGetWaybillPrintData(param, { _loading: true })
+ return res
}
}
}
diff --git a/pages/user/exclusiveQrcode.vue b/pages/user/exclusiveQrcode.vue
index 68d0d89..75f967f 100644
--- a/pages/user/exclusiveQrcode.vue
+++ b/pages/user/exclusiveQrcode.vue
@@ -63,7 +63,7 @@
methods: {
async initData(){
let res = await apiService.getStaffQRCodePng({ _loading: true })
- this.qrCodeImgUrl = res.data
+ this.qrCodeImgUrl = res?.data?.fileUrl
},
async handleSave(){
this.saveNetFile(this.qrCodeImgUrl)