You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.4 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. <template>
  2. <view class="pageBgImg">
  3. <topNavbar title="驾校二维码"></topNavbar>
  4. <view class="pad">
  5. <view class="card">
  6. <!-- <view class="refresh_row" @click="refresh">
  7. <view class="text">刷新二维码</view>
  8. <view class="icon">
  9. <image src="@/static/images/index/ic_shuaxin.png" mode=""></image>
  10. </view>
  11. </view> -->
  12. <view class="qcode">
  13. <canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px;"></canvas>
  14. </view>
  15. </view>
  16. <view class="card">
  17. <user-info/>
  18. </view>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. import UQRCode from 'uqrcodejs';
  24. var qr = new UQRCode();
  25. export default {
  26. data() {
  27. return {
  28. }
  29. },
  30. onShow() {
  31. this.$nextTick(()=>{
  32. this.refresh()
  33. })
  34. this.test()
  35. },
  36. methods: {
  37. refresh() {
  38. let { schoolId, schoolName} = this.vuex_userInfo
  39. // 设置二维码内容
  40. qr.data = JSON.stringify({
  41. schoolId,
  42. schoolName: encodeURIComponent(schoolName),
  43. QrType: 1,
  44. })
  45. // 设置二维码大小,必须与canvas设置的宽高一致
  46. qr.size = 200;
  47. qr.margin = 10;
  48. qr.errorCorrectLevel = UQRCode.errorCorrectLevel.L
  49. // 调用制作二维码方法
  50. qr.make()
  51. qr.foregroundImageSrc = require('./coach.png')
  52. // 获取canvas上下文
  53. var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
  54. // 设置uQRCode实例的canvas上下文
  55. qr.canvasContext = canvasContext;
  56. // 调用绘制方法将二维码图案绘制到canvas上
  57. qr.drawCanvas();
  58. },
  59. test() {
  60. // 里面只能有哈,没有也行,但是不能有别的
  61. let reg = /^哈*$/
  62. let b = reg.test('哈哈')
  63. // 最少要一次或一次以上
  64. let reg2 = /^哈*$/
  65. let b2 = reg2.test('') //false
  66. let reg3 = new RegExp(/^1\d{10}$/)
  67. let b3 = reg3.test('18267103167') //false
  68. console.log( b3)
  69. },
  70. }
  71. }
  72. </script>
  73. <style lang="scss" scoped>
  74. .qcode {
  75. width: 100%;
  76. display: flex;
  77. align-items: center;
  78. justify-content: center;
  79. padding: 50rpx 0;
  80. }
  81. .card {
  82. padding: 28rpx;
  83. margin-bottom: 24rpx;
  84. }
  85. .refresh_row {
  86. display: flex;
  87. justify-content: flex-end;
  88. align-items: center;
  89. padding: 10rpx 0;
  90. .text {
  91. color: $themC;
  92. font-size: 28rpx;
  93. }
  94. .icon {
  95. width: 24rpx;
  96. height: 24rpx;
  97. margin-left: 6rpx;
  98. }
  99. }
  100. </style>