| 
						 | 
						<template>    <view>		<!-- #ifdef MP-WEIXIN  -->		<canvas :canvas-id="item.id" :id="item.id" :style="{width:width,height: height}" v-for="(item,index) in listCode" :key="item.id" />		<!-- #endif -->				<!-- #ifndef MP-WEIXIN -->		<canvas :canvas-id="id" :id="id" :style="{width:width,height: height}" />		<!-- #endif -->	</view></template><script>	import QRCODE from './index.js';	import { getUUid, deepClone } from './helper.js'	export default {		name: 'WBarcode',		props:{			options:{				type: Object,				required: true,				default: () =>{					return {											}				}			}		},		data () {			return {				listCode: [],				id: getUUid(),				height: null,				width: null,			}		},		created() {			// https://ext.dcloud.net.cn/plugin?id=4662
			this.height = this.options.height + 'rpx';			this.width = this.options.width + 'rpx';			this.SpecialTreatment(this.options)			this.$nextTick(()=>{				this.generateCode();			})		},		watch: {			options:{				deep: true,				handler (val) {					this.height = val.height + 'rpx';					this.width = val.width + 'rpx';					this.SpecialTreatment(val)					// #ifdef H5
					setTimeout(()=>{// h5平台动态改变canvas大小
						this.generateCode();					},50)					// #endif
										// #ifdef APP-NVUE || APP-PLUS || MP || QUICKAPP-WEBVIEW || QUICKAPP-WEBVIEW-HUAWEI || QUICKAPP-WEBVIEW-UNION
					this.generateCode();					// #endif
				}			}		},		methods: {			SpecialTreatment (val) {//微信小程序渲染多个canvas特殊处理
				// #ifdef MP-WEIXIN
					let obj = deepClone(val);					this.id = obj.id = getUUid();					this.listCode = [obj]				// #endif
			},			generateCode () {				try{					const parameter = {...this.options,id: this.id,ctx: this};					QRCODE.BarCode(parameter,(res)=>{						this.$emit('generate',res)					})				}catch(err){}			},			async saveImg (){				try{					const res = await QRCODE.SaveImg({id: this.id,width: this.width,height: this.width,ctx: this});					return res				}catch(e){}			}		}	}</script>
  |