first commit

This commit is contained in:
lingxiao865
2026-02-10 08:05:03 +08:00
commit c5af079d8c
1094 changed files with 97530 additions and 0 deletions

View File

@@ -0,0 +1 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\t// 检查是否已登录\r\n\t\t\tconst token = uni.getStorageSync('token')\r\n\t\t\tif (!token) {\r\n\t\t\t\t// 未登录,跳转到登录页\r\n\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\turl: '/pages/login/login'\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\t\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/* 全局样式 */\r\n\tpage, body {\r\n\t\tbackground-color: #F8F9FA;\r\n\t\tcolor: #333333;\r\n\t\tfont-size: 28rpx;\r\n\t\tline-height: 1.6;\r\n\t\theight: 100%;\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t/* 通用容器 */\r\n\tview {\r\n\t\tbox-sizing: border-box;\r\n\t}\r\n\r\n\t/* 移除所有按钮的默认边框和阴影 */\r\n\tbutton {\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: none !important;\r\n\t\toutline: none !important;\r\n\t}\r\n\r\n\tbutton::after {\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\r\n\tbutton:active {\r\n\t\tbackground: none !important;\r\n\t}\r\n\r\n\t/* 主按钮样式 */\r\n\t.btn-primary {\r\n\t\tbackground: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%) !important;\r\n\t\tcolor: #FFFFFF !important;\r\n\t\tborder: none !important;\r\n\t\tbox-shadow: 0 4rpx 12rpx rgba(255, 122, 0, 0.3);\r\n\t}\r\n\r\n\t/* 次要按钮样式 */\r\n\t.btn-secondary {\r\n\t\tbackground: #F5F5F5 !important;\r\n\t\tcolor: #666666 !important;\r\n\t\tborder: 2rpx solid #E0E0E0 !important;\r\n\t}\r\n\r\n\t/* 线框按钮样式 */\r\n\t.btn-outline {\r\n\t\tbackground: transparent !important;\r\n\t\tcolor: #FF7A00 !important;\r\n\t\tborder: 2rpx solid #FF7A00 !important;\r\n\t}\r\n</style>\r\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\r\nimport '@tdesign/uniapp/common/style/theme/index.css';\r\n\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AAEpB,UAAM,QAAQA,cAAAA,MAAI,eAAe,OAAO;AACxC,QAAI,CAAC,OAAO;AAEXA,oBAAAA,MAAI,SAAS;AAAA,QACZ,KAAK;AAAA,OACL;AAAA,IACF;AAAA,EACA;AAAA,EACD,QAAQ,WAAW;AAAA,EAElB;AAAA,EACD,QAAQ,WAAW;AAAA,EAEnB;AACD;ACDM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"computed.js","sources":["uni_modules/tdesign-uniapp/components/badge/computed.js"],"sourcesContent":["export const getBadgeValue = function (props) {\n if (props.dot) {\n return '';\n }\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(props.count) || isNaN(props.maxCount)) {\n return props.count;\n }\n return parseInt(props.count, 10) > props.maxCount ? `${props.maxCount}+` : props.count;\n};\n\nexport const hasUnit = function (unit) {\n return (\n unit.indexOf('px') > 0\n || unit.indexOf('rpx') > 0\n || unit.indexOf('em') > 0\n || unit.indexOf('rem') > 0\n || unit.indexOf('%') > 0\n || unit.indexOf('vh') > 0\n || unit.indexOf('vm') > 0\n );\n};\n\nexport const getBadgeStyles = function (props) {\n let styleStr = '';\n if (props.color) {\n styleStr += `background:${props.color};`;\n }\n if (props.offset?.[0]) {\n styleStr\n += `left: calc(100% + ${hasUnit(props.offset[0].toString()) ? props.offset[0] : `${props.offset[0]}px`});`;\n }\n if (props.offset?.[1]) {\n styleStr += `top:${hasUnit(props.offset[1].toString()) ? props.offset[1] : `${props.offset[1]}px`};`;\n }\n return styleStr;\n};\n\n\nexport const getBadgeInnerClass = function (props) {\n const baseClass = props.classPrefix;\n const classNames = [\n `${baseClass}--basic`,\n props.dot ? `${baseClass}--dot` : '',\n `${baseClass}--${props.size}`,\n `${baseClass}--${props.shape}`,\n !props.dot ? `${baseClass}--count` : '',\n ];\n return classNames.join(' ');\n};\n\nexport const isShowBadge = function (props) {\n if (props.dot) {\n return true;\n }\n // eslint-disable-next-line no-restricted-globals\n if (!props.showZero && !isNaN(props.count) && parseInt(props.count, 10) === 0) {\n return false;\n }\n if (props.count == null) return false;\n return true;\n};\n\n"],"names":[],"mappings":";AAAY,MAAC,gBAAgB,SAAU,OAAO;AAC5C,MAAI,MAAM,KAAK;AACb,WAAO;AAAA,EACR;AAED,MAAI,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,QAAQ,GAAG;AAC/C,WAAO,MAAM;AAAA,EACd;AACD,SAAO,SAAS,MAAM,OAAO,EAAE,IAAI,MAAM,WAAW,GAAG,MAAM,QAAQ,MAAM,MAAM;AACnF;AAEO,MAAM,UAAU,SAAU,MAAM;AACrC,SACE,KAAK,QAAQ,IAAI,IAAI,KAClB,KAAK,QAAQ,KAAK,IAAI,KACtB,KAAK,QAAQ,IAAI,IAAI,KACrB,KAAK,QAAQ,KAAK,IAAI,KACtB,KAAK,QAAQ,GAAG,IAAI,KACpB,KAAK,QAAQ,IAAI,IAAI,KACrB,KAAK,QAAQ,IAAI,IAAI;AAE5B;AAEY,MAAC,iBAAiB,SAAU,OAAO;;AAC7C,MAAI,WAAW;AACf,MAAI,MAAM,OAAO;AACf,gBAAY,cAAc,MAAM,KAAK;AAAA,EACtC;AACD,OAAI,WAAM,WAAN,mBAAe,IAAI;AACrB,gBACK,qBAAqB,QAAQ,MAAM,OAAO,CAAC,EAAE,SAAU,CAAA,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI;AAAA,EACzG;AACD,OAAI,WAAM,WAAN,mBAAe,IAAI;AACrB,gBAAY,OAAO,QAAQ,MAAM,OAAO,CAAC,EAAE,SAAQ,CAAE,IAAI,MAAM,OAAO,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI;AAAA,EAClG;AACD,SAAO;AACT;AAGY,MAAC,qBAAqB,SAAU,OAAO;AACjD,QAAM,YAAY,MAAM;AACxB,QAAM,aAAa;AAAA,IACjB,GAAG,SAAS;AAAA,IACZ,MAAM,MAAM,GAAG,SAAS,UAAU;AAAA,IAClC,GAAG,SAAS,KAAK,MAAM,IAAI;AAAA,IAC3B,GAAG,SAAS,KAAK,MAAM,KAAK;AAAA,IAC5B,CAAC,MAAM,MAAM,GAAG,SAAS,YAAY;AAAA,EACzC;AACE,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEY,MAAC,cAAc,SAAU,OAAO;AAC1C,MAAI,MAAM,KAAK;AACb,WAAO;AAAA,EACR;AAED,MAAI,CAAC,MAAM,YAAY,CAAC,MAAM,MAAM,KAAK,KAAK,SAAS,MAAM,OAAO,EAAE,MAAM,GAAG;AAC7E,WAAO;AAAA,EACR;AACD,MAAI,MAAM,SAAS;AAAM,WAAO;AAChC,SAAO;AACT;;;;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/badge/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdBadgeProps } from './type';\nexport default {\n /** 颜色 */\n color: {\n type: String,\n default: '',\n },\n /** 徽标内容,示例:`content='自定义内容'`。也可以使用默认插槽定义 */\n content: {\n type: String,\n default: '',\n },\n /** 徽标右上角内容。可以是数字,也可以是文字。如:'new'/3/99+。特殊:值为空表示使用插槽渲染 */\n count: {\n type: [String, Number],\n default: 0 as TdBadgeProps['count'],\n },\n /** 是否为红点 */\n dot: Boolean,\n /** 封顶的数字值 */\n maxCount: {\n type: Number,\n default: 99,\n },\n /** 设置状态点的位置偏移,示例:[-10, 20] 或 ['10em', '8rem'] */\n offset: {\n type: Array,\n },\n /** 徽标形状,其中 ribbon 和 ribbon-right 等效 */\n shape: {\n type: String,\n default: 'circle' as TdBadgeProps['shape'],\n validator(val: TdBadgeProps['shape']): boolean {\n if (!val) return true;\n return ['circle', 'square', 'bubble', 'ribbon', 'ribbon-right', 'ribbon-left', 'triangle-right', 'triangle-left'].includes(val);\n },\n },\n /** 当数值为 0 时,是否展示徽标 */\n showZero: Boolean,\n /** 尺寸 */\n size: {\n type: String,\n default: 'medium' as TdBadgeProps['size'],\n validator(val: TdBadgeProps['size']): boolean {\n if (!val) return true;\n return ['medium', 'large'].includes(val);\n },\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,KAAK;AAAA;AAAA,EAEL,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAqC;AAC7C,UAAI,CAAC;AAAY,eAAA;AACV,aAAA,CAAC,UAAU,UAAU,UAAU,UAAU,gBAAgB,eAAe,kBAAkB,eAAe,EAAE,SAAS,GAAG;AAAA,IAChI;AAAA,EACF;AAAA;AAAA,EAEA,UAAU;AAAA;AAAA,EAEV,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAoC;AAC5C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,UAAU,OAAO,EAAE,SAAS,GAAG;AAAA,IACzC;AAAA,EACF;AACF;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"bus.js","sources":["uni_modules/tdesign-uniapp/components/common/bus.js"],"sourcesContent":["export default class Bus {\n constructor() {\n this.listeners = new Map();\n this.emitted = new Map(); // 改为Map存储事件参数\n this.onceListeners = new Map();\n }\n\n on(evtName, listener) {\n const target = this.listeners.get(evtName) || [];\n target.push(listener);\n this.listeners.set(evtName, target);\n\n // 如果事件已触发过,用保存的参数立即执行\n if (this.emitted.has(evtName)) {\n listener(...this.emitted.get(evtName));\n }\n }\n\n once(evtName, listener) {\n // 如果事件已经触发过,立即执行并返回\n if (this.emitted.has(evtName)) {\n listener(...this.emitted.get(evtName));\n return;\n }\n\n // 封装自移除函数\n const onceWrapper = (...args) => {\n listener(...args);\n this.off(evtName, onceWrapper);\n };\n\n // 存储原始监听器用于精准移除\n const onceMap = this.onceListeners.get(evtName) || new Map();\n onceMap.set(listener, onceWrapper);\n this.onceListeners.set(evtName, onceMap);\n\n // 注册封装函数\n this.on(evtName, onceWrapper);\n }\n\n emit(evtName, ...args) {\n // 保存事件参数\n this.emitted.set(evtName, args);\n\n const listeners = this.listeners.get(evtName) || [];\n // 使用副本避免执行时修改数组\n [...listeners].forEach(func => func(...args));\n }\n\n off(evtName, listener) {\n if (listener) {\n // 处理一次性监听器的原始引用\n const onceMap = this.onceListeners.get(evtName);\n if (onceMap && onceMap.has(listener)) {\n const wrapper = onceMap.get(listener);\n this._removeListener(evtName, wrapper);\n onceMap.delete(listener);\n return;\n }\n\n // 处理普通监听器\n this._removeListener(evtName, listener);\n } else {\n // 移除所有监听器\n this.listeners.delete(evtName);\n this.onceListeners.delete(evtName);\n this.emitted.delete(evtName);\n }\n }\n\n // 私有方法:从指定事件中移除单个监听器\n _removeListener(evtName, listener) {\n const listeners = this.listeners.get(evtName);\n if (!listeners) return;\n\n const index = listeners.indexOf(listener);\n if (index > -1) {\n listeners.splice(index, 1);\n if (listeners.length === 0) {\n this.listeners.delete(evtName);\n }\n }\n }\n}\n"],"names":[],"mappings":";AAAe,MAAM,IAAI;AAAA,EACvB,cAAc;AACZ,SAAK,YAAY,oBAAI;AACrB,SAAK,UAAU,oBAAI;AACnB,SAAK,gBAAgB,oBAAI;EAC1B;AAAA,EAED,GAAG,SAAS,UAAU;AACpB,UAAM,SAAS,KAAK,UAAU,IAAI,OAAO,KAAK;AAC9C,WAAO,KAAK,QAAQ;AACpB,SAAK,UAAU,IAAI,SAAS,MAAM;AAGlC,QAAI,KAAK,QAAQ,IAAI,OAAO,GAAG;AAC7B,eAAS,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC;AAAA,IACtC;AAAA,EACF;AAAA,EAED,KAAK,SAAS,UAAU;AAEtB,QAAI,KAAK,QAAQ,IAAI,OAAO,GAAG;AAC7B,eAAS,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC;AACrC;AAAA,IACD;AAGD,UAAM,cAAc,IAAI,SAAS;AAC/B,eAAS,GAAG,IAAI;AAChB,WAAK,IAAI,SAAS,WAAW;AAAA,IACnC;AAGI,UAAM,UAAU,KAAK,cAAc,IAAI,OAAO,KAAK,oBAAI;AACvD,YAAQ,IAAI,UAAU,WAAW;AACjC,SAAK,cAAc,IAAI,SAAS,OAAO;AAGvC,SAAK,GAAG,SAAS,WAAW;AAAA,EAC7B;AAAA,EAED,KAAK,YAAY,MAAM;AAErB,SAAK,QAAQ,IAAI,SAAS,IAAI;AAE9B,UAAM,YAAY,KAAK,UAAU,IAAI,OAAO,KAAK;AAEjD,KAAC,GAAG,SAAS,EAAE,QAAQ,UAAQ,KAAK,GAAG,IAAI,CAAC;AAAA,EAC7C;AAAA,EAED,IAAI,SAAS,UAAU;AACrB,QAAI,UAAU;AAEZ,YAAM,UAAU,KAAK,cAAc,IAAI,OAAO;AAC9C,UAAI,WAAW,QAAQ,IAAI,QAAQ,GAAG;AACpC,cAAM,UAAU,QAAQ,IAAI,QAAQ;AACpC,aAAK,gBAAgB,SAAS,OAAO;AACrC,gBAAQ,OAAO,QAAQ;AACvB;AAAA,MACD;AAGD,WAAK,gBAAgB,SAAS,QAAQ;AAAA,IAC5C,OAAW;AAEL,WAAK,UAAU,OAAO,OAAO;AAC7B,WAAK,cAAc,OAAO,OAAO;AACjC,WAAK,QAAQ,OAAO,OAAO;AAAA,IAC5B;AAAA,EACF;AAAA;AAAA,EAGD,gBAAgB,SAAS,UAAU;AACjC,UAAM,YAAY,KAAK,UAAU,IAAI,OAAO;AAC5C,QAAI,CAAC;AAAW;AAEhB,UAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,QAAI,QAAQ,IAAI;AACd,gBAAU,OAAO,OAAO,CAAC;AACzB,UAAI,UAAU,WAAW,GAAG;AAC1B,aAAK,UAAU,OAAO,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACH;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"config.js","sources":["uni_modules/tdesign-uniapp/components/common/config.js"],"sourcesContent":["export default {\n data() {\n return {};\n },\n prefix: 't',\n};\nexport const prefix = 't';\n\nexport const ISOLATED_RELATION_KEY = '-1';\n"],"names":[],"mappings":";AAMY,MAAC,SAAS;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"mixin.js","sources":["uni_modules/tdesign-uniapp/components/common/functional/mixin.js"],"sourcesContent":["function formatPropKey(key) {\n return key.replace(/^(\\w)/, (a, b) => `data${b.toUpperCase()}`);\n}\n\n\nfunction getPropsWatch(props) {\n const watchProps = Object.keys(props).reduce((acc, item) => {\n acc[item] = {\n handler(val) {\n this[formatPropKey(item)] = val;\n },\n };\n return acc;\n }, {});\n return watchProps;\n}\n\n\nfunction getPropsData(context, props) {\n const propsData = Object.keys(props).reduce((acc, item) => {\n acc[formatPropKey(item)] = context[item];\n return acc;\n }, {});\n return propsData;\n}\n\n\nfunction setPropsToData(data) {\n Object.keys(data).forEach((key) => {\n this[formatPropKey(key)] = data[key];\n });\n}\n\n\nexport function getFunctionalMixin(dialogProps) {\n return {\n data() {\n return {\n ...getPropsData(this, dialogProps),\n };\n },\n watch: {\n ...getPropsWatch(dialogProps),\n },\n methods: {\n setData(data) {\n setPropsToData.call(this, data);\n },\n },\n };\n}\n"],"names":[],"mappings":";AAAA,SAAS,cAAc,KAAK;AAC1B,SAAO,IAAI,QAAQ,SAAS,CAAC,GAAG,MAAM,OAAO,EAAE,YAAa,CAAA,EAAE;AAChE;AAGA,SAAS,cAAc,OAAO;AAC5B,QAAM,aAAa,OAAO,KAAK,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS;AAC1D,QAAI,IAAI,IAAI;AAAA,MACV,QAAQ,KAAK;AACX,aAAK,cAAc,IAAI,CAAC,IAAI;AAAA,MAC7B;AAAA,IACP;AACI,WAAO;AAAA,EACR,GAAE,CAAE,CAAA;AACL,SAAO;AACT;AAGA,SAAS,aAAa,SAAS,OAAO;AACpC,QAAM,YAAY,OAAO,KAAK,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS;AACzD,QAAI,cAAc,IAAI,CAAC,IAAI,QAAQ,IAAI;AACvC,WAAO;AAAA,EACR,GAAE,CAAE,CAAA;AACL,SAAO;AACT;AAGA,SAAS,eAAe,MAAM;AAC5B,SAAO,KAAK,IAAI,EAAE,QAAQ,CAAC,QAAQ;AACjC,SAAK,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG;AAAA,EACvC,CAAG;AACH;AAGO,SAAS,mBAAmB,aAAa;AAC9C,SAAO;AAAA,IACL,OAAO;AACL,aAAO;AAAA,QACL,GAAG,aAAa,MAAM,WAAW;AAAA,MACzC;AAAA,IACK;AAAA,IACD,OAAO;AAAA,MACL,GAAG,cAAc,WAAW;AAAA,IAC7B;AAAA,IACD,SAAS;AAAA,MACP,QAAQ,MAAM;AACZ,uBAAe,KAAK,MAAM,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACL;AACA;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"parent-map.js","sources":["uni_modules/tdesign-uniapp/components/common/relation/parent-map.js"],"sourcesContent":["export const RELATION_MAP = {\n CollapsePanel: 'Collapse',\n TabPanel: 'Tabs',\n\n StepItem: 'Steps',\n TabBarItem: 'TabBar',\n SideBarItem: 'SideBar',\n GridItem: 'Grid',\n DropdownItem: 'DropdownMenu',\n\n Radio: 'RadioGroup',\n Checkbox: 'CheckboxGroup',\n Cell: 'CellGroup',\n Avatar: 'AvatarGroup',\n PickerItem: 'Picker',\n\n IndexesAnchor: 'Indexes',\n SwiperNav: 'Swiper',\n\n Col: 'Row',\n BackTop: 'PullDownRefresh',\n\n FormItem: 'Form',\n\n FormKey: 'FormKey',\n};\n"],"names":[],"mappings":";AAAY,MAAC,eAAe;AAAA,EAC1B,eAAe;AAAA,EACf,UAAU;AAAA,EAEV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,UAAU;AAAA,EACV,cAAc;AAAA,EAEd,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EAEZ,eAAe;AAAA,EACf,WAAW;AAAA,EAEX,KAAK;AAAA,EACL,SAAS;AAAA,EAET,UAAU;AAAA,EAEV,SAAS;AACX;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"wxs-polyfill.js","sources":["uni_modules/tdesign-uniapp/components/common/runtime/wxs-polyfill.js"],"sourcesContent":["function getRegExp() {\n const args = Array.prototype.slice.call(arguments);\n args.unshift(RegExp);\n return new (Function.prototype.bind.apply(RegExp, args))();\n}\n\n/**\n * wxs getDate\n */\nfunction getDate() {\n const args = Array.prototype.slice.call(arguments);\n args.unshift(Date);\n return new (Function.prototype.bind.apply(Date, args))();\n}\n\nexport { getDate, getRegExp };\n"],"names":[],"mappings":";AAAA,SAAS,YAAY;AACnB,QAAM,OAAO,MAAM,UAAU,MAAM,KAAK,SAAS;AACjD,OAAK,QAAQ,MAAM;AACnB,SAAO,KAAK,SAAS,UAAU,KAAK,MAAM,QAAQ,IAAI;AACxD;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"control.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"flatTool.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"superComponent.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"validator.js","sources":["uni_modules/tdesign-uniapp/components/common/validator.js"],"sourcesContent":["export function isFunction(val) {\n return typeof val === 'function';\n}\n\nexport const isString = val => typeof val === 'string';\n\nexport const isNull = value => value === null;\n\nexport const isUndefined = value => value === undefined;\n\nexport function isDef(value) {\n return !isUndefined(value) && !isNull(value);\n}\n\nexport function isInteger(value) {\n return Number.isInteger(value);\n}\n\nexport function isNumeric(value) {\n return !Number.isNaN(Number(value));\n}\n\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n\nexport function isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nexport function isObject(x) {\n const type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nexport function isPlainObject(val) {\n return val !== null && typeof val === 'object' && Object.prototype.toString.call(val) === '[object Object]';\n}\n"],"names":[],"mappings":";AAIY,MAAC,WAAW,SAAO,OAAO,QAAQ;AAEvC,MAAM,SAAS,WAAS,UAAU;AAElC,MAAM,cAAc,WAAS,UAAU;AAEvC,SAAS,MAAM,OAAO;AAC3B,SAAO,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,KAAK;AAC7C;AAMO,SAAS,UAAU,OAAO;AAC/B,SAAO,CAAC,OAAO,MAAM,OAAO,KAAK,CAAC;AACpC;AAMO,SAAS,UAAU,OAAO;AAC/B,SAAO,OAAO,UAAU;AAC1B;AAEO,SAAS,SAAS,GAAG;AAC1B,QAAM,OAAO,OAAO;AACpB,SAAO,MAAM,SAAS,SAAS,YAAY,SAAS;AACtD;AAEO,SAAS,cAAc,KAAK;AACjC,SAAO,QAAQ,QAAQ,OAAO,QAAQ,YAAY,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAC5F;;;;;;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"version.js","sources":["uni_modules/tdesign-uniapp/components/common/version.js"],"sourcesContent":["import { getAppBaseInfo } from './wechat';\n\nlet systemInfo;\n\n// 获取系统信息\nfunction getSystemInfo() {\n if (systemInfo == null) {\n systemInfo = getAppBaseInfo();\n }\n return systemInfo;\n}\n\n// 版本号比较, 参考https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html\nexport function compareVersion(v1, v2) {\n v1 = v1.split('.');\n v2 = v2.split('.');\n const len = Math.max(v1.length, v2.length);\n\n while (v1.length < len) {\n v1.push('0');\n }\n while (v2.length < len) {\n v2.push('0');\n }\n\n for (let i = 0; i < len; i += 1) {\n const num1 = parseInt(v1[i], 10);\n const num2 = parseInt(v2[i], 10);\n\n if (num1 > num2) {\n return 1;\n }\n if (num1 < num2) {\n return -1;\n }\n }\n\n return 0;\n}\n\nfunction judgeByVersion(version) {\n const currentSDKVersion = getSystemInfo().SDKVersion;\n return compareVersion(currentSDKVersion, version) >= 0;\n}\n\nexport function canIUseFormFieldButton() {\n return judgeByVersion('2.10.3');\n}\n\nexport function canUseVirtualHost() {\n let result = false;\n\n // #ifdef MP-WEIXIN\n result = judgeByVersion('2.19.2');\n // #endif\n\n // #ifdef H5 || APP-PLUS || MP-ALIPAY\n result = true;\n // #endif\n\n return result;\n}\n\nexport function canUseProxyScrollView() {\n return judgeByVersion('2.19.2');\n}\n"],"names":["getAppBaseInfo"],"mappings":";;AAEA,IAAI;AAGJ,SAAS,gBAAgB;AACvB,MAAI,cAAc,MAAM;AACtB,iBAAaA,mDAAc,eAAA;AAAA,EAC5B;AACD,SAAO;AACT;AAGO,SAAS,eAAe,IAAI,IAAI;AACrC,OAAK,GAAG,MAAM,GAAG;AACjB,OAAK,GAAG,MAAM,GAAG;AACjB,QAAM,MAAM,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM;AAEzC,SAAO,GAAG,SAAS,KAAK;AACtB,OAAG,KAAK,GAAG;AAAA,EACZ;AACD,SAAO,GAAG,SAAS,KAAK;AACtB,OAAG,KAAK,GAAG;AAAA,EACZ;AAED,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,UAAM,OAAO,SAAS,GAAG,CAAC,GAAG,EAAE;AAC/B,UAAM,OAAO,SAAS,GAAG,CAAC,GAAG,EAAE;AAE/B,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACR;AACD,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACR;AAAA,EACF;AAED,SAAO;AACT;AAEA,SAAS,eAAe,SAAS;AAC/B,QAAM,oBAAoB,cAAe,EAAC;AAC1C,SAAO,eAAe,mBAAmB,OAAO,KAAK;AACvD;AAMO,SAAS,oBAAoB;AAClC,MAAI,SAAS;AAGb,WAAS,eAAe,QAAQ;AAOhC,SAAO;AACT;;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"wechat.js","sources":["uni_modules/tdesign-uniapp/components/common/wechat.js"],"sourcesContent":["export const getObserver = (context, selector) => new Promise((resolve) => {\n uni\n .createIntersectionObserver(context, {\n nativeMode: true,\n })\n .relativeToViewport()\n .observe(selector, (res) => {\n resolve(res);\n });\n});\n\n/**\n * 背景:单页模式下, getWindowInfo、getAppBaseInfo、getDeviceInfo 等接口均返回 undefined。\n * 复现路径分享到朋友圈再打开单页模式的该页面uni.getWindowInfo() 等接口返回 undefined\n * 代码片段https://developers.weixin.qq.com/s/mzvZ8FmH7vVW\n */\n\nexport const getWindowInfo = () => (uni.getWindowInfo ? uni.getWindowInfo() || uni.getSystemInfoSync() : uni.getSystemInfoSync());\n\nexport const getAppBaseInfo = () => (uni.getAppBaseInfo ? uni.getAppBaseInfo() || uni.getSystemInfoSync() : uni.getSystemInfoSync());\n\nexport const getDeviceInfo = () => (uni.getDeviceInfo ? uni.getDeviceInfo() || uni.getSystemInfoSync() : uni.getSystemInfoSync());\n"],"names":["uni"],"mappings":";;AAAY,MAAC,cAAc,CAAC,SAAS,aAAa,IAAI,QAAQ,CAAC,YAAY;AACzEA,gBAAG,MACA,2BAA2B,SAAS;AAAA,IACnC,YAAY;AAAA,EAClB,CAAK,EACA,mBAAoB,EACpB,QAAQ,UAAU,CAAC,QAAQ;AAC1B,YAAQ,GAAG;AAAA,EACjB,CAAK;AACL,CAAC;AAQW,MAAC,gBAAgB,MAAOA,cAAAA,MAAI,gBAAgBA,oBAAI,mBAAmBA,cAAAA,MAAI,kBAAiB,IAAKA,cAAG,MAAC,kBAAiB;AAElH,MAAC,iBAAiB,MAAOA,cAAAA,MAAI,iBAAiBA,oBAAI,oBAAoBA,cAAAA,MAAI,kBAAiB,IAAKA,cAAG,MAAC,kBAAiB;AAErH,MAAC,gBAAgB,MAAOA,cAAAA,MAAI,gBAAgBA,oBAAI,mBAAmBA,cAAAA,MAAI,kBAAiB,IAAKA,cAAG,MAAC,kBAAmB;;;;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"computed.js","sources":["uni_modules/tdesign-uniapp/components/dialog/computed.js"],"sourcesContent":["import { coalesce } from '../common/utils';\n\nexport const getTypeof = function (obj) {\n return typeof obj;\n};\n\nexport const getActionClass = function (prefix, buttonLayout, actionItem, tClassAction) {\n const cls = [`${prefix}__button`, `${prefix}__button--action`];\n\n if (buttonLayout) {\n cls.push(`${prefix}__button--${buttonLayout}`);\n }\n\n return `${cls.join(' ')} ${coalesce(actionItem.tClass, tClassAction)}`;\n};\n"],"names":["coalesce"],"mappings":";;AAMY,MAAC,iBAAiB,SAAU,QAAQ,cAAc,YAAY,cAAc;AACtF,QAAM,MAAM,CAAC,GAAG,MAAM,YAAY,GAAG,MAAM,kBAAkB;AAE7D,MAAI,cAAc;AAChB,QAAI,KAAK,GAAG,MAAM,aAAa,YAAY,EAAE;AAAA,EAC9C;AAED,SAAO,GAAG,IAAI,KAAK,GAAG,CAAC,IAAIA,kDAAQ,SAAC,WAAW,QAAQ,YAAY,CAAC;AACtE;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/dialog/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdDialogProps } from './type';\nexport default {\n /** 操作栏 */\n actions: {\n type: Array,\n },\n /** 多按钮排列方式 */\n buttonLayout: {\n type: String,\n default: 'horizontal' as TdDialogProps['buttonLayout'],\n validator(val: TdDialogProps['buttonLayout']): boolean {\n if (!val) return true;\n return ['horizontal', 'vertical'].includes(val);\n },\n },\n /** 取消按钮,可自定义。值为 null 则不显示取消按钮。值类型为字符串,则表示自定义按钮文本,值类型为 Object 则表示透传 Button 组件属性。使用 Slot 自定义按钮时,需自行控制取消事件 */\n cancelBtn: {\n type: [String, Object],\n },\n /** 是否展示关闭按钮,值为 `true` 显示默认关闭按钮;值为 `false` 则不显示关闭按钮;使用 Object 时透传至图标组件 */\n closeBtn: {\n type: [Boolean, Object],\n default: false as TdDialogProps['closeBtn'],\n },\n /** 点击蒙层时是否触发关闭事件 */\n closeOnOverlayClick: Boolean,\n /** 确认按钮。值为 null 则不显示确认按钮。值类型为字符串,则表示自定义按钮文本,值类型为 Object 则表示透传 Button 组件属性。使用 Slot 自定义按钮时,需自行控制确认事件 */\n confirmBtn: {\n type: [String, Object],\n },\n /** 内容 */\n content: {\n type: String,\n },\n /** 透传至 Overlay 组件 */\n overlayProps: {\n type: Object,\n default: () => ({}),\n },\n /** 防止滚动穿透 */\n preventScrollThrough: {\n type: Boolean,\n default: true,\n },\n /** 是否显示遮罩层 */\n showOverlay: {\n type: Boolean,\n default: true,\n },\n /** 标题 */\n title: {\n type: String,\n },\n /** 是否使用了自定义导航栏 */\n usingCustomNavbar: Boolean,\n /** 控制对话框是否显示 */\n visible: Boolean,\n /** 对话框层级Web 侧样式默认为 2500移动端样式默认 2500小程序样式默认为 11500 */\n zIndex: {\n type: Number,\n default: 11500,\n },\n /** 点击多按钮中的其中一个时触发 */\n onAction: {\n type: Function,\n default: () => ({}),\n },\n /** 如果“取消”按钮存在,则点击“取消”按钮时触发,同时触发关闭事件 */\n onCancel: {\n type: Function,\n default: () => ({}),\n },\n /** 关闭事件,点击 取消按钮 或 点击蒙层 时触发 */\n onClose: {\n type: Function,\n default: () => ({}),\n },\n /** 如果“确认”按钮存在,则点击“确认”按钮时触发 */\n onConfirm: {\n type: Function,\n default: () => ({}),\n },\n /** 如果蒙层存在,点击蒙层时触发 */\n onOverlayClick: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,SAAS;AAAA,IACP,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAA6C;AACrD,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,cAAc,UAAU,EAAE,SAAS,GAAG;AAAA,IAChD;AAAA,EACF;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,MAAM;AAAA,IACtB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,qBAAqB;AAAA;AAAA,EAErB,YAAY;AAAA,IACV,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,mBAAmB;AAAA;AAAA,EAEnB,SAAS;AAAA;AAAA,EAET,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"draggable.js","sources":["uni_modules/tdesign-uniapp/components/draggable/draggable.vue","../../../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovQUkv576O5a65L21ydW5pYXBwL3l1L3VuaV9tb2R1bGVzL3RkZXNpZ24tdW5pYXBwL2NvbXBvbmVudHMvZHJhZ2dhYmxlL2RyYWdnYWJsZS52dWU"],"sourcesContent":["<template>\n <view\n :class=\"[classPrefix, tClass]\"\n :style=\"tools._style([customStyle])\"\n @touchstart=\"onTouchStart\"\n @touchmove.stop.prevent=\"onTouchMove\"\n @touchend=\"onTouchEnd\"\n >\n <slot />\n </view>\n</template>\n<script>\nimport { uniComponent } from '../common/src/index';\nimport { prefix } from '../common/config';\nimport props from './props';\nimport { getRect, getWindowInfo } from '../common/utils';\nimport tools from '../common/utils.wxs';\n\n\nconst name = `${prefix}-draggable`;\n\nexport default uniComponent({\n name,\n options: {\n styleIsolation: 'shared',\n },\n props: {\n ...props,\n },\n emits: [\n 'move',\n 'start',\n 'end',\n ],\n data() {\n return {\n prefix,\n classPrefix: name,\n tools,\n systemInfo: getWindowInfo(),\n };\n },\n mounted() {\n this.computedRect();\n },\n methods: {\n onTouchStart(e) {\n const { systemInfo } = this;\n if (this.direction === 'none') return;\n this.startX = e.touches[0].clientX + systemInfo.windowWidth - this.rect.right;\n this.startY = e.touches[0].clientY + systemInfo.windowHeight - this.rect.bottom;\n this.$emit('start', { startX: this.startX, startY: this.startY, rect: this.rect, e });\n },\n\n onTouchMove(e) {\n const { systemInfo } = this;\n\n if (this.direction === 'none') return;\n let x = this.startX - e.touches[0].clientX; // x轴移动偏移量\n let y = this.startY - e.touches[0].clientY; // y轴移动偏移量\n\n\n if (this.direction === 'vertical') {\n x = systemInfo.windowWidth - this.rect.right;\n }\n if (this.direction === 'horizontal') {\n y = systemInfo.windowHeight - this.rect.bottom;\n }\n\n this.$emit('move', { x, y, rect: this.rect, e });\n },\n\n async onTouchEnd(e) {\n if (this.direction === 'none') return;\n await this.computedRect();\n this.$emit('end', { rect: this.rect, e });\n },\n\n async computedRect() {\n this.rect = { right: 0, bottom: 0, width: 0, height: 0 };\n try {\n this.rect = await getRect(this, `.${this.classPrefix}`);\n } catch (e) {\n // ignore reject\n }\n },\n },\n});\n</script>\n<style scoped>\n@import './draggable.css';\n</style>\n","import Component from 'D:/AI/美容/mruniapp/yu/uni_modules/tdesign-uniapp/components/draggable/draggable.vue'\nwx.createComponent(Component)"],"names":["prefix","uniComponent","props","tools","getWindowInfo","getRect"],"mappings":";;;;;;;;AAmBA,MAAM,OAAO,GAAGA,yDAAM;AAEtB,MAAK,YAAaC,uEAAAA,aAAU;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,EACjB;AAAA,EACD,OAAO;AAAA,IACL,GAAGC,qDAAK;AAAA,EACT;AAAA,EACD,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAAF,mDAAM;AAAA,MACN,aAAa;AAAA,aACbG,sDAAK;AAAA,MACL,YAAYC,mDAAAA,cAAe;AAAA;EAE9B;AAAA,EACD,UAAU;AACR,SAAK,aAAY;AAAA,EAClB;AAAA,EACD,SAAS;AAAA,IACP,aAAa,GAAG;AACd,YAAM,EAAE,WAAW,IAAI;AACvB,UAAI,KAAK,cAAc;AAAQ;AAC/B,WAAK,SAAS,EAAE,QAAQ,CAAC,EAAE,UAAU,WAAW,cAAc,KAAK,KAAK;AACxE,WAAK,SAAS,EAAE,QAAQ,CAAC,EAAE,UAAU,WAAW,eAAe,KAAK,KAAK;AACzE,WAAK,MAAM,SAAS,EAAE,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,MAAM,EAAG,CAAA;AAAA,IACrF;AAAA,IAED,YAAY,GAAG;AACb,YAAM,EAAE,WAAW,IAAI;AAEvB,UAAI,KAAK,cAAc;AAAQ;AAC/B,UAAI,IAAI,KAAK,SAAS,EAAE,QAAQ,CAAC,EAAE;AACnC,UAAI,IAAI,KAAK,SAAS,EAAE,QAAQ,CAAC,EAAE;AAGnC,UAAI,KAAK,cAAc,YAAY;AACjC,YAAI,WAAW,cAAc,KAAK,KAAK;AAAA,MACzC;AACA,UAAI,KAAK,cAAc,cAAc;AACnC,YAAI,WAAW,eAAe,KAAK,KAAK;AAAA,MAC1C;AAEA,WAAK,MAAM,QAAQ,EAAE,GAAG,GAAG,MAAM,KAAK,MAAM,EAAA,CAAG;AAAA,IAChD;AAAA,IAED,MAAM,WAAW,GAAG;AAClB,UAAI,KAAK,cAAc;AAAQ;AAC/B,YAAM,KAAK;AACX,WAAK,MAAM,OAAO,EAAE,MAAM,KAAK,MAAM,EAAA,CAAG;AAAA,IACzC;AAAA,IAED,MAAM,eAAe;AACnB,WAAK,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ;AACrD,UAAI;AACF,aAAK,OAAO,MAAMC,kDAAAA,QAAQ,MAAM,IAAI,KAAK,WAAW,EAAE;AAAA,MACxD,SAAS,GAAG;AAAA,MAEZ;AAAA,IACD;AAAA,EACF;AACH,CAAC;;;;;;;;;;;;ACtFD,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/draggable/props.js"],"sourcesContent":["const props = {\n direction: {\n type: String,\n value: 'all',\n },\n tClass: {\n type: String,\n default: '',\n },\n tClassButton: {\n type: String,\n default: '',\n },\n customStyle: {\n type: [String, Object],\n default: '',\n },\n};\nexport default props;\n"],"names":[],"mappings":";AAAK,MAAC,QAAQ;AAAA,EACZ,WAAW;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACD,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACD,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AAAA,EACD,aAAa;AAAA,IACX,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACV;AACH;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"empty.js","sources":["uni_modules/tdesign-uniapp/components/empty/empty.vue","../../../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovQUkv576O5a65L21ydW5pYXBwL3l1L3VuaV9tb2R1bGVzL3RkZXNpZ24tdW5pYXBwL2NvbXBvbmVudHMvZW1wdHkvZW1wdHkudnVl"],"sourcesContent":["<template>\n <view\n :style=\"tools._style([customStyle])\"\n :class=\"[\n tClass,\n classPrefix\n ]\"\n >\n <view\n :aria-hidden=\"true\"\n :class=\"classPrefix + '__thumb'\"\n >\n <t-image\n v-if=\"image\"\n :t-class=\"tClassImage\"\n :src=\"image\"\n mode=\"aspectFit\"\n />\n <block\n v-else-if=\"iconName || tools.isNoEmptyObj(iconData)\"\n name=\"icon\"\n >\n <t-icon\n :custom-style=\"iconData.style || ''\"\n :t-class=\"iconTClass\"\n :class=\"iconClass\"\n :prefix=\"iconData.prefix\"\n :name=\"iconName || iconData.name\"\n :size=\"iconData.size\"\n :color=\"iconData.color\"\n :aria-hidden=\"!!iconData.ariaHidden\"\n :aria-label=\"iconData.ariaLabel\"\n :aria-role=\"iconData.ariaRole\"\n />\n </block>\n <slot\n v-else\n name=\"image\"\n />\n </view>\n <view\n :class=\"[\n classPrefix + '__description ',\n tClassDescription\n ]\"\n >\n <block v-if=\"description\">\n {{ description }}\n </block>\n <slot name=\"description\" />\n </view>\n <view\n :class=\"[\n classPrefix + '__actions ',\n tClassActions\n ]\"\n >\n <slot name=\"action\" />\n </view>\n </view>\n</template>\n<script>\nimport TIcon from '../icon/icon';\nimport TImage from '../image/image';\nimport { uniComponent } from '../common/src/index';\nimport props from './props';\nimport { prefix } from '../common/config';\nimport { setIcon } from '../common/utils';\nimport tools from '../common/utils.wxs';\nimport { canUseVirtualHost } from '../common/version';\n\n\nconst name = `${prefix}-empty`;\n\n\nexport default uniComponent({\n name,\n options: {\n styleIsolation: 'shared',\n },\n externalClasses: [\n `${prefix}-class`,\n `${prefix}-class-description`,\n `${prefix}-class-image`,\n `${prefix}-class-actions`,\n ],\n components: {\n TIcon,\n TImage,\n },\n props: {\n ...props,\n },\n data() {\n return {\n prefix,\n classPrefix: name,\n\n iconName: '',\n iconData: {},\n\n tools,\n };\n },\n computed: {\n iconTClass() {\n return canUseVirtualHost() ? this.iconRealClass : '';\n },\n iconClass() {\n return !canUseVirtualHost() ? this.iconRealClass : '';\n },\n iconRealClass() {\n const { classPrefix, iconData } = this;\n return `${classPrefix}__icon ${classPrefix}__icon--${iconData.activeIdx == iconData.index ? 'active ' : ' '}`;\n },\n },\n watch: {\n icon: {\n handler(t) {\n const obj = setIcon('icon', t, '');\n\n Object.keys(obj).forEach((key) => {\n this[key] = obj[key];\n });\n },\n immediate: true,\n },\n\n },\n mounted() {\n\n },\n methods: {\n\n },\n});\n</script>\n<style scoped>\n@import './empty.css';\n</style>\n","import Component from 'D:/AI/美容/mruniapp/yu/uni_modules/tdesign-uniapp/components/empty/empty.vue'\nwx.createComponent(Component)"],"names":["prefix","uniComponent","props","tools","canUseVirtualHost","setIcon"],"mappings":";;;;;;;;AA8DA,MAAK,QAAS,MAAW;AACzB,MAAO,SAAQ,MAAW;AAS1B,MAAM,OAAO,GAAGA,yDAAM;AAGtB,MAAK,YAAaC,uEAAAA,aAAU;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,EACjB;AAAA,EACD,iBAAiB;AAAA,IACf,GAAGD,mDAAM,MAAA;AAAA,IACT,GAAGA,mDAAM,MAAA;AAAA,IACT,GAAGA,mDAAM,MAAA;AAAA,IACT,GAAGA,mDAAM,MAAA;AAAA,EACV;AAAA,EACD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AAAA,IACL,GAAGE,iDAAK;AAAA,EACT;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAAF,mDAAM;AAAA,MACN,aAAa;AAAA,MAEb,UAAU;AAAA,MACV,UAAU,CAAE;AAAA,aAEZG,sDAAK;AAAA;EAER;AAAA,EACD,UAAU;AAAA,IACR,aAAa;AACX,aAAOC,sEAAoB,IAAE,KAAK,gBAAgB;AAAA,IACnD;AAAA,IACD,YAAY;AACV,aAAO,CAACA,oDAAAA,kBAAoB,IAAE,KAAK,gBAAgB;AAAA,IACpD;AAAA,IACD,gBAAgB;AACd,YAAM,EAAE,aAAa,SAAW,IAAE;AAClC,aAAO,GAAG,WAAW,UAAU,WAAW,WAAW,SAAS,aAAa,SAAS,QAAQ,YAAY,GAAG;AAAA,IAC5G;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,QAAQ,GAAG;AACT,cAAM,MAAMC,kDAAO,QAAC,QAAQ,GAAG,EAAE;AAEjC,eAAO,KAAK,GAAG,EAAE,QAAQ,CAAC,QAAQ;AAChC,eAAK,GAAG,IAAI,IAAI,GAAG;AAAA,QACrB,CAAC;AAAA,MACF;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,EAEF;AAAA,EACD,UAAU;AAAA,EAET;AAAA,EACD,SAAS,CAER;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtID,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/empty/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nexport default {\n /** 描述文字 */\n description: {\n type: String,\n },\n /** 图标名称。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon` */\n icon: {\n type: [String, Object],\n },\n /** 图片地址 */\n image: {\n type: String,\n },\n};\n"],"names":[],"mappings":";AAMA,MAAe,QAAA;AAAA;AAAA,EAEb,aAAa;AAAA,IACX,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/fab/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdFabProps } from './type';\nexport default {\n /** 透传至 Button 组件 */\n buttonProps: {\n type: Object,\n },\n /** 是否可拖拽。`true` / `'all'`可拖动<br>`'vertical'`可垂直拖动<br>`'horizontal'`可水平拖动<br>`false`禁止拖动 */\n draggable: {\n type: [String, Boolean],\n default: false as TdFabProps['draggable'],\n },\n /** 图标 */\n icon: {\n type: String,\n default: '',\n },\n /** 悬浮按钮的样式,常用于调整位置(即将废弃,建议使用 `style` */\n style: {\n type: String,\n default: 'right: 16px; bottom: 32px;',\n },\n /** 文本内容 */\n text: {\n type: String,\n default: '',\n },\n /** 是否使用了自定义导航栏 */\n usingCustomNavbar: Boolean,\n /** 设置垂直方向边界限制,示例:[48, 48] 或 ['96px', 80] */\n yBounds: {\n type: Array,\n },\n /** 悬浮按钮点击事件 */\n onClick: {\n type: Function,\n default: () => ({}),\n },\n /** 结束拖拽时触发 */\n onDragEnd: {\n type: Function,\n default: () => ({}),\n },\n /** 开始拖拽时触发 */\n onDragStart: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,aAAa;AAAA,IACX,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,OAAO;AAAA,IACtB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,mBAAmB;AAAA;AAAA,EAEnB,SAAS;AAAA,IACP,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"icon.js","sources":["uni_modules/tdesign-uniapp/components/icon/icon.vue","../../../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovQUkv576O5a65L21ydW5pYXBwL3l1L3VuaV9tb2R1bGVzL3RkZXNpZ24tdW5pYXBwL2NvbXBvbmVudHMvaWNvbi9pY29uLnZ1ZQ"],"sourcesContent":["<template>\n <view\n :class=\"[tClass, prefix || 't-icon']\"\n :style=\"tools._style([iconStyle, customStyle])\"\n :aria-hidden=\"ariaHidden\"\n :aria-label=\"ariaLabel\"\n :aria-role=\"ariaRole\"\n @click=\"onTap\"\n >\n <view\n v-if=\"isImage\"\n :class=\"classPrefix + '--image'\"\n >\n <image\n :src=\"name\"\n mode=\"aspectFit\"\n :class=\"classPrefix + '__image'\"\n />\n </view>\n <div\n v-if=\"tools.isValidIconName(name) && !isImage\"\n :class=\"(prefix ? prefix : classPrefix) + '-' + name + ' ' + classPrefix + '-base'\"\n />\n </view>\n</template>\n<script>\nimport { uniComponent } from '../common/src/index';\nimport { prefix } from '../common/config';\nimport props from './props';\nimport { styles, addUnit, getRect } from '../common/utils';\nimport tools from '../common/utils.wxs';\n\n\nconst name = `${prefix}-icon`;\nexport default uniComponent({\n name,\n options: {\n styleIsolation: 'shared',\n },\n externalClasses: [`${prefix}-class`],\n props: {\n ...props,\n },\n data() {\n return {\n componentPrefix: prefix,\n classPrefix: name,\n isImage: false,\n iconStyle: undefined,\n tools,\n };\n },\n watch: {\n name: {\n handler() {\n this.setIconStyle();\n },\n immediate: true,\n },\n color: {\n handler() {\n this.setIconStyle();\n },\n immediate: true,\n },\n size: {\n handler() {\n this.setIconStyle();\n },\n immediate: true,\n },\n style: {\n handler() {\n this.setIconStyle();\n },\n immediate: true,\n },\n },\n methods: {\n onTap(t) {\n this.$emit('click', t);\n },\n setIconStyle() {\n const {\n name,\n color,\n size,\n classPrefix,\n } = this;\n const isImage = name.indexOf('/') !== -1;\n const sizeValue = addUnit(size);\n const colorStyle = color ? {\n color,\n } : {};\n const fontStyle = size ? {\n 'font-size': sizeValue,\n } : {};\n const iconStyle = { ...colorStyle, ...fontStyle };\n this.isImage = isImage;\n\n if (isImage) {\n let iconSize = sizeValue;\n if (!iconSize) {\n getRect(this, `.${classPrefix}`)\n .then((res) => {\n iconSize = addUnit(res?.height);\n })\n .catch(() => {});\n }\n\n iconStyle.width = iconSize;\n iconStyle.height = iconSize;\n }\n this.iconStyle = `${styles(iconStyle)}`;\n },\n },\n});\n</script>\n<style scoped>\n@import './icon.css';\n</style>\n","import Component from 'D:/AI/美容/mruniapp/yu/uni_modules/tdesign-uniapp/components/icon/icon.vue'\nwx.createComponent(Component)"],"names":["prefix","uniComponent","props","tools","name","addUnit","getRect","styles"],"mappings":";;;;;;;AAiCA,MAAM,OAAO,GAAGA,yDAAM;AACtB,MAAK,YAAaC,uEAAAA,aAAU;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,EACjB;AAAA,EACD,iBAAiB,CAAC,GAAGD,mDAAM,MAAA,QAAQ;AAAA,EACnC,OAAO;AAAA,IACL,GAAGE,gDAAK;AAAA,EACT;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,iBAAiBF,mDAAM;AAAA,MACvB,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAW;AAAA,aACXG,sDAAK;AAAA;EAER;AAAA,EACD,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,UAAU;AACR,aAAK,aAAY;AAAA,MAClB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,UAAU;AACR,aAAK,aAAY;AAAA,MAClB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,UAAU;AACR,aAAK,aAAY;AAAA,MAClB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,OAAO;AAAA,MACL,UAAU;AACR,aAAK,aAAY;AAAA,MAClB;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,MAAM,GAAG;AACP,WAAK,MAAM,SAAS,CAAC;AAAA,IACtB;AAAA,IACD,eAAe;AACb,YAAM;AAAA,QACJ,MAAAC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM,UAAUA,MAAK,QAAQ,GAAG,MAAM;AACtC,YAAM,YAAYC,0DAAQ,IAAI;AAC9B,YAAM,aAAa,QAAQ;AAAA,QACzB;AAAA,MACA,IAAE;AACJ,YAAM,YAAY,OAAO;AAAA,QACvB,aAAa;AAAA,MACb,IAAE;AACJ,YAAM,YAAY,EAAE,GAAG,YAAY,GAAG;AACtC,WAAK,UAAU;AAEf,UAAI,SAAS;AACX,YAAI,WAAW;AACf,YAAI,CAAC,UAAU;AACbC,4DAAAA,QAAQ,MAAM,IAAI,WAAW,EAAE,EAC5B,KAAK,CAAC,QAAQ;AACb,uBAAWD,kDAAO,QAAC,2BAAK,MAAM;AAAA,WAC/B,EACA,MAAM,MAAM;AAAA,UAAA,CAAE;AAAA,QACnB;AAEA,kBAAU,QAAQ;AAClB,kBAAU,SAAS;AAAA,MACrB;AACA,WAAK,YAAY,GAAGE,kDAAM,OAAC,SAAS,CAAC;AAAA,IACtC;AAAA,EACF;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACnHD,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/icon/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdIconProps } from './type';\nexport default {\n /** 图标颜色 */\n color: {\n type: String,\n default: '',\n },\n /** 图标名称或图片链接 */\n name: {\n type: String,\n default: '',\n required: true,\n },\n /** 自定义图标前缀 */\n prefix: {\n type: String,\n default: '',\n },\n /** 图标大小, 如 `20`, `20px`, `48rpx`, 默认单位是 `px` */\n size: {\n type: [String, Number],\n default: '' as TdIconProps['size'],\n },\n /** 点击图标时触发 */\n onClick: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/image/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdImageProps } from './type';\nexport default {\n /** 加载失败时显示的内容。值为 `default` 则表示使用默认加载失败风格;值为空或者 `slot` 表示使用插槽渲染,插槽名称为 `error`;值为其他则表示普通文本内容,如“加载失败” */\n error: {\n type: String,\n default: 'default' as TdImageProps['error'],\n },\n /** 高度,默认单位为`px` */\n height: {\n type: [String, Number],\n },\n /** 是否开启图片懒加载 */\n lazy: Boolean,\n /** 加载态内容。值为 `default` 则表示使用默认加载中风格;值为其他则表示普通文本内容,如“加载中” */\n loading: {\n type: String,\n default: 'default' as TdImageProps['loading'],\n },\n /** 图片裁剪、缩放的模式;[小程序官方文档](https://developers.weixin.qq.com/miniprogram/dev/component/image.html) */\n mode: {\n type: String,\n default: 'scaleToFill' as TdImageProps['mode'],\n validator(val: TdImageProps['mode']): boolean {\n if (!val) return true;\n return ['scaleToFill', 'aspectFit', 'aspectFill', 'widthFix', 'heightFix', 'top', 'bottom', 'center', 'left', 'right', 'top left', 'top right', 'bottom left', 'bottom right'].includes(val);\n },\n },\n /** 图片圆角类型 */\n shape: {\n type: String,\n default: 'square' as TdImageProps['shape'],\n validator(val: TdImageProps['shape']): boolean {\n if (!val) return true;\n return ['circle', 'round', 'square'].includes(val);\n },\n },\n /** 长按图片显示发送给朋友、收藏、保存图片、搜一搜、打开名片/前往群聊/打开小程序(若图片中包含对应二维码或小程序码)的菜单 */\n showMenuByLongpress: Boolean,\n /** 图片链接 */\n src: {\n type: String,\n default: '',\n },\n /** 图片标签id */\n tId: {\n type: String,\n default: '',\n },\n /** 默认不解析 webP 格式,只支持网络资源 */\n webp: Boolean,\n /** 宽度,默认单位为`px` */\n width: {\n type: [String, Number],\n },\n /** 图片加载失败时触发 */\n onError: {\n type: Function,\n default: () => ({}),\n },\n /** 图片加载完成时触发 */\n onLoad: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,aAAA;AAAA;AAAA,EAEb,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,MAAM;AAAA;AAAA,EAEN,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAoC;AAC5C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,eAAe,aAAa,cAAc,YAAY,aAAa,OAAO,UAAU,UAAU,QAAQ,SAAS,YAAY,aAAa,eAAe,cAAc,EAAE,SAAS,GAAG;AAAA,IAC7L;AAAA,EACF;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAqC;AAC7C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,UAAU,SAAS,QAAQ,EAAE,SAAS,GAAG;AAAA,IACnD;AAAA,EACF;AAAA;AAAA,EAEA,qBAAqB;AAAA;AAAA,EAErB,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA;AAAA,EAEN,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"computed.js","sources":["uni_modules/tdesign-uniapp/components/input/computed.js"],"sourcesContent":["export function getInputClass(classPrefix, suffix, align, disabled) {\n const className = [`${classPrefix}__control`];\n\n if (align) {\n className.push(`${classPrefix}--${align}`);\n }\n\n if (disabled) {\n className.push(`${classPrefix}__control--disabled`);\n }\n return className.join(' ');\n}\n\n"],"names":[],"mappings":";AAAO,SAAS,cAAc,aAAa,QAAQ,OAAO,UAAU;AAClE,QAAM,YAAY,CAAC,GAAG,WAAW,WAAW;AAE5C,MAAI,OAAO;AACT,cAAU,KAAK,GAAG,WAAW,KAAK,KAAK,EAAE;AAAA,EAC1C;AAED,MAAI,UAAU;AACZ,cAAU,KAAK,GAAG,WAAW,qBAAqB;AAAA,EACnD;AACD,SAAO,UAAU,KAAK,GAAG;AAC3B;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/loading/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdLoadingProps } from './type';\nexport default {\n /** 延迟显示加载效果的时间,用于防止请求速度过快引起的加载闪烁,单位:毫秒 */\n delay: {\n type: Number,\n default: 0,\n },\n /** 加载动画执行完成一次的时间,单位:毫秒 */\n duration: {\n type: Number,\n default: 800,\n },\n /** 是否显示为全屏加载 */\n fullscreen: Boolean,\n /** 加载指示符,值为 true 显示默认指示符,值为 false 则不显示,也可以自定义指示符 */\n indicator: {\n type: Boolean,\n default: true as TdLoadingProps['indicator'],\n },\n /** 是否继承父元素颜色 */\n inheritColor: Boolean,\n /** 对齐方式 */\n layout: {\n type: String,\n default: 'horizontal' as TdLoadingProps['layout'],\n validator(val: TdLoadingProps['layout']): boolean {\n if (!val) return true;\n return ['horizontal', 'vertical'].includes(val);\n },\n },\n /** 是否处于加载状态 */\n loading: {\n type: Boolean,\n default: true,\n },\n /** 是否暂停动画 */\n pause: Boolean,\n /** 加载进度 */\n progress: {\n type: Number,\n },\n /** 加载动画是否反向 */\n reverse: Boolean,\n /** 尺寸示例20px */\n size: {\n type: String,\n default: '20px',\n },\n /** 加载提示文案 */\n text: {\n type: String,\n },\n /** 加载组件类型 */\n theme: {\n type: String,\n default: 'circular' as TdLoadingProps['theme'],\n validator(val: TdLoadingProps['theme']): boolean {\n if (!val) return true;\n return ['circular', 'spinner', 'dots', 'custom'].includes(val);\n },\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,YAAY;AAAA;AAAA,EAEZ,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,cAAc;AAAA;AAAA,EAEd,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAwC;AAChD,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,cAAc,UAAU,EAAE,SAAS,GAAG;AAAA,IAChD;AAAA,EACF;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA;AAAA,EAEP,UAAU;AAAA,IACR,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,SAAS;AAAA;AAAA,EAET,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAuC;AAC/C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,YAAY,WAAW,QAAQ,QAAQ,EAAE,SAAS,GAAG;AAAA,IAC/D;AAAA,EACF;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"page-scroll.js","sources":["uni_modules/tdesign-uniapp/components/mixins/page-scroll.js"],"sourcesContent":["import { getCurrentPage } from '../common/utils';\nimport Bus from '../common/bus';\n\nconst overflowScrollReg = /scroll|auto|overlay/i;\n\nexport const bus = new Bus();\nexport const PAGE_SCROLL_EVENT_NAME = 'page-scroll';\n\n\nconst onPageScroll = function (event) {\n const page = getCurrentPage();\n\n if (!page) return;\n const { pageScroller } = page;\n\n pageScroller?.forEach((scroller) => {\n if (typeof scroller === 'function') {\n scroller(event);\n }\n });\n};\n\n\nexport default (funcName = 'onScroll', useBus = true) => {\n // #ifdef H5\n useBus = false;\n // #endif\n\n return {\n mounted() {\n if (useBus) {\n bus.on(PAGE_SCROLL_EVENT_NAME, this[funcName]);\n return;\n }\n\n // #ifdef H5\n this._scroller = getScroller(this.$el);\n if (this._scroller) {\n this._scroller.addEventListener('scroll', this._bindScroller);\n }\n // #endif\n\n const page = getCurrentPage();\n if (!page) return;\n\n\n if (Array.isArray(page.pageScroller)) {\n page.pageScroller.push(this._bindScroller);\n } else {\n page.pageScroller = typeof page.onPageScroll === 'function' ? [page.onPageScroll.bind(page), this._bindScroller] : [this._bindScroller];\n }\n\n page.onPageScroll = onPageScroll;\n },\n\n beforeUnMount() {\n if (useBus) {\n bus.off(PAGE_SCROLL_EVENT_NAME, this[funcName]);\n return;\n }\n\n // #ifdef H5\n if (this._scroller) {\n this._scroller.removeEventListener('scroll', this._bindScroller);\n }\n // #endif\n\n const page = getCurrentPage();\n if (!page) return;\n\n page.pageScroller = page.pageScroller?.filter(item => item !== this._bindScroller) || [];\n },\n methods: {\n _bindScroller(e) {\n let result;\n // #ifdef H5\n result = this[funcName]?.call(this, e.target);\n // #endif\n // #ifndef H5\n result = this[funcName]?.call(this, e);\n // #endif\n return result;\n },\n },\n };\n};\n\n\nexport function getScroller(el, root) {\n // #ifdef H5\n if (root === void 0) {\n root = window;\n }\n\n let node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n const { overflowY } = window.getComputedStyle(node);\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n // #endif\n}\n\n\nexport function handlePageScroll(e) {\n bus.emit(PAGE_SCROLL_EVENT_NAME, e);\n return bus;\n}\n"],"names":["Bus","getCurrentPage"],"mappings":";;;AAKO,MAAM,MAAM,IAAIA,gDAAAA;AAChB,MAAM,yBAAyB;AAGtC,MAAM,eAAe,SAAU,OAAO;AACpC,QAAM,OAAOC,kDAAAA;AAEb,MAAI,CAAC;AAAM;AACX,QAAM,EAAE,aAAc,IAAG;AAEzB,+CAAc,QAAQ,CAAC,aAAa;AAClC,QAAI,OAAO,aAAa,YAAY;AAClC,eAAS,KAAK;AAAA,IACf;AAAA,EACL;AACA;AAGA,MAAe,kBAAA,CAAC,WAAW,YAAY,SAAS,SAAS;AAKvD,SAAO;AAAA,IACL,UAAU;AACR,UAAI,QAAQ;AACV,YAAI,GAAG,wBAAwB,KAAK,QAAQ,CAAC;AAC7C;AAAA,MACD;AASD,YAAM,OAAOA,kDAAAA;AACb,UAAI,CAAC;AAAM;AAGX,UAAI,MAAM,QAAQ,KAAK,YAAY,GAAG;AACpC,aAAK,aAAa,KAAK,KAAK,aAAa;AAAA,MACjD,OAAa;AACL,aAAK,eAAe,OAAO,KAAK,iBAAiB,aAAa,CAAC,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,KAAK,aAAa;AAAA,MACvI;AAED,WAAK,eAAe;AAAA,IACrB;AAAA,IAED,gBAAgB;;AACd,UAAI,QAAQ;AACV,YAAI,IAAI,wBAAwB,KAAK,QAAQ,CAAC;AAC9C;AAAA,MACD;AAQD,YAAM,OAAOA,kDAAAA;AACb,UAAI,CAAC;AAAM;AAEX,WAAK,iBAAe,UAAK,iBAAL,mBAAmB,OAAO,UAAQ,SAAS,KAAK,mBAAkB;IACvF;AAAA,IACD,SAAS;AAAA,MACP,cAAc,GAAG;;AACf,YAAI;AAKJ,kBAAS,UAAK,QAAQ,MAAb,mBAAgB,KAAK,MAAM;AAEpC,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACL;AACA;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"touch.js","sources":["uni_modules/tdesign-uniapp/components/mixins/touch.js"],"sourcesContent":["const getDirection = (t, s) => (t > s && t > 10 ? 'horizontal' : s > t && s > 10 ? 'vertical' : '');\nexport default {\n data() {\n return {};\n },\n methods: {\n resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n touchStart(t) {\n this.resetTouchStatus();\n const [s] = t.touches;\n this.startX = s.clientX;\n this.startY = s.clientY;\n },\n touchMove(t) {\n const [s] = t.touches;\n this.deltaX = s.clientX - this.startX;\n this.deltaY = s.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY);\n this.direction = getDirection(this.offsetX, this.offsetY);\n },\n },\n};\n"],"names":[],"mappings":";AAAA,MAAM,eAAe,CAAC,GAAG,MAAO,IAAI,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,IAAI,KAAK,aAAa;AAChG,MAAe,QAAA;AAAA,EACb,OAAO;AACL,WAAO;EACR;AAAA,EACD,SAAS;AAAA,IACP,mBAAmB;AACjB,WAAK,YAAY;AACjB,WAAK,SAAS;AACd,WAAK,SAAS;AACd,WAAK,UAAU;AACf,WAAK,UAAU;AAAA,IAChB;AAAA,IACD,WAAW,GAAG;AACZ,WAAK,iBAAgB;AACrB,YAAM,CAAC,CAAC,IAAI,EAAE;AACd,WAAK,SAAS,EAAE;AAChB,WAAK,SAAS,EAAE;AAAA,IACjB;AAAA,IACD,UAAU,GAAG;AACX,YAAM,CAAC,CAAC,IAAI,EAAE;AACd,WAAK,SAAS,EAAE,UAAU,KAAK;AAC/B,WAAK,SAAS,EAAE,UAAU,KAAK;AAC/B,WAAK,UAAU,KAAK,IAAI,KAAK,MAAM;AACnC,WAAK,UAAU,KAAK,IAAI,KAAK,MAAM;AACnC,WAAK,YAAY,aAAa,KAAK,SAAS,KAAK,OAAO;AAAA,IACzD;AAAA,EACF;AACH;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"using-custom-navbar.js","sources":["uni_modules/tdesign-uniapp/components/mixins/using-custom-navbar.js"],"sourcesContent":["import { systemInfo } from '../common/utils';\nconst useCustomNavbarBehavior = {\n data() {\n return {\n distanceTop: 0,\n };\n },\n props: {\n usingCustomNavbar: {\n type: Boolean,\n default: false,\n },\n customNavbarHeight: {\n type: Number,\n default: 0,\n },\n },\n created() {\n if (this.usingCustomNavbar) {\n this.calculateCustomNavbarDistanceTop();\n }\n },\n methods: {\n calculateCustomNavbarDistanceTop() {\n const { statusBarHeight } = systemInfo;\n let distance = 0;\n // #ifndef H5\n // #ifndef APP-PLUS\n const menuButton = uni.getMenuButtonBoundingClientRect();\n distance = menuButton.top + menuButton.bottom - statusBarHeight;\n // #endif\n // #endif\n\n this.distanceTop = Math.max(distance, this.customNavbarHeight + statusBarHeight);\n },\n },\n};\nexport default useCustomNavbarBehavior;\n"],"names":["systemInfo","uni"],"mappings":";;;AACK,MAAC,0BAA0B;AAAA,EAC9B,OAAO;AACL,WAAO;AAAA,MACL,aAAa;AAAA,IACnB;AAAA,EACG;AAAA,EACD,OAAO;AAAA,IACL,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AACR,QAAI,KAAK,mBAAmB;AAC1B,WAAK,iCAAgC;AAAA,IACtC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,mCAAmC;AACjC,YAAM,EAAE,gBAAiB,IAAGA;AAC5B,UAAI,WAAW;AAGf,YAAM,aAAaC,oBAAI;AACvB,iBAAW,WAAW,MAAM,WAAW,SAAS;AAIhD,WAAK,cAAc,KAAK,IAAI,UAAU,KAAK,qBAAqB,eAAe;AAAA,IAChF;AAAA,EACF;AACH;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"overlay.js","sources":["uni_modules/tdesign-uniapp/components/overlay/overlay.vue","../../../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovQUkv576O5a65L21ydW5pYXBwL3l1L3VuaV9tb2R1bGVzL3RkZXNpZ24tdW5pYXBwL2NvbXBvbmVudHMvb3ZlcmxheS9vdmVybGF5LnZ1ZQ"],"sourcesContent":["<template>\n <view>\n <view\n v-if=\"realVisible && preventScrollThrough\"\n :class=\"prefix + '-overlay ' + transitionClass\"\n :style=\"tools._style([\n '--td-overlay-transition-duration:' + duration + 'ms',\n 'z-index:' + _zIndex, 'top:' + distanceTop + 'px',\n computedStyle,\n customStyle\n ])\"\n :aria-role=\"ariaRole || 'button'\"\n :aria-label=\"ariaLabel || '关闭'\"\n disable-scroll\n @click.stop=\"handleClick\"\n @touchmove.stop.prevent=\"noop\"\n @transitionend=\"onTransitionEnd\"\n >\n <slot />\n </view>\n <view\n v-else-if=\"realVisible\"\n :class=\"prefix + '-overlay ' + transitionClass \"\n :style=\"tools._style([\n 'z-index:' + _zIndex,\n 'top:' + distanceTop + 'px',\n computedStyle,\n customStyle\n ])\"\n :aria-role=\"ariaRole || 'button'\"\n :aria-label=\"ariaLabel || '关闭'\"\n @click.stop=\"handleClick\"\n @transitionend=\"onTransitionEnd\"\n >\n <slot />\n </view>\n </view>\n</template>\n<script>\nimport { uniComponent } from '../common/src/index';\nimport { prefix } from '../common/config';\nimport props from './props';\nimport transition from '../mixins/transition';\nimport useCustomNavbar from '../mixins/using-custom-navbar';\nimport tools from '../common/utils.wxs';\n\n\nconst name = `${prefix}-overlay`;\n\n\nexport default uniComponent({\n name,\n options: {\n styleIsolation: 'shared',\n },\n mixins: [\n transition(),\n useCustomNavbar,\n ],\n props: {\n ...props,\n },\n emits: [\n 'click',\n 'leaved',\n ],\n data() {\n return {\n prefix,\n classPrefix: name,\n computedStyle: '',\n _zIndex: 11000,\n tools,\n };\n },\n watch: {\n backgroundColor: {\n handler(v) {\n this.computedStyle = v ? `background-color: ${v};` : '';\n },\n immediate: true,\n },\n zIndex: {\n handler(v) {\n if (v !== 0) {\n this._zIndex = v;\n }\n },\n immediate: true,\n\n },\n },\n methods: {\n handleClick() {\n this.$emit('click', {\n visible: !this.visible,\n });\n },\n noop() {},\n },\n});\n</script>\n<style scoped>\n@import './overlay.css';\n</style>\n","import Component from 'D:/AI/美容/mruniapp/yu/uni_modules/tdesign-uniapp/components/overlay/overlay.vue'\nwx.createComponent(Component)"],"names":["prefix","uniComponent","transition","useCustomNavbar","props","tools"],"mappings":";;;;;;;;AA+CA,MAAM,OAAO,GAAGA,yDAAM;AAGtB,MAAK,YAAaC,uEAAAA,aAAU;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,EACjB;AAAA,EACD,QAAQ;AAAA,IACNC,kEAAY;AAAA,IACZC,8DAAe;AAAA,EAChB;AAAA,EACD,OAAO;AAAA,IACL,GAAGC,mDAAK;AAAA,EACT;AAAA,EACD,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAAJ,mDAAM;AAAA,MACN,aAAa;AAAA,MACb,eAAe;AAAA,MACf,SAAS;AAAA,aACTK,sDAAK;AAAA;EAER;AAAA,EACD,OAAO;AAAA,IACL,iBAAiB;AAAA,MACf,QAAQ,GAAG;AACT,aAAK,gBAAgB,IAAI,qBAAqB,CAAC,MAAM;AAAA,MACtD;AAAA,MACD,WAAW;AAAA,IACZ;AAAA,IACD,QAAQ;AAAA,MACN,QAAQ,GAAG;AACT,YAAI,MAAM,GAAG;AACX,eAAK,UAAU;AAAA,QACjB;AAAA,MACD;AAAA,MACD,WAAW;AAAA,IAEZ;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,cAAc;AACZ,WAAK,MAAM,SAAS;AAAA,QAClB,SAAS,CAAC,KAAK;AAAA,MACjB,CAAC;AAAA,IACF;AAAA,IACD,OAAO;AAAA,IAAE;AAAA,EACV;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACnGD,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/overlay/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nexport default {\n /** 遮罩层的背景色 */\n backgroundColor: {\n type: String,\n default: '',\n },\n /** 背景色过渡时间,单位毫秒 */\n duration: {\n type: Number,\n default: 300,\n },\n /** 防止滚动穿透,即不允许点击和滚动 */\n preventScrollThrough: {\n type: Boolean,\n default: true,\n },\n /** 是否使用了自定义导航栏 */\n usingCustomNavbar: Boolean,\n /** 是否展示 */\n visible: Boolean,\n /** 遮罩层级 */\n zIndex: {\n type: Number,\n default: 11000,\n },\n /** 点击遮罩时触发 */\n onClick: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAMA,MAAe,QAAA;AAAA;AAAA,EAEb,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,mBAAmB;AAAA;AAAA,EAEnB,SAAS;AAAA;AAAA,EAET,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"computed.js","sources":["uni_modules/tdesign-uniapp/components/popup/computed.js"],"sourcesContent":["function getPopupStyles({ zIndex, distanceTop, placement, duration }) {\n let zIndexStyle = zIndex ? `z-index:${zIndex};` : '';\n if ((placement === 'top' || placement === 'left' || placement === 'right') && distanceTop) {\n zIndexStyle = `${zIndexStyle}top:${distanceTop}px;--td-popup-distance-top:${distanceTop}px;`;\n }\n if (duration) {\n zIndexStyle = `${zIndexStyle}--td-popup-transition:all ${duration}ms ease;`;\n }\n return zIndexStyle;\n}\n\nexport default {\n getPopupStyles,\n};\n"],"names":[],"mappings":";AAAA,SAAS,eAAe,EAAE,QAAQ,aAAa,WAAW,SAAQ,GAAI;AACpE,MAAI,cAAc,SAAS,WAAW,MAAM,MAAM;AAClD,OAAK,cAAc,SAAS,cAAc,UAAU,cAAc,YAAY,aAAa;AACzF,kBAAc,GAAG,WAAW,OAAO,WAAW,8BAA8B,WAAW;AAAA,EACxF;AACD,MAAI,UAAU;AACZ,kBAAc,GAAG,WAAW,6BAA6B,QAAQ;AAAA,EAClE;AACD,SAAO;AACT;AAEA,MAAe,QAAA;AAAA,EACb;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/popup/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdPopupProps } from './type';\nexport default {\n /** 关闭按钮,值类型为 Boolean 时表示是否显示关闭按钮。也可以自定义关闭按钮 */\n closeBtn: {\n type: Boolean,\n },\n /** 点击遮罩层是否关闭 */\n closeOnOverlayClick: {\n type: Boolean,\n default: true,\n },\n /** 浮层里面的内容 */\n content: {\n type: String,\n },\n /** 动画过渡时间 */\n duration: {\n type: Number,\n default: 240,\n },\n /** 遮罩层的属性,透传至 overlay */\n overlayProps: {\n type: Object,\n default: () => ({}),\n },\n /** 浮层出现位置 */\n placement: {\n type: String,\n default: 'top' as TdPopupProps['placement'],\n validator(val: TdPopupProps['placement']): boolean {\n if (!val) return true;\n return ['top', 'left', 'right', 'bottom', 'center'].includes(val);\n },\n },\n /** 是否阻止背景滚动 */\n preventScrollThrough: {\n type: Boolean,\n default: true,\n },\n /** 是否显示遮罩层 */\n showOverlay: {\n type: Boolean,\n default: true,\n },\n /** 是否使用了自定义导航栏 */\n usingCustomNavbar: Boolean,\n /** 是否显示浮层 */\n visible: Boolean,\n /** 是否显示浮层,非受控属性 */\n defaultVisible: Boolean,\n /** 组件层级Web 侧样式默认为 5500移动端样式默认为 1500小程序样式默认为11500 */\n zIndex: {\n type: Number,\n default: 11500,\n },\n /** 当浮层隐藏或显示时触发 */\n onVisibleChange: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,UAAU;AAAA,IACR,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAyC;AACjD,UAAI,CAAC;AAAY,eAAA;AACV,aAAA,CAAC,OAAO,QAAQ,SAAS,UAAU,QAAQ,EAAE,SAAS,GAAG;AAAA,IAClE;AAAA,EACF;AAAA;AAAA,EAEA,sBAAsB;AAAA,IACpB,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,mBAAmB;AAAA;AAAA,EAEnB,SAAS;AAAA;AAAA,EAET,gBAAgB;AAAA;AAAA,EAEhB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/stepper/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdStepperProps } from './type';\nexport default {\n /** 禁用输入框 */\n disableInput: Boolean,\n /** 禁用全部操作 */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /** 输入框宽度,默认单位 `px` */\n inputWidth: {\n type: Number,\n },\n /** 是否整型 */\n integer: {\n type: Boolean,\n default: true,\n },\n /** 最大值 */\n max: {\n type: Number,\n default: 100,\n },\n /** 最小值 */\n min: {\n type: Number,\n default: 0,\n },\n /** 组件尺寸 */\n size: {\n type: String,\n default: 'medium' as TdStepperProps['size'],\n validator(val: TdStepperProps['size']): boolean {\n if (!val) return true;\n return ['small', 'medium', 'large'].includes(val);\n },\n },\n /** 步长 */\n step: {\n type: Number,\n default: 1,\n },\n /** 组件风格 */\n theme: {\n type: String,\n default: 'normal' as TdStepperProps['theme'],\n validator(val: TdStepperProps['theme']): boolean {\n if (!val) return true;\n return ['normal', 'filled', 'outline'].includes(val);\n },\n },\n /** 值 */\n value: {\n type: [String, Number],\n default: 0 as TdStepperProps['value'],\n },\n /** 值,非受控属性 */\n defaultValue: {\n type: [String, Number],\n default: 0 as TdStepperProps['defaultValue'],\n },\n /** 输入框失去焦点时触发 */\n onBlur: {\n type: Function,\n default: () => ({}),\n },\n /** 数值发生变更时触发 */\n onChange: {\n type: Function,\n default: () => ({}),\n },\n /** 输入框聚焦时触发 */\n onFocus: {\n type: Function,\n default: () => ({}),\n },\n /** 数值超出限制时触发 */\n onOverlimit: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,cAAc;AAAA;AAAA,EAEd,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,YAAY;AAAA,IACV,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAsC;AAC9C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,GAAG;AAAA,IAClD;AAAA,EACF;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAuC;AAC/C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,UAAU,UAAU,SAAS,EAAE,SAAS,GAAG;AAAA,IACrD;AAAA,EACF;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/sticky/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdStickyProps } from './type';\nexport default {\n /** 函数返回容器对应的 NodesRef 节点,将对应节点指定为组件的外部容器,滚动时组件会始终保持在容器范围内,当组件即将超出容器底部时,会返回原位置 */\n container: {\n type: Function,\n },\n /** 是否禁用组件 */\n disabled: Boolean,\n /** 吸顶时与顶部的距离,单位`px` */\n offsetTop: {\n type: [String, Number],\n default: 0 as TdStickyProps['offsetTop'],\n },\n /** 吸顶时的 z-index */\n zIndex: {\n type: Number,\n default: 99,\n },\n /** 滚动时触发scrollTop: 距离顶部位置isFixed: 是否吸顶 */\n onScroll: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,UAAU;AAAA;AAAA,EAEV,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/tab-panel/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nexport default {\n /** 透传至 Badge 组件 */\n badgeProps: {\n type: Object,\n default: () => ({}),\n },\n /** 是否禁用当前选项卡 */\n disabled: Boolean,\n /** `1.0.0-rc.1`。图标,传对象则透传至 Icon */\n icon: {\n type: [String, Object],\n },\n /** 选项卡名称 */\n label: {\n type: String,\n default: '',\n },\n /** 是否启用选项卡懒加载 */\n lazy: Boolean,\n /** 用于自定义选项卡面板内容 */\n panel: {\n type: String,\n },\n /** 选项卡的值,唯一标识 */\n value: {\n type: [String, Number],\n },\n};\n"],"names":[],"mappings":";AAMA,MAAe,QAAA;AAAA;AAAA,EAEb,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,UAAU;AAAA;AAAA,EAEV,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM;AAAA;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AACF;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"tab-panel.js","sources":["uni_modules/tdesign-uniapp/components/tab-panel/tab-panel.vue","../../../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovQUkv576O5a65L21ydW5pYXBwL3l1L3VuaV9tb2R1bGVzL3RkZXNpZ24tdW5pYXBwL2NvbXBvbmVudHMvdGFiLXBhbmVsL3RhYi1wYW5lbC52dWU"],"sourcesContent":["<template>\n <view\n v-if=\"!lazy || hasActivated\"\n :id=\"id\"\n :class=\"tClass + ' ' + classPrefix + ' ' + (active ? classPrefix + '--active' : classPrefix + '--inactive')\"\n :style=\"tools._style([customStyle, hide ? 'display: none' : ''])\"\n aria-role=\"tabpanel\"\n >\n <view v-if=\"panel\">\n {{ panel }}\n </view>\n <slot />\n <slot name=\"panel\" />\n </view>\n</template>\n<script>\nimport { uniComponent } from '../common/src/index';\nimport props from './props';\nimport { prefix } from '../common/config';\nimport tools from '../common/utils.wxs';\nimport { ChildrenMixin, RELATION_MAP } from '../common/relation';\n\n\nconst name = `${prefix}-tab-panel`;\n\nexport default uniComponent({\n name,\n options: {\n styleIsolation: 'shared',\n virtualHost: true,\n },\n externalClasses: [`${prefix}-class`],\n mixins: [ChildrenMixin(RELATION_MAP.TabPanel)],\n props: {\n ...props,\n },\n data() {\n return {\n prefix,\n classPrefix: name,\n active: false,\n hide: true,\n id: '',\n hasActivated: false,\n tools,\n };\n },\n watch: {\n label: 'update',\n badgeProps: {\n handler() {\n this.update();\n },\n deep: true,\n },\n disabled: 'update',\n\n icon: 'update',\n panel: 'update',\n value: 'update',\n\n lazy: 'update',\n },\n methods: {\n setParent(parent) {\n this[RELATION_MAP.TabPanel] = parent;\n if (!parent.children.includes(this)) {\n parent.children.push(this);\n }\n parent.innerAfterLinked(this);\n },\n setId(id) {\n this.id = id;\n },\n getComputedName() {\n if (this.value != null) {\n return `${this.value}`;\n }\n return `${this.dataIndex}`;\n },\n update() {\n this[RELATION_MAP.TabPanel]?.updateTabs();\n },\n\n render(active, parent) {\n this.initialized = this.initialized || active;\n\n if (active && !this.hasActivated) {\n this.hasActivated = true;\n }\n\n this.active = active;\n this.hide = !parent.animation && !active;\n },\n },\n});\n</script>\n<style scoped>\n@import './tab-panel.css';\n</style>\n","import Component from 'D:/AI/美容/mruniapp/yu/uni_modules/tdesign-uniapp/components/tab-panel/tab-panel.vue'\nwx.createComponent(Component)"],"names":["prefix","uniComponent","ChildrenMixin","RELATION_MAP","props","tools"],"mappings":";;;;;;;;AAuBA,MAAM,OAAO,GAAGA,yDAAM;AAEtB,MAAK,YAAaC,uEAAAA,aAAU;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,IAChB,aAAa;AAAA,EACd;AAAA,EACD,iBAAiB,CAAC,GAAGD,mDAAM,MAAA,QAAQ;AAAA,EACnC,QAAQ,CAACE,8DAAAA,cAAcC,+DAAY,aAAC,QAAQ,CAAC;AAAA,EAC7C,OAAO;AAAA,IACL,GAAGC,oDAAK;AAAA,EACT;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAAJ,mDAAM;AAAA,MACN,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,cAAc;AAAA,aACdK,sDAAK;AAAA;EAER;AAAA,EACD,OAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV,UAAU;AACR,aAAK,OAAM;AAAA,MACZ;AAAA,MACD,MAAM;AAAA,IACP;AAAA,IACD,UAAU;AAAA,IAEV,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IAEP,MAAM;AAAA,EACP;AAAA,EACD,SAAS;AAAA,IACP,UAAU,QAAQ;AAChB,WAAKF,+DAAY,aAAC,QAAQ,IAAI;AAC9B,UAAI,CAAC,OAAO,SAAS,SAAS,IAAI,GAAG;AACnC,eAAO,SAAS,KAAK,IAAI;AAAA,MAC3B;AACA,aAAO,iBAAiB,IAAI;AAAA,IAC7B;AAAA,IACD,MAAM,IAAI;AACR,WAAK,KAAK;AAAA,IACX;AAAA,IACD,kBAAkB;AAChB,UAAI,KAAK,SAAS,MAAM;AACtB,eAAO,GAAG,KAAK,KAAK;AAAA,MACtB;AACA,aAAO,GAAG,KAAK,SAAS;AAAA,IACzB;AAAA,IACD,SAAS;;AACP,iBAAKA,+DAAY,aAAC,QAAQ,MAA1B,mBAA6B;AAAA,IAC9B;AAAA,IAED,OAAO,QAAQ,QAAQ;AACrB,WAAK,cAAc,KAAK,eAAe;AAEvC,UAAI,UAAU,CAAC,KAAK,cAAc;AAChC,aAAK,eAAe;AAAA,MACtB;AAEA,WAAK,SAAS;AACd,WAAK,OAAO,CAAC,OAAO,aAAa,CAAC;AAAA,IACnC;AAAA,EACF;AACH,CAAC;;;;;;;;;;;;;;;AC9FD,GAAG,gBAAgB,SAAS;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"computed.js","sources":["uni_modules/tdesign-uniapp/components/tabs/computed.js"],"sourcesContent":["import utils from '../common/utils.wxs';\n\nexport function animate(options) {\n if (options.duration) {\n return utils._style({\n 'transition-duration': `${options.duration}s`,\n transform: `translate3d( ${-100 * options.currentIndex}%,0, 0)`,\n });\n }\n return '';\n}\n\nexport function trackStyle(options) {\n if (options.distance || options.lineWidth) {\n return utils._style({\n '-webkit-transform': `translateX(${options.distance}px)`,\n transform: `translateX(${options.distance}px)`,\n 'transition-duration': options.isInit ? '0' : '0.3s',\n width: `${options.lineWidth}px`,\n opacity: 1,\n });\n }\n\n return '';\n}\n\n"],"names":["utils"],"mappings":";;AAEO,SAAS,QAAQ,SAAS;AAC/B,MAAI,QAAQ,UAAU;AACpB,WAAOA,sDAAAA,MAAM,OAAO;AAAA,MAClB,uBAAuB,GAAG,QAAQ,QAAQ;AAAA,MAC1C,WAAW,gBAAgB,OAAO,QAAQ,YAAY;AAAA,IAC5D,CAAK;AAAA,EACF;AACD,SAAO;AACT;AAEO,SAAS,WAAW,SAAS;AAClC,MAAI,QAAQ,YAAY,QAAQ,WAAW;AACzC,WAAOA,sDAAAA,MAAM,OAAO;AAAA,MAClB,qBAAqB,cAAc,QAAQ,QAAQ;AAAA,MACnD,WAAW,cAAc,QAAQ,QAAQ;AAAA,MACzC,uBAAuB,QAAQ,SAAS,MAAM;AAAA,MAC9C,OAAO,GAAG,QAAQ,SAAS;AAAA,MAC3B,SAAS;AAAA,IACf,CAAK;AAAA,EACF;AAED,SAAO;AACT;;;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/tabs/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdTabsProps } from './type';\nexport default {\n /** 动画效果设置。其中 duration 表示动画时长。(单位:秒) */\n animation: {\n type: Object,\n },\n /** 激活下划线的模式 */\n bottomLineMode: {\n type: String,\n default: 'fixed' as TdTabsProps['bottomLineMode'],\n validator(val: TdTabsProps['bottomLineMode']): boolean {\n if (!val) return true;\n return ['fixed', 'auto', 'full'].includes(val);\n },\n },\n /** 是否展示底部激活线条 */\n showBottomLine: {\n type: Boolean,\n default: true,\n },\n /** 选项卡头部空间是否均分 */\n spaceEvenly: {\n type: Boolean,\n default: true,\n },\n /** `1.1.10`。是否展示分割线 */\n split: {\n type: Boolean,\n default: true,\n },\n /** 是否开启粘性布局 */\n sticky: Boolean,\n /** 透传至 Sticky 组件 */\n stickyProps: {\n type: Object,\n },\n /** 是否可以滑动切换 */\n swipeable: {\n type: Boolean,\n default: true,\n },\n /** 标签的样式 */\n theme: {\n type: String,\n default: 'line' as TdTabsProps['theme'],\n validator(val: TdTabsProps['theme']): boolean {\n if (!val) return true;\n return ['line', 'tag', 'card'].includes(val);\n },\n },\n /** 激活的选项卡值 */\n value: {\n type: [String, Number],\n },\n /** 激活的选项卡值,非受控属性 */\n defaultValue: {\n type: [String, Number],\n },\n /** 激活的选项卡发生变化时触发 */\n onChange: {\n type: Function,\n default: () => ({}),\n },\n /** 点击选项卡时触发 */\n onClick: {\n type: Function,\n default: () => ({}),\n },\n /** 页面滚动时触发 */\n onScroll: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAA6C;AACrD,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,SAAS,QAAQ,MAAM,EAAE,SAAS,GAAG;AAAA,IAC/C;AAAA,EACF;AAAA;AAAA,EAEA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,QAAQ;AAAA;AAAA,EAER,aAAa;AAAA,IACX,MAAM;AAAA,EACR;AAAA;AAAA,EAEA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAoC;AAC5C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,QAAQ,OAAO,MAAM,EAAE,SAAS,GAAG;AAAA,IAC7C;AAAA,EACF;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"props.js","sources":["uni_modules/tdesign-uniapp/components/tag/props.ts"],"sourcesContent":["/* eslint-disable */\n\n/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport type { TdTagProps } from './type';\nexport default {\n /** 标签是否可关闭 */\n closable: {\n type: [Boolean, Object],\n default: false as TdTagProps['closable'],\n },\n /** 标签禁用态失效标签不能触发事件。默认风格theme=default才有禁用态 */\n disabled: Boolean,\n /** 标签中的图标,可自定义图标呈现 */\n icon: {\n type: [String, Object],\n },\n /** 标签最大宽度,宽度超出后会出现省略号。示例:'50px' / 80 */\n maxWidth: {\n type: [String, Number],\n },\n /** 标签类型,有三种:方形、圆角方形、标记型 */\n shape: {\n type: String,\n default: 'square' as TdTagProps['shape'],\n validator(val: TdTagProps['shape']): boolean {\n if (!val) return true;\n return ['square', 'round', 'mark'].includes(val);\n },\n },\n /** 标签尺寸 */\n size: {\n type: String,\n default: 'medium' as TdTagProps['size'],\n validator(val: TdTagProps['size']): boolean {\n if (!val) return true;\n return ['small', 'medium', 'large', 'extra-large'].includes(val);\n },\n },\n /** 组件风格,用于描述组件不同的应用场景 */\n theme: {\n type: String,\n default: 'default' as TdTagProps['theme'],\n validator(val: TdTagProps['theme']): boolean {\n if (!val) return true;\n return ['default', 'primary', 'warning', 'danger', 'success'].includes(val);\n },\n },\n /** 标签风格变体 */\n variant: {\n type: String,\n default: 'dark' as TdTagProps['variant'],\n validator(val: TdTagProps['variant']): boolean {\n if (!val) return true;\n return ['dark', 'light', 'outline', 'light-outline'].includes(val);\n },\n },\n /** 点击时触发 */\n onClick: {\n type: Function,\n default: () => ({}),\n },\n /** 如果关闭按钮存在,点击关闭按钮时触发 */\n onClose: {\n type: Function,\n default: () => ({}),\n },\n};\n"],"names":[],"mappings":";AAOA,MAAe,QAAA;AAAA;AAAA,EAEb,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,MAAM;AAAA,IACtB,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,UAAU;AAAA;AAAA,EAEV,MAAM;AAAA,IACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ,MAAM;AAAA,EACvB;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAmC;AAC3C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,UAAU,SAAS,MAAM,EAAE,SAAS,GAAG;AAAA,IACjD;AAAA,EACF;AAAA;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAkC;AAC1C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,SAAS,UAAU,SAAS,aAAa,EAAE,SAAS,GAAG;AAAA,IACjE;AAAA,EACF;AAAA;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAmC;AAC3C,UAAI,CAAC;AAAY,eAAA;AACV,aAAA,CAAC,WAAW,WAAW,WAAW,UAAU,SAAS,EAAE,SAAS,GAAG;AAAA,IAC5E;AAAA,EACF;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,KAAqC;AAC7C,UAAI,CAAC;AAAY,eAAA;AACjB,aAAO,CAAC,QAAQ,SAAS,WAAW,eAAe,EAAE,SAAS,GAAG;AAAA,IACnE;AAAA,EACF;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AAAA;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS,OAAO,CAAA;AAAA,EAClB;AACF;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

33
unpackage/dist/dev/mp-weixin/app.js vendored Normal file
View File

@@ -0,0 +1,33 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
if (!Math) {
"./pages/index/index.js";
"./pages/login/login.js";
"./pages/register/register.js";
"./pages/booking/booking.js";
"./pages/appointments/appointments.js";
}
const _sfc_main = {
onLaunch: function() {
const token = common_vendor.index.getStorageSync("token");
if (!token) {
common_vendor.index.reLaunch({
url: "/pages/login/login"
});
}
},
onShow: function() {
},
onHide: function() {
}
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
return {
app
};
}
createApp().app.mount("#app");
exports.createApp = createApp;
//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map

16
unpackage/dist/dev/mp-weixin/app.json vendored Normal file
View File

@@ -0,0 +1,16 @@
{
"pages": [
"pages/index/index",
"pages/login/login",
"pages/register/register",
"pages/booking/booking",
"pages/appointments/appointments"
],
"window": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "预约系统",
"navigationBarBackgroundColor": "#FF7A00",
"backgroundColor": "#F8F8F8"
},
"usingComponents": {}
}

53
unpackage/dist/dev/mp-weixin/app.wxss vendored Normal file
View File

@@ -0,0 +1,53 @@
/* 全局样式 */
page, body {
background-color: #F8F9FA;
color: #333333;
font-size: 28rpx;
line-height: 1.6;
height: 100%;
margin: 0;
padding: 0;
}
/* 通用容器 */
view {
box-sizing: border-box;
}
/* 移除所有按钮的默认边框和阴影 */
button {
border: none !important;
box-shadow: none !important;
outline: none !important;
}
button::after {
border: none !important;
box-shadow: none !important;
}
button:active {
background: none !important;
}
/* 主按钮样式 */
.btn-primary {
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%) !important;
color: #FFFFFF !important;
border: none !important;
box-shadow: 0 4rpx 12rpx rgba(255, 122, 0, 0.3);
}
/* 次要按钮样式 */
.btn-secondary {
background: #F5F5F5 !important;
color: #666666 !important;
border: 2rpx solid #E0E0E0 !important;
}
/* 线框按钮样式 */
.btn-outline {
background: transparent !important;
color: #FF7A00 !important;
border: 2rpx solid #FF7A00 !important;
}
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,174 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const utils_api = require("../../utils/api.js");
if (!Array) {
const _easycom_t_tab_panel2 = common_vendor.resolveComponent("t-tab-panel");
const _easycom_t_tabs2 = common_vendor.resolveComponent("t-tabs");
const _easycom_t_loading2 = common_vendor.resolveComponent("t-loading");
const _easycom_t_empty2 = common_vendor.resolveComponent("t-empty");
const _easycom_t_tag2 = common_vendor.resolveComponent("t-tag");
const _easycom_t_button2 = common_vendor.resolveComponent("t-button");
(_easycom_t_tab_panel2 + _easycom_t_tabs2 + _easycom_t_loading2 + _easycom_t_empty2 + _easycom_t_tag2 + _easycom_t_button2)();
}
const _easycom_t_tab_panel = () => "../../uni_modules/tdesign-uniapp/components/tab-panel/tab-panel.js";
const _easycom_t_tabs = () => "../../uni_modules/tdesign-uniapp/components/tabs/tabs.js";
const _easycom_t_loading = () => "../../uni_modules/tdesign-uniapp/components/loading/loading.js";
const _easycom_t_empty = () => "../../uni_modules/tdesign-uniapp/components/empty/empty.js";
const _easycom_t_tag = () => "../../uni_modules/tdesign-uniapp/components/tag/tag.js";
const _easycom_t_button = () => "../../uni_modules/tdesign-uniapp/components/button/button.js";
if (!Math) {
(_easycom_t_tab_panel + _easycom_t_tabs + _easycom_t_loading + _easycom_t_empty + _easycom_t_tag + _easycom_t_button)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "appointments",
setup(__props) {
const activeTab = common_vendor.ref("all");
const appointments = common_vendor.ref([]);
const loading = common_vendor.ref(false);
common_vendor.onMounted(() => {
loadAppointments();
});
const loadAppointments = async () => {
loading.value = true;
try {
const params = {};
if (activeTab.value !== "all") {
params.status = activeTab.value;
}
appointments.value = await utils_api.api.appointments.getList(params);
} catch (error) {
common_vendor.index.__f__("error", "at pages/appointments/appointments.vue:84", "加载预约失败", error);
} finally {
loading.value = false;
}
};
const onTabChange = (value) => {
const tabValue = typeof value === "string" ? value : (value == null ? void 0 : value.value) || "all";
activeTab.value = tabValue;
loadAppointments();
};
const getStatusTheme = (status) => {
const themes = {
pending: "warning",
confirmed: "success",
completed: "primary",
cancelled: "default"
};
return themes[status] || "default";
};
const getStatusText = (status) => {
const texts = {
pending: "待确认",
confirmed: "已确认",
completed: "已完成",
cancelled: "已取消"
};
return texts[status] || status;
};
const formatDate = (dateStr) => {
if (!dateStr)
return "";
try {
return dateStr.replace("T", " ").split("+")[0];
} catch (error) {
common_vendor.index.__f__("error", "at pages/appointments/appointments.vue:127", "Date format error:", error, dateStr);
return dateStr;
}
};
const formatTime = (timeStr) => {
const timePart = timeStr.split("T")[1] || timeStr;
const timeWithoutZone = timePart.split("+")[0].split("Z")[0];
const [hours, minutes] = timeWithoutZone.split(":");
return `${hours}:${minutes}`;
};
const cancelAppointment = (appointment) => {
common_vendor.index.showModal({
title: "确认取消",
content: "确定要取消这个预约吗?",
success: async (res) => {
if (res.confirm) {
try {
await utils_api.api.appointments.cancel(appointment.id);
common_vendor.index.showToast({
title: "取消成功",
icon: "success"
});
loadAppointments();
} catch (error) {
common_vendor.index.__f__("error", "at pages/appointments/appointments.vue:157", "取消预约失败", error);
}
}
}
});
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
value: "all",
label: "全部"
}),
b: common_vendor.p({
value: "pending",
label: "待确认"
}),
c: common_vendor.p({
value: "confirmed",
label: "已确认"
}),
d: common_vendor.p({
value: "completed",
label: "已完成"
}),
e: common_vendor.p({
value: "cancelled",
label: "已取消"
}),
f: common_vendor.o(onTabChange),
g: common_vendor.p({
value: activeTab.value
}),
h: loading.value
}, loading.value ? {
i: common_vendor.p({
loading: true
})
} : appointments.value.length === 0 ? {
k: common_vendor.p({
description: "暂无预约记录"
})
} : {
l: common_vendor.f(appointments.value, (appointment, k0, i0) => {
return common_vendor.e({
a: common_vendor.t(getStatusText(appointment.status)),
b: "7c6f8f1a-8-" + i0,
c: common_vendor.p({
theme: getStatusTheme(appointment.status),
size: "small"
}),
d: common_vendor.t(formatDate(appointment.created_at)),
e: common_vendor.t(appointment.time_slot ? appointment.time_slot.date.split("T")[0] : ""),
f: common_vendor.t(appointment.time_slot ? formatTime(appointment.time_slot.start_time) : ""),
g: common_vendor.t(appointment.time_slot ? formatTime(appointment.time_slot.end_time) : ""),
h: common_vendor.t(appointment.people_count),
i: appointment.status === "pending"
}, appointment.status === "pending" ? {
j: common_vendor.o(($event) => cancelAppointment(appointment), appointment.id),
k: "7c6f8f1a-9-" + i0,
l: common_vendor.p({
size: "small",
theme: "danger",
variant: "outline"
})
} : {}, {
m: appointment.id
});
})
}, {
j: appointments.value.length === 0
});
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7c6f8f1a"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/appointments/appointments.js.map

View File

@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "我的预约",
"usingComponents": {
"t-tab-panel": "../../uni_modules/tdesign-uniapp/components/tab-panel/tab-panel",
"t-tabs": "../../uni_modules/tdesign-uniapp/components/tabs/tabs",
"t-loading": "../../uni_modules/tdesign-uniapp/components/loading/loading",
"t-empty": "../../uni_modules/tdesign-uniapp/components/empty/empty",
"t-tag": "../../uni_modules/tdesign-uniapp/components/tag/tag",
"t-button": "../../uni_modules/tdesign-uniapp/components/button/button"
}
}

View File

@@ -0,0 +1 @@
<view class="container data-v-7c6f8f1a"><view class="tabs data-v-7c6f8f1a"><t-tabs wx:if="{{g}}" class="data-v-7c6f8f1a" u-s="{{['d']}}" bindchange="{{f}}" u-i="7c6f8f1a-0" bind:__l="__l" u-p="{{g}}"><t-tab-panel wx:if="{{a}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-1,7c6f8f1a-0" bind:__l="__l" u-p="{{a}}"/><t-tab-panel wx:if="{{b}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-2,7c6f8f1a-0" bind:__l="__l" u-p="{{b}}"/><t-tab-panel wx:if="{{c}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-3,7c6f8f1a-0" bind:__l="__l" u-p="{{c}}"/><t-tab-panel wx:if="{{d}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-4,7c6f8f1a-0" bind:__l="__l" u-p="{{d}}"/><t-tab-panel wx:if="{{e}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-5,7c6f8f1a-0" bind:__l="__l" u-p="{{e}}"/></t-tabs></view><view class="appointments-list data-v-7c6f8f1a"><t-loading wx:if="{{h}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-6" bind:__l="__l" u-p="{{i}}"/><view wx:elif="{{j}}" class="empty-state data-v-7c6f8f1a"><t-empty wx:if="{{k}}" class="data-v-7c6f8f1a" u-i="7c6f8f1a-7" bind:__l="__l" u-p="{{k}}"/></view><view wx:else class="data-v-7c6f8f1a"><view wx:for="{{l}}" wx:for-item="appointment" wx:key="m" class="appointment-card data-v-7c6f8f1a"><view class="appointment-header data-v-7c6f8f1a"><view class="appointment-status data-v-7c6f8f1a"><t-tag wx:if="{{appointment.c}}" class="data-v-7c6f8f1a" u-s="{{['d']}}" u-i="{{appointment.b}}" bind:__l="__l" u-p="{{appointment.c}}">{{appointment.a}}</t-tag></view><view class="appointment-date data-v-7c6f8f1a">{{appointment.d}}</view></view><view class="appointment-body data-v-7c6f8f1a"><view class="appointment-row data-v-7c6f8f1a"><text class="row-label data-v-7c6f8f1a">时间段:</text><text class="row-value data-v-7c6f8f1a">{{appointment.e}} {{appointment.f}} - {{appointment.g}}</text></view><view class="appointment-row data-v-7c6f8f1a"><text class="row-label data-v-7c6f8f1a">人数:</text><text class="row-value data-v-7c6f8f1a">{{appointment.h}}人</text></view></view><view wx:if="{{appointment.i}}" class="appointment-footer data-v-7c6f8f1a"><t-button wx:if="{{appointment.l}}" u-s="{{['d']}}" class="btn-outline data-v-7c6f8f1a" bindclick="{{appointment.j}}" u-i="{{appointment.k}}" bind:__l="__l" u-p="{{appointment.l}}"> 取消预约 </t-button></view></view></view></view></view>

View File

@@ -0,0 +1,61 @@
.container.data-v-7c6f8f1a {
height: calc(100vh - var(--window-top));
display: flex;
flex-direction: column;
background: #F8F9FA;
overflow: hidden;
}
.tabs.data-v-7c6f8f1a {
flex-shrink: 0;
background: #ffffff;
}
.appointments-list.data-v-7c6f8f1a {
flex: 1;
overflow-y: auto;
padding: 20rpx 32rpx;
}
.empty-state.data-v-7c6f8f1a {
padding: 120rpx 0;
}
.appointment-card.data-v-7c6f8f1a {
background: #ffffff;
border-radius: 16rpx;
padding: 32rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
}
.appointment-header.data-v-7c6f8f1a {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
}
.appointment-date.data-v-7c6f8f1a {
font-size: 24rpx;
color: #999;
}
.appointment-body.data-v-7c6f8f1a {
padding: 24rpx 0;
border-top: 1rpx solid #f0f0f0;
border-bottom: 1rpx solid #f0f0f0;
}
.appointment-row.data-v-7c6f8f1a {
display: flex;
margin-bottom: 16rpx;
}
.row-label.data-v-7c6f8f1a {
font-size: 28rpx;
color: #666;
min-width: 120rpx;
}
.row-value.data-v-7c6f8f1a {
font-size: 28rpx;
color: #333;
flex: 1;
}
.appointment-footer.data-v-7c6f8f1a {
padding-top: 24rpx;
display: flex;
justify-content: flex-end;
}

View File

@@ -0,0 +1,280 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const utils_api = require("../../utils/api.js");
if (!Array) {
const _easycom_t_loading2 = common_vendor.resolveComponent("t-loading");
const _easycom_t_empty2 = common_vendor.resolveComponent("t-empty");
const _easycom_t_tag2 = common_vendor.resolveComponent("t-tag");
const _easycom_t_button2 = common_vendor.resolveComponent("t-button");
const _easycom_t_stepper2 = common_vendor.resolveComponent("t-stepper");
const _easycom_t_dialog2 = common_vendor.resolveComponent("t-dialog");
(_easycom_t_loading2 + _easycom_t_empty2 + _easycom_t_tag2 + _easycom_t_button2 + _easycom_t_stepper2 + _easycom_t_dialog2)();
}
const _easycom_t_loading = () => "../../uni_modules/tdesign-uniapp/components/loading/loading.js";
const _easycom_t_empty = () => "../../uni_modules/tdesign-uniapp/components/empty/empty.js";
const _easycom_t_tag = () => "../../uni_modules/tdesign-uniapp/components/tag/tag.js";
const _easycom_t_button = () => "../../uni_modules/tdesign-uniapp/components/button/button.js";
const _easycom_t_stepper = () => "../../uni_modules/tdesign-uniapp/components/stepper/stepper.js";
const _easycom_t_dialog = () => "../../uni_modules/tdesign-uniapp/components/dialog/dialog.js";
if (!Math) {
(_easycom_t_loading + _easycom_t_empty + _easycom_t_tag + _easycom_t_button + _easycom_t_stepper + _easycom_t_dialog)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "booking",
setup(__props) {
const getLocalDateStr = () => {
const now = /* @__PURE__ */ new Date();
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, "0");
const day = String(now.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
};
const selectedDate = common_vendor.ref(getLocalDateStr());
const timeslots = common_vendor.ref([]);
const loading = common_vendor.ref(false);
const showDialog = common_vendor.ref(false);
const selectedSlot = common_vendor.ref(null);
const peopleCount = common_vendor.ref(1);
const notes = common_vendor.ref("");
const isBooking = common_vendor.ref(false);
const currentDate = common_vendor.ref(/* @__PURE__ */ new Date());
const weekdays = ["日", "一", "二", "三", "四", "五", "六"];
const dateBookings = common_vendor.ref({});
const dateHasSlots = common_vendor.ref({});
const currentDateStr = common_vendor.computed(() => {
const year = currentDate.value.getFullYear();
const month = currentDate.value.getMonth() + 1;
return `${year}${month}`;
});
const totalBookingCount = common_vendor.computed(() => {
return timeslots.value.reduce((sum, slot) => sum + slot.current_people, 0);
});
const calendarDays = common_vendor.computed(() => {
const year = currentDate.value.getFullYear();
const month = currentDate.value.getMonth();
const firstDay = new Date(year, month, 1);
const lastDay = new Date(year, month + 1, 0);
const today = /* @__PURE__ */ new Date();
const startWeekday = firstDay.getDay();
const days = [];
for (let i = startWeekday - 1; i >= 0; i--) {
days.push({
day: "",
dateStr: "",
isPlaceholder: true,
isOtherMonth: false,
isToday: false,
bookingCount: 0,
hasBookings: false
});
}
for (let i = 1; i <= lastDay.getDate(); i++) {
const date = new Date(year, month, i);
const yearNum = date.getFullYear();
const monthNum = date.getMonth() + 1;
const dayNum = date.getDate();
const dateStr = `${yearNum}-${String(monthNum).padStart(2, "0")}-${String(dayNum).padStart(2, "0")}`;
const todayYear = today.getFullYear();
const todayMonth = today.getMonth();
const todayDay = today.getDate();
const isToday = yearNum === todayYear && monthNum - 1 === todayMonth && dayNum === todayDay;
days.push({
day: i,
dateStr,
isPlaceholder: false,
isOtherMonth: false,
isToday,
bookingCount: dateBookings.value[dateStr] || 0,
hasBookings: dateHasSlots.value[dateStr] || false
});
}
return days;
});
common_vendor.onMounted(() => {
const token = common_vendor.index.getStorageSync("token");
if (!token) {
common_vendor.index.redirectTo({ url: "/pages/login/login" });
} else {
loadTimeSlots();
loadDateBookings();
}
});
const loadDateBookings = async () => {
try {
const slots = await utils_api.api.timeslots.getList({ is_active: true });
const bookings = {};
const slotsMap = {};
slots.forEach((slot) => {
const dateStr = slot.date.split("T")[0];
bookings[dateStr] = (bookings[dateStr] || 0) + slot.current_people;
slotsMap[dateStr] = true;
});
dateBookings.value = bookings;
dateHasSlots.value = slotsMap;
} catch (error) {
common_vendor.index.__f__("error", "at pages/booking/booking.vue:230", "加载日期预约统计失败", error);
}
};
const loadTimeSlots = async () => {
loading.value = true;
try {
const slots = await utils_api.api.timeslots.getList({
date: selectedDate.value,
is_active: true
});
timeslots.value = slots;
} catch (error) {
common_vendor.index.__f__("error", "at pages/booking/booking.vue:244", "加载时间槽失败", error);
} finally {
loading.value = false;
}
};
const selectDate = (day) => {
selectedDate.value = day.dateStr;
loadTimeSlots();
};
const formatTime = (timeStr) => {
const timePart = timeStr.split("T")[1] || timeStr;
const timeWithoutZone = timePart.split("+")[0].split("Z")[0];
const [hours, minutes] = timeWithoutZone.split(":");
return `${hours}:${minutes}`;
};
const showBookingModal = (slot) => {
if (isBooking.value) {
common_vendor.index.showToast({
title: "正在处理,请稍候",
icon: "none"
});
return;
}
if (!slot.is_active || slot.current_people >= slot.max_people) {
common_vendor.index.__f__("log", "at pages/booking/booking.vue:278", "时间槽不可用", slot);
common_vendor.index.showToast({
title: "该时间段已不可用",
icon: "none"
});
return;
}
selectedSlot.value = slot;
peopleCount.value = 1;
notes.value = "";
showDialog.value = true;
common_vendor.index.__f__("log", "at pages/booking/booking.vue:289", "打开弹窗", showDialog.value);
};
const confirmBooking = async () => {
if (!selectedSlot.value)
return;
isBooking.value = true;
try {
await utils_api.api.appointments.create(selectedSlot.value.id, peopleCount.value, notes.value);
common_vendor.index.showToast({
title: "预约成功",
icon: "success"
});
showDialog.value = false;
loadTimeSlots();
loadDateBookings();
} catch (error) {
showDialog.value = false;
} finally {
isBooking.value = false;
}
};
return (_ctx, _cache) => {
var _a, _b, _c, _d;
return common_vendor.e({
a: common_vendor.t(currentDateStr.value),
b: common_vendor.f(weekdays, (day, k0, i0) => {
return {
a: common_vendor.t(day),
b: day
};
}),
c: common_vendor.f(calendarDays.value, (day, index, i0) => {
return common_vendor.e({
a: !day.isPlaceholder
}, !day.isPlaceholder ? {
b: common_vendor.t(day.day)
} : {}, {
c: !day.isPlaceholder && day.bookingCount > 0
}, !day.isPlaceholder && day.bookingCount > 0 ? {
d: common_vendor.t(day.bookingCount)
} : {}, {
e: day.dateStr || `placeholder-${index}`,
f: day.isPlaceholder ? 1 : "",
g: day.dateStr === selectedDate.value ? 1 : "",
h: day.isToday ? 1 : "",
i: !day.hasBookings && !day.isPlaceholder ? 1 : "",
j: day.hasBookings ? 1 : "",
k: common_vendor.o(($event) => !day.isPlaceholder && selectDate(day), day.dateStr || `placeholder-${index}`)
});
}),
d: common_vendor.t(selectedDate.value),
e: totalBookingCount.value > 0
}, totalBookingCount.value > 0 ? {
f: common_vendor.t(totalBookingCount.value)
} : {}, {
g: loading.value
}, loading.value ? {
h: common_vendor.p({
loading: true
})
} : timeslots.value.length === 0 ? {
j: common_vendor.p({
description: "暂无可预约时间段"
})
} : {
k: common_vendor.f(timeslots.value, (slot, k0, i0) => {
return {
a: common_vendor.t(formatTime(slot.start_time)),
b: common_vendor.t(formatTime(slot.end_time)),
c: common_vendor.t(slot.current_people),
d: common_vendor.t(slot.max_people),
e: "d331dabb-2-" + i0,
f: common_vendor.p({
theme: slot.current_people >= slot.max_people ? "danger" : "success",
size: "small"
}),
g: common_vendor.t(slot.current_people >= slot.max_people ? "已满" : "预约"),
h: common_vendor.o(($event) => showBookingModal(slot), slot.id),
i: "d331dabb-3-" + i0,
j: common_vendor.p({
["t-class"]: "btn-primary",
size: "small",
theme: "primary",
disabled: !slot.is_active || slot.current_people >= slot.max_people
}),
k: slot.id,
l: !slot.is_active || slot.current_people >= slot.max_people ? 1 : ""
};
})
}, {
i: timeslots.value.length === 0,
l: common_vendor.t(selectedDate.value),
m: common_vendor.t(((_a = selectedSlot.value) == null ? void 0 : _a.start_time) ? formatTime(selectedSlot.value.start_time) : ""),
n: common_vendor.t(((_b = selectedSlot.value) == null ? void 0 : _b.end_time) ? formatTime(selectedSlot.value.end_time) : ""),
o: common_vendor.o(($event) => peopleCount.value = $event),
p: common_vendor.p({
min: 1,
max: ((_c = selectedSlot.value) == null ? void 0 : _c.max_people) - ((_d = selectedSlot.value) == null ? void 0 : _d.current_people) || 1,
disabled: true,
size: "small",
modelValue: peopleCount.value
}),
q: common_vendor.o(confirmBooking),
r: common_vendor.o(($event) => showDialog.value = false),
s: common_vendor.o(($event) => showDialog.value = $event),
t: common_vendor.p({
title: "预约确认",
cancelBtn: "取消",
confirmBtn: "确认预约",
["t-class-confirm"]: "btn-primary",
visible: showDialog.value
})
});
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d331dabb"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/booking/booking.js.map

View File

@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "我要预约",
"usingComponents": {
"t-loading": "../../uni_modules/tdesign-uniapp/components/loading/loading",
"t-empty": "../../uni_modules/tdesign-uniapp/components/empty/empty",
"t-tag": "../../uni_modules/tdesign-uniapp/components/tag/tag",
"t-button": "../../uni_modules/tdesign-uniapp/components/button/button",
"t-stepper": "../../uni_modules/tdesign-uniapp/components/stepper/stepper",
"t-dialog": "../../uni_modules/tdesign-uniapp/components/dialog/dialog"
}
}

View File

@@ -0,0 +1 @@
<view class="container data-v-d331dabb"><view class="date-selector data-v-d331dabb"><view class="calendar-header data-v-d331dabb"><text class="month-title data-v-d331dabb">{{a}}</text></view><view class="calendar-weekdays data-v-d331dabb"><text wx:for="{{b}}" wx:for-item="day" wx:key="b" class="weekday data-v-d331dabb">{{day.a}}</text></view><view class="calendar-days data-v-d331dabb"><view wx:for="{{c}}" wx:for-item="day" wx:key="e" class="{{['calendar-day', 'data-v-d331dabb', day.f && 'placeholder', day.g && 'selected', day.h && 'today', day.i && 'disabled', day.j && 'has-bookings']}}" bindtap="{{day.k}}"><text wx:if="{{day.a}}" class="day-number data-v-d331dabb">{{day.b}}</text><text wx:if="{{day.c}}" class="booking-count data-v-d331dabb">{{day.d}}人 </text></view></view></view><scroll-view class="timeslots-scroll data-v-d331dabb" scroll-y="true"><view class="timeslots-section data-v-d331dabb"><view class="section-title data-v-d331dabb">{{d}} 可选时间段 <text wx:if="{{e}}" class="total-booking data-v-d331dabb"> (总预约: {{f}}人) </text></view><t-loading wx:if="{{g}}" class="data-v-d331dabb" u-i="d331dabb-0" bind:__l="__l" u-p="{{h}}"/><view wx:elif="{{i}}" class="empty-state data-v-d331dabb"><t-empty wx:if="{{j}}" class="data-v-d331dabb" u-i="d331dabb-1" bind:__l="__l" u-p="{{j}}"/></view><view wx:else class="timeslots-list data-v-d331dabb"><view wx:for="{{k}}" wx:for-item="slot" wx:key="k" class="{{['timeslot-card', 'data-v-d331dabb', slot.l && 'disabled']}}"><view class="timeslot-info data-v-d331dabb"><view class="time-range data-v-d331dabb">{{slot.a}} - {{slot.b}}</view><view class="slot-status data-v-d331dabb"><t-tag wx:if="{{slot.f}}" class="data-v-d331dabb" u-s="{{['d']}}" u-i="{{slot.e}}" bind:__l="__l" u-p="{{slot.f}}">{{slot.c}}/{{slot.d}}</t-tag></view></view><t-button wx:if="{{slot.j}}" class="data-v-d331dabb" u-s="{{['d']}}" catchclick="{{slot.h}}" u-i="{{slot.i}}" bind:__l="__l" u-p="{{slot.j}}">{{slot.g}}</t-button></view></view></view></scroll-view><t-dialog wx:if="{{t}}" class="data-v-d331dabb" u-s="{{['content']}}" bindconfirm="{{q}}" bindcancel="{{r}}" u-i="d331dabb-4" bind:__l="__l" bindupdateVisible="{{s}}" u-p="{{t}}"><scroll-view type="list" scroll-y class="long-content data-v-d331dabb" slot="content"><view class="booking-dialog data-v-d331dabb"><view class="dialog-item data-v-d331dabb"><text class="dialog-label data-v-d331dabb">日期:</text><text class="dialog-value data-v-d331dabb">{{l}}</text></view><view class="dialog-item data-v-d331dabb"><text class="dialog-label data-v-d331dabb">时间段:</text><text class="dialog-value data-v-d331dabb">{{m}} - {{n}}</text></view><view class="dialog-item data-v-d331dabb"><text class="dialog-label data-v-d331dabb">人数:</text><t-stepper wx:if="{{p}}" class="data-v-d331dabb" u-i="d331dabb-5,d331dabb-4" bind:__l="__l" bindupdateModelValue="{{o}}" u-p="{{p}}"/></view></view></scroll-view></t-dialog></view>

View File

@@ -0,0 +1,179 @@
.container.data-v-d331dabb {
height: calc(100vh - var(--window-top));
display: flex;
flex-direction: column;
background: #f5f5f5;
overflow: hidden;
}
.date-selector.data-v-d331dabb {
flex-shrink: 0;
background: #ffffff;
margin: 24rpx 32rpx;
border-radius: 16rpx;
padding: 32rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.06);
}
.calendar-header.data-v-d331dabb {
text-align: center;
margin-bottom: 24rpx;
}
.month-title.data-v-d331dabb {
font-size: 32rpx;
font-weight: bold;
color: #333;
}
.calendar-weekdays.data-v-d331dabb {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 8rpx;
margin-bottom: 16rpx;
padding: 0 10rpx;
}
.weekday.data-v-d331dabb {
font-size: 24rpx;
color: #999;
text-align: center;
}
.calendar-days.data-v-d331dabb {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 8rpx;
padding: 0 10rpx;
}
.calendar-day.data-v-d331dabb {
height: 100rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-radius: 8rpx;
cursor: pointer;
transition: all 0.3s ease;
}
.calendar-day.placeholder.data-v-d331dabb {
visibility: hidden;
}
.calendar-day.disabled.data-v-d331dabb {
opacity: 0.4;
pointer-events: none;
}
.calendar-day.has-bookings.data-v-d331dabb {
background: rgba(255, 122, 0, 0.08);
border: 2rpx solid #FF7A00;
}
.calendar-day.today.data-v-d331dabb {
background: rgba(255, 122, 0, 0.12);
}
.calendar-day.selected.data-v-d331dabb {
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%);
}
.calendar-day.selected .day-number.data-v-d331dabb {
color: #ffffff;
}
.calendar-day.selected .booking-count.data-v-d331dabb {
color: #ffffff;
}
.day-number.data-v-d331dabb {
font-size: 28rpx;
color: #333;
margin-bottom: 4rpx;
}
.booking-count.data-v-d331dabb {
font-size: 20rpx;
color: #FF7A00;
}
.timeslots-scroll.data-v-d331dabb {
flex: 1;
overflow: hidden;
}
.timeslots-section.data-v-d331dabb {
padding: 32rpx;
}
.section-title.data-v-d331dabb {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 24rpx;
display: flex;
align-items: center;
}
.total-booking.data-v-d331dabb {
font-size: 24rpx;
color: #FF7A00;
margin-left: 16rpx;
font-weight: normal;
}
.empty-state.data-v-d331dabb {
padding: 80rpx 0;
}
.timeslots-list.data-v-d331dabb {
display: flex;
flex-direction: column;
gap: 20rpx;
}
.timeslot-card.data-v-d331dabb {
background: #ffffff;
border-radius: 16rpx;
padding: 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
}
.timeslot-card.disabled.data-v-d331dabb {
opacity: 0.6;
}
.timeslot-info.data-v-d331dabb {
flex: 1;
}
.time-range.data-v-d331dabb {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 16rpx;
}
.slot-status.data-v-d331dabb {
margin-top: 8rpx;
}
.booking-dialog.data-v-d331dabb {
padding: 32rpx 0;
}
.dialog-item.data-v-d331dabb {
display: flex;
align-items: center;
padding: 20rpx 0;
border-bottom: 1rpx solid #f0f0f0;
}
.dialog-item.data-v-d331dabb:last-child {
border-bottom: none;
}
.dialog-label.data-v-d331dabb {
width: 120rpx;
font-size: 28rpx;
color: #666;
}
.dialog-value.data-v-d331dabb {
flex: 1;
font-size: 28rpx;
color: #333;
font-weight: 500;
}
/* 按钮自定义样式 - 使用全局样式 */
.btn-primary {
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%) !important;
border: none !important;
border-radius: 8rpx !important;
color: #FFFFFF !important;
box-shadow: 0 4rpx 12rpx rgba(255, 122, 0, 0.3) !important;
outline: none !important;
}
.btn-primary::after {
border: none !important;
box-shadow: none !important;
}
.btn-primary:active {
background: linear-gradient(135deg, #FF6900 0%, #FF8500 100%) !important;
}

View File

@@ -0,0 +1,75 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_t_fab2 = common_vendor.resolveComponent("t-fab");
_easycom_t_fab2();
}
const _easycom_t_fab = () => "../../uni_modules/tdesign-uniapp/components/fab/fab.js";
if (!Math) {
_easycom_t_fab();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "index",
setup(__props) {
const user = common_vendor.ref(null);
const banners = common_vendor.ref([
{ image: "https://picsum.photos/800/400?random=1", title: "专业美容服务" },
{ image: "https://picsum.photos/800/400?random=2", title: "预约更便捷" },
{ image: "https://picsum.photos/800/400?random=3", title: "优惠活动" }
]);
const menuItems = common_vendor.ref([
{ icon: "📅", text: "我要预约", path: "/pages/booking/booking" },
{ icon: "📋", text: "我的预约", path: "/pages/appointments/appointments" }
]);
common_vendor.onMounted(() => {
const token = common_vendor.index.getStorageSync("token");
if (!token) {
common_vendor.index.redirectTo({ url: "/pages/login/login" });
} else {
user.value = common_vendor.index.getStorageSync("user");
}
});
const navigateTo = (path) => {
common_vendor.index.navigateTo({ url: path });
};
const logout = () => {
common_vendor.index.showModal({
title: "提示",
content: "确定要退出登录吗?",
success: (res) => {
if (res.confirm) {
common_vendor.index.removeStorageSync("token");
common_vendor.index.removeStorageSync("user");
common_vendor.index.redirectTo({ url: "/pages/login/login" });
}
}
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(banners.value, (item, index, i0) => {
return {
a: item.image,
b: index
};
}),
b: common_vendor.f(menuItems.value, (item, index, i0) => {
return {
a: common_vendor.t(item.icon),
b: common_vendor.t(item.text),
c: item.path,
d: common_vendor.o(($event) => navigateTo(item.path), item.path)
};
}),
c: common_vendor.o(logout),
d: common_vendor.p({
icon: "caret-right",
["aria-label"]: "退出"
})
};
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1cf27b2a"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map

View File

@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "预约系统",
"usingComponents": {
"t-fab": "../../uni_modules/tdesign-uniapp/components/fab/fab"
}
}

View File

@@ -0,0 +1 @@
<view class="container data-v-1cf27b2a"><view class="swiper-container data-v-1cf27b2a"><swiper class="swiper data-v-1cf27b2a" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{3000}}" duration="{{500}}" indicator-color="rgba(255, 255, 255, 0.5)" indicator-active-color="#FF7A00"><swiper-item wx:for="{{a}}" wx:for-item="item" wx:key="b" class="swiper-item data-v-1cf27b2a"><image src="{{item.a}}" class="banner-image data-v-1cf27b2a" mode="aspectFill" lazy-load/></swiper-item></swiper></view><view class="grid-scroll data-v-1cf27b2a"><view class="grid-container data-v-1cf27b2a"><view wx:for="{{b}}" wx:for-item="item" wx:key="c" class="grid-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="grid-icon data-v-1cf27b2a">{{item.a}}</view><text class="grid-text data-v-1cf27b2a">{{item.b}}</text></view></view></view><t-fab wx:if="{{d}}" class="data-v-1cf27b2a" bindclick="{{c}}" u-i="1cf27b2a-0" bind:__l="__l" u-p="{{d}}"/></view>

View File

@@ -0,0 +1,78 @@
.container.data-v-1cf27b2a {
height: calc(100vh - var(--window-top));
display: flex;
flex-direction: column;
background: #f5f5f5;
overflow: hidden;
}
.welcome-section.data-v-1cf27b2a {
flex-shrink: 0;
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%);
padding: 32rpx;
}
.welcome-text.data-v-1cf27b2a {
font-size: 36rpx;
font-weight: bold;
color: #ffffff;
}
/* 轮播图样式 */
.swiper-container.data-v-1cf27b2a {
flex-shrink: 0;
margin: 24rpx 32rpx;
border-radius: 16rpx;
overflow: hidden;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
}
.swiper.data-v-1cf27b2a {
width: 100%;
height: 360rpx;
}
.swiper-item.data-v-1cf27b2a {
width: 100%;
height: 100%;
}
.banner-image.data-v-1cf27b2a {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%);
}
/* 九宫格样式 */
.grid-scroll.data-v-1cf27b2a {
flex: 1;
overflow: hidden;
}
.grid-container.data-v-1cf27b2a {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24rpx;
padding: 0 32rpx;
width: 100%;
align-content: center;
}
.grid-item.data-v-1cf27b2a {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #ffffff;
border-radius: 16rpx;
padding: 40rpx 20rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
}
.grid-item.data-v-1cf27b2a:active {
transform: scale(0.95);
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}
.grid-icon.data-v-1cf27b2a {
font-size: 64rpx;
margin-bottom: 16rpx;
}
.grid-text.data-v-1cf27b2a {
font-size: 28rpx;
color: #333;
font-weight: 500;
}

View File

@@ -0,0 +1,172 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const utils_api = require("../../utils/api.js");
if (!Array) {
const _easycom_t_input2 = common_vendor.resolveComponent("t-input");
const _easycom_t_button2 = common_vendor.resolveComponent("t-button");
(_easycom_t_input2 + _easycom_t_button2)();
}
const _easycom_t_input = () => "../../uni_modules/tdesign-uniapp/components/input/input.js";
const _easycom_t_button = () => "../../uni_modules/tdesign-uniapp/components/button/button.js";
if (!Math) {
(_easycom_t_input + _easycom_t_button)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "login",
setup(__props) {
const phone = common_vendor.ref("13777777777");
const code = common_vendor.ref("");
const loginType = common_vendor.ref("one-click");
const loading = common_vendor.ref(false);
const codeDisabled = common_vendor.ref(false);
const countdown = common_vendor.ref(0);
const codeButtonText = common_vendor.ref("发送验证码");
const toggleLoginType = () => {
loginType.value = loginType.value === "code" ? "one-click" : "code";
};
const sendCode = async () => {
common_vendor.index.__f__("log", "at pages/login/login.vue:74", phone.value);
if (!phone.value || phone.value.length !== 11) {
common_vendor.index.showToast({
title: "请输入正确的手机号",
icon: "none"
});
return;
}
try {
await utils_api.api.auth.sendCode("+86" + phone.value);
common_vendor.index.showToast({
title: "验证码已发送",
icon: "success"
});
codeDisabled.value = true;
countdown.value = 60;
const timer = setInterval(() => {
countdown.value--;
codeButtonText.value = `${countdown.value}秒后重发`;
if (countdown.value <= 0) {
clearInterval(timer);
codeDisabled.value = false;
codeButtonText.value = "发送验证码";
}
}, 1e3);
} catch (error) {
common_vendor.index.__f__("error", "at pages/login/login.vue:103", "发送验证码失败", error);
}
};
const codeLogin = async () => {
if (!phone.value || phone.value.length !== 11) {
common_vendor.index.showToast({
title: "请输入正确的手机号",
icon: "none"
});
return;
}
if (!code.value || code.value.length !== 6) {
common_vendor.index.showToast({
title: "请输入验证码",
icon: "none"
});
return;
}
loading.value = true;
try {
const res = await utils_api.api.auth.verificationLogin("+86" + phone.value, code.value);
common_vendor.index.setStorageSync("token", res.token);
common_vendor.index.setStorageSync("user", res.user);
common_vendor.index.showToast({
title: "登录成功",
icon: "success"
});
common_vendor.index.reLaunch({ url: "/pages/index/index" });
} catch (error) {
common_vendor.index.__f__("error", "at pages/login/login.vue:139", "登录失败", error);
} finally {
loading.value = false;
}
};
const oneClickLogin = async () => {
if (!phone.value || phone.value.length !== 11) {
common_vendor.index.showToast({
title: "请输入正确的手机号",
icon: "none"
});
return;
}
loading.value = true;
try {
const res = await utils_api.api.auth.oneClickLogin("+86" + phone.value);
common_vendor.index.setStorageSync("token", res.token);
common_vendor.index.setStorageSync("user", res.user);
common_vendor.index.showToast({
title: "登录成功",
icon: "success"
});
common_vendor.index.reLaunch({ url: "/pages/index/index" });
} catch (error) {
common_vendor.index.__f__("error", "at pages/login/login.vue:169", "登录失败", error);
} finally {
loading.value = false;
}
};
const goToRegister = () => {
common_vendor.index.navigateTo({ url: "/pages/register/register" });
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => phone.value = $event),
b: common_vendor.p({
placeholder: "请输入手机号",
type: "number",
maxlength: 11,
clearable: true,
value: phone.value
}),
c: loginType.value === "code"
}, loginType.value === "code" ? {
d: common_vendor.t(codeButtonText.value),
e: common_vendor.o(sendCode),
f: common_vendor.p({
size: "small",
variant: "text",
disabled: codeDisabled.value
}),
g: common_vendor.o(($event) => code.value = $event),
h: common_vendor.p({
placeholder: "请输入验证码",
type: "number",
maxlength: 6,
clearable: true,
value: code.value
})
} : {}, {
i: loginType.value === "code"
}, loginType.value === "code" ? {
j: common_vendor.o(codeLogin),
k: common_vendor.p({
["t-class"]: "btn-primary",
theme: "primary",
size: "large",
block: true,
loading: loading.value
})
} : {
l: common_vendor.o(oneClickLogin),
m: common_vendor.p({
["t-class"]: "btn-primary",
theme: "primary",
size: "large",
block: true,
loading: loading.value
})
}, {
n: common_vendor.t(loginType.value === "code" ? "使用一键登录" : "使用验证码登录"),
o: common_vendor.o(toggleLoginType),
p: common_vendor.o(goToRegister)
});
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e4e4508d"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/login/login.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "登录",
"usingComponents": {
"t-input": "../../uni_modules/tdesign-uniapp/components/input/input",
"t-button": "../../uni_modules/tdesign-uniapp/components/button/button"
}
}

View File

@@ -0,0 +1 @@
<view class="login-container data-v-e4e4508d"><view class="login-header data-v-e4e4508d"><text class="title data-v-e4e4508d">欢迎使用预约系统</text><text class="subtitle data-v-e4e4508d">请登录或注册</text></view><view class="login-form data-v-e4e4508d"><view class="form-item data-v-e4e4508d"><t-input wx:if="{{b}}" class="data-v-e4e4508d" u-s="{{['prefixIcon']}}" u-i="e4e4508d-0" bind:__l="__l" bindupdateValue="{{a}}" u-p="{{b}}"><text class="prefix-icon data-v-e4e4508d" slot="prefixIcon">📱</text></t-input></view><view wx:if="{{c}}" class="form-item data-v-e4e4508d"><t-input wx:if="{{h}}" class="data-v-e4e4508d" u-s="{{['prefixIcon','suffix']}}" u-i="e4e4508d-1" bind:__l="__l" bindupdateValue="{{g}}" u-p="{{h}}"><text class="prefix-icon data-v-e4e4508d" slot="prefixIcon">🔐</text><t-button class="data-v-e4e4508d" u-s="{{['d']}}" bindclick="{{e}}" u-i="e4e4508d-2,e4e4508d-1" bind:__l="__l" u-p="{{f}}" slot="suffix">{{d}}</t-button></t-input></view><view class="form-actions data-v-e4e4508d"><t-button wx:if="{{i}}" class="data-v-e4e4508d" u-s="{{['d']}}" bindclick="{{j}}" u-i="e4e4508d-3" bind:__l="__l" u-p="{{k}}"> 验证码登录 </t-button><t-button wx:else class="data-v-e4e4508d" u-s="{{['d']}}" bindclick="{{l}}" u-i="e4e4508d-4" bind:__l="__l" u-p="{{m||''}}"> 一键登录 </t-button></view><view class="form-switch data-v-e4e4508d"><text class="data-v-e4e4508d" bindtap="{{o}}">{{n}}</text><text class="register-link data-v-e4e4508d" bindtap="{{p}}">注册新账号</text></view></view></view>

View File

@@ -0,0 +1,70 @@
.login-container.data-v-e4e4508d {
min-height: 100vh;
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%);
padding: 80rpx 40rpx;
}
.login-header.data-v-e4e4508d {
text-align: center;
margin-bottom: 100rpx;
}
.title.data-v-e4e4508d {
display: block;
font-size: 48rpx;
font-weight: bold;
color: #ffffff;
margin-bottom: 20rpx;
}
.subtitle.data-v-e4e4508d {
display: block;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.8);
}
.login-form.data-v-e4e4508d {
background: #ffffff;
border-radius: 32rpx;
padding: 60rpx 40rpx;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.1);
}
.form-item.data-v-e4e4508d {
margin-bottom: 32rpx;
}
.prefix-icon.data-v-e4e4508d {
font-size: 32rpx;
color: #FF7A00;
}
.form-actions.data-v-e4e4508d {
margin-top: 60rpx;
}
.form-switch.data-v-e4e4508d {
display: flex;
justify-content: space-between;
margin-top: 32rpx;
font-size: 28rpx;
color: #666;
}
.form-switch text.data-v-e4e4508d {
padding: 16rpx 0;
}
.register-link.data-v-e4e4508d {
color: #FF7A00 !important;
font-weight: bold;
}
/* 按钮自定义样式 - 使用全局样式 */
.btn-primary {
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%) !important;
border: none !important;
border-radius: 8rpx !important;
color: #FFFFFF !important;
box-shadow: 0 4rpx 12rpx rgba(255, 122, 0, 0.3) !important;
outline: none !important;
}
.btn-primary::after {
border: none !important;
box-shadow: none !important;
}
.btn-primary:active {
background: linear-gradient(135deg, #FF6900 0%, #FF8500 100%) !important;
}

View File

@@ -0,0 +1,85 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const utils_api = require("../../utils/api.js");
if (!Array) {
const _easycom_t_input2 = common_vendor.resolveComponent("t-input");
const _easycom_t_button2 = common_vendor.resolveComponent("t-button");
(_easycom_t_input2 + _easycom_t_button2)();
}
const _easycom_t_input = () => "../../uni_modules/tdesign-uniapp/components/input/input.js";
const _easycom_t_button = () => "../../uni_modules/tdesign-uniapp/components/button/button.js";
if (!Math) {
(_easycom_t_input + _easycom_t_button)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "register",
setup(__props) {
const phone = common_vendor.ref("");
const nickname = common_vendor.ref("");
const loading = common_vendor.ref(false);
const register = async () => {
if (!phone.value || String(phone.value).length !== 11) {
common_vendor.index.showToast({
title: "请输入正确的手机号",
icon: "none"
});
return;
}
if (!nickname.value || nickname.value.trim().length === 0) {
common_vendor.index.showToast({
title: "请输入昵称",
icon: "none"
});
return;
}
loading.value = true;
try {
const res = await utils_api.api.auth.register("+86" + phone.value, nickname.value.trim());
common_vendor.index.setStorageSync("token", res.token);
common_vendor.index.setStorageSync("user", res.user);
common_vendor.index.showToast({
title: "注册成功",
icon: "success"
});
common_vendor.index.reLaunch({ url: "/pages/index/index" });
} catch (error) {
common_vendor.index.__f__("error", "at pages/register/register.vue:95", "注册失败", error);
} finally {
loading.value = false;
}
};
const goToLogin = () => {
common_vendor.index.navigateBack();
};
return (_ctx, _cache) => {
return {
a: common_vendor.o(($event) => phone.value = $event),
b: common_vendor.p({
placeholder: "请输入手机号",
type: "number",
maxlength: 11,
clearable: true,
value: phone.value
}),
c: common_vendor.o(($event) => nickname.value = $event),
d: common_vendor.p({
placeholder: "请输入昵称",
maxlength: 20,
clearable: true,
value: nickname.value
}),
e: common_vendor.o(register),
f: common_vendor.p({
theme: "primary",
size: "large",
block: true,
loading: loading.value
}),
g: common_vendor.o(goToLogin)
};
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bac4a35d"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/register/register.js.map

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "注册",
"usingComponents": {
"t-input": "../../uni_modules/tdesign-uniapp/components/input/input",
"t-button": "../../uni_modules/tdesign-uniapp/components/button/button"
}
}

View File

@@ -0,0 +1 @@
<view class="register-container data-v-bac4a35d"><view class="register-header data-v-bac4a35d"><text class="title data-v-bac4a35d">注册账号</text><text class="subtitle data-v-bac4a35d">创建您的预约系统账号</text></view><view class="register-form data-v-bac4a35d"><view class="form-item data-v-bac4a35d"><t-input wx:if="{{b}}" class="data-v-bac4a35d" u-s="{{['prefixIcon']}}" u-i="bac4a35d-0" bind:__l="__l" bindupdateValue="{{a}}" u-p="{{b}}"><text class="prefix-icon data-v-bac4a35d" slot="prefixIcon">📱</text></t-input></view><view class="form-item data-v-bac4a35d"><t-input wx:if="{{d}}" class="data-v-bac4a35d" u-s="{{['prefixIcon']}}" u-i="bac4a35d-1" bind:__l="__l" bindupdateValue="{{c}}" u-p="{{d}}"><text class="prefix-icon data-v-bac4a35d" slot="prefixIcon">👤</text></t-input></view><view class="form-actions data-v-bac4a35d"><t-button wx:if="{{f}}" u-s="{{['d']}}" class="btn-primary data-v-bac4a35d" bindclick="{{e}}" u-i="bac4a35d-2" bind:__l="__l" u-p="{{f}}"> 注册 </t-button></view><view class="form-switch data-v-bac4a35d"><text class="data-v-bac4a35d" bindtap="{{g}}">已有账号?去登录</text></view></view></view>

View File

@@ -0,0 +1,55 @@
.register-container.data-v-bac4a35d {
min-height: 100vh;
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%);
padding: 80rpx 40rpx;
}
.register-header.data-v-bac4a35d {
text-align: center;
margin-bottom: 100rpx;
}
.title.data-v-bac4a35d {
display: block;
font-size: 48rpx;
font-weight: bold;
color: #ffffff;
margin-bottom: 20rpx;
}
.subtitle.data-v-bac4a35d {
display: block;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.8);
}
.register-form.data-v-bac4a35d {
background: #ffffff;
border-radius: 32rpx;
padding: 60rpx 40rpx;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.1);
}
.form-item.data-v-bac4a35d {
margin-bottom: 32rpx;
}
.prefix-icon.data-v-bac4a35d {
font-size: 32rpx;
color: #FF7A00;
}
.form-actions.data-v-bac4a35d {
margin-top: 60rpx;
}
.form-switch.data-v-bac4a35d {
display: flex;
justify-content: center;
margin-top: 32rpx;
font-size: 28rpx;
color: #FF7A00;
}
.form-switch text.data-v-bac4a35d {
padding: 16rpx 0;
}
/* 按钮自定义样式 */
.btn-primary.data-v-bac4a35d .t-button {
background: linear-gradient(135deg, #FF7A00 0%, #FF9500 100%) !important;
border: none !important;
box-shadow: 0 4rpx 12rpx rgba(255, 122, 0, 0.3);
}

View File

@@ -0,0 +1,37 @@
{
"description": "项目配置文件。",
"packOptions": {
"ignore": []
},
"setting": {
"urlCheck": false,
"es6": true,
"postcss": false,
"minified": false,
"newFeature": true,
"bigPackageSizeSupport": true,
"minifyWXML": true
},
"compileType": "miniprogram",
"libVersion": "",
"appid": "wx7677406cd2dfb7ac",
"projectname": "yu",
"condition": {
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"game": {
"current": -1,
"list": []
},
"miniprogram": {
"current": -1,
"list": []
}
}
}

View File

@@ -0,0 +1,8 @@
这是一个占位符文件,用于轮播图显示。
请在 static 目录下放置以下图片文件:
- banner1.png
- banner2.png
- banner3.png
或者使用网络图片链接替换 banners 数组中的 image 路径。

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,129 @@
"use strict";
const uni_modules_tdesignUniapp_components_common_src_instantiationDecorator = require("../common/src/instantiationDecorator.js");
const uni_modules_tdesignUniapp_components_common_config = require("../common/config.js");
const uni_modules_tdesignUniapp_components_badge_props = require("./props.js");
const uni_modules_tdesignUniapp_components_common_utils = require("../common/utils.js");
const uni_modules_tdesignUniapp_components_common_utils_wxs = require("../common/utils.wxs.js");
const uni_modules_tdesignUniapp_components_badge_computed = require("./computed.js");
const common_vendor = require("../../../../common/vendor.js");
const name = `${uni_modules_tdesignUniapp_components_common_config.prefix}-badge`;
const getUniqueID = uni_modules_tdesignUniapp_components_common_utils.uniqueFactory("badge");
const _sfc_main = uni_modules_tdesignUniapp_components_common_src_instantiationDecorator.uniComponent({
name,
options: {
styleIsolation: "shared"
},
externalClasses: [
`${uni_modules_tdesignUniapp_components_common_config.prefix}-class`,
`${uni_modules_tdesignUniapp_components_common_config.prefix}-class-count`,
`${uni_modules_tdesignUniapp_components_common_config.prefix}-class-content`
],
props: {
...uni_modules_tdesignUniapp_components_badge_props.props
},
data() {
return {
prefix: uni_modules_tdesignUniapp_components_common_config.prefix,
classPrefix: name,
value: "",
labelID: "",
descriptionID: "",
tools: uni_modules_tdesignUniapp_components_common_utils_wxs.tools,
useOuterClass: false
};
},
computed: {
hasChild() {
var _a;
return !!((_a = this.$slots) == null ? void 0 : _a.default);
}
},
mounted() {
const e = getUniqueID();
this.labelID = `${e}_label`;
this.descriptionID = `${e}_description`;
this.checkForActualContent();
},
methods: {
getBadgeValue: uni_modules_tdesignUniapp_components_badge_computed.getBadgeValue,
getBadgeStyles: uni_modules_tdesignUniapp_components_badge_computed.getBadgeStyles,
getBadgeInnerClass: uni_modules_tdesignUniapp_components_badge_computed.getBadgeInnerClass,
isShowBadge: uni_modules_tdesignUniapp_components_badge_computed.isShowBadge,
checkForActualContent() {
const target = ["ribbon", "ribbon-right", "ribbon-left", "triangle-right", "triangle-left"];
if (this.content || !target.includes(this.shape)) {
this.useOuterClass = false;
return;
}
return uni_modules_tdesignUniapp_components_common_utils.getRect(this, `.${name}__content`).then((rect) => {
const hasSlotContent = rect.width > 0 || rect.height > 0;
this.useOuterClass = !hasSlotContent;
});
}
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: !_ctx.content
}, !_ctx.content ? {} : {
b: common_vendor.t(_ctx.content),
c: common_vendor.n(_ctx.classPrefix + "__content-text")
}, {
d: _ctx.labelID,
e: common_vendor.n(_ctx.tools.cls(_ctx.classPrefix + "__content", [["empty", !_ctx.content && !_ctx.hasChild]]) + " " + _ctx.tClassContent),
f: _ctx.isShowBadge({
dot: _ctx.dot,
count: _ctx.count,
showZero: _ctx.showZero
}) || _ctx.count === null
}, _ctx.isShowBadge({
dot: _ctx.dot,
count: _ctx.count,
showZero: _ctx.showZero
}) || _ctx.count === null ? common_vendor.e({
g: _ctx.isShowBadge({
dot: _ctx.dot,
count: _ctx.count,
showZero: _ctx.showZero
})
}, _ctx.isShowBadge({
dot: _ctx.dot,
count: _ctx.count,
showZero: _ctx.showZero
}) ? {
h: common_vendor.t(_ctx.getBadgeValue({
dot: _ctx.dot,
count: _ctx.count,
maxCount: _ctx.maxCount
}))
} : {}, {
i: common_vendor.n(_ctx.classPrefix + "__count"),
j: _ctx.descriptionID,
k: _ctx.ariaLabel || _ctx.tools.getBadgeAriaLabel({
dot: _ctx.dot,
count: _ctx.count,
maxCount: _ctx.maxCount
}),
l: common_vendor.n(_ctx.getBadgeInnerClass({
classPrefix: _ctx.classPrefix,
dot: _ctx.dot,
size: _ctx.size,
shape: _ctx.shape,
count: _ctx.count
}) + " " + _ctx.prefix + "-has-count "),
m: common_vendor.n(_ctx.tClassCount),
n: common_vendor.s(_ctx.tools._style([_ctx.getBadgeStyles({
color: _ctx.color,
offset: _ctx.offset
})]))
}) : {}, {
o: common_vendor.s(_ctx.tools._style([_ctx.customStyle])),
p: common_vendor.n(_ctx.classPrefix + " " + (_ctx.useOuterClass ? _ctx.classPrefix + "__" + _ctx.shape + "-outer" : "") + _ctx.tClass),
q: _ctx.labelID,
r: _ctx.descriptionID,
s: _ctx.ariaRole || "option"
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3b9e0753"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/tdesign-uniapp/components/badge/badge.js.map

View File

@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@@ -0,0 +1 @@
<view style="{{o}}" class="{{['data-v-3b9e0753', p]}}" aria-labelledby="{{q}}" aria-describedby="{{r}}" aria-role="{{s}}"><view id="{{d}}" class="{{['data-v-3b9e0753', e]}}" aria-hidden="{{true}}"><slot wx:if="{{a}}"/><text wx:else class="{{['data-v-3b9e0753', c]}}">{{b}}</text></view><view wx:if="{{f}}" id="{{j}}" aria-hidden="{{true}}" aria-label="{{k}}" class="{{['data-v-3b9e0753', l, m]}}" style="{{n}}"><view class="{{['data-v-3b9e0753', i]}}"><block wx:if="{{g}}">{{h}}</block><slot name="count"/></view></view></view>

View File

@@ -0,0 +1,140 @@
.t-badge.data-v-3b9e0753 {
position: relative;
display: inline-flex;
align-items: start;
}
.t-badge--basic.data-v-3b9e0753 {
z-index: 100;
padding: 0 var(--td-badge-basic-padding, 8rpx);
font: var(--td-badge-font, var(--td-font-mark-extraSmall, 600 20rpx / 32rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
color: var(--td-badge-text-color, var(--td-text-color-anti, var(--td-font-white-1, #ffffff)));
background-color: var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941)));
text-align: center;
height: var(--td-badge-basic-height, 32rpx);
border-radius: var(--td-badge-border-radius, 4rpx);
}
.t-badge--dot.data-v-3b9e0753 {
height: var(--td-badge-dot-size, 16rpx);
border-radius: 50%;
min-width: var(--td-badge-dot-size, 16rpx);
padding: 0;
}
.t-badge--count.data-v-3b9e0753 {
min-width: var(--td-badge-basic-width, 32rpx);
white-space: nowrap;
box-sizing: border-box;
}
.t-badge--circle.data-v-3b9e0753 {
border-radius: calc(var(--td-badge-basic-height, 32rpx) / 2);
}
.t-badge__ribbon-outer.data-v-3b9e0753,
.t-badge__ribbon-right-outer.data-v-3b9e0753,
.t-badge__triangle-right-outer.data-v-3b9e0753,
.t-badge__ribbon-left-outer.data-v-3b9e0753,
.t-badge__triangle-left-outer.data-v-3b9e0753 {
position: absolute;
top: 0;
}
.t-badge__ribbon-outer.data-v-3b9e0753,
.t-badge__ribbon-right-outer.data-v-3b9e0753,
.t-badge__triangle-right-outer.data-v-3b9e0753 {
right: 0;
}
.t-badge__ribbon-left-outer.data-v-3b9e0753,
.t-badge__triangle-left-outer.data-v-3b9e0753 {
left: 0;
}
.t-badge--bubble.data-v-3b9e0753 {
border-radius: var(--td-badge-bubble-border-radius, 20rpx 20rpx 20rpx 1px);
}
.t-badge--ribbon.data-v-3b9e0753,
.t-badge--ribbon-right.data-v-3b9e0753,
.t-badge--ribbon-left.data-v-3b9e0753,
.t-badge--triangle-left.data-v-3b9e0753,
.t-badge--triangle-right.data-v-3b9e0753 {
width: calc(var(--td-badge-basic-height, 32rpx) * 2);
height: calc(var(--td-badge-basic-height, 32rpx) * 2);
border-radius: 0;
padding: 0;
position: absolute;
top: 0;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.t-badge--ribbon.data-v-3b9e0753,
.t-badge--ribbon-right.data-v-3b9e0753 {
background: linear-gradient(45deg, transparent 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 85%, transparent 85%);
}
.t-badge--triangle-right.data-v-3b9e0753 {
background: linear-gradient(45deg, transparent 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 50%);
}
.t-badge--ribbon.data-v-3b9e0753,
.t-badge--ribbon-right.data-v-3b9e0753,
.t-badge--triangle-right.data-v-3b9e0753 {
right: 0;
}
.t-badge--ribbon .t-badge__count.data-v-3b9e0753,
.t-badge--ribbon-right .t-badge__count.data-v-3b9e0753,
.t-badge--triangle-right .t-badge__count.data-v-3b9e0753 {
transform: rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2 + 1rpx));
}
.t-badge--ribbon-left.data-v-3b9e0753 {
background: linear-gradient(-45deg, transparent 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 85%, transparent 85%);
}
.t-badge--triangle-left.data-v-3b9e0753 {
background: linear-gradient(-45deg, transparent 50%, var(--td-badge-bg-color, var(--td-error-color, var(--td-error-color-6, #d54941))) 50%);
}
.t-badge--ribbon-left.data-v-3b9e0753,
.t-badge--triangle-left.data-v-3b9e0753 {
left: 0;
}
.t-badge--ribbon-left .t-badge__count.data-v-3b9e0753,
.t-badge--triangle-left .t-badge__count.data-v-3b9e0753 {
transform: rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall, 32rpx) / 2 + 1rpx));
}
.t-badge--large.data-v-3b9e0753 {
font: var(--td-badge-large-font, var(--td-font-mark-small, 600 24rpx / 40rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
height: var(--td-badge-large-height, 40rpx);
min-width: var(--td-badge-large-height, 40rpx);
padding: 0 var(--td-badge-large-padding, 10rpx);
}
.t-badge--large.t-badge--circle.data-v-3b9e0753 {
border-radius: calc(var(--td-badge-large-height, 40rpx) / 2);
}
.t-badge--large.t-badge--ribbon.data-v-3b9e0753,
.t-badge--large.t-badge--ribbon-right.data-v-3b9e0753,
.t-badge--large.t-badge--ribbon-left.data-v-3b9e0753,
.t-badge--large.t-badge--triangle-right.data-v-3b9e0753,
.t-badge--large.t-badge--triangle-left.data-v-3b9e0753 {
width: calc(var(--td-badge-large-height, 40rpx) * 2);
height: calc(var(--td-badge-large-height, 40rpx) * 2);
padding: 0;
}
.t-badge--large.t-badge--ribbon .t-badge__count.data-v-3b9e0753,
.t-badge--large.t-badge--ribbon-right .t-badge__count.data-v-3b9e0753,
.t-badge--large.t-badge--triangle-right .t-badge__count.data-v-3b9e0753 {
transform: rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-small, 40rpx) / 2 + 3rpx));
}
.t-badge--large.t-badge--ribbon-left .t-badge__count.data-v-3b9e0753,
.t-badge--large.t-badge--triangle-left .t-badge__count.data-v-3b9e0753 {
transform: rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-small, 40rpx) / 2 + 3rpx));
}
.t-badge__content:not(:empty) + .t-badge--bubble.t-has-count.data-v-3b9e0753,
.t-badge__content:not(:empty) + .t-badge--circle.t-has-count.data-v-3b9e0753,
.t-badge__content:not(:empty) + .t-badge--square.t-has-count.data-v-3b9e0753 {
transform-origin: center center;
transform: translate(-50%, -50%);
position: absolute;
top: 0;
left: 100%;
}
.t-badge__content-text.data-v-3b9e0753 {
display: block;
font: var(--td-font-body-large, 32rpx / 48rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
color: var(--td-badge-content-text-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));
}
.t-badge__count.data-v-3b9e0753:empty {
display: none;
}

View File

@@ -0,0 +1,54 @@
"use strict";
const getBadgeValue = function(props) {
if (props.dot) {
return "";
}
if (isNaN(props.count) || isNaN(props.maxCount)) {
return props.count;
}
return parseInt(props.count, 10) > props.maxCount ? `${props.maxCount}+` : props.count;
};
const hasUnit = function(unit) {
return unit.indexOf("px") > 0 || unit.indexOf("rpx") > 0 || unit.indexOf("em") > 0 || unit.indexOf("rem") > 0 || unit.indexOf("%") > 0 || unit.indexOf("vh") > 0 || unit.indexOf("vm") > 0;
};
const getBadgeStyles = function(props) {
var _a, _b;
let styleStr = "";
if (props.color) {
styleStr += `background:${props.color};`;
}
if ((_a = props.offset) == null ? void 0 : _a[0]) {
styleStr += `left: calc(100% + ${hasUnit(props.offset[0].toString()) ? props.offset[0] : `${props.offset[0]}px`});`;
}
if ((_b = props.offset) == null ? void 0 : _b[1]) {
styleStr += `top:${hasUnit(props.offset[1].toString()) ? props.offset[1] : `${props.offset[1]}px`};`;
}
return styleStr;
};
const getBadgeInnerClass = function(props) {
const baseClass = props.classPrefix;
const classNames = [
`${baseClass}--basic`,
props.dot ? `${baseClass}--dot` : "",
`${baseClass}--${props.size}`,
`${baseClass}--${props.shape}`,
!props.dot ? `${baseClass}--count` : ""
];
return classNames.join(" ");
};
const isShowBadge = function(props) {
if (props.dot) {
return true;
}
if (!props.showZero && !isNaN(props.count) && parseInt(props.count, 10) === 0) {
return false;
}
if (props.count == null)
return false;
return true;
};
exports.getBadgeInnerClass = getBadgeInnerClass;
exports.getBadgeStyles = getBadgeStyles;
exports.getBadgeValue = getBadgeValue;
exports.isShowBadge = isShowBadge;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/tdesign-uniapp/components/badge/computed.js.map

Some files were not shown because too many files have changed in this diff Show More