wangzhibo
2025-10-23 cad64c1de2c45856b0774933c5801b05b64984e8
1
{"version":3,"file":"uni-badge.js","sources":["uni_modules/uni-badge/components/uni-badge/uni-badge.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovSEJ1aWxkZXJQcm9qZWN0cy_lm63ljZrlm60vdW5pX21vZHVsZXMvdW5pLWJhZGdlL2NvbXBvbmVudHMvdW5pLWJhZGdlL3VuaS1iYWRnZS52dWU"],"sourcesContent":["<template>\r\n\t<view class=\"uni-badge--x\">\r\n\t\t<slot />\r\n\t\t<text v-if=\"text\" :class=\"classNames\" :style=\"[positionStyle, customStyle, dotStyle]\"\r\n\t\t\tclass=\"uni-badge\" @click=\"onClick()\">{{displayValue}}</text>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\t/**\r\n\t * Badge 数字角标\r\n\t * @description 数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景\r\n\t * @tutorial https://ext.dcloud.net.cn/plugin?id=21\r\n\t * @property {String} text 角标内容\r\n\t * @property {String} size = [normal|small] 角标内容\r\n\t * @property {String} type = [info|primary|success|warning|error] 颜色类型\r\n\t * \t@value info 灰色\r\n\t * \t@value primary 蓝色\r\n\t * \t@value success 绿色\r\n\t * \t@value warning 黄色\r\n\t * \t@value error 红色\r\n\t * @property {String} inverted = [true|false] 是否无需背景颜色\r\n\t * @property {Number} maxNum 展示封顶的数字值,超过 99 显示 99+\r\n\t * @property {String} absolute = [rightTop|rightBottom|leftBottom|leftTop] 开启绝对定位, 角标将定位到其包裹的标签的四角上\r\n\t * \t@value rightTop 右上\r\n\t * \t@value rightBottom 右下\r\n\t * \t@value leftTop 左上\r\n\t * \t@value leftBottom 左下\r\n\t * @property {Array[number]} offset\t距定位角中心点的偏移量,只有存在 absolute 属性时有效,例如:[-10, -10] 表示向外偏移 10px,[10, 10] 表示向 absolute 指定的内偏移 10px\r\n\t * @property {String} isDot = [true|false] 是否显示为一个小点\r\n\t * @event {Function} click 点击 Badge 触发事件\r\n\t * @example <uni-badge text=\"1\"></uni-badge>\r\n\t */\r\n\r\n\texport default {\r\n\t\tname: 'UniBadge',\r\n\t\temits: ['click'],\r\n\t\tprops: {\r\n\t\t\ttype: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'error'\r\n\t\t\t},\r\n\t\t\tinverted: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t},\r\n\t\t\tisDot: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: false\r\n\t\t\t},\r\n\t\t\tmaxNum: {\r\n\t\t\t\ttype: Number,\r\n\t\t\t\tdefault: 99\r\n\t\t\t},\r\n\t\t\tabsolute: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\toffset: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault () {\r\n\t\t\t\t\treturn [0, 0]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttext: {\r\n\t\t\t\ttype: [String, Number],\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'small'\r\n\t\t\t},\r\n\t\t\tcustomStyle: {\r\n\t\t\t\ttype: Object,\r\n\t\t\t\tdefault () {\r\n\t\t\t\t\treturn {}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\twidth() {\r\n\t\t\t\treturn String(this.text).length * 8 + 12\r\n\t\t\t},\r\n\t\t\tclassNames() {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tinverted,\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\tsize,\r\n\t\t\t\t\tabsolute\r\n\t\t\t\t} = this\r\n\t\t\t\treturn [\r\n\t\t\t\t\tinverted ? 'uni-badge--' + type + '-inverted' : '',\r\n\t\t\t\t\t'uni-badge--' + type,\r\n\t\t\t\t\t'uni-badge--' + size,\r\n\t\t\t\t\tabsolute ? 'uni-badge--absolute' : ''\r\n\t\t\t\t].join(' ')\r\n\t\t\t},\r\n\t\t\tpositionStyle() {\r\n\t\t\t\tif (!this.absolute) return {}\r\n\t\t\t\tlet w = this.width / 2,\r\n\t\t\t\t\th = 10\r\n\t\t\t\tif (this.isDot) {\r\n\t\t\t\t\tw = 5\r\n\t\t\t\t\th = 5\r\n\t\t\t\t}\r\n\t\t\t\tconst x = `${- w  + this.offset[0]}px`\r\n\t\t\t\tconst y = `${- h + this.offset[1]}px`\r\n\r\n\t\t\t\tconst whiteList = {\r\n\t\t\t\t\trightTop: {\r\n\t\t\t\t\t\tright: x,\r\n\t\t\t\t\t\ttop: y\r\n\t\t\t\t\t},\r\n\t\t\t\t\trightBottom: {\r\n\t\t\t\t\t\tright: x,\r\n\t\t\t\t\t\tbottom: y\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleftBottom: {\r\n\t\t\t\t\t\tleft: x,\r\n\t\t\t\t\t\tbottom: y\r\n\t\t\t\t\t},\r\n\t\t\t\t\tleftTop: {\r\n\t\t\t\t\t\tleft: x,\r\n\t\t\t\t\t\ttop: y\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tconst match = whiteList[this.absolute]\r\n\t\t\t\treturn match ? match : whiteList['rightTop']\r\n\t\t\t},\r\n\t\t\tdotStyle() {\r\n\t\t\t\tif (!this.isDot) return {}\r\n\t\t\t\treturn {\r\n\t\t\t\t\twidth: '10px',\r\n\t\t\t\t\tminWidth: '0',\r\n\t\t\t\t\theight: '10px',\r\n\t\t\t\t\tpadding: '0',\r\n\t\t\t\t\tborderRadius: '10px'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdisplayValue() {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tisDot,\r\n\t\t\t\t\ttext,\r\n\t\t\t\t\tmaxNum\r\n\t\t\t\t} = this\r\n\t\t\t\treturn isDot ? '' : (Number(text) > maxNum ? `${maxNum}+` : text)\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tonClick() {\r\n\t\t\t\tthis.$emit('click');\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"scss\" >\r\n\t$uni-primary: #2979ff !default;\r\n\t$uni-success: #4cd964 !default;\r\n\t$uni-warning: #f0ad4e !default;\r\n\t$uni-error: #dd524d !default;\r\n\t$uni-info: #909399 !default;\r\n\r\n\r\n\t$bage-size: 12px;\r\n\t$bage-small: scale(0.8);\r\n\r\n\t.uni-badge--x {\r\n\t\t/* #ifdef APP-NVUE */\r\n\t\t// align-self: flex-start;\r\n\t\t/* #endif */\r\n\t\t/* #ifndef APP-NVUE */\r\n\t\tdisplay: inline-block;\r\n\t\t/* #endif */\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.uni-badge--absolute {\r\n\t\tposition: absolute;\r\n\t}\r\n\r\n\t.uni-badge--small {\r\n\t\ttransform: $bage-small;\r\n\t\ttransform-origin: center center;\r\n\t}\r\n\r\n\t.uni-badge {\r\n\t\t/* #ifndef APP-NVUE */\r\n\t\tdisplay: flex;\r\n\t\toverflow: hidden;\r\n\t\tbox-sizing: border-box;\n\t\tfont-feature-settings: \"tnum\";\n\t\tmin-width: 20px;\r\n\t\t/* #endif */\r\n\t\tjustify-content: center;\r\n\t\tflex-direction: row;\r\n\t\theight: 20px;\r\n\t\tpadding: 0 4px;\r\n\t\tline-height: 18px;\r\n\t\tcolor: #fff;\r\n\t\tborder-radius: 100px;\r\n\t\tbackground-color: $uni-info;\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid #fff;\r\n\t\ttext-align: center;\r\n\t\tfont-family: 'Helvetica Neue', Helvetica, sans-serif;\r\n\t\tfont-size: $bage-size;\r\n\t\t/* #ifdef H5 */\r\n\t\tz-index: 999;\r\n\t\tcursor: pointer;\r\n\t\t/* #endif */\r\n\r\n\t\t&--info {\r\n\t\t\tcolor: #fff;\r\n\t\t\tbackground-color: $uni-info;\r\n\t\t}\r\n\r\n\t\t&--primary {\r\n\t\t\tbackground-color: $uni-primary;\r\n\t\t}\r\n\r\n\t\t&--success {\r\n\t\t\tbackground-color: $uni-success;\r\n\t\t}\r\n\r\n\t\t&--warning {\r\n\t\t\tbackground-color: $uni-warning;\r\n\t\t}\r\n\r\n\t\t&--error {\r\n\t\t\tbackground-color: $uni-error;\r\n\t\t}\r\n\r\n\t\t&--inverted {\r\n\t\t\tpadding: 0 5px 0 0;\r\n\t\t\tcolor: $uni-info;\r\n\t\t}\r\n\r\n\t\t&--info-inverted {\r\n\t\t\tcolor: $uni-info;\r\n\t\t\tbackground-color: transparent;\r\n\t\t}\r\n\r\n\t\t&--primary-inverted {\r\n\t\t\tcolor: $uni-primary;\r\n\t\t\tbackground-color: transparent;\r\n\t\t}\r\n\r\n\t\t&--success-inverted {\r\n\t\t\tcolor: $uni-success;\r\n\t\t\tbackground-color: transparent;\r\n\t\t}\r\n\r\n\t\t&--warning-inverted {\r\n\t\t\tcolor: $uni-warning;\r\n\t\t\tbackground-color: transparent;\r\n\t\t}\r\n\r\n\t\t&--error-inverted {\r\n\t\t\tcolor: $uni-error;\r\n\t\t\tbackground-color: transparent;\r\n\t\t}\r\n\r\n\t}\r\n</style>\r\n","import Component from 'D:/HBuilderProjects/园博园/uni_modules/uni-badge/components/uni-badge/uni-badge.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;AAkCC,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,UAAW;AACV,eAAO,CAAC,GAAG,CAAC;AAAA,MACb;AAAA,IACA;AAAA,IACD,MAAM;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACT;AAAA,IACD,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAW;AACV,eAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO;EACP;AAAA,EACD,UAAU;AAAA,IACT,QAAQ;AACP,aAAO,OAAO,KAAK,IAAI,EAAE,SAAS,IAAI;AAAA,IACtC;AAAA,IACD,aAAa;AACZ,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACG;AACJ,aAAO;AAAA,QACN,WAAW,gBAAgB,OAAO,cAAc;AAAA,QAChD,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,WAAW,wBAAwB;AAAA,MACpC,EAAE,KAAK,GAAG;AAAA,IACV;AAAA,IACD,gBAAgB;AACf,UAAI,CAAC,KAAK;AAAU,eAAO,CAAC;AAC5B,UAAI,IAAI,KAAK,QAAQ,GACpB,IAAI;AACL,UAAI,KAAK,OAAO;AACf,YAAI;AACJ,YAAI;AAAA,MACL;AACA,YAAM,IAAI,GAAG,CAAE,IAAK,KAAK,OAAO,CAAC,CAAC;AAClC,YAAM,IAAI,GAAG,CAAE,IAAI,KAAK,OAAO,CAAC,CAAC;AAEjC,YAAM,YAAY;AAAA,QACjB,UAAU;AAAA,UACT,OAAO;AAAA,UACP,KAAK;AAAA,QACL;AAAA,QACD,aAAa;AAAA,UACZ,OAAO;AAAA,UACP,QAAQ;AAAA,QACR;AAAA,QACD,YAAY;AAAA,UACX,MAAM;AAAA,UACN,QAAQ;AAAA,QACR;AAAA,QACD,SAAS;AAAA,UACR,MAAM;AAAA,UACN,KAAK;AAAA,QACN;AAAA,MACD;AACA,YAAM,QAAQ,UAAU,KAAK,QAAQ;AACrC,aAAO,QAAQ,QAAQ,UAAU,UAAU;AAAA,IAC3C;AAAA,IACD,WAAW;AACV,UAAI,CAAC,KAAK;AAAO,eAAO,CAAC;AACzB,aAAO;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,IACA;AAAA,IACD,eAAe;AACd,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACG;AACJ,aAAO,QAAQ,KAAM,OAAO,IAAI,IAAI,SAAS,GAAG,MAAM,MAAM;AAAA,IAC7D;AAAA,EACA;AAAA,EACD,SAAS;AAAA,IACR,UAAU;AACT,WAAK,MAAM,OAAO;AAAA,IACnB;AAAA,EACD;;;;;;;;;;;;;;;AC1JF,GAAG,gBAAgB,SAAS;"}