Я пытался использовать свой собственный сертификат и закрытый ключ, но когда я пытался реализовать методы setCertificatePromise () и setSignaturePromise (), мой метод QZ.Websocket.Connect () не разрешает и останавливает мое приложение Vue. Я не знаю, забываю ли я внедрить или запустить другой метод. Весь мой код: < /p>
import apiClient from "./apiClient"
import { signService } from "./signService"
qz.security.setCertificatePromise(()=>{
return signService.getCertificate()
.then(response=>{
const cert=response.data
console.log(cert)
return cert
}).catch(err=>{
console.error('Error en la obtención del certificado', err)
throw err
})
})
qz.security.setSignatureAlgorithm("SHA512");
qz.security.setSignaturePromise(function(toSign){
console.log("Se inicia la firma del mensaje")
return signService.signMessage(toSign)
.then(response=>{
console.error("message", response.data)
return response.data
})
.catch(err=>{
console.error("Error en la firma:",err)
throw err
})
})
qz.websocket.connect().then(()=>{
console.log('conexion establecida')
}).catch((err)=>{
console.error('error', err)
})
export const print=async(info)=>{
const ESC='\x1B'
const GS='\x1D'
const alignCenter=ESC+'a\x01'
const alignLeft=ESC+'a\x00'
const alignRight=ESC+'a\x02'
const boldOn=ESC+'E\x01'
const boldOff=ESC+'E\x00'
const doubleHeightWidth=GS+'!\x11'
const normalSize=GS+'!\x00'
const cortar=GS+'V\x00'
try{
console.log('iniciar impresion')
const printerName='POS-58'
const config=qz.configs.create(printerName, {
encoding:'Cp437'
})
console.log('creacion de ticket')
let ticket="\n\n"
ticket+=alignCenter
ticket+=boldOn+doubleHeightWidth
ticket+="Casa Paraíso\n"
ticket+=normalSize+alignLeft
ticket+="Dirección: Camelinas 12, Centro, 76750\nTequisquiapan, Qro.\n\n"
ticket+="Numero de cuenta: "+info.id+"\nCliente: "+info.name+"\n\n"
ticket+="Lista de productos:\n-------------------\n"
ticket+="Nombre del producto | Precio\n"+boldOff
info.products.forEach((prod)=>{
ticket+=`${prod.product.name.padEnd(20)}$${prod.product.price.toFixed(2)}\n`
})
ticket+=boldOn+"-------------------\n"+boldOff
ticket+=alignRight
if(info.status==='open'){
ticket+="Subtotal: $"+boldOn+info.subtotal.toFixed(2)+boldOff+"\n"
ticket+=alignCenter+doubleHeightWidth
ticket+="Pre-ticket\n\n\n\n"+cortar
}else{
if(info.tip!==0){
ticket+="Subtotal: $"+boldOn+info.subtotal.toFixed(2)+boldOff+"\n"
ticket+="Propina: $"+boldOn+info.tip.toFixed(2)+boldOff+"\n"
}
ticket+="Total:"
ticket+=boldOn+`$${info.total.toFixed(2)}\n\n`
ticket+=alignCenter+doubleHeightWidth
ticket+="Gracias por\nsu compra!\n\n\n\n"+cortar
}
console.log('inicio con la firma')
const data=[{type:'raw', format:'plain', data:ticket}]
console.log("inicio de la impresion fisica")
await qz.print(config, data)
console.log("fin de la impresion fisica")
return true
}catch(err){
console.error('Error en la impresion', err)
return false
}
}
< /code>
setCertificatePromise () успешно работает, но после этого ничего не происходит, любая ошибка, любая подтверждение, ничего.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... connecting
Поднос QZ не может получить подпись и соединение ⇐ Javascript
Форум по Javascript
-
Anonymous
1753208223
Anonymous
Я пытался использовать свой собственный сертификат и закрытый ключ, но когда я пытался реализовать методы setCertificatePromise () и setSignaturePromise (), мой метод QZ.Websocket.Connect () не разрешает и останавливает мое приложение Vue. Я не знаю, забываю ли я внедрить или запустить другой метод. Весь мой код: < /p>
import apiClient from "./apiClient"
import { signService } from "./signService"
qz.security.setCertificatePromise(()=>{
return signService.getCertificate()
.then(response=>{
const cert=response.data
console.log(cert)
return cert
}).catch(err=>{
console.error('Error en la obtención del certificado', err)
throw err
})
})
qz.security.setSignatureAlgorithm("SHA512");
qz.security.setSignaturePromise(function(toSign){
console.log("Se inicia la firma del mensaje")
return signService.signMessage(toSign)
.then(response=>{
console.error("message", response.data)
return response.data
})
.catch(err=>{
console.error("Error en la firma:",err)
throw err
})
})
qz.websocket.connect().then(()=>{
console.log('conexion establecida')
}).catch((err)=>{
console.error('error', err)
})
export const print=async(info)=>{
const ESC='\x1B'
const GS='\x1D'
const alignCenter=ESC+'a\x01'
const alignLeft=ESC+'a\x00'
const alignRight=ESC+'a\x02'
const boldOn=ESC+'E\x01'
const boldOff=ESC+'E\x00'
const doubleHeightWidth=GS+'!\x11'
const normalSize=GS+'!\x00'
const cortar=GS+'V\x00'
try{
console.log('iniciar impresion')
const printerName='POS-58'
const config=qz.configs.create(printerName, {
encoding:'Cp437'
})
console.log('creacion de ticket')
let ticket="\n\n"
ticket+=alignCenter
ticket+=boldOn+doubleHeightWidth
ticket+="Casa Paraíso\n"
ticket+=normalSize+alignLeft
ticket+="Dirección: Camelinas 12, Centro, 76750\nTequisquiapan, Qro.\n\n"
ticket+="Numero de cuenta: "+info.id+"\nCliente: "+info.name+"\n\n"
ticket+="Lista de productos:\n-------------------\n"
ticket+="Nombre del producto | Precio\n"+boldOff
info.products.forEach((prod)=>{
ticket+=`${prod.product.name.padEnd(20)}$${prod.product.price.toFixed(2)}\n`
})
ticket+=boldOn+"-------------------\n"+boldOff
ticket+=alignRight
if(info.status==='open'){
ticket+="Subtotal: $"+boldOn+info.subtotal.toFixed(2)+boldOff+"\n"
ticket+=alignCenter+doubleHeightWidth
ticket+="Pre-ticket\n\n\n\n"+cortar
}else{
if(info.tip!==0){
ticket+="Subtotal: $"+boldOn+info.subtotal.toFixed(2)+boldOff+"\n"
ticket+="Propina: $"+boldOn+info.tip.toFixed(2)+boldOff+"\n"
}
ticket+="Total:"
ticket+=boldOn+`$${info.total.toFixed(2)}\n\n`
ticket+=alignCenter+doubleHeightWidth
ticket+="Gracias por\nsu compra!\n\n\n\n"+cortar
}
console.log('inicio con la firma')
const data=[{type:'raw', format:'plain', data:ticket}]
console.log("inicio de la impresion fisica")
await qz.print(config, data)
console.log("fin de la impresion fisica")
return true
}catch(err){
console.error('Error en la impresion', err)
return false
}
}
< /code>
setCertificatePromise () успешно работает, но после этого ничего не происходит, любая ошибка, любая подтверждение, ничего.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79710906/qz-tray-fails-to-get-signature-and-connecting[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия