| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620 |
- var __wxsModules={};
- __wxsModules["42613348"] = (() => {
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- // <stdin>
- var require_stdin = __commonJS({
- "<stdin>"(exports, module) {
- var currentDis = 0;
- var isPCFlag = -1;
- var startY = -1;
- function propObserver(newVal, oldVal, ownerIns, ins) {
- var state = ownerIns.getState() || {};
- state.currentIns = ins;
- var dataset = ins.getDataset();
- var loading = dataset.loading == true;
- if (newVal && newVal.indexOf("end") != -1) {
- var transition = newVal.split("end")[0];
- _setTransform("translateY(0px)", ins, false, transition);
- state.moveDis = 0;
- state.oldMoveDis = 0;
- currentDis = 0;
- } else if (newVal && newVal.indexOf("begin") != -1) {
- var refresherThreshold = ins.getDataset().refresherthreshold;
- _setTransformValue(refresherThreshold, ins, state, false);
- }
- }
- function touchstart(e, ownerIns) {
- var ins = _getIns(ownerIns);
- var state = {};
- var dataset = {};
- ownerIns.callMethod("_handleListTouchstart");
- if (ins) {
- state = ins.getState();
- dataset = ins.getDataset();
- if (_touchDisabled(e, ins, 0))
- return;
- }
- var isTouchEnded = state.isTouchEnded;
- state.oldMoveDis = 0;
- var touch = _getTouch(e);
- var loading = _isTrue(dataset.loading);
- state.startY = touch.touchY;
- startY = state.startY;
- state.lastTouch = touch;
- if (!loading && isTouchEnded) {
- state.isTouchmoving = false;
- }
- state.isTouchEnded = false;
- ownerIns.callMethod("_handleRefresherTouchstart", touch);
- }
- function touchmove(e, ownerIns) {
- var touch = _getTouch(e);
- var ins = _getIns(ownerIns);
- var dataset = ins.getDataset();
- var refresherThreshold = dataset.refresherthreshold;
- var refresherF2Threshold = dataset.refresherf2threshold;
- var refresherF2Enabled = _isTrue(dataset.refresherf2enabled);
- var isIos = _isTrue(dataset.isios);
- var state = ins.getState();
- var watchTouchDirectionChange = _isTrue(dataset.watchtouchdirectionchange);
- var moveDisObj = {};
- var moveDis = 0;
- var prevent = false;
- if (watchTouchDirectionChange) {
- moveDisObj = _getMoveDis(e, ins);
- moveDis = moveDisObj.currentDis;
- prevent = moveDisObj.isDown;
- var direction = prevent ? "top" : "bottom";
- if (prevent == state.oldTouchDirection && prevent != state.oldEmitedTouchDirection) {
- ownerIns.callMethod("_handleTouchDirectionChange", { direction });
- state.oldEmitedTouchDirection = prevent;
- }
- state.oldTouchDirection = prevent;
- }
- if (_touchDisabled(e, ins, 1)) {
- _handlePullingDown(state, ownerIns, false);
- return true;
- }
- if (!_getAngleIsInRange(e, touch, state, dataset)) {
- _handlePullingDown(state, ownerIns, false);
- return true;
- }
- moveDisObj = _getMoveDis(e, ins);
- moveDis = moveDisObj.currentDis;
- prevent = moveDisObj.isDown;
- if (moveDis < 0) {
- _setTransformValue(0, ins, state, false);
- _handlePullingDown(state, ownerIns, false);
- return true;
- }
- if (prevent && !state.disabledBounce) {
- ownerIns.callMethod("_handleScrollViewBounce", { bounce: false });
- state.disabledBounce = true;
- _handlePullingDown(state, ownerIns, prevent);
- return !prevent;
- }
- _setTransformValue(moveDis, ins, state, false);
- var oldRefresherStatus = state.refresherStatus;
- var oldIsTouchmoving = _isTrue(dataset.oldistouchmoving);
- var hasTouchmove = _isTrue(dataset.hastouchmove);
- var isTouchmoving = state.isTouchmoving;
- state.refresherStatus = moveDis >= refresherThreshold ? refresherF2Enabled && moveDis > refresherF2Threshold ? "goF2" : "releaseToRefresh" : "default";
- if (!isTouchmoving) {
- state.isTouchmoving = true;
- isTouchmoving = true;
- }
- if (state.isTouchEnded) {
- state.isTouchEnded = false;
- }
- if (hasTouchmove) {
- ownerIns.callMethod("_handleWxsPullingDown", { moveDis, diffDis: moveDisObj.diffDis });
- }
- if (oldRefresherStatus == void 0 || oldRefresherStatus != state.refresherStatus || oldIsTouchmoving != isTouchmoving) {
- ownerIns.callMethod("_handleRefresherTouchmove", moveDis, touch);
- }
- _handlePullingDown(state, ownerIns, prevent);
- return !prevent;
- }
- function touchend(e, ownerIns) {
- var touch = _getTouch(e);
- var ins = _getIns(ownerIns);
- var dataset = ins.getDataset();
- var state = ins.getState();
- if (state.disabledBounce) {
- ownerIns.callMethod("_handleScrollViewBounce", { bounce: true });
- state.disabledBounce = false;
- }
- if (_touchDisabled(e, ins, 2))
- return;
- state.reachMaxAngle = true;
- state.hitReachMaxAngleCount = 0;
- state.fixedIsTopHitCount = 0;
- if (!state.isTouchmoving)
- return;
- var oldRefresherStatus = state.refresherStatus;
- var oldMoveDis = state.moveDis;
- var refresherThreshold = ins.getDataset().refresherthreshold;
- var moveDis = _getMoveDis(e, ins).currentDis;
- if (!(moveDis >= refresherThreshold && oldRefresherStatus === "releaseToRefresh")) {
- state.isTouchmoving = false;
- }
- ownerIns.callMethod("_handleRefresherTouchend", moveDis);
- state.isTouchEnded = true;
- if (oldMoveDis < refresherThreshold)
- return;
- var animate = false;
- if (moveDis >= refresherThreshold) {
- moveDis = refresherThreshold;
- animate = true;
- }
- _setTransformValue(moveDis, ins, state, animate);
- }
- function isPC() {
- if (!navigator)
- return false;
- if (isPCFlag != -1)
- return isPCFlag;
- var agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
- isPCFlag = agents.every(function(item) {
- return navigator.userAgent.indexOf(item) < 0;
- });
- return isPCFlag;
- }
- var movable = false;
- function mousedown(e, ins) {
- if (!isPC())
- return;
- touchstart(e, ins);
- movable = true;
- }
- function mousemove(e, ins) {
- if (!isPC() || !movable)
- return;
- touchmove(e, ins);
- }
- function mouseup(e, ins) {
- if (!isPC())
- return;
- touchend(e, ins);
- movable = false;
- }
- function mouseleave(e, ins) {
- if (!isPC())
- return;
- movable = false;
- }
- function _setTransformValue(value, ins, state, animate) {
- value = value || 0;
- if (state.moveDis == value)
- return;
- state.moveDis = value;
- _setTransform("translateY(" + value + "px)", ins, animate, "");
- }
- function _setTransform(transform, ins, animate, transition) {
- var dataset = ins.getDataset();
- if (_isTrue(dataset.refreshernotransform))
- return;
- transform = transform == "translateY(0px)" ? "none" : transform;
- ins.requestAnimationFrame(function() {
- var stl = { "transform": transform };
- if (animate) {
- stl["transition"] = "transform .1s linear";
- }
- if (transition.length) {
- stl["transition"] = transition;
- }
- ins.setStyle(stl);
- });
- }
- function _getMoveDis(e, ins) {
- var state = ins.getState();
- var refresherThreshold = parseFloat(ins.getDataset().refresherthreshold);
- var refresherOutRate = parseFloat(ins.getDataset().refresheroutrate);
- var refresherPullRate = parseFloat(ins.getDataset().refresherpullrate);
- var touch = _getTouch(e);
- var currentStartY = !state.startY || state.startY == "NaN" ? startY : state.startY;
- var moveDis = touch.touchY - currentStartY;
- var oldMoveDis = state.oldMoveDis || 0;
- state.oldMoveDis = moveDis;
- var diffDis = moveDis - oldMoveDis;
- if (diffDis > 0) {
- diffDis = diffDis * refresherPullRate;
- if (currentDis > refresherThreshold) {
- diffDis = diffDis * (1 - refresherOutRate);
- }
- }
- diffDis = diffDis > 100 ? diffDis / 100 : diffDis > 20 ? diffDis / 2.2 : diffDis;
- currentDis += diffDis;
- currentDis = Math.max(0, currentDis);
- return {
- currentDis,
- diffDis,
- isDown: diffDis > 0
- };
- }
- function _getTouch(e) {
- var touch = e;
- if (e.touches && e.touches.length) {
- touch = e.touches[0];
- } else if (e.changedTouches && e.changedTouches.length) {
- touch = e.changedTouches[0];
- } else if (e.datail && e.datail != {}) {
- touch = e.datail;
- }
- return {
- touchX: touch.clientX,
- touchY: touch.clientY
- };
- }
- function _getIns(ownerIns) {
- var ins = ownerIns.getState().currentIns;
- if (!ins) {
- ownerIns.callMethod("_handlePropUpdate");
- }
- return ins;
- }
- function _touchDisabled(e, ins, processTag) {
- var dataset = ins.getDataset();
- var state = ins.getState();
- var loading = _isTrue(dataset.loading);
- var useChatRecordMode = _isTrue(dataset.usechatrecordmode);
- var refresherEnabled = _isTrue(dataset.refresherenabled);
- var useCustomRefresher = _isTrue(dataset.usecustomrefresher);
- var usePageScroll = _isTrue(dataset.usepagescroll);
- var pageScrollTop = parseFloat(dataset.pagescrolltop);
- var scrollTop = parseFloat(dataset.scrolltop);
- var finalScrollTop = usePageScroll ? pageScrollTop : scrollTop;
- var fixedIsTop = false;
- var handleFaultTolerantMove = false;
- if (handleFaultTolerantMove && finalScrollTop == (state.startScrollTop || 0) && finalScrollTop <= 105) {
- fixedIsTop = true;
- }
- var fixedIsTopHitCount = state.fixedIsTopHitCount || 0;
- if (fixedIsTop) {
- fixedIsTopHitCount++;
- if (fixedIsTopHitCount <= 2) {
- fixedIsTop = false;
- }
- state.fixedIsTopHitCount = fixedIsTopHitCount;
- } else {
- state.fixedIsTopHitCount = 0;
- }
- if (handleFaultTolerantMove && processTag === 0) {
- state.startScrollTop = finalScrollTop || 0;
- }
- if (handleFaultTolerantMove && processTag === 2) {
- fixedIsTop = true;
- }
- return loading || useChatRecordMode || !refresherEnabled || !useCustomRefresher || usePageScroll && useCustomRefresher && pageScrollTop > 5 && !fixedIsTop || !usePageScroll && useCustomRefresher && scrollTop > 5 && !fixedIsTop;
- }
- function _getAngleIsInRange(e, touch, state, dataset) {
- var maxAngle = dataset.refreshermaxangle;
- var refresherAecc = _isTrue(dataset.refresheraecc);
- var lastTouch = state.lastTouch;
- var reachMaxAngle = state.reachMaxAngle;
- var moveDis = state.oldMoveDis;
- if (!lastTouch)
- return true;
- if (maxAngle >= 0 && maxAngle <= 90 && lastTouch) {
- if ((!moveDis || moveDis < 1) && !refresherAecc && reachMaxAngle != null && !reachMaxAngle)
- return false;
- var x = Math.abs(touch.touchX - lastTouch.touchX);
- var y = Math.abs(touch.touchY - lastTouch.touchY);
- var z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
- if ((x || y) && x > 1) {
- var angle = Math.asin(y / z) / Math.PI * 180;
- if (angle < maxAngle) {
- var hitReachMaxAngleCount = state.hitReachMaxAngleCount || 0;
- state.hitReachMaxAngleCount = ++hitReachMaxAngleCount;
- if (state.hitReachMaxAngleCount > 2) {
- state.lastTouch = touch;
- state.reachMaxAngle = false;
- }
- return false;
- }
- }
- }
- state.lastTouch = touch;
- return true;
- }
- function _handlePullingDown(state, ins, onPullingDown) {
- var oldOnPullingDown = state.onPullingDown || false;
- if (oldOnPullingDown != onPullingDown) {
- ins.callMethod("_handleWxsPullingDownStatusChange", onPullingDown);
- }
- state.onPullingDown = onPullingDown;
- }
- function _isTrue(value) {
- value = (typeof value === "string" ? JSON.parse(value) : value) || false;
- return value == true || value == "true";
- }
- module.exports = {
- touchstart,
- touchmove,
- touchend,
- mousedown,
- mousemove,
- mouseup,
- mouseleave,
- propObserver
- };
- }
- });
- return require_stdin();
- })();
- __wxsModules["0c1bc38e"] = (() => {
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- // <stdin>
- var require_stdin = __commonJS({
- "<stdin>"(exports, module) {
- function scroll(event, ownerInstance) {
- var detail = event.detail;
- var scrollWidth = detail.scrollWidth;
- var scrollLeft = detail.scrollLeft;
- var dataset = event.currentTarget.dataset;
- var scrollComponentWidth = dataset.scrollWidth || dataset.scrollwidth || 0;
- var indicatorWidth = dataset.indicatorWidth || dataset.indicatorwidth || 0;
- var barWidth = dataset.barWidth || dataset.barwidth || 0;
- var x = scrollLeft / (scrollWidth - scrollComponentWidth) * (indicatorWidth - barWidth);
- setBarStyle(ownerInstance, x);
- }
- function scrolltolower(event, ownerInstance) {
- ownerInstance.callMethod("scrollEvent", "right");
- var dataset = event.currentTarget.dataset;
- var indicatorWidth = dataset.indicatorWidth || dataset.indicatorwidth || 0;
- var barWidth = dataset.barWidth || dataset.barwidth || 0;
- setBarStyle(ownerInstance, indicatorWidth - barWidth);
- }
- function scrolltoupper(event, ownerInstance) {
- ownerInstance.callMethod("scrollEvent", "left");
- setBarStyle(ownerInstance, 0);
- }
- function setBarStyle(ownerInstance, x) {
- ownerInstance.selectComponent(".u-scroll-list__indicator__line__bar") && ownerInstance.selectComponent(".u-scroll-list__indicator__line__bar").setStyle({
- transform: "translateX(" + x + "px)"
- });
- }
- module.exports = {
- scroll,
- scrolltolower,
- scrolltoupper
- };
- }
- });
- return require_stdin();
- })();
- __wxsModules.f1d6d7d8 = (() => {
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- // <stdin>
- var require_stdin = __commonJS({
- "<stdin>"(exports, module) {
- function touchstart(event, ownerInstance) {
- var instance = event.instance;
- var state = instance.getState();
- if (state.disabled)
- return;
- var touches = event.touches;
- if (touches && touches.length > 1)
- return;
- state.moving = true;
- state.startX = touches[0].pageX;
- state.startY = touches[0].pageY;
- ownerInstance.callMethod("closeOther");
- }
- function touchmove(event, ownerInstance) {
- var instance = event.instance;
- var state = instance.getState();
- if (state.disabled || !state.moving)
- return;
- var touches = event.touches;
- var pageX = touches[0].pageX;
- var pageY = touches[0].pageY;
- var moveX = pageX - state.startX;
- var moveY = pageY - state.startY;
- var buttonsWidth = state.buttonsWidth;
- if (Math.abs(moveX) > Math.abs(moveY) || Math.abs(moveX) > state.threshold) {
- event.preventDefault && event.preventDefault();
- event.stopPropagation && event.stopPropagation();
- }
- if (Math.abs(moveX) < Math.abs(moveY))
- return;
- if (state.status === "open") {
- if (moveX < 0)
- moveX = 0;
- if (moveX > buttonsWidth)
- moveX = buttonsWidth;
- moveSwipeAction(-buttonsWidth + moveX, instance, ownerInstance);
- } else {
- if (moveX > 0)
- moveX = 0;
- if (Math.abs(moveX) > buttonsWidth)
- moveX = -buttonsWidth;
- moveSwipeAction(moveX, instance, ownerInstance);
- }
- }
- function touchend(event, ownerInstance) {
- var instance = event.instance;
- var state = instance.getState();
- if (!state.moving || state.disabled)
- return;
- var touches = event.changedTouches ? event.changedTouches[0] : {};
- var pageX = touches.pageX;
- var pageY = touches.pageY;
- var moveX = pageX - state.startX;
- if (state.status === "open") {
- if (moveX < 0)
- return;
- if (moveX === 0) {
- return closeSwipeAction(instance, ownerInstance);
- }
- if (Math.abs(moveX) < state.threshold) {
- openSwipeAction(instance, ownerInstance);
- } else {
- closeSwipeAction(instance, ownerInstance);
- }
- } else {
- if (moveX > 0)
- return;
- if (Math.abs(moveX) < state.threshold) {
- closeSwipeAction(instance, ownerInstance);
- } else {
- openSwipeAction(instance, ownerInstance);
- }
- }
- }
- function getDuration(value) {
- if (value.toString().indexOf("s") >= 0)
- return value;
- return value > 30 ? value + "ms" : value + "s";
- }
- function moveSwipeAction(moveX, instance, ownerInstance) {
- var state = instance.getState();
- var buttons = ownerInstance.selectAllComponents(".u-swipe-action-item__right__button");
- instance.requestAnimationFrame(function() {
- instance.setStyle({
- // 设置translateX的值
- "transition": "none",
- transform: "translateX(" + moveX + "px)",
- "-webkit-transform": "translateX(" + moveX + "px)"
- });
- });
- }
- function openSwipeAction(instance, ownerInstance) {
- var state = instance.getState();
- var buttons = ownerInstance.selectAllComponents(".u-swipe-action-item__right__button");
- var duration = getDuration(state.duration);
- var buttonsWidth = -state.buttonsWidth;
- instance.requestAnimationFrame(function() {
- instance.setStyle({
- "transition": "transform " + duration,
- "transform": "translateX(" + buttonsWidth + "px)",
- "-webkit-transform": "translateX(" + buttonsWidth + "px)"
- });
- });
- setStatus("open", instance, ownerInstance);
- }
- function setStatus(status, instance, ownerInstance) {
- var state = instance.getState();
- state.status = status;
- ownerInstance.callMethod("setState", status);
- }
- function closeSwipeAction(instance, ownerInstance) {
- var state = instance.getState();
- var buttons = ownerInstance.selectAllComponents(".u-swipe-action-item__right__button");
- var len = buttons.length;
- var duration = getDuration(state.duration);
- instance.requestAnimationFrame(function() {
- instance.setStyle({
- "transition": "transform " + duration,
- "transform": "translateX(0px)",
- "-webkit-transform": "translateX(0px)"
- });
- for (var i = len - 1; i >= 0; i--) {
- buttons[i].setStyle({
- "transition": "transform " + duration,
- "transform": "translateX(0px)",
- "-webkit-transform": "translateX(0px)"
- });
- }
- });
- setStatus("close", instance, ownerInstance);
- }
- function statusChange(newValue, oldValue, ownerInstance, instance) {
- var state = instance.getState();
- if (state.disabled)
- return;
- if (newValue === "close" && state.status === "open") {
- closeSwipeAction(instance, ownerInstance);
- } else if (newValue === "open" && state.status === "close") {
- openSwipeAction(instance, ownerInstance);
- }
- }
- function sizeChange(newValue, oldValue, ownerInstance, instance) {
- var state = instance.getState();
- if (!state || !newValue) {
- return;
- }
- state.disabled = newValue.disabled;
- state.duration = newValue.duration;
- state.show = newValue.show;
- state.threshold = newValue.threshold;
- state.buttons = newValue.buttons;
- if (state.buttons) {
- var len = state.buttons.length;
- var buttonsWidth = 0;
- var buttons = newValue.buttons;
- for (var i = 0; i < len; i++) {
- buttonsWidth += buttons[i].width;
- }
- }
- state.buttonsWidth = buttonsWidth;
- if (state.show) {
- openSwipeAction(instance, ownerInstance);
- }
- }
- module.exports = {
- touchstart,
- touchmove,
- touchend,
- sizeChange,
- statusChange
- };
- }
- });
- return require_stdin();
- })();
- __wxsModules["155ce918"] = (() => {
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- // <stdin>
- var require_stdin = __commonJS({
- "<stdin>"(exports, module) {
- var inlineTags = {
- abbr: true,
- b: true,
- big: true,
- code: true,
- del: true,
- em: true,
- i: true,
- ins: true,
- label: true,
- q: true,
- small: true,
- span: true,
- strong: true,
- sub: true,
- sup: true
- };
- module.exports = {
- isInline: function(tagName, style) {
- return inlineTags[tagName] || (style || "").indexOf("display:inline") !== -1;
- }
- };
- }
- });
- return require_stdin();
- })();
|