<template>
  <view>
    <button @click="createQRCode">生成二维码</button>
    <image :src="qrCodeImage" @click="scanQRCode"></image>
  </view>
</template>

<script>
export default {
  data() {
    return {
      qrCodeImage: '../../static/nice.jpg', // 二维码图片路径
    };
  },
  methods: {
    async createQRCode() {
      // 生成二维码
      const qrcode = await this.generateQRCode('pages/classify/classify');
      this.qrCodeImage = qrcode;
    },
    async generateQRCode(sceneStr) {
      // 创建二维码
      const qrcode = await new Promise((resolve, reject) => {
        wx.createQRCode({
          scene: {
            scene_str: sceneStr
          },
          success: (res) => {
            resolve(res.path);
          },
          fail: (err) => {
            reject(err);
          }
        });
      });
      return qrcode;
    },
    async scanQRCode() {
      // 扫描二维码
      wx.scanCode({
        scanType: ['qrcode'], // 指定扫描类型为二维码
        success: (res) => {
          console.log(res.result); // 输出二维码的内容
        },
        fail: (err) => {
          console.log(err);
        }
      });
    }
  }
};
</script>
