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

1 line
14 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"version":3,"sources":["webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?b769","webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?5675","webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?8d1c","webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?492c","uni-app:///uview-ui/components/u-count-down/u-count-down.vue","webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?e78c","webpack:///C:/Users/lenovo/Desktop/uni-Identify-quality/uview-ui/components/u-count-down/u-count-down.vue?c5b2"],"names":["name","mixins","data","timer","timeData","formattedTime","runing","endTime","remainTime","watch","time","mounted","methods","init","start","toTick","macroTick","microTick","getRemainTime","setRemainTime","reset","pause","clearTimeout","beforeDestroy"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqI;AACrI;AACgE;AACL;AACsC;;;AAGjG;AACgL;AAChL,gBAAgB,uLAAU;AAC1B,EAAE,kFAAM;AACR,EAAE,mGAAM;AACR,EAAE,4GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,uGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA0qB,CAAgB,wqBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;ACS9rB;AACA;;;;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,eAeA;EACAA;EACAC;EACAC;IACA;MACAC;MACA;MACAC;MACA;MACAC;MACA;MACAC;MACAC;MAAA;MACAC;IACA;EACA;;EACAC;IACAC;MACA;IACA;EACA;EACAC;IACA;EACA;EACAC;IACAC;MACA;IACA;IACA;IACAC;MACA;MACA;MACA;MACA;MACA;MACA;IACA;IACA;IACAC;MACA;QACA;MACA;QACA;MACA;IACA;IACAC;MAAA;MACA;MACA;MACA;MACA;QACA;QACA;QACA;QACA;UACA;QACA;QACA;QACA;UACA;QACA;MACA;IACA;IACAC;MAAA;MACA;MACA;QACA;QACA;UACA;QACA;MACA;IACA;IACA;IACAC;MACA;MACA;IACA;IACA;IACAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;QACA;QACA;MACA;IACA;IACA;IACAC;MACA;MACA;MACA;MACA;QACA;MACA;IACA;IACA;IACAC;MACA;MACA;IACA;IACA;IACAC;MAAA;QAAA;MAAA;MAAA;QAAA;MAAA;MAAA;IAAA;MACAA;MACA;IACA;EACA;EACAC;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC/IA;AAAA;AAAA;AAAA;AAAiyC,CAAgB,utCAAG,EAAC,C;;;;;;;;;;;ACArzC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"uview-ui/components/u-count-down/u-count-down.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./u-count-down.vue?vue&type=template&id=7ebf7480&scoped=true&\"\nvar renderjs\nimport script from \"./u-count-down.vue?vue&type=script&lang=js&\"\nexport * from \"./u-count-down.vue?vue&type=script&lang=js&\"\nimport style0 from \"./u-count-down.vue?vue&type=style&index=0&id=7ebf7480&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ebf7480\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"uview-ui/components/u-count-down/u-count-down.vue\"\nexport default component.exports","export * from \"-!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-count-down.vue?vue&type=template&id=7ebf7480&scoped=true&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-count-down.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-count-down.vue?vue&type=script&lang=js&\"","<template>\r\n\t<view class=\"u-count-down\">\r\n\t\t<slot>\r\n\t\t\t<text class=\"u-count-down__text\">{{ formattedTime }}</text>\r\n\t\t</slot>\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\timport props from './props.js';\r\n\timport {\r\n\t\tisSameSecond,\r\n\t\tparseFormat,\r\n\t\tparseTimeData\r\n\t} from './utils';\r\n\t/**\r\n\t * u-count-down 倒计时\r\n\t * @description 该组件一般使用于某个活动的截止时间上,通过数字的变化,给用户明确的时间感受,提示用户进行某一个行为操作。\r\n\t * @tutorial https://uviewui.com/components/countDown.html\r\n\t * @property {String | Number}\ttime\t\t倒计时时长单位ms (默认 0 \r\n\t * @property {String}\t\t\tformat\t\t时间格式DD-日HH-时mm-分ss-秒SSS-毫秒 (默认 'HH:mm:ss' \r\n\t * @property {Boolean}\t\t\tautoStart\t是否自动开始倒计时 (默认 true \r\n\t * @property {Boolean}\t\t\tmillisecond\t是否展示毫秒倒计时 (默认 false \r\n\t * @event {Function} finish 倒计时结束时触发 \r\n\t * @event {Function} change 倒计时变化时触发 \r\n\t * @event {Function} start\t开始倒计时\r\n\t * @event {Function} pause\t暂停倒计时 \r\n\t * @event {Function} reset\t重设倒计时若 auto-start 为 true重设后会自动开始倒计时 \r\n\t * @example <u-count-down :time=\"time\"></u-count-down>\r\n\t */\r\n\texport default {\r\n\t\tname: 'u-count-down',\r\n\t\tmixins: [uni.$u.mpMixin, uni.$u.mixin, props],\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttimer: null,\r\n\t\t\t\t// 各单位(天,时,分等)剩余时间\r\n\t\t\t\ttimeData: parseTimeData(0),\r\n\t\t\t\t// 格式化后的时间,如\"03:23:21\"\r\n\t\t\t\tformattedTime: '0',\r\n\t\t\t\t// 倒计时是否正在进行中\r\n\t\t\t\truning: false,\r\n\t\t\t\tendTime: 0, // 结束的毫秒时间戳\r\n\t\t\t\tremainTime: 0, // 剩余的毫秒时间\r\n\t\t\t}\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\ttime(n) {\r\n\t\t\t\tthis.reset()\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.init()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tinit() {\r\n\t\t\t\tthis.reset()\r\n\t\t\t},\r\n\t\t\t// 开始倒计时\r\n\t\t\tstart() {\r\n\t\t\t\tif (this.runing) return\r\n\t\t\t\t// 标识为进行中\r\n\t\t\t\tthis.runing = true\r\n\t\t\t\t// 结束时间戳 = 此刻时间戳 + 剩余的时间\r\n\t\t\t\tthis.endTime = Date.now() + this.remainTime\r\n\t\t\t\tthis.toTick()\r\n\t\t\t},\r\n\t\t\t// 根据是否展示毫秒,执行不同操作函数\r\n\t\t\ttoTick() {\r\n\t\t\t\tif (this.millisecond) {\r\n\t\t\t\t\tthis.microTick()\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.macroTick()\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmacroTick() {\r\n\t\t\t\tthis.clearTimeout()\r\n\t\t\t\t// 每隔一定时间,更新一遍定时器的值\r\n\t\t\t\t// 同时此定时器的作用也能带来毫秒级的更新\r\n\t\t\t\tthis.timer = setTimeout(() => {\r\n\t\t\t\t\t// 获取剩余时间\r\n\t\t\t\t\tconst remain = this.getRemainTime()\r\n\t\t\t\t\t// 重设剩余时间\r\n\t\t\t\t\tif (!isSameSecond(remain, this.remainTime) || remain === 0) {\r\n\t\t\t\t\t\tthis.setRemainTime(remain)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// 如果剩余时间不为0则继续检查更新倒计时\r\n\t\t\t\t\tif (this.remainTime !== 0) {\r\n\t\t\t\t\t\tthis.macroTick()\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 30)\r\n\t\t\t},\r\n\t\t\tmicroTick() {\r\n\t\t\t\tthis.clearTimeout()\r\n\t\t\t\tthis.timer = setTimeout(() => {\r\n\t\t\t\t\tthis.setRemainTime(this.getRemainTime())\r\n\t\t\t\t\tif (this.remainTime !== 0) {\r\n\t\t\t\t\t\tthis.microTick()\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 50)\r\n\t\t\t},\r\n\t\t\t// 获取剩余的时间\r\n\t\t\tgetRemainTime() {\r\n\t\t\t\t// 取最大值防止出现小于0的剩余时间值\r\n\t\t\t\treturn Math.max(this.endTime - Date.now(), 0)\r\n\t\t\t},\r\n\t\t\t// 设置剩余的时间\r\n\t\t\tsetRemainTime(remain) {\r\n\t\t\t\tthis.remainTime = remain\r\n\t\t\t\t// 根据剩余的毫秒时间,得出该有天,小时,分钟等的值,返回一个对象\r\n\t\t\t\tconst timeData = parseTimeData(remain)\r\n\t\t\t\tthis.$emit('change', timeData)\r\n\t\t\t\t// 得出格式化后的时间\r\n\t\t\t\tthis.formattedTime = parseFormat(this.format, timeData)\r\n\t\t\t\t// 如果时间已到,停止倒计时\r\n\t\t\t\tif (remain <= 0) {\r\n\t\t\t\t\tthis.pause()\r\n\t\t\t\t\tthis.$emit('finish')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 重置倒计时\r\n\t\t\treset() {\r\n\t\t\t\tthis.pause()\r\n\t\t\t\tthis.remainTime = this.time\r\n\t\t\t\tthis.setRemainTime(this.remainTime)\r\n\t\t\t\tif (this.autoStart) {\r\n\t\t\t\t\tthis.start()\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t// 暂停倒计时\r\n\t\t\tpause() {\r\n\t\t\t\tthis.runing = false;\r\n\t\t\t\tthis.clearTimeout()\r\n\t\t\t},\r\n\t\t\t// 清空定时器\r\n\t\t\tclearTimeout() {\r\n\t\t\t\tclearTimeout(this.timer)\r\n\t\t\t\tthis.timer = null\r\n\t\t\t}\r\n\t\t},\r\n\t\tbeforeDestroy() {\r\n\t\t\tthis.clearTimeout()\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style\r\n\tlang=\"scss\"\r\n\tscoped\r\n>\r\n\t@import \"../../libs/css/components.scss\";\r\n\t$u-count-down-text-color:$u-content-color !default;\r\n\t$u-count-down-text-font-size:15px !default;\r\n\t$u-count-down-text-line-height:22px !default;\r\n\r\n\t.u-count-down {\r\n\t\t&__text {\r\n\t\t\tcolor: $u-count-down-text-color;\r\n\t\t\tfont-size: $u-count-down-text-font-size;\r\n\t\t\tline-height: $u-count-down-text-line-height;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-count-down.vue?vue&type=style&index=0&id=7ebf7480&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../Downloads/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-count-down.vue?vue&type=style&index=0&id=7ebf7480&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1695205127803\n var cssReload = require(\"C:/Users/lenovo/Downloads/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}