/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {} /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ } /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__) /******/ // Flag the module as loaded /******/ module.loaded = true /******/ // Return the exports of the module /******/ return module.exports /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules /******/ // expose the module cache /******/ __webpack_require__.c = installedModules /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "" /******/ // Load entry module and return exports /******/ return __webpack_require__(0) /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' var _window2 = __webpack_require__(1) var _window = _interopRequireWildcard(_window2) function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key] } } newObj.default = obj; return newObj } } var global = GameGlobal function inject() { _window.addEventListener = _window.canvas.addEventListener = function (type, listener) { _window.document.addEventListener(type, listener) } _window.removeEventListener = _window.canvas.removeEventListener = function (type, listener) { _window.document.removeEventListener(type, listener) } var _wx$getSystemInfoSync = wx.getSystemInfoSync(), platform = _wx$getSystemInfoSync.platform // 开发者工具无法重定义 window if (typeof __devtoolssubcontext === 'undefined' && platform === 'devtools') { for (var key in _window) { var descriptor = Object.getOwnPropertyDescriptor(global, key) if (!descriptor || descriptor.configurable === true) { Object.defineProperty(window, key, { value: _window[key] }) } } for (var _key in _window.document) { var _descriptor = Object.getOwnPropertyDescriptor(global.document, _key) if (!_descriptor || _descriptor.configurable === true) { Object.defineProperty(global.document, _key, { value: _window.document[_key] }) } } window.parent = window } else { for (var _key2 in _window) { global[_key2] = _window[_key2] } global.window = _window window = global window.top = window.parent = window } } if (!GameGlobal.__isAdapterInjected) { GameGlobal.__isAdapterInjected = true inject() } /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) exports.cancelAnimationFrame = exports.requestAnimationFrame = exports.clearInterval = exports.clearTimeout = exports.setInterval = exports.setTimeout = exports.canvas = exports.location = exports.localStorage = exports.HTMLElement = exports.FileReader = exports.Audio = exports.Image = exports.WebSocket = exports.XMLHttpRequest = exports.navigator = exports.document = undefined var _WindowProperties = __webpack_require__(2) Object.keys(_WindowProperties).forEach(function (key) { if (key === "default" || key === "__esModule") return Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _WindowProperties[key] } }) }) var _constructor = __webpack_require__(3) Object.keys(_constructor).forEach(function (key) { if (key === "default" || key === "__esModule") return Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _constructor[key] } }) }) var _Canvas = __webpack_require__(9) var _Canvas2 = _interopRequireDefault(_Canvas) var _document2 = __webpack_require__(10) var _document3 = _interopRequireDefault(_document2) var _navigator2 = __webpack_require__(17) var _navigator3 = _interopRequireDefault(_navigator2) var _XMLHttpRequest2 = __webpack_require__(18) var _XMLHttpRequest3 = _interopRequireDefault(_XMLHttpRequest2) var _WebSocket2 = __webpack_require__(19) var _WebSocket3 = _interopRequireDefault(_WebSocket2) var _Image2 = __webpack_require__(11) var _Image3 = _interopRequireDefault(_Image2) var _Audio2 = __webpack_require__(12) var _Audio3 = _interopRequireDefault(_Audio2) var _FileReader2 = __webpack_require__(20) var _FileReader3 = _interopRequireDefault(_FileReader2) var _HTMLElement2 = __webpack_require__(4) var _HTMLElement3 = _interopRequireDefault(_HTMLElement2) var _localStorage2 = __webpack_require__(21) var _localStorage3 = _interopRequireDefault(_localStorage2) var _location2 = __webpack_require__(22) var _location3 = _interopRequireDefault(_location2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } exports.document = _document3.default exports.navigator = _navigator3.default exports.XMLHttpRequest = _XMLHttpRequest3.default exports.WebSocket = _WebSocket3.default exports.Image = _Image3.default exports.Audio = _Audio3.default exports.FileReader = _FileReader3.default exports.HTMLElement = _HTMLElement3.default exports.localStorage = _localStorage3.default exports.location = _location3.default // 暴露全局的 canvas var canvas = new _Canvas2.default() exports.canvas = canvas exports.setTimeout = setTimeout exports.setInterval = setInterval exports.clearTimeout = clearTimeout exports.clearInterval = clearInterval exports.requestAnimationFrame = requestAnimationFrame exports.cancelAnimationFrame = cancelAnimationFrame /***/ }), /* 2 */ /***/ (function(module, exports) { "use strict" Object.defineProperty(exports, "__esModule", { value: true }) var _wx$getSystemInfoSync = wx.getSystemInfoSync(), screenWidth = _wx$getSystemInfoSync.screenWidth, screenHeight = _wx$getSystemInfoSync.screenHeight, devicePixelRatio = _wx$getSystemInfoSync.devicePixelRatio var innerWidth = exports.innerWidth = screenWidth var innerHeight = exports.innerHeight = screenHeight exports.devicePixelRatio = devicePixelRatio var screen = exports.screen = { availWidth: innerWidth, availHeight: innerHeight } var performance = exports.performance = { now: function now() { return Date.now() / 1000 } } var ontouchstart = exports.ontouchstart = null var ontouchmove = exports.ontouchmove = null var ontouchend = exports.ontouchend = null /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) exports.HTMLCanvasElement = exports.HTMLImageElement = undefined var _HTMLElement3 = __webpack_require__(4) var _HTMLElement4 = _interopRequireDefault(_HTMLElement3) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var HTMLImageElement = exports.HTMLImageElement = function (_HTMLElement) { _inherits(HTMLImageElement, _HTMLElement) function HTMLImageElement() { _classCallCheck(this, HTMLImageElement) return _possibleConstructorReturn(this, (HTMLImageElement.__proto__ || Object.getPrototypeOf(HTMLImageElement)).call(this, 'img')) } return HTMLImageElement }(_HTMLElement4.default) var HTMLCanvasElement = exports.HTMLCanvasElement = function (_HTMLElement2) { _inherits(HTMLCanvasElement, _HTMLElement2) function HTMLCanvasElement() { _classCallCheck(this, HTMLCanvasElement) return _possibleConstructorReturn(this, (HTMLCanvasElement.__proto__ || Object.getPrototypeOf(HTMLCanvasElement)).call(this, 'canvas')) } return HTMLCanvasElement }(_HTMLElement4.default) /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() var _Element2 = __webpack_require__(5) var _Element3 = _interopRequireDefault(_Element2) var _util = __webpack_require__(8) var _WindowProperties = __webpack_require__(2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var HTMLElement = function (_Element) { _inherits(HTMLElement, _Element) function HTMLElement() { var tagName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '' _classCallCheck(this, HTMLElement) var _this = _possibleConstructorReturn(this, (HTMLElement.__proto__ || Object.getPrototypeOf(HTMLElement)).call(this)) _this.className = '' _this.childern = [] _this.style = { width: _WindowProperties.innerWidth + 'px', height: _WindowProperties.innerHeight + 'px' } _this.insertBefore = _util.noop _this.innerHTML = '' _this.tagName = tagName.toUpperCase() return _this } _createClass(HTMLElement, [{ key: 'setAttribute', value: function setAttribute(name, value) { this[name] = value } }, { key: 'getAttribute', value: function getAttribute(name) { return this[name] } }, { key: 'getBoundingClientRect', value: function getBoundingClientRect() { return { top: 0, left: 0, width: _WindowProperties.innerWidth, height: _WindowProperties.innerHeight } } }, { key: 'focus', value: function focus() {} }, { key: 'clientWidth', get: function get() { var ret = parseInt(this.style.fontSize, 10) * this.innerHTML.length return Number.isNaN(ret) ? 0 : ret } }, { key: 'clientHeight', get: function get() { var ret = parseInt(this.style.fontSize, 10) return Number.isNaN(ret) ? 0 : ret } }]) return HTMLElement }(_Element3.default) exports.default = HTMLElement /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _Node2 = __webpack_require__(6) var _Node3 = _interopRequireDefault(_Node2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var ELement = function (_Node) { _inherits(ELement, _Node) function ELement() { _classCallCheck(this, ELement) var _this = _possibleConstructorReturn(this, (ELement.__proto__ || Object.getPrototypeOf(ELement)).call(this)) _this.className = '' _this.children = [] return _this } return ELement }(_Node3.default) exports.default = ELement /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() var _EventTarget2 = __webpack_require__(7) var _EventTarget3 = _interopRequireDefault(_EventTarget2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var Node = function (_EventTarget) { _inherits(Node, _EventTarget) function Node() { _classCallCheck(this, Node) var _this = _possibleConstructorReturn(this, (Node.__proto__ || Object.getPrototypeOf(Node)).call(this)) _this.childNodes = [] return _this } _createClass(Node, [{ key: 'appendChild', value: function appendChild(node) { if (node instanceof Node) { this.childNodes.push(node) } else { throw new TypeError('Failed to executed \'appendChild\' on \'Node\': parameter 1 is not of type \'Node\'.') } } }, { key: 'cloneNode', value: function cloneNode() { var copyNode = Object.create(this) Object.assign(copyNode, this) return copyNode } }, { key: 'removeChild', value: function removeChild(node) { var index = this.childNodes.findIndex(function (child) { return child === node }) if (index > -1) { return this.childNodes.splice(index, 1) } return null } }]) return Node }(_EventTarget3.default) exports.default = Node /***/ }), /* 7 */ /***/ (function(module, exports) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } var _events = new WeakMap() var EventTarget = function () { function EventTarget() { _classCallCheck(this, EventTarget) _events.set(this, {}) } _createClass(EventTarget, [{ key: 'addEventListener', value: function addEventListener(type, listener) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {} var events = _events.get(this) if (!events) { events = {} _events.set(this, events) } if (!events[type]) { events[type] = [] } events[type].push(listener) if (options.capture) { console.warn('EventTarget.addEventListener: options.capture is not implemented.') } if (options.once) { console.warn('EventTarget.addEventListener: options.once is not implemented.') } if (options.passive) { console.warn('EventTarget.addEventListener: options.passive is not implemented.') } } }, { key: 'removeEventListener', value: function removeEventListener(type, listener) { var listeners = _events.get(this)[type] if (listeners && listeners.length > 0) { for (var i = listeners.length; i--; i > 0) { if (listeners[i] === listener) { listeners.splice(i, 1) break } } } } }, { key: 'dispatchEvent', value: function dispatchEvent() { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {} var listeners = _events.get(this)[event.type] if (listeners) { for (var i = 0; i < listeners.length; i++) { listeners[i](event) } } } }]) return EventTarget }() exports.default = EventTarget /***/ }), /* 8 */ /***/ (function(module, exports) { "use strict" Object.defineProperty(exports, "__esModule", { value: true }) exports.noop = noop function noop() {} /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) exports.default = Canvas var _constructor = __webpack_require__(3) var _HTMLElement = __webpack_require__(4) var _HTMLElement2 = _interopRequireDefault(_HTMLElement) var _document = __webpack_require__(10) var _document2 = _interopRequireDefault(_document) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } var hasModifiedCanvasPrototype = false var hasInit2DContextConstructor = false var hasInitWebGLContextConstructor = false function Canvas() { var canvas = wx.createCanvas() canvas.type = 'canvas' canvas.__proto__.__proto__ = new _HTMLElement2.default('canvas') var _getContext = canvas.getContext canvas.getBoundingClientRect = function () { var ret = { top: 0, left: 0, width: window.innerWidth, height: window.innerHeight } return ret } return canvas } /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _window = __webpack_require__(1) var window = _interopRequireWildcard(_window) var _HTMLElement = __webpack_require__(4) var _HTMLElement2 = _interopRequireDefault(_HTMLElement) var _Image = __webpack_require__(11) var _Image2 = _interopRequireDefault(_Image) var _Audio = __webpack_require__(12) var _Audio2 = _interopRequireDefault(_Audio) var _Canvas = __webpack_require__(9) var _Canvas2 = _interopRequireDefault(_Canvas) __webpack_require__(15) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key] } } newObj.default = obj; return newObj } } var events = {} var document = { readyState: 'complete', visibilityState: 'visible', documentElement: window, hidden: false, style: {}, location: window.location, ontouchstart: null, ontouchmove: null, ontouchend: null, head: new _HTMLElement2.default('head'), body: new _HTMLElement2.default('body'), createElement: function createElement(tagName) { if (tagName === 'canvas') { return new _Canvas2.default() } else if (tagName === 'audio') { return new _Audio2.default() } else if (tagName === 'img') { return new _Image2.default() } return new _HTMLElement2.default(tagName) }, getElementById: function getElementById(id) { if (id === window.canvas.id) { return window.canvas } return null }, getElementsByTagName: function getElementsByTagName(tagName) { if (tagName === 'head') { return [document.head] } else if (tagName === 'body') { return [document.body] } else if (tagName === 'canvas') { return [window.canvas] } return [] }, querySelector: function querySelector(query) { if (query === 'head') { return document.head } else if (query === 'body') { return document.body } else if (query === 'canvas') { return window.canvas } else if (query === '#' + window.canvas.id) { return window.canvas } return null }, querySelectorAll: function querySelectorAll(query) { if (query === 'head') { return [document.head] } else if (query === 'body') { return [document.body] } else if (query === 'canvas') { return [window.canvas] } return [] }, addEventListener: function addEventListener(type, listener) { if (!events[type]) { events[type] = [] } events[type].push(listener) }, removeEventListener: function removeEventListener(type, listener) { var listeners = events[type] if (listeners && listeners.length > 0) { for (var i = listeners.length; i--; i > 0) { if (listeners[i] === listener) { listeners.splice(i, 1) break } } } }, dispatchEvent: function dispatchEvent(event) { var listeners = events[event.type] if (listeners) { for (var i = 0; i < listeners.length; i++) { listeners[i](event) } } } } exports.default = document /***/ }), /* 11 */ /***/ (function(module, exports) { "use strict" Object.defineProperty(exports, "__esModule", { value: true }) exports.default = Image function Image() { var image = wx.createImage() return image } /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() var _HTMLAudioElement2 = __webpack_require__(13) var _HTMLAudioElement3 = _interopRequireDefault(_HTMLAudioElement2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var HAVE_NOTHING = 0 var HAVE_METADATA = 1 var HAVE_CURRENT_DATA = 2 var HAVE_FUTURE_DATA = 3 var HAVE_ENOUGH_DATA = 4 var _innerAudioContext = new WeakMap() var _src = new WeakMap() var _loop = new WeakMap() var _autoplay = new WeakMap() var Audio = function (_HTMLAudioElement) { _inherits(Audio, _HTMLAudioElement) function Audio(url) { _classCallCheck(this, Audio) var _this = _possibleConstructorReturn(this, (Audio.__proto__ || Object.getPrototypeOf(Audio)).call(this)) _this.HAVE_NOTHING = HAVE_NOTHING _this.HAVE_METADATA = HAVE_METADATA _this.HAVE_CURRENT_DATA = HAVE_CURRENT_DATA _this.HAVE_FUTURE_DATA = HAVE_FUTURE_DATA _this.HAVE_ENOUGH_DATA = HAVE_ENOUGH_DATA _this.readyState = HAVE_NOTHING _src.set(_this, '') var innerAudioContext = wx.createInnerAudioContext() _innerAudioContext.set(_this, innerAudioContext) innerAudioContext.onCanplay(function () { _this.dispatchEvent({ type: 'load' }) _this.dispatchEvent({ type: 'loadend' }) _this.dispatchEvent({ type: 'canplay' }) _this.dispatchEvent({ type: 'canplaythrough' }) _this.dispatchEvent({ type: 'loadedmetadata' }) _this.readyState = HAVE_CURRENT_DATA }) innerAudioContext.onPlay(function () { _this.dispatchEvent({ type: 'play' }) }) innerAudioContext.onPause(function () { _this.dispatchEvent({ type: 'pause' }) }) innerAudioContext.onEnded(function () { _this.dispatchEvent({ type: 'ended' }) _this.readyState = HAVE_ENOUGH_DATA }) innerAudioContext.onError(function () { _this.dispatchEvent({ type: 'error' }) }) if (url) { _innerAudioContext.get(_this).src = url } return _this } _createClass(Audio, [{ key: 'load', value: function load() { console.warn('HTMLAudioElement.load() is not implemented.') } }, { key: 'play', value: function play() { _innerAudioContext.get(this).play() } }, { key: 'pause', value: function pause() { _innerAudioContext.get(this).pause() } }, { key: 'canPlayType', value: function canPlayType() { var mediaType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '' if (typeof mediaType !== 'string') { return '' } if (mediaType.indexOf('audio/mpeg') > -1 || mediaType.indexOf('audio/mp4')) { return 'probably' } return '' } }, { key: 'cloneNode', value: function cloneNode() { var newAudio = new Audio() newAudio.loop = _innerAudioContext.get(this).loop newAudio.autoplay = _innerAudioContext.get(this).loop newAudio.src = this.src return newAudio } }, { key: 'currentTime', get: function get() { return _innerAudioContext.get(this).currentTime }, set: function set(value) { _innerAudioContext.get(this).seek(value) } }, { key: 'src', get: function get() { return _src.get(this) }, set: function set(value) { _src.set(this, value) _innerAudioContext.get(this).src = value } }, { key: 'loop', get: function get() { return _innerAudioContext.get(this).loop }, set: function set(value) { _innerAudioContext.get(this).loop = value } }, { key: 'autoplay', get: function get() { return _innerAudioContext.get(this).autoplay }, set: function set(value) { _innerAudioContext.get(this).autoplay = value } }, { key: 'paused', get: function get() { return _innerAudioContext.get(this).paused } }]) return Audio }(_HTMLAudioElement3.default) exports.default = Audio /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _HTMLMediaElement2 = __webpack_require__(14) var _HTMLMediaElement3 = _interopRequireDefault(_HTMLMediaElement2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var HTMLAudioElement = function (_HTMLMediaElement) { _inherits(HTMLAudioElement, _HTMLMediaElement) function HTMLAudioElement() { _classCallCheck(this, HTMLAudioElement) return _possibleConstructorReturn(this, (HTMLAudioElement.__proto__ || Object.getPrototypeOf(HTMLAudioElement)).call(this, 'audio')) } return HTMLAudioElement }(_HTMLMediaElement3.default) exports.default = HTMLAudioElement /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() var _HTMLElement2 = __webpack_require__(4) var _HTMLElement3 = _interopRequireDefault(_HTMLElement2) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called") } return call && (typeof call === "object" || typeof call === "function") ? call : self } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass) } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass } var HTMLMediaElement = function (_HTMLElement) { _inherits(HTMLMediaElement, _HTMLElement) function HTMLMediaElement(type) { _classCallCheck(this, HTMLMediaElement) return _possibleConstructorReturn(this, (HTMLMediaElement.__proto__ || Object.getPrototypeOf(HTMLMediaElement)).call(this, type)) } _createClass(HTMLMediaElement, [{ key: 'addTextTrack', value: function addTextTrack() {} }, { key: 'captureStream', value: function captureStream() {} }, { key: 'fastSeek', value: function fastSeek() {} }, { key: 'load', value: function load() {} }, { key: 'pause', value: function pause() {} }, { key: 'play', value: function play() {} }]) return HTMLMediaElement }(_HTMLElement3.default) exports.default = HTMLMediaElement /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' __webpack_require__(16) /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' var _window = __webpack_require__(1) var window = _interopRequireWildcard(_window) var _document = __webpack_require__(10) var _document2 = _interopRequireDefault(_document) var _util = __webpack_require__(8) function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj } } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key] } } newObj.default = obj; return newObj } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } var TouchEvent = function TouchEvent(type) { _classCallCheck(this, TouchEvent) this.target = window.canvas this.currentTarget = window.canvas this.touches = [] this.targetTouches = [] this.changedTouches = [] this.preventDefault = _util.noop this.stopPropagation = _util.noop this.type = type } function touchEventHandlerFactory(type) { return function (event) { var touchEvent = new TouchEvent(type) touchEvent.touches = event.touches touchEvent.targetTouches = Array.prototype.slice.call(event.touches) touchEvent.changedTouches = event.changedTouches touchEvent.timeStamp = event.timeStamp _document2.default.dispatchEvent(touchEvent) } } wx.onTouchStart(touchEventHandlerFactory('touchstart')) wx.onTouchMove(touchEventHandlerFactory('touchmove')) wx.onTouchEnd(touchEventHandlerFactory('touchend')) wx.onTouchCancel(touchEventHandlerFactory('touchcancel')) /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _util = __webpack_require__(8) // TODO 需要 wx.getSystemInfo 获取更详细信息 var _wx$getSystemInfoSync = wx.getSystemInfoSync(), platform = _wx$getSystemInfoSync.platform var navigator = { platform: platform, language: 'zh-cn', appVersion: '5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1', userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E8301 MicroMessenger/6.6.0 MiniGame NetType/WIFI Language/zh_CN', onLine: true, // TODO 用 wx.getNetworkStateChange 和 wx.onNetworkStateChange 来返回真实的状态 // TODO 用 wx.getLocation 来封装 geolocation geolocation: { getCurrentPosition: _util.noop, watchPosition: _util.noop, clearWatch: _util.noop } } exports.default = navigator /***/ }), /* 18 */ /***/ (function(module, exports) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } var _url = new WeakMap() var _method = new WeakMap() var _requestHeader = new WeakMap() var _responseHeader = new WeakMap() var _requestTask = new WeakMap() function _triggerEvent(type) { if (typeof this['on' + type] === 'function') { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key] } this['on' + type].apply(this, args) } } function _changeReadyState(readyState) { this.readyState = readyState _triggerEvent.call(this, 'readystatechange') } var XMLHttpRequest = function () { // TODO 没法模拟 HEADERS_RECEIVED 和 LOADING 两个状态 function XMLHttpRequest() { _classCallCheck(this, XMLHttpRequest) this.onabort = null this.onerror = null this.onload = null this.onloadstart = null this.onprogress = null this.ontimeout = null this.onloadend = null this.onreadystatechange = null this.readyState = 0 this.response = null this.responseText = null this.responseType = '' this.responseXML = null this.status = 0 this.statusText = '' this.upload = {} this.withCredentials = false _requestHeader.set(this, { 'content-type': 'application/x-www-form-urlencoded' }) _responseHeader.set(this, {}) } /* * TODO 这一批事件应该是在 XMLHttpRequestEventTarget.prototype 上面的 */ _createClass(XMLHttpRequest, [{ key: 'abort', value: function abort() { var myRequestTask = _requestTask.get(this) if (myRequestTask) { myRequestTask.abort() } } }, { key: 'getAllResponseHeaders', value: function getAllResponseHeaders() { var responseHeader = _responseHeader.get(this) return Object.keys(responseHeader).map(function (header) { return header + ': ' + responseHeader[header] }).join('\n') } }, { key: 'getResponseHeader', value: function getResponseHeader(header) { return _responseHeader.get(this)[header] } }, { key: 'open', value: function open(method, url /* async, user, password 这几个参数在小程序内不支持*/) { _method.set(this, method) _url.set(this, url) _changeReadyState.call(this, XMLHttpRequest.OPENED) } }, { key: 'overrideMimeType', value: function overrideMimeType() {} }, { key: 'send', value: function send() { var _this = this var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '' if (this.readyState !== XMLHttpRequest.OPENED) { throw new Error("Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.") } else { wx.request({ data: data, url: _url.get(this), method: _method.get(this), header: _requestHeader.get(this), responseType: this.responseType, success: function success(_ref) { var data = _ref.data, statusCode = _ref.statusCode, header = _ref.header if (typeof data !== 'string' && !(data instanceof ArrayBuffer)) { try { data = JSON.stringify(data) } catch (e) { data = data } } _this.status = statusCode _responseHeader.set(_this, header) _triggerEvent.call(_this, 'loadstart') _changeReadyState.call(_this, XMLHttpRequest.HEADERS_RECEIVED) _changeReadyState.call(_this, XMLHttpRequest.LOADING) _this.response = data if (data instanceof ArrayBuffer) { _this.responseText = '' var bytes = new Uint8Array(data) var len = bytes.byteLength for (var i = 0; i < len; i++) { _this.responseText += String.fromCharCode(bytes[i]) } } else { _this.responseText = data } _changeReadyState.call(_this, XMLHttpRequest.DONE) _triggerEvent.call(_this, 'load') _triggerEvent.call(_this, 'loadend') }, fail: function fail(_ref2) { var errMsg = _ref2.errMsg // TODO 规范错误 if (errMsg.indexOf('abort') !== -1) { _triggerEvent.call(_this, 'abort') } else { _triggerEvent.call(_this, 'error', errMsg) } _triggerEvent.call(_this, 'loadend') } }) } } }, { key: 'setRequestHeader', value: function setRequestHeader(header, value) { var myHeader = _requestHeader.get(this) myHeader[header] = value _requestHeader.set(this, myHeader) } }]) return XMLHttpRequest }() XMLHttpRequest.UNSEND = 0 XMLHttpRequest.OPENED = 1 XMLHttpRequest.HEADERS_RECEIVED = 2 XMLHttpRequest.LOADING = 3 XMLHttpRequest.DONE = 4 exports.default = XMLHttpRequest /***/ }), /* 19 */ /***/ (function(module, exports) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor) } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor } }() function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } var _socketTask = new WeakMap() var WebSocket = function () { // TODO 更新 binaryType // The connection is in the process of closing. // The connection is not yet open. function WebSocket(url) { var _this = this var protocols = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [] _classCallCheck(this, WebSocket) this.binaryType = '' this.bufferedAmount = 0 this.extensions = '' this.onclose = null this.onerror = null this.onmessage = null this.onopen = null this.protocol = '' this.readyState = 3 if (typeof url !== 'string' || !/(^ws:\/\/)|(^wss:\/\/)/.test(url)) { throw new TypeError('Failed to construct \'WebSocket\': The URL \'' + url + '\' is invalid') } this.url = url this.readyState = WebSocket.CONNECTING var socketTask = wx.connectSocket({ url: url, protocols: Array.isArray(protocols) ? protocols : [protocols] }) _socketTask.set(this, socketTask) socketTask.onClose(function (res) { _this.readyState = WebSocket.CLOSED if (typeof _this.onclose === 'function') { _this.onclose(res) } }) socketTask.onMessage(function (res) { if (typeof _this.onmessage === 'function') { _this.onmessage(res) } }) socketTask.onOpen(function () { _this.readyState = WebSocket.OPEN if (typeof _this.onopen === 'function') { _this.onopen() } }) socketTask.onError(function (res) { if (typeof _this.onerror === 'function') { _this.onerror(new Error(res.errMsg)) } }) return this } // TODO 小程序内目前获取不到,实际上需要根据服务器选择的 sub-protocol 返回 // TODO 更新 bufferedAmount // The connection is closed or couldn't be opened. // The connection is open and ready to communicate. _createClass(WebSocket, [{ key: 'close', value: function close(code, reason) { this.readyState = WebSocket.CLOSING var socketTask = _socketTask.get(this) socketTask.close({ code: code, reason: reason }) } }, { key: 'send', value: function send(data) { if (typeof data !== 'string' && !(data instanceof ArrayBuffer)) { throw new TypeError('Failed to send message: The data ' + data + ' is invalid') } var socketTask = _socketTask.get(this) socketTask.send({ data: data }) } }]) return WebSocket }() WebSocket.CONNECTING = 0 WebSocket.OPEN = 1 WebSocket.CLOSING = 2 WebSocket.CLOSED = 3 exports.default = WebSocket /***/ }), /* 20 */ /***/ (function(module, exports) { "use strict" Object.defineProperty(exports, "__esModule", { value: true }) function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function") } } /* * TODO 使用 wx.readFile 来封装 FileReader */ var FileReader = function FileReader() { _classCallCheck(this, FileReader) } exports.default = FileReader /***/ }), /* 21 */ /***/ (function(module, exports) { "use strict" Object.defineProperty(exports, "__esModule", { value: true }) var localStorage = { get length() { var _wx$getStorageInfoSyn = wx.getStorageInfoSync(), keys = _wx$getStorageInfoSyn.keys return keys.length }, key: function key(n) { var _wx$getStorageInfoSyn2 = wx.getStorageInfoSync(), keys = _wx$getStorageInfoSyn2.keys return keys[n] }, getItem: function getItem(key) { return wx.getStorageSync(key) }, setItem: function setItem(key, value) { return wx.setStorageSync(key, value) }, removeItem: function removeItem(key) { wx.removeStorageSync(key) }, clear: function clear() { wx.clearStorageSync() } } exports.default = localStorage /***/ }), /* 22 */ /***/ (function(module, exports) { 'use strict' Object.defineProperty(exports, "__esModule", { value: true }) var location = { href: 'game.js', reload: function reload() {} } exports.default = location /***/ }) /******/ ])