stellar-ui-v2 1.35.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/css/common.scss +61 -0
- package/components/ste-animate/README.md +117 -0
- package/components/ste-animate/animate.scss +247 -0
- package/components/ste-animate/ste-animate.vue +200 -0
- package/components/ste-badge/README.md +171 -0
- package/components/ste-badge/ste-badge.vue +238 -0
- package/components/ste-barcode/README.md +36 -0
- package/components/ste-barcode/encode2.js +317 -0
- package/components/ste-barcode/ste-barcode.vue +213 -0
- package/components/ste-button/README.md +129 -0
- package/components/ste-button/ste-button.vue +345 -0
- package/components/ste-calendar/README.md +304 -0
- package/components/ste-calendar/self-date.js +119 -0
- package/components/ste-calendar/ste-calendar.vue +578 -0
- package/components/ste-checkbox/README.md +297 -0
- package/components/ste-checkbox/ste-checkbox.vue +305 -0
- package/components/ste-checkbox-group/ste-checkbox-group.vue +133 -0
- package/components/ste-code-input/README.md +67 -0
- package/components/ste-code-input/ste-code-input.vue +302 -0
- package/components/ste-date-picker/README.md +135 -0
- package/components/ste-date-picker/ste-date-picker.vue +407 -0
- package/components/ste-drag/README.md +103 -0
- package/components/ste-drag/ste-drag.vue +203 -0
- package/components/ste-dropdown-menu/README.md +358 -0
- package/components/ste-dropdown-menu/ste-dropdown-menu.vue +405 -0
- package/components/ste-dropdown-menu-item/ste-dropdown-menu-item.vue +176 -0
- package/components/ste-icon/README.md +90 -0
- package/components/ste-icon/iconfont.css +8 -0
- package/components/ste-icon/ste-icon.vue +147 -0
- package/components/ste-image/README.md +154 -0
- package/components/ste-image/ste-image.vue +218 -0
- package/components/ste-index-item/ste-index-item.vue +96 -0
- package/components/ste-index-list/README.md +153 -0
- package/components/ste-index-list/ste-index-list.vue +128 -0
- package/components/ste-input/README.md +146 -0
- package/components/ste-input/ste-input.vue +480 -0
- package/components/ste-loading/README.md +81 -0
- package/components/ste-loading/ste-loading.vue +166 -0
- package/components/ste-media-preview/README.md +243 -0
- package/components/ste-media-preview/TouchScaleing.js +102 -0
- package/components/ste-media-preview/ste-media-preview.vue +267 -0
- package/components/ste-message-box/README.md +217 -0
- package/components/ste-message-box/ste-message-box.js +72 -0
- package/components/ste-message-box/ste-message-box.vue +380 -0
- package/components/ste-notice-bar/README.md +129 -0
- package/components/ste-notice-bar/ste-notice-bar.vue +331 -0
- package/components/ste-number-keyboard/README.md +246 -0
- package/components/ste-number-keyboard/keyboard.vue +140 -0
- package/components/ste-number-keyboard/ste-number-keyboard.vue +240 -0
- package/components/ste-picker/ste-picker.vue +258 -0
- package/components/ste-popup/README.md +148 -0
- package/components/ste-popup/ste-popup.vue +337 -0
- package/components/ste-price/README.md +129 -0
- package/components/ste-price/ste-price.vue +258 -0
- package/components/ste-progress/README.md +87 -0
- package/components/ste-progress/ste-progress.vue +200 -0
- package/components/ste-qrcode/README.md +50 -0
- package/components/ste-qrcode/ste-qrcode.vue +164 -0
- package/components/ste-qrcode/uqrcode.js +34 -0
- package/components/ste-radio/README.md +286 -0
- package/components/ste-radio/ste-radio.vue +293 -0
- package/components/ste-radio-group/ste-radio-group.vue +128 -0
- package/components/ste-rate/README.md +115 -0
- package/components/ste-rate/ste-rate.vue +202 -0
- package/components/ste-read-more/README.md +111 -0
- package/components/ste-read-more/ste-read-more.vue +133 -0
- package/components/ste-rich-text/README.md +31 -0
- package/components/ste-rich-text/ste-rich-text.vue +70 -0
- package/components/ste-scroll-to/README.md +68 -0
- package/components/ste-scroll-to/mixin.js +173 -0
- package/components/ste-scroll-to/ste-scroll-to.vue +45 -0
- package/components/ste-scroll-to-item/ste-scroll-to-item.vue +25 -0
- package/components/ste-search/README.md +262 -0
- package/components/ste-search/ste-search.vue +547 -0
- package/components/ste-select/README.md +434 -0
- package/components/ste-select/datapager.vue +62 -0
- package/components/ste-select/datetime.vue +106 -0
- package/components/ste-select/defaultDate.js +142 -0
- package/components/ste-select/ste-select.vue +843 -0
- package/components/ste-signature/README.md +105 -0
- package/components/ste-signature/ste-signature.vue +220 -0
- package/components/ste-slider/README.md +165 -0
- package/components/ste-slider/ste-slider.vue +544 -0
- package/components/ste-step/ste-step.vue +264 -0
- package/components/ste-stepper/README.md +170 -0
- package/components/ste-stepper/ste-stepper.vue +373 -0
- package/components/ste-steps/README.md +132 -0
- package/components/ste-steps/ste-steps.vue +65 -0
- package/components/ste-sticky/README.md +52 -0
- package/components/ste-sticky/ste-sticky.vue +127 -0
- package/components/ste-swipe-action/README.md +197 -0
- package/components/ste-swipe-action/ste-swipe-action.vue +303 -0
- package/components/ste-swipe-action-group/ste-swipe-action-group.vue +104 -0
- package/components/ste-swiper/README.md +173 -0
- package/components/ste-swiper/ste-swiper.vue +462 -0
- package/components/ste-swiper-item/ste-swiper-item.vue +41 -0
- package/components/ste-switch/README.md +110 -0
- package/components/ste-switch/ste-switch.vue +144 -0
- package/components/ste-tab/ste-tab.vue +87 -0
- package/components/ste-table/README.md +785 -0
- package/components/ste-table/common.js +8 -0
- package/components/ste-table/ste-table.vue +666 -0
- package/components/ste-table/utils.js +20 -0
- package/components/ste-table-column/checkbox-icon.vue +65 -0
- package/components/ste-table-column/common.scss +65 -0
- package/components/ste-table-column/radio-icon.vue +110 -0
- package/components/ste-table-column/ste-table-column.vue +255 -0
- package/components/ste-table-column/sub-table.vue +116 -0
- package/components/ste-table-column/table-popover.vue +204 -0
- package/components/ste-table-column/var.scss +1 -0
- package/components/ste-tabs/README.md +475 -0
- package/components/ste-tabs/props.js +212 -0
- package/components/ste-tabs/ste-tabs.vue +758 -0
- package/components/ste-text/README.md +66 -0
- package/components/ste-text/ste-text.vue +72 -0
- package/components/ste-toast/README.md +243 -0
- package/components/ste-toast/ste-toast.js +69 -0
- package/components/ste-toast/ste-toast.vue +231 -0
- package/components/ste-touch-swipe/README.md +104 -0
- package/components/ste-touch-swipe/TouchEvent.js +72 -0
- package/components/ste-touch-swipe/ste-touch-swipe.vue +327 -0
- package/components/ste-touch-swipe-item/ste-touch-swipe-item.vue +33 -0
- package/components/ste-tour/README.md +194 -0
- package/components/ste-tour/ste-tour.vue +355 -0
- package/components/ste-tree/README.md +240 -0
- package/components/ste-tree/ste-tree.vue +350 -0
- package/components/ste-upload/README.md +276 -0
- package/components/ste-upload/ReadFile.js +229 -0
- package/components/ste-upload/ste-upload.vue +526 -0
- package/components/ste-video/README.md +60 -0
- package/components/ste-video/props.js +149 -0
- package/components/ste-video/ste-video.vue +647 -0
- package/config/color.js +22 -0
- package/index.js +2 -0
- package/package.json +19 -0
- package/utils/Color.js +66 -0
- package/utils/System.js +110 -0
- package/utils/dayjs.min.js +1 -0
- package/utils/mixin.js +67 -0
- package/utils/store.js +7 -0
- package/utils/utils.js +604 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<view class="ste-qrcode-root">
|
|
3
|
+
<!-- #ifdef H5 -->
|
|
4
|
+
<canvas :style="[compCanvasStyle]" :canvas-id="canvasId" :id="canvasId" class="h5-canvas"></canvas>
|
|
5
|
+
<!-- #endif -->
|
|
6
|
+
|
|
7
|
+
<!-- #ifdef MP-WEIXIN || MP-ALIPAY -->
|
|
8
|
+
<canvas type="2d" :id="canvasId" :style="[compCanvasStyle]" class="mp-canvas"></canvas>
|
|
9
|
+
<!-- #endif -->
|
|
10
|
+
</view>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
/**
|
|
15
|
+
* ste-qrcode 二维码
|
|
16
|
+
* @description 二维码组件
|
|
17
|
+
* @tutorial https://stellar-ui.intecloud.com.cn/pc/index/index?name=ste-qrcode
|
|
18
|
+
* @property {String} content 二维码内容
|
|
19
|
+
* @property {Number} size 二维码尺寸,单位`px`
|
|
20
|
+
* @property {String} background 背景色
|
|
21
|
+
* @property {String} foreground 前景色(条形码画笔颜色)
|
|
22
|
+
* @property {String} foregroundImageSrc 二维码中间logo图
|
|
23
|
+
* @property {String} foregroundImageWidth logo图宽度, 默认二维码尺寸的四分之一
|
|
24
|
+
* @property {String} foregroundImageHeight logo图高度, 默认二维码尺寸的四分之一
|
|
25
|
+
* @event {Function} loadImage 加载完成后返回条形码对应的图片数据
|
|
26
|
+
*/
|
|
27
|
+
import UQRCode from './uqrcode';
|
|
28
|
+
import utils from '../../utils/utils';
|
|
29
|
+
|
|
30
|
+
export default {
|
|
31
|
+
group: '展示组件',
|
|
32
|
+
name: 'ste-qrcode',
|
|
33
|
+
title: 'QRcode 二维码',
|
|
34
|
+
options: {
|
|
35
|
+
virtualHost: true,
|
|
36
|
+
},
|
|
37
|
+
props: {
|
|
38
|
+
// 二维码内容
|
|
39
|
+
content: {
|
|
40
|
+
type: String,
|
|
41
|
+
required: true,
|
|
42
|
+
},
|
|
43
|
+
// 二维码尺寸
|
|
44
|
+
size: {
|
|
45
|
+
type: Number,
|
|
46
|
+
default: 100,
|
|
47
|
+
},
|
|
48
|
+
// 背景色
|
|
49
|
+
background: {
|
|
50
|
+
type: String,
|
|
51
|
+
default: '#FFFFFF',
|
|
52
|
+
},
|
|
53
|
+
// 前景色
|
|
54
|
+
foreground: {
|
|
55
|
+
type: String,
|
|
56
|
+
default: '#000000',
|
|
57
|
+
},
|
|
58
|
+
// 二维码logo
|
|
59
|
+
foregroundImageSrc: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: '',
|
|
62
|
+
},
|
|
63
|
+
// logo尺寸 默认画布尺寸四分之一
|
|
64
|
+
foregroundImageWidth: {
|
|
65
|
+
type: Number,
|
|
66
|
+
default: null,
|
|
67
|
+
},
|
|
68
|
+
// logo尺寸 默认画布尺寸四分之一
|
|
69
|
+
foregroundImageHeight: {
|
|
70
|
+
type: Number,
|
|
71
|
+
default: null,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
data() {
|
|
76
|
+
return {
|
|
77
|
+
canvasId: 'ste-qrcode-' + utils.guid(8),
|
|
78
|
+
canvasWidth: this.size,
|
|
79
|
+
canvasHeight: this.size,
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
mounted() {
|
|
83
|
+
this.initCanvas();
|
|
84
|
+
},
|
|
85
|
+
computed: {
|
|
86
|
+
compCanvasStyle() {
|
|
87
|
+
let style = {};
|
|
88
|
+
return {
|
|
89
|
+
width: this.canvasWidth + 'px',
|
|
90
|
+
height: this.canvasHeight + 'px',
|
|
91
|
+
};
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
watch: {
|
|
95
|
+
content: {
|
|
96
|
+
handler() {
|
|
97
|
+
this.$nextTick(() => {
|
|
98
|
+
this.initCanvas();
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
immediate: true,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
methods: {
|
|
105
|
+
initCanvas() {
|
|
106
|
+
const canvas = utils.getCanvasContext(this.canvasId, this).then((res) => {
|
|
107
|
+
let context = res;
|
|
108
|
+
// #ifndef H5
|
|
109
|
+
context = res.getContext('2d');
|
|
110
|
+
const dpr = utils.System.getWindowInfo().pixelRatio;
|
|
111
|
+
res.width = this.size * dpr;
|
|
112
|
+
res.height = this.size * dpr;
|
|
113
|
+
context.scale(dpr, dpr);
|
|
114
|
+
// #endif
|
|
115
|
+
|
|
116
|
+
this.draw(context, res);
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
draw(ctx, canvas) {
|
|
120
|
+
const qr = new UQRCode();
|
|
121
|
+
// qr.useDynamicSize = true;
|
|
122
|
+
|
|
123
|
+
qr.backgroundColor = this.background;
|
|
124
|
+
qr.foregroundColor = this.foreground;
|
|
125
|
+
qr.foregroundImageSrc = this.foregroundImageSrc;
|
|
126
|
+
this.foregroundImageWidth ? (qr.foregroundImageWidth = this.foregroundImageWidth) : '';
|
|
127
|
+
this.foregroundImageHeight ? (qr.foregroundImageHeight = this.foregroundImageHeight) : '';
|
|
128
|
+
// 设置二维码内容
|
|
129
|
+
qr.data = this.content;
|
|
130
|
+
// 设置二维码大小,必须与canvas设置的宽高一致
|
|
131
|
+
qr.size = this.size;
|
|
132
|
+
// 调用制作二维码方法
|
|
133
|
+
qr.make();
|
|
134
|
+
|
|
135
|
+
// 设置uQRCode实例的canvas上下文
|
|
136
|
+
qr.canvasContext = ctx;
|
|
137
|
+
// 调用绘制方法将二维码图案绘制到canvas上
|
|
138
|
+
qr.drawCanvas();
|
|
139
|
+
qr.loadImage().then(() => {
|
|
140
|
+
uni.canvasToTempFilePath({
|
|
141
|
+
canvas: canvas,
|
|
142
|
+
canvasId: this.canvasId,
|
|
143
|
+
complete: (res) => {
|
|
144
|
+
if (!res || !res.tempFilePath) {
|
|
145
|
+
console.error('图片生成失败');
|
|
146
|
+
} else {
|
|
147
|
+
this.$emit('loadImage', res.tempFilePath);
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
</script>
|
|
156
|
+
|
|
157
|
+
<style>
|
|
158
|
+
.ste-qrcode-root {
|
|
159
|
+
width: fit-content;
|
|
160
|
+
display: flex;
|
|
161
|
+
justify-content: center;
|
|
162
|
+
align-items: center;
|
|
163
|
+
}
|
|
164
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//---------------------------------------------------------------------
|
|
2
|
+
// uQRCode二维码生成插件 v4.0.7
|
|
3
|
+
//
|
|
4
|
+
// uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js。
|
|
5
|
+
//
|
|
6
|
+
// Copyright (c) Sansnn uQRCode All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
// Licensed under the Apache License, Version 2.0.
|
|
9
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
//
|
|
11
|
+
// github地址:
|
|
12
|
+
// https://github.com/Sansnn/uQRCode
|
|
13
|
+
//
|
|
14
|
+
// npm地址:
|
|
15
|
+
// https://www.npmjs.com/package/uqrcodejs
|
|
16
|
+
//
|
|
17
|
+
// uni-app插件市场地址:
|
|
18
|
+
// https://ext.dcloud.net.cn/plugin?id=1287
|
|
19
|
+
//
|
|
20
|
+
// 复制使用请保留本段注释,感谢支持开源!
|
|
21
|
+
//
|
|
22
|
+
//---------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
//---------------------------------------------------------------------
|
|
25
|
+
// 当前文件格式为 umd,通用模块定义,生成的包同时支持 amd、cjs 和 iife 三种格式
|
|
26
|
+
// 如需在其他环境使用,请获取环境对应的格式文件
|
|
27
|
+
// 格式说明:
|
|
28
|
+
// amd - 异步模块定义,适用于 RequireJS 等模块加载器
|
|
29
|
+
// cjs - CommonJS,适用于 Node 环境和其他打包工具(别名:commonjs)
|
|
30
|
+
// es - 将 bundle 保留为 ES 模块文件,适用于其他打包工具以及支持 <script type=module> 标签的浏览器(别名: esm,module)
|
|
31
|
+
// umd - 通用模块定义,生成的包同时支持 amd、cjs 和 iife 三种格式
|
|
32
|
+
//---------------------------------------------------------------------
|
|
33
|
+
|
|
34
|
+
!function(o,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(o="undefined"!=typeof globalThis?globalThis:o||self).UQRCode=e();}(typeof window !== "undefined" ? window : global,(function(){function o(o){this.mode=r.MODE_8BIT_BYTE,this.data=o;}function e(o,e){this.typeNumber=o,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array;}o.prototype={getLength:function(o){return this.data.length},write:function(o){for(var e=0;e<this.data.length;e++)o.put(this.data.charCodeAt(e),8);}},e.prototype={addData:function(e){var r=new o(e);this.dataList.push(r),this.dataCache=null;},isDark:function(o,e){if(o<0||this.moduleCount<=o||e<0||this.moduleCount<=e)throw new Error(o+","+e);return this.modules[o][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var o=1;for(o=1;o<40;o++){for(var e=v.getRSBlocks(o,this.errorCorrectLevel),r=new p,t=0,i=0;i<e.length;i++)t+=e[i].dataCount;for(i=0;i<this.dataList.length;i++){var n=this.dataList[i];r.put(n.mode,4),r.put(n.getLength(),h.getLengthInBits(n.mode,o)),n.write(r);}if(r.getLengthInBits()<=8*t)break}this.typeNumber=o;}this.makeImpl(!1,this.getBestMaskPattern());},makeImpl:function(o,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var t=0;t<this.moduleCount;t++){this.modules[t]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[t][i]=null;}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(o,r),this.typeNumber>=7&&this.setupTypeNumber(o),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r);},setupPositionProbePattern:function(o,e){for(var r=-1;r<=7;r++)if(!(o+r<=-1||this.moduleCount<=o+r))for(var t=-1;t<=7;t++)e+t<=-1||this.moduleCount<=e+t||(this.modules[o+r][e+t]=0<=r&&r<=6&&(0==t||6==t)||0<=t&&t<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=t&&t<=4);},getBestMaskPattern:function(){for(var o=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var t=h.getLostPoint(this);(0==r||o>t)&&(o=t,e=r);}return e},createMovieClip:function(o,e,r){var t=o.createEmptyMovieClip(e,r);this.make();for(var i=0;i<this.modules.length;i++)for(var n=1*i,a=0;a<this.modules[i].length;a++){var d=1*a;this.modules[i][a]&&(t.beginFill(0,100),t.moveTo(d,n),t.lineTo(d+1,n),t.lineTo(d+1,n+1),t.lineTo(d,n+1),t.endFill());}return t},setupTimingPattern:function(){for(var o=8;o<this.moduleCount-8;o++)null==this.modules[o][6]&&(this.modules[o][6]=o%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0);},setupPositionAdjustPattern:function(){for(var o=h.getPatternPosition(this.typeNumber),e=0;e<o.length;e++)for(var r=0;r<o.length;r++){var t=o[e],i=o[r];if(null==this.modules[t][i])for(var n=-2;n<=2;n++)for(var a=-2;a<=2;a++)this.modules[t+n][i+a]=-2==n||2==n||-2==a||2==a||0==n&&0==a;}},setupTypeNumber:function(o){for(var e=h.getBCHTypeNumber(this.typeNumber),r=0;r<18;r++){var t=!o&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=t;}for(r=0;r<18;r++){t=!o&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=t;}},setupTypeInfo:function(o,e){for(var r=this.errorCorrectLevel<<3|e,t=h.getBCHTypeInfo(r),i=0;i<15;i++){var n=!o&&1==(t>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n;}for(i=0;i<15;i++){n=!o&&1==(t>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n;}this.modules[this.moduleCount-8][8]=!o;},mapData:function(o,e){for(var r=-1,t=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var d=0;d<2;d++)if(null==this.modules[t][a-d]){var u=!1;n<o.length&&(u=1==(o[n]>>>i&1)),h.getMask(e,t,a-d)&&(u=!u),this.modules[t][a-d]=u,-1==--i&&(n++,i=7);}if((t+=r)<0||this.moduleCount<=t){t-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(o,r,t){for(var i=v.getRSBlocks(o,r),n=new p,a=0;a<t.length;a++){var d=t[a];n.put(d.mode,4),n.put(d.getLength(),h.getLengthInBits(d.mode,o)),d.write(n);}var u=0;for(a=0;a<i.length;a++)u+=i[a].dataCount;if(n.getLengthInBits()>8*u)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*u+")");for(n.getLengthInBits()+4<=8*u&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*u||(n.put(e.PAD0,8),n.getLengthInBits()>=8*u));)n.put(e.PAD1,8);return e.createBytes(n,i)},e.createBytes=function(o,e){for(var r=0,t=0,i=0,n=new Array(e.length),a=new Array(e.length),d=0;d<e.length;d++){var u=e[d].dataCount,s=e[d].totalCount-u;t=Math.max(t,u),i=Math.max(i,s),n[d]=new Array(u);for(var g=0;g<n[d].length;g++)n[d][g]=255&o.buffer[g+r];r+=u;var l=h.getErrorCorrectPolynomial(s),c=new f(n[d],l.getLength()-1).mod(l);a[d]=new Array(l.getLength()-1);for(g=0;g<a[d].length;g++){var m=g+c.getLength()-a[d].length;a[d][g]=m>=0?c.get(m):0;}}var v=0;for(g=0;g<e.length;g++)v+=e[g].totalCount;var p=new Array(v),C=0;for(g=0;g<t;g++)for(d=0;d<e.length;d++)g<n[d].length&&(p[C++]=n[d][g]);for(g=0;g<i;g++)for(d=0;d<e.length;d++)g<a[d].length&&(p[C++]=a[d][g]);return p};for(var r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},t={L:1,M:0,Q:3,H:2},i=0,n=1,a=2,d=3,u=4,s=5,g=6,l=7,h={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(o){for(var e=o<<10;h.getBCHDigit(e)-h.getBCHDigit(h.G15)>=0;)e^=h.G15<<h.getBCHDigit(e)-h.getBCHDigit(h.G15);return (o<<10|e)^h.G15_MASK},getBCHTypeNumber:function(o){for(var e=o<<12;h.getBCHDigit(e)-h.getBCHDigit(h.G18)>=0;)e^=h.G18<<h.getBCHDigit(e)-h.getBCHDigit(h.G18);return o<<12|e},getBCHDigit:function(o){for(var e=0;0!=o;)e++,o>>>=1;return e},getPatternPosition:function(o){return h.PATTERN_POSITION_TABLE[o-1]},getMask:function(o,e,r){switch(o){case i:return (e+r)%2==0;case n:return e%2==0;case a:return r%3==0;case d:return (e+r)%3==0;case u:return (Math.floor(e/2)+Math.floor(r/3))%2==0;case s:return e*r%2+e*r%3==0;case g:return (e*r%2+e*r%3)%2==0;case l:return (e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+o)}},getErrorCorrectPolynomial:function(o){for(var e=new f([1],0),r=0;r<o;r++)e=e.multiply(new f([1,c.gexp(r)],0));return e},getLengthInBits:function(o,e){if(1<=e&&e<10)switch(o){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+o)}else if(e<27)switch(o){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+o)}else {if(!(e<41))throw new Error("type:"+e);switch(o){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+o)}}},getLostPoint:function(o){for(var e=o.getModuleCount(),r=0,t=0;t<e;t++)for(var i=0;i<e;i++){for(var n=0,a=o.isDark(t,i),d=-1;d<=1;d++)if(!(t+d<0||e<=t+d))for(var u=-1;u<=1;u++)i+u<0||e<=i+u||0==d&&0==u||a==o.isDark(t+d,i+u)&&n++;n>5&&(r+=3+n-5);}for(t=0;t<e-1;t++)for(i=0;i<e-1;i++){var s=0;o.isDark(t,i)&&s++,o.isDark(t+1,i)&&s++,o.isDark(t,i+1)&&s++,o.isDark(t+1,i+1)&&s++,0!=s&&4!=s||(r+=3);}for(t=0;t<e;t++)for(i=0;i<e-6;i++)o.isDark(t,i)&&!o.isDark(t,i+1)&&o.isDark(t,i+2)&&o.isDark(t,i+3)&&o.isDark(t,i+4)&&!o.isDark(t,i+5)&&o.isDark(t,i+6)&&(r+=40);for(i=0;i<e;i++)for(t=0;t<e-6;t++)o.isDark(t,i)&&!o.isDark(t+1,i)&&o.isDark(t+2,i)&&o.isDark(t+3,i)&&o.isDark(t+4,i)&&!o.isDark(t+5,i)&&o.isDark(t+6,i)&&(r+=40);var g=0;for(i=0;i<e;i++)for(t=0;t<e;t++)o.isDark(t,i)&&g++;return r+=10*(Math.abs(100*g/e/e-50)/5)}},c={glog:function(o){if(o<1)throw new Error("glog("+o+")");return c.LOG_TABLE[o]},gexp:function(o){for(;o<0;)o+=255;for(;o>=256;)o-=255;return c.EXP_TABLE[o]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},m=0;m<8;m++)c.EXP_TABLE[m]=1<<m;for(m=8;m<256;m++)c.EXP_TABLE[m]=c.EXP_TABLE[m-4]^c.EXP_TABLE[m-5]^c.EXP_TABLE[m-6]^c.EXP_TABLE[m-8];for(m=0;m<255;m++)c.LOG_TABLE[c.EXP_TABLE[m]]=m;function f(o,e){if(null==o.length)throw new Error(o.length+"/"+e);for(var r=0;r<o.length&&0==o[r];)r++;this.num=new Array(o.length-r+e);for(var t=0;t<o.length-r;t++)this.num[t]=o[t+r];}function v(o,e){this.totalCount=o,this.dataCount=e;}function p(){this.buffer=new Array,this.length=0;}function C(o){return o.setFillStyle=o.setFillStyle||function(e){o.fillStyle=e;},o.setFontSize=o.setFontSize||function(e){o.font=`${e}px`;},o.setTextAlign=o.setTextAlign||function(e){o.textAlign=e;},o.setTextBaseline=o.setTextBaseline||function(e){o.textBaseline=e;},o.setGlobalAlpha=o.setGlobalAlpha||function(e){o.globalAlpha=e;},o.setStrokeStyle=o.setStrokeStyle||function(e){o.strokeStyle=e;},o.setShadow=o.setShadow||function(e,r,t,i){o.shadowOffsetX=e,o.shadowOffsetY=r,o.shadowBlur=t,o.shadowColor=i;},o.draw=o.draw||function(o,e){e&&e();},o}function b(o,e){var r=this.data="";this.dataEncode=!0;var t=this.size=200;this.useDynamicSize=!1,this.dynamicSize=t;var i=this.typeNumber=-1;this.errorCorrectLevel=b.errorCorrectLevel.H;var n=this.margin=0;this.areaColor="#FFFFFF",this.backgroundColor="rgba(255,255,255,0)",this.backgroundImageSrc=void 0;var a=this.backgroundImageWidth=void 0,d=this.backgroundImageHeight=void 0,u=this.backgroundImageX=void 0,s=this.backgroundImageY=void 0;this.backgroundImageAlpha=1,this.backgroundImageBorderRadius=0;var g=this.backgroundPadding=0;this.foregroundColor="#000000",this.foregroundImageSrc=void 0;var l=this.foregroundImageWidth=void 0,h=this.foregroundImageHeight=void 0,c=this.foregroundImageX=void 0,m=this.foregroundImageY=void 0,f=this.foregroundImagePadding=0;this.foregroundImageBackgroundColor="#FFFFFF";var v=this.foregroundImageBorderRadius=0,p=this.foregroundImageShadowOffsetX=0,y=this.foregroundImageShadowOffsetY=0,k=this.foregroundImageShadowBlur=0;this.foregroundImageShadowColor="#808080";var w=this.foregroundPadding=0,I=this.positionProbeBackgroundColor=void 0,B=this.positionProbeForegroundColor=void 0,S=this.separatorColor=void 0,P=this.positionAdjustBackgroundColor=void 0,E=this.positionAdjustForegroundColor=void 0,L=this.timingBackgroundColor=void 0,D=this.timingForegroundColor=void 0,T=this.typeNumberBackgroundColor=void 0,A=this.typeNumberForegroundColor=void 0,N=this.darkBlockColor=void 0;this.base=void 0,this.modules=[],this.moduleCount=0,this.drawModules=[];var M=this.canvasContext=void 0;this.loadImage,this.drawReserve=!1,this.isMaked=!1,Object.defineProperties(this,{data:{get(){if(""===r||void 0===r)throw console.error("[uQRCode]: data must be set!"),new b.Error("data must be set!");return r},set(o){r=String(o);}},size:{get:()=>t,set(o){t=Number(o);}},typeNumber:{get:()=>i,set(o){i=Number(o);}},margin:{get:()=>n,set(o){n=Number(o);}},backgroundImageWidth:{get(){return void 0===a?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*a:a},set(o){a=Number(o);}},backgroundImageHeight:{get(){return void 0===d?this.dynamicSize:this.useDynamicSize?this.dynamicSize/this.size*d:d},set(o){d=Number(o);}},backgroundImageX:{get(){return void 0===u?0:this.useDynamicSize?this.dynamicSize/this.size*u:u},set(o){u=Number(o);}},backgroundImageY:{get(){return void 0===s?0:this.useDynamicSize?this.dynamicSize/this.size*s:s},set(o){s=Number(o);}},backgroundPadding:{get:()=>g,set(o){g=o>1?1:o<0?0:o;}},foregroundImageWidth:{get(){return void 0===l?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*l:l},set(o){l=Number(o);}},foregroundImageHeight:{get(){return void 0===h?(this.dynamicSize-2*this.margin)/4:this.useDynamicSize?this.dynamicSize/this.size*h:h},set(o){h=Number(o);}},foregroundImageX:{get(){return void 0===c?this.dynamicSize/2-this.foregroundImageWidth/2:this.useDynamicSize?this.dynamicSize/this.size*c:c},set(o){c=Number(o);}},foregroundImageY:{get(){return void 0===m?this.dynamicSize/2-this.foregroundImageHeight/2:this.useDynamicSize?this.dynamicSize/this.size*m:m},set(o){m=Number(o);}},foregroundImagePadding:{get(){return this.useDynamicSize?this.dynamicSize/this.size*f:f},set(o){f=Number(o);}},foregroundImageBorderRadius:{get(){return this.useDynamicSize?this.dynamicSize/this.size*v:v},set(o){v=Number(o);}},foregroundImageShadowOffsetX:{get(){return this.useDynamicSize?this.dynamicSize/this.size*p:p},set(o){p=Number(o);}},foregroundImageShadowOffsetY:{get(){return this.useDynamicSize?this.dynamicSize/this.size*y:y},set(o){y=Number(o);}},foregroundImageShadowBlur:{get(){return this.useDynamicSize?this.dynamicSize/this.size*k:k},set(o){k=Number(o);}},foregroundPadding:{get:()=>w,set(o){w=o>1?1:o<0?0:o;}},positionProbeBackgroundColor:{get(){return I||this.backgroundColor},set(o){I=o;}},positionProbeForegroundColor:{get(){return B||this.foregroundColor},set(o){B=o;}},separatorColor:{get(){return S||this.backgroundColor},set(o){S=o;}},positionAdjustBackgroundColor:{get(){return P||this.backgroundColor},set(o){P=o;}},positionAdjustForegroundColor:{get(){return E||this.foregroundColor},set(o){E=o;}},timingBackgroundColor:{get(){return L||this.backgroundColor},set(o){L=o;}},timingForegroundColor:{get(){return D||this.foregroundColor},set(o){D=o;}},typeNumberBackgroundColor:{get(){return T||this.backgroundColor},set(o){T=o;}},typeNumberForegroundColor:{get(){return A||this.foregroundColor},set(o){A=o;}},darkBlockColor:{get(){return N||this.foregroundColor},set(o){N=o;}},canvasContext:{get(){if(void 0===M)throw console.error("[uQRCode]: use drawCanvas, you need to set the canvasContext!"),new b.Error("use drawCanvas, you need to set the canvasContext!");return M},set(o){M=C(o);}}}),b.plugins.forEach((o=>o(b,this,!1))),o&&this.setOptions(o),e&&(this.canvasContext=C(e));}return f.prototype={get:function(o){return this.num[o]},getLength:function(){return this.num.length},multiply:function(o){for(var e=new Array(this.getLength()+o.getLength()-1),r=0;r<this.getLength();r++)for(var t=0;t<o.getLength();t++)e[r+t]^=c.gexp(c.glog(this.get(r))+c.glog(o.get(t)));return new f(e,0)},mod:function(o){if(this.getLength()-o.getLength()<0)return this;for(var e=c.glog(this.get(0))-c.glog(o.get(0)),r=new Array(this.getLength()),t=0;t<this.getLength();t++)r[t]=this.get(t);for(t=0;t<o.getLength();t++)r[t]^=c.gexp(c.glog(o.get(t))+e);return new f(r,0).mod(o)}},v.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],v.getRSBlocks=function(o,e){var r=v.getRsBlockTable(o,e);if(null==r)throw new Error("bad rs block @ typeNumber:"+o+"/errorCorrectLevel:"+e);for(var t=r.length/3,i=new Array,n=0;n<t;n++)for(var a=r[3*n+0],d=r[3*n+1],u=r[3*n+2],s=0;s<a;s++)i.push(new v(d,u));return i},v.getRsBlockTable=function(o,e){switch(e){case t.L:return v.RS_BLOCK_TABLE[4*(o-1)+0];case t.M:return v.RS_BLOCK_TABLE[4*(o-1)+1];case t.Q:return v.RS_BLOCK_TABLE[4*(o-1)+2];case t.H:return v.RS_BLOCK_TABLE[4*(o-1)+3];default:return}},p.prototype={get:function(o){var e=Math.floor(o/8);return 1==(this.buffer[e]>>>7-o%8&1)},put:function(o,e){for(var r=0;r<e;r++)this.putBit(1==(o>>>e-r-1&1));},getLengthInBits:function(){return this.length},putBit:function(o){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),o&&(this.buffer[e]|=128>>>this.length%8),this.length++;}},e.errorCorrectLevel=t,b.errorCorrectLevel=e.errorCorrectLevel,b.Error=function(o){this.errMsg="[uQRCode]: "+o;},b.plugins=[],b.use=function(o){"function"==typeof o&&b.plugins.push(o);},b.prototype.loadImage=function(o){return Promise.resolve(o)},b.prototype.setOptions=function(o){var e,r,t,i,n,a,d,u,s,g,l,h,c,m,f,v,p,C,b,y,k,w,I,B,S,P,E,L,D,T,A,N,M,z,_,O,R,x,F,H,X,Y,j,W,G,K,Q,U,$,J,q,V,Z,oo,eo,ro;o&&(Object.keys(o).forEach((e=>{this[e]=o[e];})),function(o={},e={},r=!1){let t;for(var i in t=r?o:{...o},e){var n=e[i];null!=n&&(n.constructor==Object?t[i]=this.deepReplace(t[i],n):n.constructor!=String||n?t[i]=n:t[i]=t[i]);}}(this,{data:o.data||o.text,dataEncode:o.dataEncode,size:o.size,useDynamicSize:o.useDynamicSize,typeNumber:o.typeNumber,errorCorrectLevel:o.errorCorrectLevel,margin:o.margin,areaColor:o.areaColor,backgroundColor:o.backgroundColor||(null===(e=o.background)||void 0===e?void 0:e.color),backgroundImageSrc:o.backgroundImageSrc||(null===(r=o.background)||void 0===r||null===(t=r.image)||void 0===t?void 0:t.src),backgroundImageWidth:o.backgroundImageWidth||(null===(i=o.background)||void 0===i||null===(n=i.image)||void 0===n?void 0:n.width),backgroundImageHeight:o.backgroundImageHeight||(null===(a=o.background)||void 0===a||null===(d=a.image)||void 0===d?void 0:d.height),backgroundImageX:o.backgroundImageX||(null===(u=o.background)||void 0===u||null===(s=u.image)||void 0===s?void 0:s.x),backgroundImageY:o.backgroundImageY||(null===(g=o.background)||void 0===g||null===(l=g.image)||void 0===l?void 0:l.y),backgroundImageAlpha:o.backgroundImageAlpha||(null===(h=o.background)||void 0===h||null===(c=h.image)||void 0===c?void 0:c.alpha),backgroundImageBorderRadius:o.backgroundImageBorderRadius||(null===(m=o.background)||void 0===m||null===(f=m.image)||void 0===f?void 0:f.borderRadius),backgroundPadding:o.backgroundPadding,foregroundColor:o.foregroundColor||(null===(v=o.foreground)||void 0===v?void 0:v.color),foregroundImageSrc:o.foregroundImageSrc||(null===(p=o.foreground)||void 0===p||null===(C=p.image)||void 0===C?void 0:C.src),foregroundImageWidth:o.foregroundImageWidth||(null===(b=o.foreground)||void 0===b||null===(y=b.image)||void 0===y?void 0:y.width),foregroundImageHeight:o.foregroundImageHeight||(null===(k=o.foreground)||void 0===k||null===(w=k.image)||void 0===w?void 0:w.height),foregroundImageX:o.foregroundImageX||(null===(I=o.foreground)||void 0===I||null===(B=I.image)||void 0===B?void 0:B.x),foregroundImageY:o.foregroundImageY||(null===(S=o.foreground)||void 0===S||null===(P=S.image)||void 0===P?void 0:P.y),foregroundImagePadding:o.foregroundImagePadding||(null===(E=o.foreground)||void 0===E||null===(L=E.image)||void 0===L?void 0:L.padding),foregroundImageBackgroundColor:o.foregroundImageBackgroundColor||(null===(D=o.foreground)||void 0===D||null===(T=D.image)||void 0===T?void 0:T.backgroundColor),foregroundImageBorderRadius:o.foregroundImageBorderRadius||(null===(A=o.foreground)||void 0===A||null===(N=A.image)||void 0===N?void 0:N.borderRadius),foregroundImageShadowOffsetX:o.foregroundImageShadowOffsetX||(null===(M=o.foreground)||void 0===M||null===(z=M.image)||void 0===z?void 0:z.shadowOffsetX),foregroundImageShadowOffsetY:o.foregroundImageShadowOffsetY||(null===(_=o.foreground)||void 0===_||null===(O=_.image)||void 0===O?void 0:O.shadowOffsetY),foregroundImageShadowBlur:o.foregroundImageShadowBlur||(null===(R=o.foreground)||void 0===R||null===(x=R.image)||void 0===x?void 0:x.shadowBlur),foregroundImageShadowColor:o.foregroundImageShadowColor||(null===(F=o.foreground)||void 0===F||null===(H=F.image)||void 0===H?void 0:H.shadowColor),foregroundPadding:o.foregroundPadding,positionProbeBackgroundColor:o.positionProbeBackgroundColor||(null===(X=o.positionProbe)||void 0===X?void 0:X.backgroundColor)||(null===(Y=o.positionDetection)||void 0===Y?void 0:Y.backgroundColor),positionProbeForegroundColor:o.positionProbeForegroundColor||(null===(j=o.positionProbe)||void 0===j?void 0:j.foregroundColor)||(null===(W=o.positionDetection)||void 0===W?void 0:W.foregroundColor),separatorColor:o.separatorColor||(null===(G=o.separator)||void 0===G?void 0:G.color),positionAdjustBackgroundColor:o.positionAdjustBackgroundColor||(null===(K=o.positionAdjust)||void 0===K?void 0:K.backgroundColor)||(null===(Q=o.alignment)||void 0===Q?void 0:Q.backgroundColor),positionAdjustForegroundColor:o.positionAdjustForegroundColor||(null===(U=o.positionAdjust)||void 0===U?void 0:U.foregroundColor)||(null===($=o.alignment)||void 0===$?void 0:$.foregroundColor),timingBackgroundColor:o.timingBackgroundColor||(null===(J=o.timing)||void 0===J?void 0:J.backgroundColor),timingForegroundColor:o.timingForegroundColor||(null===(q=o.timing)||void 0===q?void 0:q.foregroundColor),typeNumberBackgroundColor:o.typeNumberBackgroundColor||(null===(V=o.typeNumber)||void 0===V?void 0:V.backgroundColor)||(null===(Z=o.versionInformation)||void 0===Z?void 0:Z.backgroundColor),typeNumberForegroundColor:o.typeNumberForegroundColor||(null===(oo=o.typeNumber)||void 0===oo?void 0:oo.foregroundColor)||(null===(eo=o.versionInformation)||void 0===eo?void 0:eo.foregroundColor),darkBlockColor:o.darkBlockColor||(null===(ro=o.darkBlock)||void 0===ro?void 0:ro.color)},!0));},b.prototype.make=function(){let{foregroundColor:o,backgroundColor:r,typeNumber:t,errorCorrectLevel:i,data:n,dataEncode:a,size:d,margin:u,useDynamicSize:s}=this;if(o===r)throw console.error("[uQRCode]: foregroundColor and backgroundColor cannot be the same!"),new b.Error("foregroundColor and backgroundColor cannot be the same!");a&&(n=function(o){o=o.toString();for(var e,r="",t=0;t<o.length;t++)(e=o.charCodeAt(t))>=1&&e<=127?r+=o.charAt(t):e>2047?(r+=String.fromCharCode(224|e>>12&15),r+=String.fromCharCode(128|e>>6&63),r+=String.fromCharCode(128|e>>0&63)):(r+=String.fromCharCode(192|e>>6&31),r+=String.fromCharCode(128|e>>0&63));return r}(n));var g=new e(t,i);g.addData(n),g.make(),this.base=g,this.typeNumber=g.typeNumber,this.modules=g.modules,this.moduleCount=g.moduleCount,this.dynamicSize=s?Math.ceil((d-2*u)/g.moduleCount)*g.moduleCount+2*u:d,function(o){let{dynamicSize:e,margin:r,backgroundColor:t,backgroundPadding:i,foregroundColor:n,foregroundPadding:a,modules:d,moduleCount:u}=o;var s=(e-2*r)/u,g=s,l=0;i>0&&(g-=2*(l=g*i/2));var h=s,c=0;a>0&&(h-=2*(c=h*a/2));for(var m=0;m<u;m++)for(var f=0;f<u;f++){var v=f*s+r,p=m*s+r;if(d[m][f]){var C=c,b=v+c,y=p+c,k=h,w=h;d[m][f]={type:["foreground"],color:n,isBlack:!0,isDrawn:!1,destX:v,destY:p,destWidth:s,destHeight:s,x:b,y:y,width:k,height:w,paddingTop:C,paddingRight:C,paddingBottom:C,paddingLeft:C};}else C=l,b=v+l,y=p+l,k=g,w=g,d[m][f]={type:["background"],color:t,isBlack:!1,isDrawn:!1,destX:v,destY:p,destWidth:s,destHeight:s,x:b,y:y,width:k,height:w,paddingTop:C,paddingRight:C,paddingBottom:C,paddingLeft:C};}}(this),function(o){let{modules:e,moduleCount:r,positionProbeBackgroundColor:t,positionProbeForegroundColor:i}=o;var n=r-7;[[0,0,1],[1,0,1],[2,0,1],[3,0,1],[4,0,1],[5,0,1],[6,0,1],[0,1,1],[1,1,0],[2,1,0],[3,1,0],[4,1,0],[5,1,0],[6,1,1],[0,2,1],[1,2,0],[2,2,1],[3,2,1],[4,2,1],[5,2,0],[6,2,1],[0,3,1],[1,3,0],[2,3,1],[3,3,1],[4,3,1],[5,3,0],[6,3,1],[0,4,1],[1,4,0],[2,4,1],[3,4,1],[4,4,1],[5,4,0],[6,4,1],[0,5,1],[1,5,0],[2,5,0],[3,5,0],[4,5,0],[5,5,0],[6,5,1],[0,6,1],[1,6,1],[2,6,1],[3,6,1],[4,6,1],[5,6,1],[6,6,1]].forEach((o=>{var r=e[o[0]][o[1]],a=e[o[0]+n][o[1]],d=e[o[0]][o[1]+n];d.type.push("positionProbe"),a.type.push("positionProbe"),r.type.push("positionProbe"),r.color=1==o[2]?i:t,a.color=1==o[2]?i:t,d.color=1==o[2]?i:t;}));}(this),function(o){let{modules:e,moduleCount:r,separatorColor:t}=o;[[7,0],[7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,7],[0,7],[1,7],[2,7],[3,7],[4,7],[5,7],[6,7]].forEach((o=>{var i=e[o[0]][o[1]],n=e[r-o[0]-1][o[1]],a=e[o[0]][r-o[1]-1];a.type.push("separator"),n.type.push("separator"),i.type.push("separator"),i.color=t,n.color=t,a.color=t;}));}(this),function(o){let{typeNumber:e,modules:r,moduleCount:t,foregroundColor:i,backgroundColor:n,positionAdjustForegroundColor:a,positionAdjustBackgroundColor:d,timingForegroundColor:u,timingBackgroundColor:s}=o;var g=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]][e-1];if(g)for(var l=[[-2,-2,1],[-1,-2,1],[0,-2,1],[1,-2,1],[2,-2,1],[-2,-1,1],[-1,-1,0],[0,-1,0],[1,-1,0],[2,-1,1],[-2,0,1],[-1,0,0],[0,0,1],[1,0,0],[2,0,1],[-2,1,1],[-1,1,0],[0,1,0],[1,1,0],[2,1,1],[-2,2,1],[-1,2,1],[0,2,1],[1,2,1],[2,2,1]],h=g.length,c=0;c<h;c++)for(var m=0;m<h;m++){var{x:f,y:v}={x:g[c],y:g[m]};f<9&&v<9||f>t-9-1&&v<9||v>t-9-1&&f<9||l.forEach((o=>{var e=r[f+o[0]][v+o[1]];e.type.push("positionAdjust"),e.type.includes("timing")?1==o[2]?e.color=a==i?u:a:e.color=a==i&&d==n?s:d:e.color=1==o[2]?a:d;}));}}(this),function(o){let{modules:e,moduleCount:r,timingForegroundColor:t,timingBackgroundColor:i}=o;for(var n=r-16,a=0;a<n;a++){var d=e[6][8+a],u=e[8+a][6];d.type.push("timing"),u.type.push("timing"),d.color=1&a^1?t:i,u.color=1&a^1?t:i;}}(this),function(o){let{modules:e,moduleCount:r,darkBlockColor:t}=o;var i=e[r-7-1][8];i.type.push("darkBlock"),i.color=t;}(this),function(o){let{typeNumber:e,modules:r,moduleCount:t,typeNumberBackgroundColor:i,typeNumberForegroundColor:n}=o;if(e<7)return r;var a=[0,0,0,0,0,0,0,"000111110010010100","001000010110111100","001001101010011001","001010010011010011","001011101111110110","001100011101100010","001101100001000111","001110011000001101","001111100100101000","010000101101111000","010001010001011101","010010101000010111","010011010100110010","010100100110100110","010101011010000011","010110100011001001","010111011111101100","011000111011000100","011001000111100001","011010111110101011","011011000010001110","011100110000011010","011101001100111111","011110110101110101","011111001001010000","100000100111010101","100001011011110000","100010100010111010","100011011110011111","100100101100001011","100101010000101110","100110101001100100","100111010101000001","101000110001101001"],d=a[e]+a[e],u=[t-11,t-10,t-9];[[5,u[2]],[5,u[1]],[5,u[0]],[4,u[2]],[4,u[1]],[4,u[0]],[3,u[2]],[3,u[1]],[3,u[0]],[2,u[2]],[2,u[1]],[2,u[0]],[1,u[2]],[1,u[1]],[1,u[0]],[0,u[2]],[0,u[1]],[0,u[0]],[u[2],5],[u[1],5],[u[0],5],[u[2],4],[u[1],4],[u[0],4],[u[2],3],[u[1],3],[u[0],3],[u[2],2],[u[1],2],[u[0],2],[u[2],1],[u[1],1],[u[0],1],[u[2],0],[u[1],0],[u[0],0]].forEach(((o,e)=>{var t=r[o[0]][o[1]];t.type.push("typeNumber"),t.color="1"==d[e]?n:i;}));}(this),this.isMaked=!0,this.drawModules=[];},b.prototype.getDrawModules=function(){if(this.drawModules&&this.drawModules.length>0)return this.drawModules;let o=this.drawModules=[],{modules:e,moduleCount:r,dynamicSize:t,areaColor:i,backgroundImageSrc:n,backgroundImageX:a,backgroundImageY:d,backgroundImageWidth:u,backgroundImageHeight:s,backgroundImageAlpha:g,backgroundImageBorderRadius:l,foregroundImageSrc:h,foregroundImageX:c,foregroundImageY:m,foregroundImageWidth:f,foregroundImageHeight:v,foregroundImagePadding:p,foregroundImageBackgroundColor:C,foregroundImageBorderRadius:b,foregroundImageShadowOffsetX:y,foregroundImageShadowOffsetY:k,foregroundImageShadowBlur:w,foregroundImageShadowColor:I}=this;i&&o.push({name:"area",type:"area",color:i,x:0,y:0,width:t,height:t}),n&&o.push({name:"backgroundImage",type:"image",imageSrc:n,mappingName:"backgroundImageSrc",x:a,y:d,width:u,height:s,alpha:g,borderRadius:l});for(var B=0;B<r;B++)for(var S=0;S<r;S++){var P=e[B][S];P.isDrawn||(P.type.includes("foreground")?o.push({name:"foreground",type:"tile",color:P.color,destX:P.destX,destY:P.destY,destWidth:P.destWidth,destHeight:P.destHeight,x:P.x,y:P.y,width:P.width,height:P.height,paddingTop:P.paddingTop,paddingRight:P.paddingRight,paddingBottom:P.paddingBottom,paddingLeft:P.paddingLeft,rowIndex:B,colIndex:S}):o.push({name:"background",type:"tile",color:P.color,destX:P.destX,destY:P.destY,destWidth:P.destWidth,destHeight:P.destHeight,x:P.x,y:P.y,width:P.width,height:P.height,paddingTop:P.paddingTop,paddingRight:P.paddingRight,paddingBottom:P.paddingBottom,paddingLeft:P.paddingLeft,rowIndex:B,colIndex:S}),P.isDrawn=!0);}return h&&o.push({name:"foregroundImage",type:"image",imageSrc:h,mappingName:"foregroundImageSrc",x:c,y:m,width:f,height:v,padding:p,backgroundColor:C,borderRadius:b,shadowOffsetX:y,shadowOffsetY:k,shadowBlur:w,shadowColor:I}),o},b.prototype.isBlack=function(o,e){var r=this.moduleCount;return !(0>o||0>e||o>=r||e>=r)&&this.modules[o][e].isBlack},b.prototype.drawCanvas=function(o){let{isMaked:e,canvasContext:r,useDynamicSize:t,dynamicSize:i,foregroundColor:n,foregroundPadding:a,backgroundColor:d,backgroundPadding:u,drawReserve:s,margin:g}=this;if(!e)return console.error("[uQRCode]: please execute the make method first!"),Promise.reject(new b.Error("please execute the make method first!"));let l=this.getDrawModules(),h=async(e,t)=>{try{r.draw(o);for(var i=0;i<l.length;i++){var n=l[i];switch(r.save(),n.type){case"area":r.setFillStyle(n.color),r.fillRect(n.x,n.y,n.width,n.height);break;case"tile":var a=n.x,d=n.y,u=n.width,g=n.height;r.setFillStyle(n.color),r.fillRect(a,d,u,g);break;case"image":if("backgroundImage"===n.name){a=Math.round(n.x),d=Math.round(n.y),u=Math.round(n.width),g=Math.round(n.height);u<2*(c=Math.round(n.borderRadius))&&(c=u/2),g<2*c&&(c=g/2),r.setGlobalAlpha(n.alpha),c>0&&(r.beginPath(),r.moveTo(a+c,d),r.arcTo(a+u,d,a+u,d+g,c),r.arcTo(a+u,d+g,a,d+g,c),r.arcTo(a,d+g,a,d,c),r.arcTo(a,d,a+u,d,c),r.closePath(),r.setStrokeStyle("rgba(0,0,0,0)"),r.stroke(),r.clip());try{var h=await this.loadImage(n.imageSrc);r.drawImage(h,a,d,u,g);}catch(o){throw console.error(`[uQRCode]: ${n.mappingName} invalid!`),new b.Error(`${n.mappingName} invalid!`)}}else if("foregroundImage"===n.name){a=Math.round(n.x),d=Math.round(n.y),u=Math.round(n.width),g=Math.round(n.height);var c,m=Math.round(n.padding);u<2*(c=Math.round(n.borderRadius))&&(c=u/2),g<2*c&&(c=g/2);var f=a-m,v=d-m,p=u+2*m,C=g+2*m,y=Math.round(p/u*c);p<2*y&&(y=p/2),C<2*y&&(y=C/2),r.save(),r.setShadow(n.shadowOffsetX,n.shadowOffsetY,n.shadowBlur,n.shadowColor),y>0?(r.beginPath(),r.moveTo(f+y,v),r.arcTo(f+p,v,f+p,v+C,y),r.arcTo(f+p,v+C,f,v+C,y),r.arcTo(f,v+C,f,v,y),r.arcTo(f,v,f+p,v,y),r.closePath(),r.setFillStyle(n.backgroundColor),r.fill()):(r.setFillStyle(n.backgroundColor),r.fillRect(f,v,p,C)),r.restore(),r.save(),y>0?(r.beginPath(),r.moveTo(f+y,v),r.arcTo(f+p,v,f+p,v+C,y),r.arcTo(f+p,v+C,f,v+C,y),r.arcTo(f,v+C,f,v,y),r.arcTo(f,v,f+p,v,y),r.closePath(),r.setFillStyle(m>0?n.backgroundColor:"rgba(0,0,0,0)"),r.fill()):(r.setFillStyle(m>0?n.backgroundColor:"rgba(0,0,0,0)"),r.fillRect(f,v,p,C)),r.restore(),c>0&&(r.beginPath(),r.moveTo(a+c,d),r.arcTo(a+u,d,a+u,d+g,c),r.arcTo(a+u,d+g,a,d+g,c),r.arcTo(a,d+g,a,d,c),r.arcTo(a,d,a+u,d,c),r.closePath(),r.setStrokeStyle("rgba(0,0,0,0)"),r.stroke(),r.clip());try{h=await this.loadImage(n.imageSrc);r.drawImage(h,a,d,u,g);}catch(o){throw console.error(`[uQRCode]: ${n.mappingName} invalid!`),new b.Error(`${n.mappingName} invalid!`)}}}s&&r.draw(!0),r.restore();}r.draw(!0),setTimeout(e,150);}catch(o){t(o);}};return new Promise(((o,e)=>{h(o,e);}))},b.prototype.draw=function(o){return this.drawCanvas(o)},b.prototype.register=function(o){o&&o(b,this,!0);},b}));
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# Radio 单选框
|
|
2
|
+
|
|
3
|
+
在一组备选项中进行单选。
|
|
4
|
+
|
|
5
|
+
---$
|
|
6
|
+
|
|
7
|
+
### 代码演示
|
|
8
|
+
JavaScript后面的演示代码中涉及到的变量和方法都使用本javasaript代码
|
|
9
|
+
```javascript
|
|
10
|
+
export default {
|
|
11
|
+
data() {
|
|
12
|
+
return {
|
|
13
|
+
value1: 'a',
|
|
14
|
+
value2: 'a',
|
|
15
|
+
value3: 'a',
|
|
16
|
+
value4: 'a',
|
|
17
|
+
value5: 'a',
|
|
18
|
+
value6: 'a',
|
|
19
|
+
value7: 'a',
|
|
20
|
+
value8: '',
|
|
21
|
+
value9: 'a',
|
|
22
|
+
value10: 'a',
|
|
23
|
+
value11: '',
|
|
24
|
+
value12: '',
|
|
25
|
+
value13: '',
|
|
26
|
+
value14: '',
|
|
27
|
+
value15: '',
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
created() {},
|
|
31
|
+
methods: {
|
|
32
|
+
click1(value) {
|
|
33
|
+
this.showToast({
|
|
34
|
+
icon: 'none',
|
|
35
|
+
title: `点击:${value} 单选框的值`,
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
click2(value, allowStop, resolve) {
|
|
39
|
+
this.showToast({
|
|
40
|
+
icon: 'none',
|
|
41
|
+
title: `点击:${value} 单选框的值`,
|
|
42
|
+
});
|
|
43
|
+
// 阻止change事件
|
|
44
|
+
allowStop();
|
|
45
|
+
},
|
|
46
|
+
change(value) {
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
this.showToast({
|
|
49
|
+
icon: 'none',
|
|
50
|
+
title: `改变:${value} 单选框的值`,
|
|
51
|
+
});
|
|
52
|
+
}, 1000);
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
#### 基础用法
|
|
59
|
+
通过`value`绑定值当前选中项的 name 。
|
|
60
|
+
```
|
|
61
|
+
<ste-radio v-model="value1" name="a">单选框a</ste-radio>
|
|
62
|
+
<ste-radio v-model="value1" name="b">单选框b</ste-radio>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
#### 禁用
|
|
66
|
+
通过设置 `disabled` 属性可以禁用单选框, 默认`false`。
|
|
67
|
+
```
|
|
68
|
+
<ste-radio v-model="value2" name="a" disabled>单选框a</ste-radio>
|
|
69
|
+
<ste-radio v-model="value2" name="b" disabled>单选框b</ste-radio>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 只读
|
|
73
|
+
通过设置 `readonly` 属性可以禁用单选框,样式不置灰, 默认`false`。
|
|
74
|
+
```
|
|
75
|
+
<ste-radio v-model="value3" name="a" readonly>单选框a</ste-radio>
|
|
76
|
+
<ste-radio v-model="value3" name="b" readonly>单选框b</ste-radio>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### 自定义形状
|
|
80
|
+
通过设置`shape`为`square`或者`circle`,将单选框设置为方形或者圆形,默认`circle`。
|
|
81
|
+
```
|
|
82
|
+
<ste-radio v-model="value4" name="a">圆形</ste-radio>
|
|
83
|
+
<ste-radio v-model="value4" name="b" shape="square">方形</ste-radio>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### 自定义图标大小
|
|
87
|
+
通过设置 `iconSize` 属性可以自定义图标的大小,单位`rpx`,默认`36`。
|
|
88
|
+
```
|
|
89
|
+
<ste-radio v-model="value5" name="a" iconSize="60">60rpx</ste-radio>
|
|
90
|
+
<ste-radio v-model="value5" name="b" iconSize="60">60rpx</ste-radio>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### 自定义图标颜色
|
|
94
|
+
通过设置 `checkedColor` 属性可以自定义图标的颜色(填充色和边框色),默认`#0090FF`。
|
|
95
|
+
```
|
|
96
|
+
<ste-radio v-model="value6" name="a" checkedColor="#ee0a24">红色</ste-radio>
|
|
97
|
+
<ste-radio v-model="value6" name="b" checkedColor="#ee0a24">红色</ste-radio>
|
|
98
|
+
```
|
|
99
|
+
#### 自定义图标
|
|
100
|
+
通过 `icon` 插槽自定义图标,可以通过 `slotProps`下`checked`判断是否为选中状态,`disabled`判断是否为禁止状态,`readonly`判断是否为只读状态。
|
|
101
|
+
```
|
|
102
|
+
<ste-radio v-model="value7" name="a">
|
|
103
|
+
<template #icon="{ slotProps }">
|
|
104
|
+
<ste-icon
|
|
105
|
+
code=""
|
|
106
|
+
size="50"
|
|
107
|
+
:color="slotProps.checked ? '#ee0a24' : '#000000'"
|
|
108
|
+
></ste-icon>
|
|
109
|
+
</template>
|
|
110
|
+
<template #default="{ slotProps }">
|
|
111
|
+
{{ slotProps.checked ? '已选中' : '未选中' }}
|
|
112
|
+
</template>
|
|
113
|
+
</ste-radio>
|
|
114
|
+
<ste-radio v-model="value7" name="b">
|
|
115
|
+
<template #icon="{ slotProps }">
|
|
116
|
+
<ste-icon
|
|
117
|
+
code=""
|
|
118
|
+
size="50"
|
|
119
|
+
:color="slotProps.checked ? '#ee0a24' : '#000000'"
|
|
120
|
+
></ste-icon>
|
|
121
|
+
</template>
|
|
122
|
+
<template #default="{ slotProps }">
|
|
123
|
+
{{ slotProps.checked ? '已选中' : '未选中' }}
|
|
124
|
+
</template>
|
|
125
|
+
</ste-radio>
|
|
126
|
+
<ste-radio v-model="value7" name="c" disabled>
|
|
127
|
+
<template #icon="{ slotProps }">
|
|
128
|
+
<ste-icon
|
|
129
|
+
code=""
|
|
130
|
+
size="50"
|
|
131
|
+
:color="slotProps.disabled ? '#eeeeee' : '#000000'"
|
|
132
|
+
></ste-icon>
|
|
133
|
+
</template>
|
|
134
|
+
<template #default="{ slotProps }">
|
|
135
|
+
{{ slotProps.disabled ? '禁止' : '未禁止' }}
|
|
136
|
+
</template>
|
|
137
|
+
</ste-radio>
|
|
138
|
+
<ste-radio v-model="value7" name="d" readonly>
|
|
139
|
+
<template #icon="{ slotProps }">
|
|
140
|
+
<ste-icon
|
|
141
|
+
code=""
|
|
142
|
+
size="50"
|
|
143
|
+
:color="slotProps.readonly ? 'green' : '#000000'"
|
|
144
|
+
></ste-icon>
|
|
145
|
+
</template>
|
|
146
|
+
<template #default="{ slotProps }">
|
|
147
|
+
{{ slotProps.readonly ? '只读' : '未只读' }}
|
|
148
|
+
</template>
|
|
149
|
+
</ste-radio>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 左侧文本
|
|
153
|
+
将 `textPosition` 属性设置为 `left`,可以将文本位置调整到单选框左侧。
|
|
154
|
+
```
|
|
155
|
+
<ste-radio v-model="value8" name="a">右边</ste-radio>
|
|
156
|
+
<ste-radio v-model="value8" name="b" textPosition="left">左边</ste-radio>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
#### 自定义文本
|
|
160
|
+
- 通过设置 `textSize` 属性可以自定义文本的大小,单位`rpx`,默认`28`。
|
|
161
|
+
- 通过设置 `textInactiveColor` 属性可以自定义文本未选中颜色,默认`#000000`。
|
|
162
|
+
- 通过设置 `textActiveColor` 属性可以自定义文本选中颜色,默认`#000000`。
|
|
163
|
+
```
|
|
164
|
+
<ste-radio
|
|
165
|
+
v-model="value9"
|
|
166
|
+
name="a"
|
|
167
|
+
textSize="50"
|
|
168
|
+
textInactiveColor="green"
|
|
169
|
+
textActiveColor="#d276a3"
|
|
170
|
+
>
|
|
171
|
+
单选框
|
|
172
|
+
</ste-radio>
|
|
173
|
+
<ste-radio
|
|
174
|
+
v-model="value9"
|
|
175
|
+
name="b"
|
|
176
|
+
textSize="50"
|
|
177
|
+
textInactiveColor="green"
|
|
178
|
+
textActiveColor="#d276a3"
|
|
179
|
+
>
|
|
180
|
+
单选框
|
|
181
|
+
</ste-radio>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### 回调事件
|
|
185
|
+
- `click` 点击单选框时触发的事件(可拦截change事件),`value`:改变后的分值,`allowStop`:允许阻止后续的事件触发,:`resolve`:后续的事件执行。
|
|
186
|
+
- `change` 当绑定值变化时触发的事件,`value`:改变后的分值。
|
|
187
|
+
```
|
|
188
|
+
<ste-radio v-model="value11" name="a" @click="click1" @change="change">单选框</ste-radio>
|
|
189
|
+
<ste-radio v-model="value11" name="b" @click="click1" @change="change">单选框</ste-radio>
|
|
190
|
+
<text>在click事件后,执行change事件</text>
|
|
191
|
+
<ste-radio v-model="value12" name="a" @click="click2" @change="change">单选框</ste-radio>
|
|
192
|
+
<ste-radio v-model="value12" name="b" @click="click2" @change="change">单选框</ste-radio>
|
|
193
|
+
<text>在click事件后,阻止change事件</text>
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 单选框组
|
|
197
|
+
需要与`ste-radio-group`一起使用,通过`value`绑定在`ste-radio-group`,`value`即为选中的`ste-radio`的`name`属性设置的值。
|
|
198
|
+
```
|
|
199
|
+
<ste-radio-group v-model="value12">
|
|
200
|
+
<ste-radio name="a">单选框a</ste-radio>
|
|
201
|
+
<ste-radio name="b">单选框b</ste-radio>
|
|
202
|
+
<ste-radio name="c">单选框c</ste-radio>
|
|
203
|
+
</ste-radio-group>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 单选框组属性和单选框属性
|
|
207
|
+
属性优先级:`ste-radio`组件上配置的属性 > `ste-radio-group`组件上配置的属性 > `ste-radio`组件默认属性
|
|
208
|
+
```
|
|
209
|
+
<ste-radio-group v-model="value13" shape="square" textPosition="left">
|
|
210
|
+
<ste-radio name="a">单选框a</ste-radio>
|
|
211
|
+
<ste-radio name="b" disabled>单选框b</ste-radio>
|
|
212
|
+
<ste-radio name="c" shape="circle">单选框c</ste-radio>
|
|
213
|
+
</ste-radio-group>
|
|
214
|
+
```
|
|
215
|
+
### 水平排列
|
|
216
|
+
将 `direction` 属性设置为 `row` 后,单选框组会变成水平排列。
|
|
217
|
+
```
|
|
218
|
+
<ste-radio-group v-model="value14" direction="row">
|
|
219
|
+
<ste-radio name="a">单选框a</ste-radio>
|
|
220
|
+
<ste-radio name="b">单选框b</ste-radio>
|
|
221
|
+
<ste-radio name="c">单选框c</ste-radio>
|
|
222
|
+
</ste-radio-group>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
---$
|
|
226
|
+
### API
|
|
227
|
+
#### Radio组件属性(Props)
|
|
228
|
+
|
|
229
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
|
|
230
|
+
| --- | --- | --- | --- | --- | --- |
|
|
231
|
+
| `value` |当前选中值(支持v-model双向绑定) | `String` | `` | - | - |
|
|
232
|
+
| `name` | 选项的值 | `Number/String` | - | - | - |
|
|
233
|
+
| `disabled` | 是否禁用 | `Boolean` | `false` | - | - |
|
|
234
|
+
| `readonly` | 只读 (不置灰) | `Boolean` | `false` | - | - |
|
|
235
|
+
| `shape` | 形状 | `String` | `circle` | `circle`:圆形 <br/>`squar`:方形 | - |
|
|
236
|
+
| `iconSize` | 图标大小,单位rpx | `Number/String` | `36` | - | - |
|
|
237
|
+
| `checkedColor` | 选中状态的图标颜色 | `String` | `#0090FF` | - | - |
|
|
238
|
+
| `textPosition` | 文本的位置 | `String` | `right` | `right`:右 <br/>`left`:左 | - |
|
|
239
|
+
| `textSize` | 文本字体大小,单位rpx | `Number/String` | `25` | - | - |
|
|
240
|
+
| `textlnactiveColor` | 未选中文本颜色 | `String` | `#000000` | - | - |
|
|
241
|
+
| `textActiveColor` | 选中文本颜色 | `String` | `#000000` | - | - |
|
|
242
|
+
| `textDisabled` | 禁用文本点击 | `Boolean` | `false` | - | - |
|
|
243
|
+
| `marginLeft` | 左边距,单位rpx | `Number/String` | `0` | - | `v1.10.0` |
|
|
244
|
+
| `marginRight` | 右边距,单位rpx | `Number/String` | `0` | - | `v1.10.0` |
|
|
245
|
+
| `columnGap` | 单选框和文本间距,单位rpx | `Number/String` | `16` | - | `v1.10.0` |
|
|
246
|
+
|
|
247
|
+
#### RadioGroup 组件属性(Props)
|
|
248
|
+
|
|
249
|
+
| 参数 | 说明 | 类型 | 默认值 | 可选值 | 支持版本 |
|
|
250
|
+
| --- | --- | --- | --- | --- | --- |
|
|
251
|
+
| `value` |当前选中值(支持v-model双向绑定) | `String` | `` | - | - |
|
|
252
|
+
| `direction` | 排列方式 | `String` | `row` | `column`:横向 <br/>`row`:纵向 | - |
|
|
253
|
+
| `disabled` | 是否禁用 | `Boolean` | `false` | - | - |
|
|
254
|
+
| `readonly` | 只读 (不置灰) | `Boolean` | `false` | - | - |
|
|
255
|
+
| `shape` | 形状 | `String` | `circle` | `circle`:圆形 <br/>`squar`:方形 | - |
|
|
256
|
+
| `iconSize` | 图标大小,单位rpx | `Number/String` | `36` | - | - |
|
|
257
|
+
| `checkedColor` | 选中状态的图标颜色 | `String` | `#0090FF` | - | - |
|
|
258
|
+
| `textPosition` | 文本的位置 | `String` | `right` | `right`:右 <br/>`left`:左 | - |
|
|
259
|
+
| `textSize` | 文本字体大小,单位rpx | `Number/String` | `25` | - | - |
|
|
260
|
+
| `textlnactiveColor` | 未选中文本颜色 | `String` | `#000000` | - | - |
|
|
261
|
+
| `textActiveColor` | 选中文本颜色 | `String` | `#000000` | - | - |
|
|
262
|
+
| `textDisabled` | 禁用文本点击 | `Boolean` | `false` | - | - |
|
|
263
|
+
| `marginLeft` | 左边距,单位rpx | `Number/String` | `0` | - | `v1.10.0` |
|
|
264
|
+
| `marginRight` | 右边距,单位rpx | `Number/String` | `0` | - | `v1.10.0` |
|
|
265
|
+
| `columnGap` | 单选框和文本间距,单位rpx | `Number/String` | `16` | - | `v1.10.0` |
|
|
266
|
+
|
|
267
|
+
#### Radio Events
|
|
268
|
+
|事件名 |说明 |事件参数 |支持版本 |
|
|
269
|
+
|--- |--- |--- |--- |
|
|
270
|
+
| `click` |点击单选框时触发的事件(可拦截change事件) |`value`:当前的绑定值,`allowStop`:允许阻止后续的事件触发,:`resolve`:后续的事件执行 | - |
|
|
271
|
+
| `change` |当绑定值变化时触发的事件 |`value`:改变后的绑定值 | - |
|
|
272
|
+
|
|
273
|
+
#### RadioGroup Events
|
|
274
|
+
|事件名 |说明 |事件参数 |支持版本 |
|
|
275
|
+
|--- |--- |--- |--- |
|
|
276
|
+
| `change` |当绑定值变化时触发的事件 |`value`:改变后的绑定值 | - |
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
#### Radio Slots
|
|
280
|
+
|插槽名 |说明 |插槽参数 |支持版本 |
|
|
281
|
+
| --- | --- | --- | --- |
|
|
282
|
+
| `default` | 单选框文本内容 |`{ checked: boolean, disabled: boolean, readonly: boolean }` | - |
|
|
283
|
+
| `icon` | 单选框图标 |`{ checked: boolean, disabled: boolean, readonly: boolean }` | - |
|
|
284
|
+
|
|
285
|
+
---$
|
|
286
|
+
{{qinpengfei}}
|