camera-scan-code.uvue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <template>
  2. <view style="flex:1">
  3. <camera style="width: 100%; height: 300px;" :resolution="'high'" :mode="'scanCode'" @scancode="handleScanCode">
  4. </camera>
  5. <view class="camera-scan-code-back-wrap">
  6. <button type="default" @click="navigateBack">返回正常模式</button>
  7. </view>
  8. <view class="camera-scan-code-table">
  9. <view class="camera-scan-code-table-pair">
  10. <view class="camera-scan-code-table-pair-label">
  11. <text>类型</text>
  12. </view>
  13. <view class="camera-scan-code-table-pair-value">
  14. <text>{{ result?.type ?? ''}}</text>
  15. </view>
  16. </view>
  17. <view class="camera-scan-code-table-pair camera-scan-code-table-top-line">
  18. <view class="camera-scan-code-table-pair-label">
  19. <text>结果</text>
  20. </view>
  21. <view class="camera-scan-code-table-pair-value">
  22. <text>{{ result?.result ?? ''}}</text>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. </template>
  28. <script>
  29. type CameraScanCodeResult = {
  30. type : string | null;
  31. result : string | null;
  32. }
  33. export default {
  34. data() {
  35. return {
  36. result: null as CameraScanCodeResult | null,
  37. }
  38. },
  39. methods: {
  40. navigateBack() {
  41. uni.navigateBack()
  42. },
  43. handleScanCode(ev : UniCameraScanCodeEvent) {
  44. const deatil = ev.detail;
  45. this.result = {
  46. type: deatil.type,
  47. result: deatil.result
  48. } as CameraScanCodeResult
  49. }
  50. }
  51. }
  52. </script>
  53. <style>
  54. .camera-scan-code-back-wrap {
  55. display: flex;
  56. justify-content: center;
  57. align-items: center;
  58. }
  59. .camera-scan-code-table {
  60. background-color: white;
  61. margin-top: 20px;
  62. }
  63. .camera-scan-code-table-pair {
  64. height: 50px;
  65. flex-direction: row;
  66. justify-content: space-between;
  67. align-items: center;
  68. }
  69. .camera-scan-code-table-pair-label {
  70. flex-grow: 1;
  71. margin-left: 15px;
  72. }
  73. .camera-scan-code-table-pair-value{
  74. flex-grow: 2;
  75. }
  76. .camera-scan-code-table-top-line {
  77. border-top: 1px solid #eee;
  78. }
  79. </style>