mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	多模块重构 12:修改项目名字,按照新的规则
This commit is contained in:
		
							
								
								
									
										13
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/button.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/button.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| export default { | ||||
|     props: { | ||||
|         lang: String, | ||||
|         sessionFrom: String, | ||||
|         sendMessageTitle: String, | ||||
|         sendMessagePath: String, | ||||
|         sendMessageImg: String, | ||||
|         showMessageCard: Boolean, | ||||
|         appParameter: String, | ||||
|         formType: String, | ||||
|         openType: String | ||||
|     } | ||||
| } | ||||
							
								
								
									
										145
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/mixin.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										145
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/mixin.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,145 @@ | ||||
| module.exports = { | ||||
|     // 定义每个组件都可能需要用到的外部样式以及类名 | ||||
|     props: { | ||||
|         // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式 | ||||
|         customStyle: { | ||||
|             type: [Object, String], | ||||
|             default: () => ({}) | ||||
|         }, | ||||
|         customClass: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 跳转的页面路径 | ||||
|         url: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 页面跳转的类型 | ||||
|         linkType: { | ||||
|             type: String, | ||||
|             default: 'navigateTo' | ||||
|         } | ||||
|     }, | ||||
|     data() { | ||||
|         return {} | ||||
|     }, | ||||
|     onLoad() { | ||||
|         // getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出 | ||||
|         this.$u.getRect = this.$uGetRect | ||||
|     }, | ||||
|     created() { | ||||
|         // 组件当中,只有created声明周期,为了能在组件使用,故也在created中将方法挂载到$u | ||||
|         this.$u.getRect = this.$uGetRect | ||||
|     }, | ||||
|     computed: { | ||||
|         // 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式 | ||||
|         // 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用this.$u.xxx | ||||
|         $u() { | ||||
|             return uni.$u | ||||
|         }, | ||||
|         /** | ||||
| 		 * 生成bem规则类名 | ||||
| 		 * 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class="[bem()]"的形式进行同用 | ||||
| 		 * 故采用如下折中做法,最后返回的是数组,类似['a', 'b', 'c']的形式 | ||||
| 		 * @param {String} name 组件名称 | ||||
| 		 * @param {Array} fixed 一直会存在的类名 | ||||
| 		 * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名 | ||||
| 		 * @return Array | ||||
| 		 */ | ||||
|         bem() { | ||||
|             return function (name, fixed, change) { | ||||
|                 // 类名前缀 | ||||
|                 const prefix = `u-${name}--` | ||||
|                 const classes = {} | ||||
|                 if (fixed) { | ||||
|                     fixed.map((item) => { | ||||
|                         // 这里的类名,会一直存在 | ||||
|                         classes[prefix + this[item]] = true | ||||
|                     }) | ||||
|                 } | ||||
|                 if (change) { | ||||
|                     change.map((item) => { | ||||
|                         // 这里的类名,会根据this[item]的值为true或者false,而进行添加或者移除某一个类 | ||||
|                         this[item] ? (classes[prefix + item] = this[item]) : (delete classes[prefix + item]) | ||||
|                     }) | ||||
|                 } | ||||
|                 return Object.keys(classes) | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     methods: { | ||||
|         // 跳转某一个页面 | ||||
|         openPage(urlKey = 'url') { | ||||
|             const url = this[urlKey] | ||||
|             if (url) { | ||||
|                 // 执行类似uni.navigateTo的方法 | ||||
|                 uni[this.linkType]({ | ||||
|                     url | ||||
|                 }) | ||||
|             } | ||||
|         }, | ||||
|         // 查询节点信息 | ||||
|         // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21) | ||||
|         // 解决办法为在组件根部再套一个没有任何作用的view元素 | ||||
|         $uGetRect(selector, all) { | ||||
|             return new Promise((resolve) => { | ||||
|                 uni.createSelectorQuery() | ||||
|                     .in(this)[all ? 'selectAll' : 'select'](selector) | ||||
|                     .boundingClientRect((rect) => { | ||||
|                         if (all && Array.isArray(rect) && rect.length) { | ||||
|                             resolve(rect) | ||||
|                         } | ||||
|                         if (!all && rect) { | ||||
|                             resolve(rect) | ||||
|                         } | ||||
|                     }) | ||||
|                     .exec() | ||||
|             }) | ||||
|         }, | ||||
|         getParentData(parentName = '') { | ||||
|             // 避免在created中去定义parent变量 | ||||
|             if (!this.parent) this.parent = {} | ||||
|             // 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this) | ||||
|             // 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性 | ||||
|             // 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化 | ||||
|             // 此处并不会自动更新子组件的数据,而是依赖父组件u-radio-group去监听data的变化,手动调用更新子组件的方法去重新获取 | ||||
|             this.parent = this.$u.$parent.call(this, parentName) | ||||
|             if (this.parent.children) { | ||||
|                 // 如果父组件的children不存在本组件的实例,才将本实例添加到父组件的children中 | ||||
|                 this.parent.children.indexOf(this) === -1 && this.parent.children.push(this) | ||||
|             } | ||||
|             if (this.parent && this.parentData) { | ||||
|                 // 历遍parentData中的属性,将parent中的同名属性赋值给parentData | ||||
|                 Object.keys(this.parentData).map((key) => { | ||||
|                     this.parentData[key] = this.parent[key] | ||||
|                 }) | ||||
|             } | ||||
|         }, | ||||
|         // 阻止事件冒泡 | ||||
|         preventEvent(e) { | ||||
|             e && typeof (e.stopPropagation) === 'function' && e.stopPropagation() | ||||
|         }, | ||||
|         // 空操作 | ||||
|         noop(e) { | ||||
|             this.preventEvent(e) | ||||
|         } | ||||
|     }, | ||||
|     onReachBottom() { | ||||
|         uni.$emit('uOnReachBottom') | ||||
|     }, | ||||
|     beforeDestroy() { | ||||
|         // 判断当前页面是否存在parent和chldren,一般在checkbox和checkbox-group父子联动的场景会有此情况 | ||||
|         // 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱 | ||||
|         if (this.parent && uni.$u.test.array(this.parent.children)) { | ||||
|             // 组件销毁时,移除父组件中的children数组中对应的实例 | ||||
|             const childrenList = this.parent.children | ||||
|             childrenList.map((child, index) => { | ||||
|                 // 如果相等,则移除 | ||||
|                 if (child === this) { | ||||
|                     childrenList.splice(index, 1) | ||||
|                 } | ||||
|             }) | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,8 @@ | ||||
| export default { | ||||
|     // #ifdef MP-WEIXIN | ||||
|     // 将自定义节点设置成虚拟的,更加接近Vue组件的表现,能更好的使用flex属性 | ||||
|     options: { | ||||
|         virtualHost: true | ||||
|     } | ||||
|     // #endif | ||||
| } | ||||
							
								
								
									
										13
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/mpShare.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/mpShare.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| module.exports = { | ||||
|     onLoad() { | ||||
|         // 设置默认的转发参数 | ||||
|         uni.$u.mpShare = { | ||||
|             title: '', // 默认为小程序名称 | ||||
|             path: '', // 默认为当前页面路径 | ||||
|             imageUrl: '' // 默认为当前页面的截图 | ||||
|         } | ||||
|     }, | ||||
|     onShareAppMessage() { | ||||
|         return uni.$u.mpShare | ||||
|     } | ||||
| } | ||||
							
								
								
									
										25
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/openType.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/openType.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| export default { | ||||
|     props: { | ||||
|         openType: String | ||||
|     }, | ||||
|     methods: { | ||||
|         onGetUserInfo(event) { | ||||
|             this.$emit('getuserinfo', event.detail) | ||||
|         }, | ||||
|         onContact(event) { | ||||
|             this.$emit('contact', event.detail) | ||||
|         }, | ||||
|         onGetPhoneNumber(event) { | ||||
|             this.$emit('getphonenumber', event.detail) | ||||
|         }, | ||||
|         onError(event) { | ||||
|             this.$emit('error', event.detail) | ||||
|         }, | ||||
|         onLaunchApp(event) { | ||||
|             this.$emit('launchapp', event.detail) | ||||
|         }, | ||||
|         onOpenSetting(event) { | ||||
|             this.$emit('opensetting', event.detail) | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										228
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/style.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/style.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,228 @@ | ||||
| export default { | ||||
|     props: { | ||||
|         // flex排列方式 | ||||
|         flexDirection: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // flex-direction的简写 | ||||
|         fd: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 展示类型 | ||||
|         display: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // display简写 | ||||
|         d: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 主轴排列方式 | ||||
|         justifyContent: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // justifyContent的简写 | ||||
|         jc: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 纵轴排列方式 | ||||
|         alignItems: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // align-items的简写 | ||||
|         ai: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         color: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // color简写 | ||||
|         c: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 字体大小 | ||||
|         fontSize: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // font-size简写 | ||||
|         fs: { | ||||
|             type: [String, Number], | ||||
|             default: '' | ||||
|         }, | ||||
|         margin: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin简写 | ||||
|         m: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-top | ||||
|         marginTop: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-top简写 | ||||
|         mt: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-right | ||||
|         marginRight: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-right简写 | ||||
|         mr: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-bottom | ||||
|         marginBottom: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-bottom简写 | ||||
|         mb: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-left | ||||
|         marginLeft: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // margin-left简写 | ||||
|         ml: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-left | ||||
|         paddingLeft: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-left简写 | ||||
|         pl: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-top | ||||
|         paddingTop: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-top简写 | ||||
|         pt: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-right | ||||
|         paddingRight: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-right简写 | ||||
|         pr: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-bottom | ||||
|         paddingBottom: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // padding-bottom简写 | ||||
|         pb: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // border-radius | ||||
|         borderRadius: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // border-radius简写 | ||||
|         radius: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         // transform | ||||
|         transform: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 定位 | ||||
|         position: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // position简写 | ||||
|         pos: { | ||||
|             type: String, | ||||
|             default: '' | ||||
|         }, | ||||
|         // 宽度 | ||||
|         width: { | ||||
|             type: [String, Number], | ||||
|             default: null | ||||
|         }, | ||||
|         // width简写 | ||||
|         w: { | ||||
|             type: [String, Number], | ||||
|             default: null | ||||
|         }, | ||||
|         // 高度 | ||||
|         height: { | ||||
|             type: [String, Number], | ||||
|             default: null | ||||
|         }, | ||||
|         // height简写 | ||||
|         h: { | ||||
|             type: [String, Number], | ||||
|             default: null | ||||
|         }, | ||||
|         top: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         right: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         bottom: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         }, | ||||
|         left: { | ||||
|             type: [String, Number], | ||||
|             default: 0 | ||||
|         } | ||||
|     }, | ||||
|     computed: { | ||||
|         viewStyle() { | ||||
|             const style = {} | ||||
|             const addStyle = uni.$u.addStyle(this.width || this.w) && (style.width = addStyle(this.width || this.w))(this.height || this.h) && (style.height = addStyle(this.height || this.h))(this.margin || this.m) && (style.margin = addStyle(this.margin || this.m))(this.marginTop || this.mt) && (style.marginTop = addStyle(this.marginTop || this.mt))(this.marginRight || this.mr) && (style.marginRight = addStyle(this.marginRight || this.mr))(this.marginBottom || this.mb) && (style.marginBottom = addStyle(this.marginBottom || this.mb))(this.marginLeft || this.ml) && (style.marginLeft = addStyle(this.marginLeft || this.ml))(this.padding || this.p) && (style.padding = addStyle(this.padding || this.p))(this.paddingTop || this.pt) && (style.paddingTop = addStyle(this.paddingTop || this.pt))(this.paddingRight || this.pr) && (style.paddingRight = addStyle(this.paddingRight || this.pr))(this.paddingBottom || this.pb) && (style.paddingBottom = addStyle(this.paddingBottom || this.pb))(this.paddingLeft || this.pl) && (style.paddingLeft = addStyle(this.paddingLeft || this.pl))(this.color || this.c) && (style.color = this.color || this.c)(this.fontSize || this.fs) && (style.fontSize = this.fontSize || this.fs)(this.borderRadius || this.radius) && (style.borderRadius = this.borderRadius || this.radius)(this.position || this.pos) && (this.position = this.position || this.pos)(this.flexDirection || this.fd) && (this.flexDirection = this.flexDirection || this.fd)(this.justifyContent || jc) && (this.justifyContent = this.justifyContent || jc)(this.alignItems || ai) && (this.alignItems = this.alignItems || ai) | ||||
|  | ||||
|             return uni.$u.deepMerge(style, uni.$u.addStyle(this.customStyle)) | ||||
|         } | ||||
|     }, | ||||
|     methods: { | ||||
|         // 获取margin或者padding的单位,比如padding: 0 20转为padding: 0 20px | ||||
|         getUnit(unit = '') { | ||||
|             // 取出两端空格,分隔成数组,再对数组的每个元素添加单位,最后再合并成字符串 | ||||
|             return uni.$u.trim(unit).split(' ').map((item) => uni.$u.addUnit(item)).join(' ') | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										59
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/touch.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								yudao-ui-app-v1/uni_modules/uview-ui/libs/mixin/touch.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| const MIN_DISTANCE = 10 | ||||
|  | ||||
| function getDirection(x, y) { | ||||
|     if (x > y && x > MIN_DISTANCE) { | ||||
|         return 'horizontal' | ||||
|     } | ||||
|     if (y > x && y > MIN_DISTANCE) { | ||||
|         return 'vertical' | ||||
|     } | ||||
|     return '' | ||||
| } | ||||
|  | ||||
| export default { | ||||
|     methods: { | ||||
|         getTouchPoint(e) { | ||||
|             if (!e) { | ||||
|                 return { | ||||
|                     x: 0, | ||||
|                     y: 0 | ||||
|                 } | ||||
|             } if (e.touches && e.touches[0]) { | ||||
|                 return { | ||||
|                     x: e.touches[0].pageX, | ||||
|                     y: e.touches[0].pageY | ||||
|                 } | ||||
|             } if (e.changedTouches && e.changedTouches[0]) { | ||||
|                 return { | ||||
|                     x: e.changedTouches[0].pageX, | ||||
|                     y: e.changedTouches[0].pageY | ||||
|                 } | ||||
|             } | ||||
|             return { | ||||
|                 x: e.clientX || 0, | ||||
|                 y: e.clientY || 0 | ||||
|             } | ||||
|         }, | ||||
|         resetTouchStatus() { | ||||
|             this.direction = '' | ||||
|             this.deltaX = 0 | ||||
|             this.deltaY = 0 | ||||
|             this.offsetX = 0 | ||||
|             this.offsetY = 0 | ||||
|         }, | ||||
|         touchStart(event) { | ||||
|             this.resetTouchStatus() | ||||
|             const touch = this.getTouchPoint(event) | ||||
|             this.startX = touch.x | ||||
|             this.startY = touch.y | ||||
|         }, | ||||
|         touchMove(event) { | ||||
|             const touch = this.getTouchPoint(event) | ||||
|             this.deltaX = touch.x - this.startX | ||||
|             this.deltaY = touch.y - this.startY | ||||
|             this.offsetX = Math.abs(this.deltaX) | ||||
|             this.offsetY = Math.abs(this.deltaY) | ||||
|             this.direction =				this.direction || getDirection(this.offsetX, this.offsetY) | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV