mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-16 12:52:41 +08:00
增加微信小程序版
This commit is contained in:
1
liferestartWX/utils/wux/image/index.js
Normal file
1
liferestartWX/utils/wux/image/index.js
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames3=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(r,!0).forEach(function(t){_defineProperty(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _defineProperty(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var EMPTY="empty",LOADING="loading",LOADED="loaded",ERROR="error",UNMOUNTED="unmounted",calcStyle=function(t){return"number"==typeof t?"".concat(t,"px"):t};(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-image"},src:{type:String,value:""},mode:{type:String,value:"scaleToFill"},lazyLoad:{type:Boolean,value:!1},shape:{type:String,value:"normal"},width:{type:null,value:300},height:{type:null,value:225},unmountOnEmpty:{type:Boolean,value:!1},unmountOnError:{type:Boolean,value:!1},empty:{type:String,value:""},loading:{type:String,value:""},error:{type:String,value:""}},data:{status:""},computed:{classes:["prefixCls, shape, mode, status, empty, loading, error",function(t,e,r,a,n,o,i){var u;return{wrap:(0,_classNames3.default)(t,(_defineProperty(u={},"".concat(t,"--").concat(e),e),_defineProperty(u,"".concat(t,"--").concat(r),r),_defineProperty(u,"".concat(t,"--").concat(a),a),u)),inner:"".concat(t,"__inner"),thumb:"".concat(t,"__thumb"),mask:(0,_classNames3.default)("".concat(t,"__mask"),_defineProperty({},"".concat(t,"__mask--text"),n||o||i)),text:"".concat(t,"__text")}}]},observers:_defineProperty({src:function(t){this.updated(t)}},"width, height",function(){this.updateStyle.apply(this,arguments)}),methods:{updated:function(t){this.updateStatus(t?LOADING:this.data.unmountOnEmpty?UNMOUNTED:EMPTY)},updateStyle:function(t,e){var r="width: ".concat(calcStyle(t),"; height: ").concat(calcStyle(e));this.setData({style:r})},updateStatus:function(t){this.data.status!==t&&this.setData({status:t}),this.triggerEvent("change",{status:t})},onLoad:function(t){this.updateStatus(LOADED),this.triggerEvent("load",_objectSpread({},t.detail,{status:LOADED}))},onError:function(t){var e=this.data.unmountOnError?UNMOUNTED:ERROR;this.updateStatus(e),this.triggerEvent("error",_objectSpread({},t.detail,{status:e}))},onTap:function(t){this.triggerEvent("click",_objectSpread({},t.detail,{status:this.data.status}))}},attached:function(){var t=this.data,e=t.width,r=t.height,a=t.src;this.updateStyle(e,r),this.updated(a)}});
|
||||
3
liferestartWX/utils/wux/image/index.json
Normal file
3
liferestartWX/utils/wux/image/index.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"component": true
|
||||
}
|
||||
24
liferestartWX/utils/wux/image/index.wxml
Normal file
24
liferestartWX/utils/wux/image/index.wxml
Normal file
@@ -0,0 +1,24 @@
|
||||
<view class="wux-class {{ classes.wrap }}" style="{{ style }}" bindtap="onTap" wx:if="{{ status !== 'unmounted' }}">
|
||||
<view class="{{ classes.inner }}">
|
||||
<image class="{{ classes.thumb }}" lazy-load="{{ lazyLoad }}" mode="{{ mode }}" src="{{ src }}" bindload="onLoad" binderror="onError" wx:if="{{ src }}" />
|
||||
<slot></slot>
|
||||
</view>
|
||||
<view class="{{ classes.mask }}" wx:if="{{ status === 'empty' }}">
|
||||
<view class="{{ classes.text }}" wx:if="{{ empty }}">{{ empty }}</view>
|
||||
<block wx:else>
|
||||
<slot name="empty"></slot>
|
||||
</block>
|
||||
</view>
|
||||
<view class="{{ classes.mask }}" wx:elif="{{ status === 'loading' }}">
|
||||
<view class="{{ classes.text }}" wx:if="{{ loading }}">{{ loading }}</view>
|
||||
<block wx:else>
|
||||
<slot name="loading"></slot>
|
||||
</block>
|
||||
</view>
|
||||
<view class="{{ classes.mask }}" wx:elif="{{ status === 'error' }}">
|
||||
<view class="{{ classes.text }}" wx:if="{{ error }}">{{ error }}</view>
|
||||
<block wx:else>
|
||||
<slot name="error"></slot>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
1
liferestartWX/utils/wux/image/index.wxss
Normal file
1
liferestartWX/utils/wux/image/index.wxss
Normal file
@@ -0,0 +1 @@
|
||||
.wux-image{position:relative;overflow:hidden;display:-ms-flexbox;display:flex;box-sizing:border-box}.wux-image--rounded{border-radius:8rpx}.wux-image--circle{border-radius:50%}.wux-image--thumbnail{background-color:#fff;border-radius:8rpx}.wux-image--thumbnail::after{content:" ";position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #d9d9d9;border-width:1PX;border-radius:16rpx}.wux-image--thumbnail .wux-image__inner,.wux-image--thumbnail .wux-image__mask{top:8rpx;right:8rpx;bottom:8rpx;left:8rpx;width:calc(100% - 16rpx)!important;height:calc(100% - 16rpx)!important}.wux-image--widthFix .wux-image__inner{position:relative}.wux-image image,.wux-image__thumb{display:inline-block;overflow:hidden;width:100%;height:100%;vertical-align:middle}.wux-image__inner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;width:100%;height:100%;opacity:0}.wux-image--loaded .wux-image__inner{opacity:1}.wux-image__mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.wux-image__mask--text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.wux-image__text{color:rgba(0,0,0,.45);text-align:center;padding:20rpx}
|
||||
Reference in New Issue
Block a user