|
@@ -1041,6 +1041,18 @@ export const wxConfig = function (configInfo, userInfo, cb) {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+function isStringConvertibleToObject(str) {
|
|
|
+ try {
|
|
|
+
|
|
|
+ const obj = JSON.parse(str)
|
|
|
+
|
|
|
+ return typeof obj === 'object' && obj !== null
|
|
|
+ } catch (e) {
|
|
|
+
|
|
|
+ return false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
export const wxScanCode = function (scanType = ['qrCode', 'barCode']) {
|
|
|
return new Promise((resolve, reject) => {
|
|
@@ -1050,12 +1062,16 @@ export const wxScanCode = function (scanType = ['qrCode', 'barCode']) {
|
|
|
needResult: 1,
|
|
|
scanType: scanType,
|
|
|
success: res => {
|
|
|
- alert(res.resultStr)
|
|
|
- var result = res.resultStr
|
|
|
- var resultArr = result.split(',')
|
|
|
- var codeVal = resultArr[resultArr.length - 1]
|
|
|
-
|
|
|
- resolve(codeVal)
|
|
|
+ if (typeof res.resultStr === 'object') {
|
|
|
+ resolve(res.resultStr?.scan_code?.scan_result || '')
|
|
|
+ } else if (isStringConvertibleToObject(res.resultStr)) {
|
|
|
+ resolve(JSON.parse(res.resultStr)?.scan_code?.scan_result || '')
|
|
|
+ } else {
|
|
|
+ var result = res.resultStr
|
|
|
+ var resultArr = result.split(',')
|
|
|
+ var codeVal = resultArr[resultArr.length - 1]
|
|
|
+ resolve(codeVal)
|
|
|
+ }
|
|
|
},
|
|
|
fail: res => {
|
|
|
reject('')
|