Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

index.js 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React from 'react';
  2. import { NativeModules, AsyncStorage, Alert } from 'react-native';
  3. let RNXprinter = NativeModules.RNXprinter;
  4. let RNXNetprinter = NativeModules.RNXNetprinter;
  5. module.exports = {
  6. initialize: async () => {
  7. try{
  8. let netAddress = await AsyncStorage.getItem('@ReactNativeXprinter:default_net_printer');
  9. if(netAddress && netAddress != ""){
  10. console.log('Get default printer:' + address);
  11. await RNXNetprinter.connectPrinter(address);
  12. }
  13. let address = await AsyncStorage.getItem('@ReactNativeXprinter:default_printer');
  14. let printerList = await RNXprinter.getDeviceList();
  15. if(address && address != "" && printerList.find((printer) => { return printer.address == address})){
  16. console.log('Get default printer:' + address);
  17. await RNXprinter.selectDevice(address);
  18. }
  19. }
  20. catch(err){
  21. console.log('No default printer');
  22. }
  23. },
  24. getDeviceList: RNXprinter.getDeviceList,
  25. selectDevice: async (address) => {
  26. await RNXprinter.selectDevice(address);
  27. await AsyncStorage.setItem('@ReactNativeXprinter:default_printer', address);
  28. },
  29. connectPrinter: async (address) => {
  30. await RNXNetprinter.connectPrinter(address);
  31. await AsyncStorage.setItem('@ReactNativeXprinter:default_net_printer', address);
  32. },
  33. pickPrinter: async () => {
  34. try{
  35. let printerList = await RNXprinter.getDeviceList();
  36. Alert.alert(
  37. 'Please pick one printer',
  38. 'If your printer not in this list, please go to bluetooth setting panel connect your device first',
  39. printerList.map((printer) => {
  40. return {
  41. text: `${printer.name}(${printer.address})`,
  42. onPress: async () => {
  43. await RNXprinter.selectDevice(printer.address);
  44. await AsyncStorage.setItem('@ReactNativeXprinter:default_printer', printer.address);
  45. }
  46. };
  47. })
  48. );
  49. }
  50. catch(error){
  51. console.log(error);
  52. }
  53. },
  54. pushText: RNXprinter.pushText,
  55. pushFlashImage: RNXprinter.pushFlashImage,
  56. pushCutPaper: RNXprinter.pushCutPaper,
  57. netPushText: RNXNetprinter.pushText,
  58. netPushImage: RNXNetprinter.printImage,
  59. netPushCutPaper: RNXNetprinter.pushCutPaper,
  60. print: RNXprinter.print,
  61. printDemoPage: RNXprinter.printDemoPage,
  62. };