stanley-king %!s(int64=4) %!d(string=hai) anos
pai
achega
28bd6c86de
Modificáronse 38 ficheiros con 5563 adicións e 2126 borrados
  1. 0 1
      README 2.md
  2. 1 1
      config/dev.env.js
  3. 1 1
      config/prod.env.js
  4. 1 1
      dist/index.html
  5. 0 2
      dist/mshop/js/app.99d408d73c102f43f01a.js
  6. 0 1
      dist/mshop/js/app.99d408d73c102f43f01a.js.map
  7. 0 2
      dist/mshop/js/manifest.398ff00ea444ef1d89bf.js
  8. 0 1
      dist/mshop/js/manifest.398ff00ea444ef1d89bf.js.map
  9. 0 21
      node_modules/autosize/LICENSE.md
  10. 0 91
      node_modules/autosize/changelog.md
  11. 0 292
      node_modules/autosize/dist/autosize.js
  12. 0 6
      node_modules/autosize/dist/autosize.min.js
  13. 0 113
      node_modules/autosize/package.json
  14. 0 35
      node_modules/autosize/readme.md
  15. 0 261
      node_modules/autosize/src/autosize.js
  16. 0 27
      node_modules/camelcase/index.js
  17. 0 21
      node_modules/camelcase/license
  18. 0 108
      node_modules/camelcase/package.json
  19. 0 56
      node_modules/camelcase/readme.md
  20. 0 38
      node_modules/hash-base/README.md
  21. 0 83
      node_modules/hash-base/index.js
  22. 0 110
      node_modules/hash-base/package.json
  23. 0 21
      node_modules/is-directory/LICENSE
  24. 0 76
      node_modules/is-directory/README.md
  25. 0 65
      node_modules/is-directory/index.js
  26. 0 133
      node_modules/is-directory/package.json
  27. 0 21
      node_modules/process/.eslintrc
  28. 0 22
      node_modules/process/LICENSE
  29. 0 26
      node_modules/process/README.md
  30. 0 180
      node_modules/process/browser.js
  31. 0 2
      node_modules/process/index.js
  32. 0 108
      node_modules/process/package.json
  33. 0 199
      node_modules/process/test.js
  34. 1 1
      src/components/blocks/fixed_download_app.vue
  35. 6 0
      test/e2e/bootstrap.min.js
  36. 11 0
      test/e2e/desc.css
  37. 80 0
      test/e2e/desc.js
  38. 5462 0
      test/e2e/jZego-rtc.js

+ 0 - 1
README 2.md

@@ -1 +0,0 @@
-#panda_h5

+ 1 - 1
config/dev.env.js

@@ -1,4 +1,4 @@
 module.exports = {
     NODE_ENV: '"development"',
-    API_ROOT: '"http://p.lrlz.com"',
+    API_ROOT: '"http://192.168.1.200"',
 }

+ 1 - 1
config/prod.env.js

@@ -1,4 +1,4 @@
 module.exports = {
     NODE_ENV: '"production"',
-    API_ROOT: '"http://p.lrlz.com"',
+    API_ROOT: '"http://192.168.1.200"',
 }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
dist/index.html


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 2
dist/mshop/js/app.99d408d73c102f43f01a.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
dist/mshop/js/app.99d408d73c102f43f01a.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 2
dist/mshop/js/manifest.398ff00ea444ef1d89bf.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
dist/mshop/js/manifest.398ff00ea444ef1d89bf.js.map


+ 0 - 21
node_modules/autosize/LICENSE.md

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Jack Moore
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 91
node_modules/autosize/changelog.md

@@ -1,91 +0,0 @@
-## Changelog
-
-##### v.3.0.21 - 2016-05-19
-* Fixed bug with overflow detection which degraded performance of textareas that exceed their max-width. Fixes #333.
-
-##### v.3.0.20 - 2016-12-04
-* Fixed minor bug where the `resized` event would not fire under specific conditions when changing the overflow.
-
-##### v.3.0.19 - 2016-11-23
-* Bubble dispatched events. Merged #319.
-
-##### v.3.0.18 - 2016-10-26
-* Fixed Firefox issue where calling dispatchEvent on a detached element throws an error.  Fixes #317.
-
-##### v.3.0.17 - 2016-7-25
-* Fixed Chromium issue where getComputedStyle pixel value did not exactly match the style pixel value.  Fixes #306.
-* Removed undocumented argument, minor refactoring, more comments.
-
-##### v.3.0.16 - 2016-7-13
-* Fixed issue with overflowing parent elements. Fixes #298.
-
-##### v.3.0.15 - 2016-1-26
-* Used newer Event constructor, when available. Fixes #280.
-
-##### v.3.0.14 - 2015-11-11
-* Fixed memory leak on destroy. Merged #271, fixes #270.
-* Fixed bug in old versions of Firefox (1-5), fixes #246.
-
-##### v.3.0.13 - 2015-09-26
-* Fixed scroll-bar jumpiness in iOS. Merged #261, fixes #207.
-* Fixed reflowing of initial text in Chrome and Safari.
-
-##### v.3.0.12 - 2015-09-14
-* Merged changes were discarded when building new dist files.  Merged #255, Fixes #257 for real this time.
-
-##### v.3.0.11 - 2015-09-14
-* Fixed regression from 3.0.10 that caused an error with ES5 browsers.  Merged #255, Fixes #257.
-
-##### v.3.0.10 - 2015-09-10
-* Removed data attribute as a way of tracking which elements autosize has been assigned to. fixes #254, fixes #200.
-
-##### v.3.0.9 - 2015-09-02
-* Fixed issue with assigning autosize to detached nodes. Merged #253, Fixes #234.
-
-##### v.3.0.8 - 2015-06-29
-* Fixed the `autosize:resized` event not being triggered when the overflow changes. Fixes #244.
-
-##### v.3.0.7 - 2015-06-29
-* Fixed jumpy behavior in Windows 8.1 mobile. Fixes #239.
-
-##### v.3.0.6 - 2015-05-19
-* Renamed 'dest' folder to 'dist' to follow common conventions.
-
-##### v.3.0.5 - 2015-05-18
-* Do nothing in Node.js environment.
-
-##### v.3.0.4 - 2015-05-05
-* Added options object for indicating if the script should set the overflowX and overflowY.  The default behavior lets the script control the overflows, which will normalize the appearance between browsers.  Fixes #220.
-
-##### v.3.0.3 - 2015-04-23
-* Avoided adjusting the height for hidden textarea elements.  Fixes #155.
-
-##### v.3.0.2 - 2015-04-23
-* Reworked to respect max-height of any unit-type.  Fixes #191.
-
-##### v.3.0.1 - 2015-04-23
-* Fixed the destroy event so that it removes its own event handler. Fixes #218.
-
-##### v.3.0.0 - 2015-04-15
-* Added new methods for updating and destroying:
-
-	* autosize.update(elements)
-	* autosize.destroy(elements)
-
-* Renamed custom events as to not use jQuery's custom events namespace:
-
-	* autosize.resized renamed to autosize:resized
-	* autosize.update renamed to autosize:update
-	* autosize.destroy renamed to autosize:destroy
-
-##### v.2.0.1 - 2015-04-15
-* Version bump for NPM publishing purposes
-
-##### v.2.0.0 - 2015-02-25
-
-* Smaller, simplier code-base
-* New API.  Example usage: `autosize(document.querySelectorAll(textarea));`
-* Dropped jQuery dependency
-* Dropped IE7-IE8 support
-* Dropped optional parameters
-* Closes #98, closes #106, closes #123, fixes #129, fixes #132, fixes #139, closes #140, closes #166, closes #168, closes #192, closes #193, closes #197

+ 0 - 292
node_modules/autosize/dist/autosize.js

@@ -1,292 +0,0 @@
-/*!
-	Autosize 3.0.21
-	license: MIT
-	http://www.jacklmoore.com/autosize
-*/
-(function (global, factory) {
-	if (typeof define === 'function' && define.amd) {
-		define(['exports', 'module'], factory);
-	} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
-		factory(exports, module);
-	} else {
-		var mod = {
-			exports: {}
-		};
-		factory(mod.exports, mod);
-		global.autosize = mod.exports;
-	}
-})(this, function (exports, module) {
-	'use strict';
-
-	var map = typeof Map === "function" ? new Map() : (function () {
-		var keys = [];
-		var values = [];
-
-		return {
-			has: function has(key) {
-				return keys.indexOf(key) > -1;
-			},
-			get: function get(key) {
-				return values[keys.indexOf(key)];
-			},
-			set: function set(key, value) {
-				if (keys.indexOf(key) === -1) {
-					keys.push(key);
-					values.push(value);
-				}
-			},
-			'delete': function _delete(key) {
-				var index = keys.indexOf(key);
-				if (index > -1) {
-					keys.splice(index, 1);
-					values.splice(index, 1);
-				}
-			}
-		};
-	})();
-
-	var createEvent = function createEvent(name) {
-		return new Event(name, { bubbles: true });
-	};
-	try {
-		new Event('test');
-	} catch (e) {
-		// IE does not support `new Event()`
-		createEvent = function (name) {
-			var evt = document.createEvent('Event');
-			evt.initEvent(name, true, false);
-			return evt;
-		};
-	}
-
-	function assign(ta) {
-		if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
-
-		var heightOffset = null;
-		var clientWidth = ta.clientWidth;
-		var cachedHeight = null;
-
-		function init() {
-			var style = window.getComputedStyle(ta, null);
-
-			if (style.resize === 'vertical') {
-				ta.style.resize = 'none';
-			} else if (style.resize === 'both') {
-				ta.style.resize = 'horizontal';
-			}
-
-			if (style.boxSizing === 'content-box') {
-				heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
-			} else {
-				heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
-			}
-			// Fix when a textarea is not on document body and heightOffset is Not a Number
-			if (isNaN(heightOffset)) {
-				heightOffset = 0;
-			}
-
-			update();
-		}
-
-		function changeOverflow(value) {
-			{
-				// Chrome/Safari-specific fix:
-				// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
-				// made available by removing the scrollbar. The following forces the necessary text reflow.
-				var width = ta.style.width;
-				ta.style.width = '0px';
-				// Force reflow:
-				/* jshint ignore:start */
-				ta.offsetWidth;
-				/* jshint ignore:end */
-				ta.style.width = width;
-			}
-
-			ta.style.overflowY = value;
-		}
-
-		function getParentOverflows(el) {
-			var arr = [];
-
-			while (el && el.parentNode && el.parentNode instanceof Element) {
-				if (el.parentNode.scrollTop) {
-					arr.push({
-						node: el.parentNode,
-						scrollTop: el.parentNode.scrollTop
-					});
-				}
-				el = el.parentNode;
-			}
-
-			return arr;
-		}
-
-		function resize() {
-			var originalHeight = ta.style.height;
-			var overflows = getParentOverflows(ta);
-			var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
-
-			ta.style.height = 'auto';
-
-			var endHeight = ta.scrollHeight + heightOffset;
-
-			if (ta.scrollHeight === 0) {
-				// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
-				ta.style.height = originalHeight;
-				return;
-			}
-
-			ta.style.height = endHeight + 'px';
-
-			// used to check if an update is actually necessary on window.resize
-			clientWidth = ta.clientWidth;
-
-			// prevents scroll-position jumping
-			overflows.forEach(function (el) {
-				el.node.scrollTop = el.scrollTop;
-			});
-
-			if (docTop) {
-				document.documentElement.scrollTop = docTop;
-			}
-		}
-
-		function update() {
-			resize();
-
-			var styleHeight = Math.round(parseFloat(ta.style.height));
-			var computed = window.getComputedStyle(ta, null);
-
-			// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box
-			var actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;
-
-			// The actual height not matching the style height (set via the resize method) indicates that
-			// the max-height has been exceeded, in which case the overflow should be allowed.
-			if (actualHeight !== styleHeight) {
-				if (computed.overflowY === 'hidden') {
-					changeOverflow('scroll');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			} else {
-				// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
-				if (computed.overflowY !== 'hidden') {
-					changeOverflow('hidden');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			}
-
-			if (cachedHeight !== actualHeight) {
-				cachedHeight = actualHeight;
-				var evt = createEvent('autosize:resized');
-				try {
-					ta.dispatchEvent(evt);
-				} catch (err) {
-					// Firefox will throw an error on dispatchEvent for a detached element
-					// https://bugzilla.mozilla.org/show_bug.cgi?id=889376
-				}
-			}
-		}
-
-		var pageResize = function pageResize() {
-			if (ta.clientWidth !== clientWidth) {
-				update();
-			}
-		};
-
-		var destroy = (function (style) {
-			window.removeEventListener('resize', pageResize, false);
-			ta.removeEventListener('input', update, false);
-			ta.removeEventListener('keyup', update, false);
-			ta.removeEventListener('autosize:destroy', destroy, false);
-			ta.removeEventListener('autosize:update', update, false);
-
-			Object.keys(style).forEach(function (key) {
-				ta.style[key] = style[key];
-			});
-
-			map['delete'](ta);
-		}).bind(ta, {
-			height: ta.style.height,
-			resize: ta.style.resize,
-			overflowY: ta.style.overflowY,
-			overflowX: ta.style.overflowX,
-			wordWrap: ta.style.wordWrap
-		});
-
-		ta.addEventListener('autosize:destroy', destroy, false);
-
-		// IE9 does not fire onpropertychange or oninput for deletions,
-		// so binding to onkeyup to catch most of those events.
-		// There is no way that I know of to detect something like 'cut' in IE9.
-		if ('onpropertychange' in ta && 'oninput' in ta) {
-			ta.addEventListener('keyup', update, false);
-		}
-
-		window.addEventListener('resize', pageResize, false);
-		ta.addEventListener('input', update, false);
-		ta.addEventListener('autosize:update', update, false);
-		ta.style.overflowX = 'hidden';
-		ta.style.wordWrap = 'break-word';
-
-		map.set(ta, {
-			destroy: destroy,
-			update: update
-		});
-
-		init();
-	}
-
-	function destroy(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.destroy();
-		}
-	}
-
-	function update(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.update();
-		}
-	}
-
-	var autosize = null;
-
-	// Do nothing in Node.js environment and IE8 (or lower)
-	if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
-		autosize = function (el) {
-			return el;
-		};
-		autosize.destroy = function (el) {
-			return el;
-		};
-		autosize.update = function (el) {
-			return el;
-		};
-	} else {
-		autosize = function (el, options) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], function (x) {
-					return assign(x, options);
-				});
-			}
-			return el;
-		};
-		autosize.destroy = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], destroy);
-			}
-			return el;
-		};
-		autosize.update = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], update);
-			}
-			return el;
-		};
-	}
-
-	module.exports = autosize;
-});

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 6
node_modules/autosize/dist/autosize.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 113
node_modules/autosize/package.json


+ 0 - 35
node_modules/autosize/readme.md

@@ -1,35 +0,0 @@
-## Summary
-
-Autosize is a small, stand-alone script to automatically adjust textarea height to fit text.
-
-#### Demo
-
-Full documentation and a demo can be found at [jacklmoore.com/autosize](http://jacklmoore.com/autosize)
-
-#### Install via NPM
-```bash
-npm install autosize
-```
-
-#### Browser compatibility
-
-Chrome | Firefox | IE | Safari | iOS Safari | Android | Opera Mini | Windows Phone IE
------- | --------|----|--------|------------|---------|------------|------------------
-yes    | yes     | 9  | yes    | yes        | 4       | ?          | 8.1
-
-#### Usage
-
-The autosize function accepts a single textarea element, or an array or array-like object (such as a NodeList or jQuery collection) of textarea elements.
-
-```javascript
-// from a NodeList
-autosize(document.querySelectorAll('textarea'));
-
-// from a single Node
-autosize(document.querySelector('textarea'));
-
-// from a jQuery collection
-autosize($('textarea'));
-```
-
-Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php)

+ 0 - 261
node_modules/autosize/src/autosize.js

@@ -1,261 +0,0 @@
-const map = (typeof Map === "function") ? new Map() : (function () {
-	const keys = [];
-	const values = [];
-
-	return {
-		has(key) {
-			return keys.indexOf(key) > -1;
-		},
-		get(key) {
-			return values[keys.indexOf(key)];
-		},
-		set(key, value) {
-			if (keys.indexOf(key) === -1) {
-				keys.push(key);
-				values.push(value);
-			}
-		},
-		delete(key) {
-			const index = keys.indexOf(key);
-			if (index > -1) {
-				keys.splice(index, 1);
-				values.splice(index, 1);
-			}
-		},
-	}
-})();
-
-let createEvent = (name)=> new Event(name, {bubbles: true});
-try {
-	new Event('test');
-} catch(e) {
-	// IE does not support `new Event()`
-	createEvent = (name)=> {
-		const evt = document.createEvent('Event');
-		evt.initEvent(name, true, false);
-		return evt;
-	};
-}
-
-function assign(ta) {
-	if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
-
-	let heightOffset = null;
-	let clientWidth = ta.clientWidth;
-	let cachedHeight = null;
-
-	function init() {
-		const style = window.getComputedStyle(ta, null);
-
-		if (style.resize === 'vertical') {
-			ta.style.resize = 'none';
-		} else if (style.resize === 'both') {
-			ta.style.resize = 'horizontal';
-		}
-
-		if (style.boxSizing === 'content-box') {
-			heightOffset = -(parseFloat(style.paddingTop)+parseFloat(style.paddingBottom));
-		} else {
-			heightOffset = parseFloat(style.borderTopWidth)+parseFloat(style.borderBottomWidth);
-		}
-		// Fix when a textarea is not on document body and heightOffset is Not a Number
-		if (isNaN(heightOffset)) {
-			heightOffset = 0;
-		}
-
-		update();
-	}
-
-	function changeOverflow(value) {
-		{
-			// Chrome/Safari-specific fix:
-			// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
-			// made available by removing the scrollbar. The following forces the necessary text reflow.
-			const width = ta.style.width;
-			ta.style.width = '0px';
-			// Force reflow:
-			/* jshint ignore:start */
-			ta.offsetWidth;
-			/* jshint ignore:end */
-			ta.style.width = width;
-		}
-
-		ta.style.overflowY = value;
-	}
-
-	function getParentOverflows(el) {
-		const arr = [];
-
-		while (el && el.parentNode && el.parentNode instanceof Element) {
-			if (el.parentNode.scrollTop) {
-				arr.push({
-					node: el.parentNode,
-					scrollTop: el.parentNode.scrollTop,
-				})
-			}
-			el = el.parentNode;
-		}
-
-		return arr;
-	}
-
-	function resize() {
-		const originalHeight = ta.style.height;
-		const overflows = getParentOverflows(ta);
-		const docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
-
-		ta.style.height = 'auto';
-
-		let endHeight = ta.scrollHeight+heightOffset;
-
-		if (ta.scrollHeight === 0) {
-			// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
-			ta.style.height = originalHeight;
-			return;
-		}
-
-		ta.style.height = endHeight+'px';
-
-		// used to check if an update is actually necessary on window.resize
-		clientWidth = ta.clientWidth;
-
-		// prevents scroll-position jumping
-		overflows.forEach(el => {
-			el.node.scrollTop = el.scrollTop
-		});
-
-		if (docTop) {
-			document.documentElement.scrollTop = docTop;
-		}
-	}
-
-	function update() {
-		resize();
-
-		const styleHeight = Math.round(parseFloat(ta.style.height));
-		const computed = window.getComputedStyle(ta, null);
-
-		// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box
-		var actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;
-
-		// The actual height not matching the style height (set via the resize method) indicates that 
-		// the max-height has been exceeded, in which case the overflow should be allowed.
-		if (actualHeight !== styleHeight) {
-			if (computed.overflowY === 'hidden') {
-				changeOverflow('scroll');
-				resize();
-				actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-			}
-		} else {
-			// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
-			if (computed.overflowY !== 'hidden') {
-				changeOverflow('hidden');
-				resize();
-				actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-			}
-		}
-
-		if (cachedHeight !== actualHeight) {
-			cachedHeight = actualHeight;
-			const evt = createEvent('autosize:resized');
-			try {
-				ta.dispatchEvent(evt);
-			} catch (err) {
-				// Firefox will throw an error on dispatchEvent for a detached element
-				// https://bugzilla.mozilla.org/show_bug.cgi?id=889376
-			}
-		}
-	}
-
-	const pageResize = () => {
-		if (ta.clientWidth !== clientWidth) {
-			update();
-		}
-	};
-
-	const destroy = style => {
-		window.removeEventListener('resize', pageResize, false);
-		ta.removeEventListener('input', update, false);
-		ta.removeEventListener('keyup', update, false);
-		ta.removeEventListener('autosize:destroy', destroy, false);
-		ta.removeEventListener('autosize:update', update, false);
-
-		Object.keys(style).forEach(key => {
-			ta.style[key] = style[key];
-		});
-
-		map.delete(ta);
-	}.bind(ta, {
-		height: ta.style.height,
-		resize: ta.style.resize,
-		overflowY: ta.style.overflowY,
-		overflowX: ta.style.overflowX,
-		wordWrap: ta.style.wordWrap,
-	});
-
-	ta.addEventListener('autosize:destroy', destroy, false);
-
-	// IE9 does not fire onpropertychange or oninput for deletions,
-	// so binding to onkeyup to catch most of those events.
-	// There is no way that I know of to detect something like 'cut' in IE9.
-	if ('onpropertychange' in ta && 'oninput' in ta) {
-		ta.addEventListener('keyup', update, false);
-	}
-
-	window.addEventListener('resize', pageResize, false);
-	ta.addEventListener('input', update, false);
-	ta.addEventListener('autosize:update', update, false);
-	ta.style.overflowX = 'hidden';
-	ta.style.wordWrap = 'break-word';
-
-	map.set(ta, {
-		destroy,
-		update,
-	});
-
-	init();
-}
-
-function destroy(ta) {
-	const methods = map.get(ta);
-	if (methods) {
-		methods.destroy();
-	}
-}
-
-function update(ta) {
-	const methods = map.get(ta);
-	if (methods) {
-		methods.update();
-	}
-}
-
-let autosize = null;
-
-// Do nothing in Node.js environment and IE8 (or lower)
-if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
-	autosize = el => el;
-	autosize.destroy = el => el;
-	autosize.update = el => el;
-} else {
-	autosize = (el, options) => {
-		if (el) {
-			Array.prototype.forEach.call(el.length ? el : [el], x => assign(x, options));
-		}
-		return el;
-	};
-	autosize.destroy = el => {
-		if (el) {
-			Array.prototype.forEach.call(el.length ? el : [el], destroy);
-		}
-		return el;
-	};
-	autosize.update = el => {
-		if (el) {
-			Array.prototype.forEach.call(el.length ? el : [el], update);
-		}
-		return el;
-	};
-}
-
-export default autosize;

+ 0 - 27
node_modules/camelcase/index.js

@@ -1,27 +0,0 @@
-'use strict';
-module.exports = function () {
-	var str = [].map.call(arguments, function (str) {
-		return str.trim();
-	}).filter(function (str) {
-		return str.length;
-	}).join('-');
-
-	if (!str.length) {
-		return '';
-	}
-
-	if (str.length === 1 || !(/[_.\- ]+/).test(str) ) {
-		if (str[0] === str[0].toLowerCase() && str.slice(1) !== str.slice(1).toLowerCase()) {
-			return str;
-		}
-
-		return str.toLowerCase();
-	}
-
-	return str
-	.replace(/^[_.\- ]+/, '')
-	.toLowerCase()
-	.replace(/[_.\- ]+(\w|$)/g, function (m, p1) {
-		return p1.toUpperCase();
-	});
-};

+ 0 - 21
node_modules/camelcase/license

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 108
node_modules/camelcase/package.json

@@ -1,108 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "camelcase@^1.0.2",
-        "scope": null,
-        "escapedName": "camelcase",
-        "name": "camelcase",
-        "rawSpec": "^1.0.2",
-        "spec": ">=1.0.2 <2.0.0",
-        "type": "range"
-      },
-      "/Users/huanggang/huangg/panda_h5_shop/node_modules/yargs"
-    ]
-  ],
-  "_cnpm_publish_time": 1438425493833,
-  "_from": "camelcase@>=1.0.2 <2.0.0",
-  "_hasShrinkwrap": false,
-  "_id": "camelcase@1.2.1",
-  "_inCache": true,
-  "_location": "/camelcase",
-  "_nodeVersion": "0.12.5",
-  "_npmUser": {
-    "name": "sindresorhus",
-    "email": "sindresorhus@gmail.com"
-  },
-  "_npmVersion": "2.11.2",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "camelcase@^1.0.2",
-    "scope": null,
-    "escapedName": "camelcase",
-    "name": "camelcase",
-    "rawSpec": "^1.0.2",
-    "spec": ">=1.0.2 <2.0.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/defs/yargs",
-    "/yargs"
-  ],
-  "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
-  "_shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39",
-  "_shrinkwrap": null,
-  "_spec": "camelcase@^1.0.2",
-  "_where": "/Users/huanggang/huangg/panda_h5_shop/node_modules/yargs",
-  "author": {
-    "name": "Sindre Sorhus",
-    "email": "sindresorhus@gmail.com",
-    "url": "http://sindresorhus.com"
-  },
-  "bugs": {
-    "url": "https://github.com/sindresorhus/camelcase/issues"
-  },
-  "dependencies": {},
-  "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar",
-  "devDependencies": {
-    "ava": "0.0.4"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39",
-    "size": 1756,
-    "noattachment": false,
-    "tarball": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz"
-  },
-  "engines": {
-    "node": ">=0.10.0"
-  },
-  "files": [
-    "index.js"
-  ],
-  "gitHead": "185ba12da723be9c1ee986cc2956bdc4c517a141",
-  "homepage": "https://github.com/sindresorhus/camelcase",
-  "keywords": [
-    "camelcase",
-    "camel-case",
-    "camel",
-    "case",
-    "dash",
-    "hyphen",
-    "dot",
-    "underscore",
-    "separator",
-    "string",
-    "text",
-    "convert"
-  ],
-  "license": "MIT",
-  "maintainers": [
-    {
-      "name": "sindresorhus",
-      "email": "sindresorhus@gmail.com"
-    }
-  ],
-  "name": "camelcase",
-  "optionalDependencies": {},
-  "publish_time": 1438425493833,
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/sindresorhus/camelcase.git"
-  },
-  "scripts": {
-    "test": "node test.js"
-  },
-  "version": "1.2.1"
-}

+ 0 - 56
node_modules/camelcase/readme.md

@@ -1,56 +0,0 @@
-# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase)
-
-> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`
-
-
-## Install
-
-```sh
-$ npm install --save camelcase
-```
-
-
-## Usage
-
-```js
-var camelCase = require('camelcase');
-
-camelCase('foo-bar');
-//=> fooBar
-
-camelCase('foo_bar');
-//=> fooBar
-
-camelCase('Foo-Bar');
-//=> fooBar
-
-camelCase('--foo.bar');
-//=> fooBar
-
-camelCase('__foo__bar__');
-//=> fooBar
-
-camelCase('foo bar');
-//=> fooBar
-
-console.log(process.argv[3]);
-//=> --foo-bar
-camelCase(process.argv[3]);
-//=> fooBar
-
-camelCase('foo', 'bar');
-//=> fooBar
-
-camelCase('__foo__', '--bar');
-//=> fooBar
-```
-
-
-## Related
-
-See [`decamelize`](https://github.com/sindresorhus/decamelize) for the inverse.
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)

+ 0 - 38
node_modules/hash-base/README.md

@@ -1,38 +0,0 @@
-# hash-base
-
-[![NPM Package](https://img.shields.io/npm/v/hash-base.svg?style=flat-square)](https://www.npmjs.org/package/hash-base)
-[![Build Status](https://img.shields.io/travis/crypto-browserify/hash-base.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/hash-base)
-[![Dependency status](https://img.shields.io/david/crypto-browserify/hash-base.svg?style=flat-square)](https://david-dm.org/crypto-browserify/hash-base#info=dependencies)
-
-[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
-
-Abstract base class to inherit from if you want to create streams implementing the same API as node crypto [Hash][1] (for [Cipher][2] / [Decipher][3] check [crypto-browserify/cipher-base][4]).
-
-## Example
-
-```js
-function MyHash () {
-  HashBase.call(64) // in bytes
-}
-
-inherti(MyHash, HashBase)
-
-MyHash.prototype._update = function () {
-  // hashing one block with buffer this._block
-}
-
-MyHash.prototype._digest = function () {
-  // create padding and produce result
-}
-```
-You also can check [source code](index.js) or [crypto-browserify/md5.js][5]
-
-## LICENSE
-
-MIT
-
-[1]: https://nodejs.org/api/crypto.html#crypto_class_hash
-[2]: https://nodejs.org/api/crypto.html#crypto_class_cipher
-[3]: https://nodejs.org/api/crypto.html#crypto_class_decipher
-[4]: https://github.com/crypto-browserify/cipher-base
-[5]: https://github.com/crypto-browserify/md5.js

+ 0 - 83
node_modules/hash-base/index.js

@@ -1,83 +0,0 @@
-'use strict'
-var Transform = require('stream').Transform
-var inherits = require('inherits')
-
-function HashBase (blockSize) {
-  Transform.call(this)
-
-  this._block = new Buffer(blockSize)
-  this._blockSize = blockSize
-  this._blockOffset = 0
-  this._length = [0, 0, 0, 0]
-
-  this._finalized = false
-}
-
-inherits(HashBase, Transform)
-
-HashBase.prototype._transform = function (chunk, encoding, callback) {
-  var error = null
-  try {
-    if (encoding !== 'buffer') chunk = new Buffer(chunk, encoding)
-    this.update(chunk)
-  } catch (err) {
-    error = err
-  }
-
-  callback(error)
-}
-
-HashBase.prototype._flush = function (callback) {
-  var error = null
-  try {
-    this.push(this._digest())
-  } catch (err) {
-    error = err
-  }
-
-  callback(error)
-}
-
-HashBase.prototype.update = function (data, encoding) {
-  if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')
-  if (this._finalized) throw new Error('Digest already called')
-  if (!Buffer.isBuffer(data)) data = new Buffer(data, encoding || 'binary')
-
-  // consume data
-  var block = this._block
-  var offset = 0
-  while (this._blockOffset + data.length - offset >= this._blockSize) {
-    for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]
-    this._update()
-    this._blockOffset = 0
-  }
-  while (offset < data.length) block[this._blockOffset++] = data[offset++]
-
-  // update length
-  for (var j = 0, carry = data.length * 8; carry > 0; ++j) {
-    this._length[j] += carry
-    carry = (this._length[j] / 0x0100000000) | 0
-    if (carry > 0) this._length[j] -= 0x0100000000 * carry
-  }
-
-  return this
-}
-
-HashBase.prototype._update = function (data) {
-  throw new Error('_update is not implemented')
-}
-
-HashBase.prototype.digest = function (encoding) {
-  if (this._finalized) throw new Error('Digest already called')
-  this._finalized = true
-
-  var digest = this._digest()
-  if (encoding !== undefined) digest = digest.toString(encoding)
-  return digest
-}
-
-HashBase.prototype._digest = function () {
-  throw new Error('_digest is not implemented')
-}
-
-module.exports = HashBase

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 110
node_modules/hash-base/package.json


+ 0 - 21
node_modules/is-directory/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2016, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 76
node_modules/is-directory/README.md

@@ -1,76 +0,0 @@
-# is-directory [![NPM version](https://img.shields.io/npm/v/is-directory.svg?style=flat)](https://www.npmjs.com/package/is-directory) [![NPM downloads](https://img.shields.io/npm/dm/is-directory.svg?style=flat)](https://npmjs.org/package/is-directory) [![Build Status](https://img.shields.io/travis/jonschlinkert/is-directory.svg?style=flat)](https://travis-ci.org/jonschlinkert/is-directory)
-
-Returns true if a filepath exists on the file system and it's directory.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install is-directory --save
-```
-
-## Usage
-
-```js
-var isDirectory = require('is-directory');
-
-isDirectory('node_modules', function(err, dir) {
-  if (err) throw err;
-  console.log(dir);
-  //=> true
-});
-
-isDirectory.sync('README.md');
-//=> false
-```
-
-## Related projects
-
-You might also be interested in these projects:
-
-* [is-absolute](https://www.npmjs.com/package/is-absolute): Polyfill for node.js `path.isAbolute`. Returns true if a file path is absolute. | [homepage](https://github.com/jonschlinkert/is-absolute)
-* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern.… [more](https://www.npmjs.com/package/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob)
-* [is-relative](https://www.npmjs.com/package/is-relative): Returns `true` if the path appears to be relative. | [homepage](https://github.com/jonschlinkert/is-relative)
-
-## Contributing
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/is-directory/issues/new).
-
-## Building docs
-
-Generate readme and API documentation with [verb](https://github.com/verbose/verb):
-
-```sh
-$ npm install verb && npm run docs
-```
-
-Or, if [verb](https://github.com/verbose/verb) is installed globally:
-
-```sh
-$ verb
-```
-
-## Running tests
-
-Install dev dependencies:
-
-```sh
-$ npm install -d && npm test
-```
-
-## Author
-
-**Jon Schlinkert**
-
-* [github/jonschlinkert](https://github.com/jonschlinkert)
-* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
-
-## License
-
-Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT license](https://github.com/jonschlinkert/is-directory/blob/master/LICENSE).
-
-***
-
-_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 21, 2016._

+ 0 - 65
node_modules/is-directory/index.js

@@ -1,65 +0,0 @@
-/*!
- * is-directory <https://github.com/jonschlinkert/is-directory>
- *
- * Copyright (c) 2014-2015, Jon Schlinkert.
- * Licensed under the MIT License.
- */
-
-'use strict';
-
-var fs = require('fs');
-
-/**
- * async
- */
-
-function isDirectory(filepath, cb) {
-  if (typeof cb !== 'function') {
-    throw new Error('expected a callback function');
-  }
-
-  if (typeof filepath !== 'string') {
-    cb(new Error('expected filepath to be a string'));
-    return;
-  }
-
-  fs.stat(filepath, function(err, stats) {
-    if (err) {
-      if (err.code === 'ENOENT') {
-        cb(null, false);
-        return;
-      }
-      cb(err);
-      return;
-    }
-    cb(null, stats.isDirectory());
-  });
-}
-
-/**
- * sync
- */
-
-isDirectory.sync = function isDirectorySync(filepath) {
-  if (typeof filepath !== 'string') {
-    throw new Error('expected filepath to be a string');
-  }
-
-  try {
-    var stat = fs.statSync(filepath);
-    return stat.isDirectory();
-  } catch (err) {
-    if (err.code === 'ENOENT') {
-      return false;
-    } else {
-      throw err;
-    }
-  }
-  return false;
-};
-
-/**
- * Expose `isDirectory`
- */
-
-module.exports = isDirectory;

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 133
node_modules/is-directory/package.json


+ 0 - 21
node_modules/process/.eslintrc

@@ -1,21 +0,0 @@
-{
-extends: "eslint:recommended",
-  "env": {
-    "node": true,
-    "browser": true,
-    "es6" : true,
-    "mocha": true
-  },
-  "rules": {
-    "indent": [2, 4],
-    "brace-style": [2, "1tbs"],
-    "quotes": [2, "single"],
-    "no-console": 0,
-    "no-shadow": 0,
-    "no-use-before-define": [2, "nofunc"],
-    "no-underscore-dangle": 0,
-    "no-constant-condition": 0,
-    "space-after-function-name": 0,
-   "consistent-return": 0
-  }
-}

+ 0 - 22
node_modules/process/LICENSE

@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2013 Roman Shtylman <shtylman@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 26
node_modules/process/README.md

@@ -1,26 +0,0 @@
-# process
-
-```require('process');``` just like any other module.
-
-Works in node.js and browsers via the browser.js shim provided with the module.
-
-## browser implementation
-
-The goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global.
-
-It also exposes a "browser" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in. 
-
-If you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below.
-
-* [hrtime](https://github.com/kumavis/browser-process-hrtime)
-* [stdout](https://github.com/kumavis/browser-stdout)
-
-## package manager notes
-
-If you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json.
-
-See https://gist.github.com/4339901 for details.
-
-The [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files.
-
-

+ 0 - 180
node_modules/process/browser.js

@@ -1,180 +0,0 @@
-// shim for using process in browser
-var process = module.exports = {};
-
-// cached from whatever global is present so that test runners that stub it
-// don't break things.  But we need to wrap it in a try catch in case it is
-// wrapped in strict mode code which doesn't define any globals.  It's inside a
-// function because try/catches deoptimize in certain engines.
-
-var cachedSetTimeout;
-var cachedClearTimeout;
-
-function defaultSetTimout() {
-    throw new Error('setTimeout has not been defined');
-}
-function defaultClearTimeout () {
-    throw new Error('clearTimeout has not been defined');
-}
-(function () {
-    try {
-        if (typeof setTimeout === 'function') {
-            cachedSetTimeout = setTimeout;
-        } else {
-            cachedSetTimeout = defaultSetTimout;
-        }
-    } catch (e) {
-        cachedSetTimeout = defaultSetTimout;
-    }
-    try {
-        if (typeof clearTimeout === 'function') {
-            cachedClearTimeout = clearTimeout;
-        } else {
-            cachedClearTimeout = defaultClearTimeout;
-        }
-    } catch (e) {
-        cachedClearTimeout = defaultClearTimeout;
-    }
-} ())
-function runTimeout(fun) {
-    if (cachedSetTimeout === setTimeout) {
-        //normal enviroments in sane situations
-        return setTimeout(fun, 0);
-    }
-    // if setTimeout wasn't available but was latter defined
-    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
-        cachedSetTimeout = setTimeout;
-        return setTimeout(fun, 0);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedSetTimeout(fun, 0);
-    } catch(e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
-            return cachedSetTimeout.call(null, fun, 0);
-        } catch(e){
-            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
-            return cachedSetTimeout.call(this, fun, 0);
-        }
-    }
-
-
-}
-function runClearTimeout(marker) {
-    if (cachedClearTimeout === clearTimeout) {
-        //normal enviroments in sane situations
-        return clearTimeout(marker);
-    }
-    // if clearTimeout wasn't available but was latter defined
-    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
-        cachedClearTimeout = clearTimeout;
-        return clearTimeout(marker);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedClearTimeout(marker);
-    } catch (e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
-            return cachedClearTimeout.call(null, marker);
-        } catch (e){
-            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
-            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
-            return cachedClearTimeout.call(this, marker);
-        }
-    }
-
-
-
-}
-var queue = [];
-var draining = false;
-var currentQueue;
-var queueIndex = -1;
-
-function cleanUpNextTick() {
-    if (!draining || !currentQueue) {
-        return;
-    }
-    draining = false;
-    if (currentQueue.length) {
-        queue = currentQueue.concat(queue);
-    } else {
-        queueIndex = -1;
-    }
-    if (queue.length) {
-        drainQueue();
-    }
-}
-
-function drainQueue() {
-    if (draining) {
-        return;
-    }
-    var timeout = runTimeout(cleanUpNextTick);
-    draining = true;
-
-    var len = queue.length;
-    while(len) {
-        currentQueue = queue;
-        queue = [];
-        while (++queueIndex < len) {
-            if (currentQueue) {
-                currentQueue[queueIndex].run();
-            }
-        }
-        queueIndex = -1;
-        len = queue.length;
-    }
-    currentQueue = null;
-    draining = false;
-    runClearTimeout(timeout);
-}
-
-process.nextTick = function (fun) {
-    var args = new Array(arguments.length - 1);
-    if (arguments.length > 1) {
-        for (var i = 1; i < arguments.length; i++) {
-            args[i - 1] = arguments[i];
-        }
-    }
-    queue.push(new Item(fun, args));
-    if (queue.length === 1 && !draining) {
-        runTimeout(drainQueue);
-    }
-};
-
-// v8 likes predictible objects
-function Item(fun, array) {
-    this.fun = fun;
-    this.array = array;
-}
-Item.prototype.run = function () {
-    this.fun.apply(null, this.array);
-};
-process.title = 'browser';
-process.browser = true;
-process.env = {};
-process.argv = [];
-process.version = ''; // empty string to avoid regexp issues
-process.versions = {};
-
-function noop() {}
-
-process.on = noop;
-process.addListener = noop;
-process.once = noop;
-process.off = noop;
-process.removeListener = noop;
-process.removeAllListeners = noop;
-process.emit = noop;
-
-process.binding = function (name) {
-    throw new Error('process.binding is not supported');
-};
-
-process.cwd = function () { return '/' };
-process.chdir = function (dir) {
-    throw new Error('process.chdir is not supported');
-};
-process.umask = function() { return 0; };

+ 0 - 2
node_modules/process/index.js

@@ -1,2 +0,0 @@
-// for now just expose the builtin process global from node.js
-module.exports = global.process;

+ 0 - 108
node_modules/process/package.json

@@ -1,108 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "process@^0.11.0",
-        "scope": null,
-        "escapedName": "process",
-        "name": "process",
-        "rawSpec": "^0.11.0",
-        "spec": ">=0.11.0 <0.12.0",
-        "type": "range"
-      },
-      "/Users/huanggang/huangg/panda_h5_shop/node_modules/node-libs-browser"
-    ]
-  ],
-  "_cnpm_publish_time": 1472587753289,
-  "_from": "process@>=0.11.0 <0.12.0",
-  "_hasShrinkwrap": false,
-  "_id": "process@0.11.9",
-  "_inCache": true,
-  "_location": "/process",
-  "_nodeVersion": "5.12.0",
-  "_npmOperationalInternal": {
-    "host": "packages-16-east.internal.npmjs.com",
-    "tmp": "tmp/process-0.11.9.tgz_1472587751718_0.8843140550889075"
-  },
-  "_npmUser": {
-    "name": "cwmma",
-    "email": "calvin.metcalf@gmail.com"
-  },
-  "_npmVersion": "3.8.6",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "process@^0.11.0",
-    "scope": null,
-    "escapedName": "process",
-    "name": "process",
-    "rawSpec": "^0.11.0",
-    "spec": ">=0.11.0 <0.12.0",
-    "type": "range"
-  },
-  "_requiredBy": [
-    "/node-libs-browser"
-  ],
-  "_resolved": "https://registry.npmjs.org/process/-/process-0.11.9.tgz",
-  "_shasum": "7bd5ad21aa6253e7da8682264f1e11d11c0318c1",
-  "_shrinkwrap": null,
-  "_spec": "process@^0.11.0",
-  "_where": "/Users/huanggang/huangg/panda_h5_shop/node_modules/node-libs-browser",
-  "author": {
-    "name": "Roman Shtylman",
-    "email": "shtylman@gmail.com"
-  },
-  "browser": "./browser.js",
-  "bugs": {
-    "url": "https://github.com/shtylman/node-process/issues"
-  },
-  "dependencies": {},
-  "description": "process information for node.js and browsers",
-  "devDependencies": {
-    "mocha": "2.2.1",
-    "zuul": "^3.10.3"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "7bd5ad21aa6253e7da8682264f1e11d11c0318c1",
-    "size": 4634,
-    "noattachment": false,
-    "tarball": "http://registry.npm.taobao.org/process/download/process-0.11.9.tgz"
-  },
-  "engines": {
-    "node": ">= 0.6.0"
-  },
-  "gitHead": "7d8c3702a8bbc43fa55f4bab74b150aef37001dd",
-  "homepage": "https://github.com/shtylman/node-process#readme",
-  "keywords": [
-    "process"
-  ],
-  "license": "MIT",
-  "main": "./index.js",
-  "maintainers": [
-    {
-      "name": "coolaj86",
-      "email": "coolaj86@gmail.com"
-    },
-    {
-      "name": "cwmma",
-      "email": "calvin.metcalf@gmail.com"
-    },
-    {
-      "name": "defunctzombie",
-      "email": "shtylman@gmail.com"
-    }
-  ],
-  "name": "process",
-  "optionalDependencies": {},
-  "publish_time": 1472587753289,
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/shtylman/node-process.git"
-  },
-  "scripts": {
-    "browser": "zuul --no-coverage --ui mocha-bdd --local 8080 -- test.js",
-    "test": "mocha test.js"
-  },
-  "version": "0.11.9"
-}

+ 0 - 199
node_modules/process/test.js

@@ -1,199 +0,0 @@
-var assert = require('assert');
-var ourProcess = require('./browser');
-describe('test against our process', function () {
-    test(ourProcess);
-});
-if (!process.browser) {
-  describe('test against node', function () {
-    test(process);
-  });
-  vmtest();
-}
-function test (ourProcess) {
-    describe('test arguments', function () {
-        it ('works', function (done) {
-          var order = 0;
-
-
-          ourProcess.nextTick(function (num) {
-              assert.equal(num, order++, 'first one works');
-              ourProcess.nextTick(function (num) {
-                assert.equal(num, order++, 'recursive one is 4th');
-              }, 3);
-          }, 0);
-          ourProcess.nextTick(function (num) {
-              assert.equal(num, order++, 'second one starts');
-              ourProcess.nextTick(function (num) {
-                assert.equal(num, order++, 'this is third');
-                ourProcess.nextTick(function (num) {
-                    assert.equal(num, order++, 'this is last');
-                    done();
-                }, 5);
-            }, 4);
-          }, 1);
-          ourProcess.nextTick(function (num) {
-
-              assert.equal(num, order++, '3rd schedualed happens after the error');
-          }, 2);
-        });
-    });
-if (!process.browser) {
-    describe('test errors', function (t) {
-        it ('works', function (done) {
-        var order = 0;
-        process.removeAllListeners('uncaughtException');
-        process.once('uncaughtException', function(err) {
-            assert.equal(2, order++, 'error is third');
-            ourProcess.nextTick(function () {
-                assert.equal(5, order++, 'schedualed in error is last');
-                done();
-            });
-        });
-        ourProcess.nextTick(function () {
-            assert.equal(0, order++, 'first one works');
-            ourProcess.nextTick(function () {
-            assert.equal(4, order++, 'recursive one is 4th');
-            });
-        });
-        ourProcess.nextTick(function () {
-            assert.equal(1, order++, 'second one starts');
-            throw(new Error('an error is thrown'));
-        });
-        ourProcess.nextTick(function () {
-            assert.equal(3, order++, '3rd schedualed happens after the error');
-        });
-        });
-    });
-}
-    describe('rename globals', function (t) {
-      var oldTimeout = setTimeout;
-      var oldClear = clearTimeout;
-
-      it('clearTimeout', function (done){
-
-        var ok = true;
-        clearTimeout = function () {
-          ok = false;
-        }
-        var ran = false;
-        function cleanup() {
-          clearTimeout = oldClear;
-          var err;
-          try {
-            assert.ok(ok, 'fake clearTimeout ran');
-            assert.ok(ran, 'should have run');
-          } catch (e) {
-            err = e;
-          }
-          done(err);
-        }
-        setTimeout(cleanup, 1000);
-        ourProcess.nextTick(function () {
-          ran = true;
-        });
-      });
-      it('just setTimeout', function (done){
-
-
-        setTimeout = function () {
-          setTimeout = oldTimeout;
-          try {
-            assert.ok(false, 'fake setTimeout called')
-          } catch (e) {
-            done(e);
-          }
-
-        }
-
-        ourProcess.nextTick(function () {
-          setTimeout = oldTimeout;
-          done();
-        });
-      });
-    });
-}
-function vmtest() {
-  var vm = require('vm');
-  var fs = require('fs');
-  var process =  fs.readFileSync('./browser.js', {encoding: 'utf8'});
-
-
-  describe('should work in vm in strict mode with no globals', function () {
-    it('should parse', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'this.works = process.browser;';
-      var script = new vm.Script(str);
-      var context = {
-        works: false
-      };
-      script.runInNewContext(context);
-      assert.ok(context.works);
-      done();
-    });
-    it('setTimeout throws error', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'try {process.nextTick(function () {})} catch (e){this.works = e;}';
-      var script = new vm.Script(str);
-      var context = {
-        works: false
-      };
-      script.runInNewContext(context);
-      assert.ok(context.works);
-      done();
-    });
-    it('should generally work', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'process.nextTick(function () {assert.ok(true);done();})';
-      var script = new vm.Script(str);
-      var context = {
-        clearTimeout: clearTimeout,
-        setTimeout: setTimeout,
-        done: done,
-        assert: assert
-      };
-      script.runInNewContext(context);
-    });
-    it('late defs setTimeout', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {assert.ok(true);done();})';
-      var script = new vm.Script(str);
-      var context = {
-        clearTimeout: clearTimeout,
-        hiddenSetTimeout: setTimeout,
-        done: done,
-        assert: assert
-      };
-      script.runInNewContext(context);
-    });
-    it('late defs clearTimeout', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'var clearTimeout = hiddenClearTimeout;process.nextTick(function () {assert.ok(true);done();})';
-      var script = new vm.Script(str);
-      var context = {
-        hiddenClearTimeout: clearTimeout,
-        setTimeout: setTimeout,
-        done: done,
-        assert: assert
-      };
-      script.runInNewContext(context);
-    });
-    it('late defs setTimeout and then redefine', function (done) {
-      var str = '"use strict";var module = {exports:{}};';
-      str += process;
-      str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {setTimeout = function (){throw new Error("foo")};hiddenSetTimeout(function(){process.nextTick(function (){assert.ok(true);done();});});});';
-      var script = new vm.Script(str);
-      var context = {
-        clearTimeout: clearTimeout,
-        hiddenSetTimeout: setTimeout,
-        done: done,
-        assert: assert
-      };
-      script.runInNewContext(context);
-    });
-  });
-}

+ 1 - 1
src/components/blocks/fixed_download_app.vue

@@ -32,7 +32,7 @@
                     return 'itms-apps://itunes.apple.com/app/id945609424';
                 }
                 if(UserAgent.Android()) {
-                    return 'http://p.lrlz.com/hfive/android_down';
+                    return 'https://passport.lrlz.com/hfive/android_down';
                 }
             }
         },

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 6 - 0
test/e2e/bootstrap.min.js


+ 11 - 0
test/e2e/desc.css

@@ -0,0 +1,11 @@
+#descModule {
+    width: 3vw;
+    height: 3vw;
+    border: 0px solid #06060636;
+    position: fixed;
+    top: 40vh;
+    right: 1vw;
+    /*border-radius: 3vw;*/
+    background-image: url(../assets/why.jpg);
+    background-size: cover;
+}

+ 80 - 0
test/e2e/desc.js

@@ -0,0 +1,80 @@
+var descObj = {
+    base:[
+        '创建房间(创建房间转推cdn):输入房间id,作为主播推流',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流',
+        '退出:退出房间',
+        '更改输出设备:切换扬声器',
+        '获取推流音频信息:可实时获取音量大小等',
+        '获取音频pcm数据:可实时获取音轨原始数据',
+        '下载wav:pcm数据转为wav格式浏览器端下载',
+    ],
+    audio:[
+        '创建房间:输入房间id,作为主播推流(纯音频)',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流(纯音频)',
+        '退出:退出房间',
+        '特别说明:推纯音频时,拉流也必须只拉音频',
+    ],
+    third:[
+        '推第三方视频:输入房间id,作为主播推第三方视频流',
+        '推第三方音频:输入房间id,作为主播推第三方音频流',
+        '退出:退出房间',
+        '特别说明:推第三方视频,推第三方音频都是作为主播登录',
+    ],
+    message:[
+        '创建房间:输入房间id,作为主播推流',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流',
+        '退出:退出房间',
+        '任意端发送消息,另一段会收到消息',
+        'relay消息和大房间消息需要先开通权限才能使用',
+    ],
+    audioMixing:[
+        '创建房间:输入房间id,作为主播推流',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流',
+        '退出:退出房间',
+        '预加载音效:笑声,背景音乐需要先加载到内存才能播放',
+        '鼓掌声:推流后直接可以播放',
+        '暂停音效:暂停播放的笑声,背景音乐',
+        '恢复音效:恢复播放的笑声,背景音乐',
+        '停止音效:停止播放的笑声,背景音乐,鼓掌声',
+        '释放音效:释放内存中播的笑声,背景音乐',
+        '特别说明:切换音效时,需要先停止当前音效;预加载能更快速的播放音效,且兼容safari'
+    ],
+    live:[
+        '创建房间:输入房间id,作为主播推流',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流',
+        '退出:退出房间',
+        '结束连麦:挂断当前连麦,可指定人员,主播和观众都可以发起',
+        '邀请连麦:主播邀请观众和自己连麦',
+        '请求连麦:观众向主播申请和自己连麦'
+    ],
+    auth:[
+        '创建房间(登录鉴权):用于第三方登录时鉴权',
+        '退出:退出房间'
+    ],
+    mix:[
+        '创建房间:输入房间id,作为主播推流',
+        '退出:退出房间',
+        '混流:当前房间内所有流混成一条,并在当前页面播放',
+        '停止混流:当前房间内所有流混成一条,并在当前页面播放',
+    ],
+    screen:[
+        '创建房间:输入房间id,作为主播推流',
+        '退出:退出房间',
+        '捕捉屏幕:调用捕捉屏幕api,选择要捕捉的页面或者应用,并推流(chrome需要插件,火狐不需要),只支持pc端chrome和火狐',
+        '捕捉屏幕(无需插件):和捕捉屏幕功能类似,区别是不需要安装插件,只有chrome72以上支持,且不能分享声音',
+        '推两路流:如果需要同时推屏幕和麦克风声音,可以推两路流实现;后续可以通过混音推一路流实现,敬请期待!'
+    ],
+    cdn:[
+        '创建房间:输入房间id,作为主播推流',
+        `进入房间:另打开新页面,输入房间id,进入房间作为观众拉流,拉流方式不是通过webrtc,而是以播放地址的形式,默认sdk返回rtmp,flv,m3u8三种格式,延迟小到大:rtmp,flv,m3u8;rtmp需要flash,手机不支持,safari只支持m3u8`,
+        '退出:退出房间',
+    ],
+    record:[
+        '创建房间:输入房间id,作为主播推流',
+        '进入房间:另打开新页面,输入房间id,进入房间作为观众拉流',
+        '退出:退出房间',
+        '截屏:截取当前推流video帧',
+        '录制:客户端录制,可以保存视频到客户端,支持暂停,恢复,停止操作',
+    ],
+
+};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 5462 - 0
test/e2e/jZego-rtc.js