UNPKG

@dcloudio/uni-debugger

Version:

uni-app debugger

1,256 lines (1,154 loc) 66.8 kB
webpackJsonp([7],{ /***/ "./src/bridge/debugger.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ready__ = __webpack_require__("./src/bridge/ready.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__invoke__ = __webpack_require__("./src/bridge/invoke.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__publish__ = __webpack_require__("./src/bridge/publish.ts"); var INSPECTOR_VARS = Object.create(null); function getTarget(obj, dataPath) { var parts = dataPath.split('.'); var key = parts[0]; if (parts.length === 1) { return obj[key]; } return getTarget(obj[key], parts.slice(1).join('.')); } function getInspectorVar(dataPath) { if (!INSPECTOR_VARS[dataPath]) { INSPECTOR_VARS[dataPath] = getTarget(document.querySelector('iframe').contentWindow, dataPath); if (!INSPECTOR_VARS[dataPath]) { throw new Error(dataPath + ' is undefined'); } } return INSPECTOR_VARS[dataPath]; } function normalizePath(url) { return url.replace(/\\/g, '/'); } function getUISourceCode(url) { var uiSourceCode = getInspectorVar('Workspace.workspace').uiSourceCodeForURL("uni-app:///" + normalizePath(url)); if (!uiSourceCode) { console.error("UISourceCode('" + url + "') is undefined"); } return uiSourceCode; } function getUrl(url) { return url.replace('uni-app:///', ''); } function breakpointAdded(evt) { var uiLocation = evt.data.uiLocation; var url = uiLocation.uiSourceCode.url(); if (url.indexOf('uni-app:///') === 0) { Object(__WEBPACK_IMPORTED_MODULE_2__publish__["a" /* publish */])('Debugger.breakpointAdded', { url: getUrl(url), enabled: evt.data.breakpoint.enabled(), lineNumber: uiLocation.lineNumber, columnNumber: uiLocation.columnNumber }); } } function breakpointRemoved(evt) { var uiLocation = evt.data.uiLocation; var url = uiLocation.uiSourceCode.url(); if (url.indexOf('uni-app:///') === 0) { Object(__WEBPACK_IMPORTED_MODULE_2__publish__["a" /* publish */])('Debugger.breakpointRemoved', { url: getUrl(url), lineNumber: uiLocation.lineNumber, columnNumber: uiLocation.columnNumber }); } } function setBreakpointByUrl(_a) { var url = _a.url, lineNumber = _a.lineNumber; var uniSourceCode = getUISourceCode(url); if (uniSourceCode) { getInspectorVar('Common.Revealer').reveal(uniSourceCode.uiLocation(lineNumber, 0)); getInspectorVar('Bindings.breakpointManager').setBreakpoint(uniSourceCode, lineNumber, 0, '', true); } else { alert('本页面未在手机端运行,请在手机端打开本页面再同步断点。'); } } function removeBreakpointByUrl(_a) { var url = _a.url, lineNumber = _a.lineNumber; var breakpoints = getInspectorVar('Bindings.breakpointManager').findBreakpoints(getUISourceCode(url), lineNumber); if (Array.isArray(breakpoints)) { breakpoints.forEach(function (breakpoint) { breakpoint.remove(); }); } } function debuggerPaused(evt) { var details = evt.data.debuggerPausedDetails(); var selectedUILocation = details && details.callFrames.length ? getInspectorVar('Bindings.debuggerWorkspaceBinding').rawLocationToUILocation(details.callFrames[0].location()) : null; //TODO 需要考虑 selectedUILocation 为 null if (selectedUILocation) { var url = selectedUILocation.uiSourceCode.url(); if (url.indexOf('uni-app:///') === 0) { Object(__WEBPACK_IMPORTED_MODULE_2__publish__["a" /* publish */])('Debugger.debuggerPaused', { url: getUrl(url), lineNumber: selectedUILocation.lineNumber, columnNumber: selectedUILocation.columnNumber }); } } } function debuggerResumed(evt) { Object(__WEBPACK_IMPORTED_MODULE_2__publish__["a" /* publish */])('Debugger.debuggerResumed'); } function scriptParsed(evt) { var url = evt.data.url(); if (url.indexOf('uni-app:///') === 0) { Object(__WEBPACK_IMPORTED_MODULE_2__publish__["a" /* publish */])('Debugger.scriptParsed', { url: getUrl(url) }); } else if (url.indexOf('webpack:///') === 0 || url.indexOf('webpack-internal:///') === 0) { // getInspectorVar('Bindings.blackboxManager').blackboxUISourceCode( // getInspectorVar('Workspace.workspace').uiSourceCodeForURL(url) // ) } } function ready() { // if(!getInspectorVar('Runtime').isLite){ // console.log('debugger is disabled') // return // } console.log('debugger is ready'); var Workspace = getInspectorVar('Workspace'); Workspace.workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdded, scriptParsed); var BreakpointManager = getInspectorVar('Bindings.BreakpointManager'); var breakpointManager = getInspectorVar('Bindings.breakpointManager'); breakpointManager.addEventListener(BreakpointManager.Events.BreakpointAdded, breakpointAdded); breakpointManager.addEventListener(BreakpointManager.Events.BreakpointRemoved, breakpointRemoved); var SDK = getInspectorVar('SDK'); SDK.targetManager.addModelListener(SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerPaused, debuggerPaused); SDK.targetManager.addModelListener(SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerResumed, debuggerResumed); } Object(__WEBPACK_IMPORTED_MODULE_0__ready__["b" /* registerReady */])(ready); Object(__WEBPACK_IMPORTED_MODULE_1__invoke__["b" /* registerCommand */])('Debugger.setBreakpointByUrl', setBreakpointByUrl); Object(__WEBPACK_IMPORTED_MODULE_1__invoke__["b" /* registerCommand */])('Debugger.removeBreakpointByUrl', removeBreakpointByUrl); /***/ }), /***/ "./src/bridge/index.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__debugger__ = __webpack_require__("./src/bridge/debugger.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ready__ = __webpack_require__("./src/bridge/ready.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invoke__ = __webpack_require__("./src/bridge/invoke.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__publish__ = __webpack_require__("./src/bridge/publish.ts"); window.HXJSBridge = { ready: __WEBPACK_IMPORTED_MODULE_1__ready__["a" /* default */], invoke: __WEBPACK_IMPORTED_MODULE_2__invoke__["a" /* default */], publish: __WEBPACK_IMPORTED_MODULE_3__publish__["a" /* publish */] }; /***/ }), /***/ "./src/bridge/invoke.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (immutable) */ __webpack_exports__["b"] = registerCommand; /* harmony export (immutable) */ __webpack_exports__["a"] = invoke; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; var commands = Object.create(null); function registerCommand(action, handler) { commands[action] = handler; } function invoke(_a) { var reqId = _a.reqId, _b = _a.request, action = _b.action, data = _b.data; if (commands[action]) { commands[action](__assign({ reqId: reqId }, data)); } else { console.error(action + ' is undefined'); } } /***/ }), /***/ "./src/bridge/publish.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (immutable) */ __webpack_exports__["a"] = publish; if (typeof window.__postMessageToHBuilderX__ !== 'function') { window.__postMessageToHBuilderX__ = function __postMessageToHBuilderX__(data) { console.log('__postMessageToHBuilderX__', JSON.stringify(data)); }; } function publish(action, data, reqId) { if (reqId === void 0) { reqId = -1; } window.__postMessageToHBuilderX__(JSON.stringify({ reqId: reqId, response: { action: action, data: data || {} } })); } /***/ }), /***/ "./src/bridge/ready.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (immutable) */ __webpack_exports__["b"] = registerReady; /* harmony export (immutable) */ __webpack_exports__["a"] = ready; var callbacks = []; function registerReady(callback) { callbacks.push(callback); } function ready() { callbacks.forEach(function (callback) { callback(); }); } /***/ }), /***/ "./src/lang.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__("./node_modules/vue/dist/vue.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_i18n__ = __webpack_require__("./node_modules/vue-i18n/dist/vue-i18n.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__langs_en__ = __webpack_require__("./src/langs/en.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__langs_cn__ = __webpack_require__("./src/langs/cn.ts"); __WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_1_vue_i18n__["a" /* default */]); /* harmony default export */ __webpack_exports__["a"] = (new __WEBPACK_IMPORTED_MODULE_1_vue_i18n__["a" /* default */]({ locale: localStorage.getItem('language') || 'cn', fallbackLocale: 'cn', messages: { en: __WEBPACK_IMPORTED_MODULE_2__langs_en__["a" /* en */], cn: __WEBPACK_IMPORTED_MODULE_3__langs_cn__["a" /* cn */] } })); /***/ }), /***/ "./src/langs/cn.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cn; }); var cn = { title: 'uni-app 真机调试工具', navbar: { help: '帮助', environmentSetting: '环境设置', bundlesToggle: '页面' }, home: { languageTitle: 'Languages', welcomMessage: '欢迎使用 uni-app 调试工具', tabs: { debugName: '调试', pageName: '页面' }, tips: { quickStartTitle: '快速使用', quickStartDesc: '快速了解如何在你的开发中使用 uni-app 调试工具', quickStartUrl: 'http://uni-app.apache.org/zh/tools/toolkit.html#debug', guideTitle: '使用教程', guideDesc: '详细介绍各个功能的使用说明', guideUrl: 'https://uni-app.apache.org/zh/guide/debug/debug.html', integerTitle: '集成 uni-app Devtool 到你的应用', integerDesc: '了解如何在你的应用中集成 uni-app Devtool SDK', integerUrl: 'https://uni-app.apache.org/zh/guide/debug/integrate-devtool-to-android.html', helpTitle: '帮助和意见反馈', helpDesc: '提交Github issue 和帮助提高 uni-app Devtool', helpUrl: 'https://github.com/weexteam/weex-toolkit/issues/new?labels=@weex-cli/debug', noJsBundle: '暂无可预览页面,你可以通过下面的命令进行页面编译' }, toastTips: { copySuccess: '复制成功', openPage: '打开页面' }, version: '当前版本' }, defaultPage: { title: '性能面板', pageDescription: '页面正在施工中...' }, weexDebugPage: { screencast: '屏幕预览', title: 'uni-app 调试', appInfo: '应用信息', sdkVersion: 'SDK版本', jsDebug: 'JS调试', network: '网络审查', logLevel: '日志等级', elementMode: '切换视图', clearHistory: '清空历史', workerJsDesc: 'WorkerJS为调试中间文件,文件开头为[Runtime]-的文件', jsServiceDesc: 'JSService是uni-app在运行中使用<a href="http://uni-app.apache.org/cn/references/js-service.html" target="_blank">JSService接口</a>注入的JS文件,多个文件用逗号隔开', dependenceJsDesc: 'DependenceJS是uni-app在创建实例前在JS环境中注入的JS文件', jsFrameworkDesc: 'JSFramework是为uni-app运行提供初始环境的JS', environmentSettingOkDesc: '更改设置', environmentSettingCancelDesc: '重置', reloadDesc: '刷新', restoreDesc: '恢复', mockTips: 'mock 文件', generatorFile: '生成文件', environmentSetting: '环境设置', generatingFile: '生成文件中', generateFile: '生成文件', reloadSuccess: '刷新成功', reloading: '刷新页面中', ensureDeleteHistory: '确定删除历史记录?', changeEnvSetting: '更改环境配置', changeSettingSuccess: '更改成功', noEmptyUrl: '页面URL不能为空', loadingTip: '加载中', loadingSuccess: '加载成功', noPages: '暂无页面' }, sideBar: { weex: { title: 'uni-app 调试' }, analyze: { title: '性能面板' } }, tour: { step_1: '点击这里可以控制<strong>JS Debug</strong>开关,开启后即可开始JS调试!', step_2: '点击这里可以选择Log日志等级', step_3: '进入调试页面后点击这里可以刷新uni-app页面', step_4: '在这里可以输入你本地想访问的JSBundle文件,回车键跳转', step_5: '点击这里可以针对uni-app运行环境进行配置', step_6: '点击这里可以对文件进行Mock替换', step_7: '点击这里可以让环境配置生效', step_8: '点击这里重置环境', nextText: '下一个', prevText: '上一个', finishText: '完成', skip: '跳过' } }; /***/ }), /***/ "./src/langs/en.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return en; }); var en = { title: 'uni-app Debug Tool', navbar: { help: 'Help', environmentSetting: 'Environment', bundlesToggle: 'Pages' }, home: { languageTitle: '切换语言', welcomMessage: 'Welcome to uni-app debugging tool', tabs: { debugName: 'Debug', pageName: 'Pages' }, tips: { quickStartTitle: 'Quick start', quickStartDesc: 'Quickly learn how to use the uni-app debugging tool', quickStartUrl: 'http://uni-app.apache.org/tools/toolkit.html#debug', guideTitle: 'Tutorial', guideDesc: 'Detailed instructions for using each function', guideUrl: 'https://uni-app.apache.org/guide/debug/debug.html', integerTitle: 'Integrate uni-app Devtool', integerDesc: 'Learn how to integrate the uni-app Devtool SDK into your app', integerUrl: 'https://uni-app.apache.org/guide/debug/integrate-devtool-to-android.html', helpTitle: 'Help & Feedback', helpDesc: 'Submit a Github issue to help uni-app Devtool be better', helpUrl: 'https://github.com/weexteam/weex-toolkit/issues/new?labels=@weex-cli/debug', noJsBundle: 'There is no preview page yet, you can compile the page with the following command' }, toastTips: { copySuccess: 'Copy success', openPage: 'Open page' }, version: 'Version' }, defaultPage: { title: 'Performance', pageDescription: 'The page is under development...' }, weexDebugPage: { screencast: 'Screencast', title: 'uni-app Debug', appInfo: 'APP Info', sdkVersion: 'SDK Version', jsDebug: 'JS Debug', network: 'Network', logLevel: 'LogLevel', elementMode: 'ElementMode', clearHistory: 'Clean', workerJsDesc: 'WorkerJS is a debugging intermediate file, the file starts with \`[Runtime]-\`', jsServiceDesc: 'JSService is using <a href="http://uni-app.apache.org/cn/references/js-service.html" target="_blank">JSService API</a>register in the run, multiple files separated by commas', dependenceJsDesc: 'DependenceJS is the JS file injected by uni-app in the JS environment before creating the instance', jsFrameworkDesc: 'JSFramework is the JS that provides the initial environment for uni-app to run', environmentSettingOkDesc: 'Change Setting', environmentSettingCancelDesc: 'Reset', reloadDesc: 'Refresh', restoreDesc: 'Restore', mockTips: 'Mock file', generatorFile: 'Generate File', environmentSetting: 'Environment Setting', generatingFile: 'New Files', generateFile: 'New File', reloadSuccess: 'Reload Success', reloading: 'Reloading', ensureDeleteHistory: 'Delete History?', changeEnvSetting: 'Change Environment', changeSettingSuccess: 'Change Success', noEmptyUrl: 'Url should not be empty', loadingTip: 'Loading', loadingSuccess: 'Load Success', noPages: 'No pages' }, sideBar: { weex: { title: 'uni-app DEBUG' }, analyze: { title: 'PERFORMENCE' } }, tour: { step_1: 'Click here to control the <strong>JS Debug</strong> switch, and start JS debugging after opening!', step_2: 'Click here to select Log log level', step_3: 'Click here to refresh the uni-app page after entering the debug page', step_4: 'Enter the JSBundle file you want to access locally, press Enter to jump', step_5: 'Click here to configure for the uni-app runtime environment', step_6: 'Click here to Mock replace the file', step_7: 'Click here to make the environment configuration take effect', step_8: 'Click here to reset the environment', nextText: 'Next', prevText: 'Prev', finishText: 'Finish', skip: 'Skip' } }; /***/ }), /***/ "./src/main.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bridge__ = __webpack_require__("./src/bridge/index.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue__ = __webpack_require__("./node_modules/vue/dist/vue.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__("./src/store/index.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__("./src/router.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_js_toggle_button__ = __webpack_require__("./node_modules/vue-js-toggle-button/dist/index.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_js_toggle_button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vue_js_toggle_button__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue_tour__ = __webpack_require__("./node_modules/vue-tour/dist/vue-tour.umd.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue_tour___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_vue_tour__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vue_snotify__ = __webpack_require__("./node_modules/vue-snotify/vue-snotify.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_vue_resource__ = __webpack_require__("./node_modules/vue-resource/dist/vue-resource.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_vue_json_tree_view__ = __webpack_require__("./node_modules/vue-json-tree-view/dist/vue-json-tree-view.min.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_vue_json_tree_view___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_vue_json_tree_view__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vue_clipboard2__ = __webpack_require__("./node_modules/vue-clipboard2/vue-clipboard.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vue_clipboard2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_vue_clipboard2__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_bootstrap_vue_es_directives_tooltip_tooltip__ = __webpack_require__("./node_modules/bootstrap-vue/es/directives/tooltip/tooltip.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_bootstrap_vue_es_directives_tooltip_tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_bootstrap_vue_es_directives_tooltip_tooltip__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_bootstrap_vue_es_directives_popover_popover__ = __webpack_require__("./node_modules/bootstrap-vue/es/directives/popover/popover.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_bootstrap_vue_es_directives_popover_popover___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_bootstrap_vue_es_directives_popover_popover__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__lang__ = __webpack_require__("./src/lang.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__sass_iconfont_scss__ = __webpack_require__("./src/sass/iconfont.scss"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__sass_iconfont_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__sass_iconfont_scss__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__sass_main_scss__ = __webpack_require__("./src/sass/main.scss"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__sass_main_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__sass_main_scss__); // fixed by xxxxxx // https://www.npmjs.com/package/vue-js-toggle-button // https://artemsky.github.io/vue-snotify/ // const navbarComponent = () => import('./components/navbar').then(({ NavbarComponent }) => NavbarComponent) // const navbarComponent = () => import(/* webpackChunkName: 'navbar' */'./components/navbar').then(({ NavbarComponent }) => NavbarComponent) __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_4_vue_js_toggle_button___default.a); __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_5_vue_tour___default.a); __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_7_vue_resource__["a" /* default */]); __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_8_vue_json_tree_view___default.a); // let vue-clipboard2 set container to current element by doing this __WEBPACK_IMPORTED_MODULE_9_vue_clipboard2___default.a.config.autoSetContainer = true; __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_9_vue_clipboard2___default.a); __WEBPACK_IMPORTED_MODULE_1_vue__["default"].directive('b-popover', __WEBPACK_IMPORTED_MODULE_11_bootstrap_vue_es_directives_popover_popover___default.a); __WEBPACK_IMPORTED_MODULE_1_vue__["default"].directive('b-tooltip', __WEBPACK_IMPORTED_MODULE_10_bootstrap_vue_es_directives_tooltip_tooltip___default.a); var options = { toast: { position: __WEBPACK_IMPORTED_MODULE_6_vue_snotify__["a" /* SnotifyPosition */].centerTop, bodyMaxLength: 20, titleMaxLength: 8, timeout: 1000, showProgressBar: false, closeOnClick: true, pauseOnHover: true, backdrop: -1 } }; __WEBPACK_IMPORTED_MODULE_1_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_6_vue_snotify__["b" /* default */], options); // tslint:disable-next-line:no-unused-expression new __WEBPACK_IMPORTED_MODULE_1_vue__["default"]({ el: '#app-main', i18n: __WEBPACK_IMPORTED_MODULE_12__lang__["a" /* default */], store: __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */], router: Object(__WEBPACK_IMPORTED_MODULE_3__router__["a" /* createRouter */])(), components: {} }); /***/ }), /***/ "./src/router.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export createRoutes */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createRouter; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__("./node_modules/vue/dist/vue.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_router__ = __webpack_require__("./node_modules/vue-router/dist/vue-router.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_hot_reload__ = __webpack_require__("./src/util/hot-reload.ts"); var homeComponent = function () { return __webpack_require__.e/* import() */(2).then(__webpack_require__.bind(null, "./src/views/home/index.ts")).then(function (_a) { var HomeComponent = _a.HomeComponent; return HomeComponent; }); }; var clientComponent = function () { return __webpack_require__.e/* import() */(3).then(__webpack_require__.bind(null, "./src/views/client/index.ts")).then(function (_a) { var ClientComponent = _a.ClientComponent; return ClientComponent; }); }; var weexComponent = function () { return __webpack_require__.e/* import() */(1).then(__webpack_require__.bind(null, "./src/views/weex/index.ts")).then(function (_a) { var WeexComponent = _a.WeexComponent; return WeexComponent; }); }; var analyzeComponent = function () { return __webpack_require__.e/* import() */(0).then(__webpack_require__.bind(null, "./src/views/analyze/index.ts")).then(function (_a) { var AnalyzeComponent = _a.AnalyzeComponent; return AnalyzeComponent; }); }; var evalComponent = function () { return __webpack_require__.e/* import() */(4).then(__webpack_require__.bind(null, "./src/views/eval/index.ts")).then(function (_a) { var EvalComponent = _a.EvalComponent; return EvalComponent; }); }; var defaultComponent = function () { return __webpack_require__.e/* import() */(5).then(__webpack_require__.bind(null, "./src/views/default/index.ts")).then(function (_a) { var DefaultComponent = _a.DefaultComponent; return DefaultComponent; }); }; if (false) { var homeModuleId_1 = './views/home'; var clientModuleId_1 = './views/client'; var weexModuleId_1 = './views/weex'; var evalModuleId_1 = './views/eval'; var analyzeModuleId_1 = './views/analyze'; var defaultModuleId_1 = './views/default'; // first arguments for `module.hot.accept` and `require` methods have to be static strings // see https://github.com/webpack/webpack/issues/5668 makeHot(homeModuleId_1, homeComponent, module.hot.accept('./views/home', function () { return reload(homeModuleId_1, require('./views/home').HomeComponent); })); makeHot(clientModuleId_1, clientComponent, module.hot.accept('./views/client', function () { return reload(clientModuleId_1, require('./views/client').AboutComponent); })); makeHot(weexModuleId_1, weexComponent, module.hot.accept('./views/weex', function () { return reload(weexModuleId_1, require('./views/weex').WeexComponent); })), makeHot(analyzeModuleId_1, analyzeComponent, module.hot.accept('./views/analyze', function () { return reload(analyzeModuleId_1, require('./views/analyze').AnalyzeComponent); })), makeHot(evalModuleId_1, evalComponent, module.hot.accept('./views/eval', function () { return reload(evalModuleId_1, require('./views/eval').EvalComponent); })), makeHot(defaultModuleId_1, defaultComponent, module.hot.accept('./views/default', function () { return reload(defaultModuleId_1, require('./views/default').DefaultComponent); })); } __WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_1_vue_router__["a" /* default */]); var createRoutes = function () { return [ { path: '/', component: homeComponent }, { path: '/client', component: clientComponent, props: function (route) { return ({ channelId: route.params.channelId }); }, redirect: '/', children: [ { path: 'weex/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: weexComponent, meta: { title: 'weexDebugPage', setting: true } }, { path: 'analyze/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: defaultComponent, meta: { title: 'defaultPage' } }, { path: 'eval/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: defaultComponent, meta: { title: 'defaultPage' } }, { path: 'source/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: defaultComponent, meta: { title: 'defaultPage' } }, { path: 'health/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: defaultComponent, meta: { title: 'defaultPage' } }, { path: 'setting/:channelId', props: function (route) { return ({ channelId: route.params.channelId }); }, component: defaultComponent, meta: { title: 'defaultPage' } } ] } ]; }; var createRouter = function () { return new __WEBPACK_IMPORTED_MODULE_1_vue_router__["a" /* default */]({ mode: 'history', routes: createRoutes() }); }; /***/ }), /***/ "./src/sass/iconfont.scss": /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ "./src/sass/main.scss": /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ "./src/store/actions.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // const addToCart: Action<State, any> = (context: { commit: Commit }, product: Product) => { // if (product.inventory > 0) { // const payload: AddToCartPayload = { // id: product.id, // } // context.commit(types.ADD_TO_CART, payload) // } // } var actions = {}; /* harmony default export */ __webpack_exports__["a"] = (actions); /***/ }), /***/ "./src/store/getters.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // const cartProducts: Getter<State, any> = (state: State) => { // return state.cart.added.map((shape) => { // const product = state.products.all.find((p) => p.id === shape.id) // if (product) { // const cartProduct: CartProduct = { // title: product.title, // price: product.price, // quantity: shape.quantity, // } // return cartProduct // } // }) // } var getterTree = {}; /* harmony default export */ __webpack_exports__["a"] = (getterTree); /***/ }), /***/ "./src/store/index.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__("./node_modules/vue/dist/vue.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__("./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions__ = __webpack_require__("./src/store/actions.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__getters__ = __webpack_require__("./src/store/getters.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mutations__ = __webpack_require__("./src/store/mutations.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__modules_home__ = __webpack_require__("./src/store/modules/home.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__modules_weex__ = __webpack_require__("./src/store/modules/weex.ts"); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__modules_analyze__ = __webpack_require__("./src/store/modules/analyze.ts"); __WEBPACK_IMPORTED_MODULE_0_vue__["default"].use(__WEBPACK_IMPORTED_MODULE_1_vuex__["a" /* default */]); var debug = "production" !== 'production'; var state = { webSocketHost: location.host, // webSocketHost: '30.8.57.159:8089', channelId: '', environmentSetting: false, helpSetting: false, bundleSetting: false }; var store = new __WEBPACK_IMPORTED_MODULE_1_vuex__["a" /* default */].Store({ modules: { home: __WEBPACK_IMPORTED_MODULE_5__modules_home__["a" /* default */], weex: __WEBPACK_IMPORTED_MODULE_6__modules_weex__["a" /* default */], analyze: __WEBPACK_IMPORTED_MODULE_7__modules_analyze__["a" /* default */] }, state: state, actions: __WEBPACK_IMPORTED_MODULE_2__actions__["a" /* default */], getters: __WEBPACK_IMPORTED_MODULE_3__getters__["a" /* default */], mutations: __WEBPACK_IMPORTED_MODULE_4__mutations__["a" /* default */], strict: debug }); if (false) { module.hot.accept(['./modules/home'], function () { var homeModule = require('./modules/home').default; store.hotUpdate({ modules: { homeModule: homeModule } }); }); module.hot.accept(['./modules/weex'], function () { var weexModule = require('./modules/weex').default; store.hotUpdate({ modules: { weexModule: weexModule } }); }); module.hot.accept(['./modules/analyze'], function () { var analyzeModule = require('./modules/analyze').default; store.hotUpdate({ modules: { analyzeModule: analyzeModule } }); }); } /* harmony default export */ __webpack_exports__["a"] = (store); /***/ }), /***/ "./src/store/modules/analyze.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mutation_types__ = __webpack_require__("./src/store/mutation-types.ts"); var state = { captures: [ '5000', '8000', '10000' ], historys: [], defaultCapture: 5000, defaultHistory: '', reloadToggle: true, compareToggle: false, captureToggle: false, apmData: {}, performanceMode: { wxRequestSourceTime: 'Weex请求资源耗时', wxRenderBundleTime: 'Weex处理Bundle耗时', wxJSAsyncDataTime: '前端异步请求时间', wxJSDataPrefetchSuccess: '前端prefetch是否成功', wxInteractionTime: '可交互时间总耗时', wxRequestType: { text: '请求类型, 2g/3g/4g/wifi/zcache/weex_cache/other', tips: ['纯网络 2g、3g、4g、wifi', 'zcache', 'weex_cache'] }, wxBizID: '完整的业务ID', wxBundleType: { text: 'JS框架语言', tips: ['主要为Vue, Rax, 也支持三方定制框架'] }, wxInstanceType: { text: '实例类型', tips: ['page - 普通weex页面', 'embed - weex模块'] }, wxContainerInfo: { text: '运行容器名称', tips: [ '一个容器可能会对应多个页面' ] }, parentPage: { text: 'Embed组件父级页面', tips: [ '只有Embed页面内会报,Embed所在page的url' ] }, wxBundleSize: { text: '页面Bundle大小', tips: [ '拖慢资源请求耗时', '减少Bundle大小' ] }, wxActualNetworkTime: '网络库打点的网络下载耗时', wxInteractionComponentCreateTime: { text: '可交互时间内,总共创建component耗时', tips: ['调整渲染时序,屏幕外的组件会延后屏幕内的渲染时间'] }, wxInteractionComponentCreateCount: { text: '可交互时间内,总共创建component个数', tips: ['减少资源请求前预先打底的次数'] }, wxInteractionAllViewCount: { text: '可交互时间内,屏幕(instance)内外,对应渲染 view 个数', tips: ['减少打底view的总个数'] }, wxInteractionScreenViewCount: { text: '可交互时间内,屏幕(instance)内 渲染 view 次数', tips: [ '可交互时间内,屏幕内是否需要这么多view', '减少不必要的屏幕内节点' ] }, wxFSCallJsTotalTime: '首屏时间调用JS耗时', wxFSCallJsTotalNum: '首屏时间调用js次数', wxFSCallNativeTotalTime: { text: '首屏时间调用Native module耗时', tips: [ '减少native module的调用次数(重复的,不必要的)', '使用devtool、analzyer排查纤细信息' ] }, wxFSCallNativeTotalNum: '首屏时间调用Native次数', wxFSCallEventTotalTime: '首屏时间调用CallEven耗时', wxFSCallEventTotalNum: '首屏时间调用CallEven耗时次数', wxFSRequestNum: '首屏调用Timer次数', wxFSTimerCount: '首屏Tmer调用耗时', memdiff: '进入退出内存水位变化', wxLargeImgMaxCount: { text: '大图个数(最多那次)', tips: ['图片大小>1080*720', '减少大图的投放,内存占用大头'] }, wxWrongImgSizeCount: { text: '图片和view大小不匹配个数', tips: ['投放的图片尺寸大于实际view的的大小,建议图片进行裁剪,减少不必要的内存占用', '使用analyzer或者dev-tool有详细的url和尺寸提示'] }, wxImgUnRecycleCount: { text: '未开启图片自动回收imgview的个数', tips: ['imageview没有开启图片自动回收机制,内存非常容易oom'] }, wxCellDataUnRecycleCount: { text: '内容不回收的cell组件个数', tips: ['最好开启cell上数据的回收,不然内存会爆掉'] }, wxCellViewUnReUseCount: { text: '没有开启复用cell的个数', tips: ['没有开启cell的复用机制,大列表内存会爆炸'] }, wxScrollerCount: { text: '使用scroller个数', tips: ['scroller是没有view回收机制的,长列表内存容易oom', '使用ListView、recycleView替代'] }, wxEmbedCount: { text: 'embed 模块个数', tips: ['embed不建议太多(3个)'] }, wxCellExceedNum: { text: '超大cell个数', tips: ['width >= screenWidth/2 && height >= screenHeight/2'] }, fps: { text: '进入退出 平均fps', tips: ['apm 提供'] }, wxMaxDeepVDomLayer: { text: 'Dom结点最大层级', tips: ['dom树的最大层级,不建议超过15层,会给渲染造成很大压力,并且在Android设备上容易crash'] }, wxMaxComponentCount: { text: '组件个数(最多那次)', tips: ['持有组件个数峰值,在布局时layout造成很大压力,对fps和可交互时间都有很大影响', '和wxMaxDeepVDomLayer一起,是影响渲染速度的两大因素', '减少不必要的节点数'] }, wxMaxDeepViewLayer: { text: 'view最大层级', tips: ['同dom结点最大层级,在设备上实际渲染的view最大层级'] }, wxTimerInBackCount: '后台执行Timer次数', wxImgLoadCount: '所有图片加载数', wxImgLoadSuccessCount: '成功加载的图片数', wxImgLoadFailCount: 'weex提供', wxNetworkRequestCount: 'weex提供', wxNetworkRequestSuccessCount: 'weex提供', wxNetworkRequestFailCoun: 'weex提供', imgLoadCount: 'apm提供', imgLoadSuccessCount: 'apm提供', imgLoadFailCount: 'apm提供', networkRequestCount: 'apm提供', networkRequestSuccessCount: 'apm提供', networkRequestFailCount: 'apm提供', wxRecordStart: '埋点开始记录时间', wxStartDownLoadBundle: '开始下载Bundle时间', wxEndDownLoadBundle: '下载Bundle结束时间', wxRenderTimeOrigin: '开始渲染时间点', wxStartLoadBundle: '加载解析业务Bundle时间点', wxEndLoadBundle: '加载解析业务Bundle完成时间点', wxFsRender: '旧首屏时间点', wxNewFsRender: '新首屏时间点', wxFirstInteractionView: '屏幕内第一个View出现的时间点', wxInteraction: '可交互时间点', wxJSAsyncDataStart: '前端异步请求开始时间点', wxJSAsyncDataEnd: '前端异步请求结束时间点', wxJSLibVersion: 'JSFramework版本', wxContainerName: '运行容器名称', wxZCacheInfo: 'ZCache信息', wxErrorCode: { text: 'Weex错误代码', tips: [ '查看文档:<a href="https://yuque.antfin-inc.com/weex/weexrobust/yrp25x" target="_blank">WEEX异常码含义</a>' ] }, wxSDKVersion: 'Weex SDK版本', wxDestroy: '页面销毁时间点', wxBodyRatio: { text: 'weex页面的屏占百分比,[0-100]', tips: ['用来区分是否是card类型的页面, < 60%为card类型'] } }, performanceScoreSeed: { JSTemplateSize: { type: 'number', range: 250, step: 20, stepScore: -1, maxScore: 20 }, JSDataPrefetch: { type: 'boolean', range: 'true', stepScore: 5, maxScore: 5 }, sourceRequestTime: { type: 'number', range: 100, step: 50, stepScore: -6, maxScore: 12 }, interactionTime: { type: 'number', range: 1000, step: 50, stepScore: -6, maxScore: 30 }, wxScrollerCount: { type: 'number', range: 1, step: 1, stepScore: -1, maxScore: 5 }, wxCellExceedNum: { type: 'number', range: 1, step: 1, stepScore: -1, maxScore: 5 }, wxMaxDeepVDomLayer: { type: 'number', range: 15, step: 1, stepScore: -2, maxScore: 10 }, wxWrongImgSizeCount: { type: 'number', range: 0, step: 1, stepScore: -3, maxScore: 15 }, wxEmbedCount: { type: 'number', range: 3, step: 1, stepScore: -3, maxScore: 15 }, wxLargeImgMaxCount: { type: 'number', range: 0, step: 1, stepScore: -2, maxScore: 10 }, wxImgUnRecycleCount: { type: 'number', range: 0, step: 1, stepScore: -2, maxScore: 10 }, wxCellUnReUseCount: { type: 'number', range: 0, step: 1, stepScore: -2, maxScore: 10 }, wxCellDataUnRecycleCount: { type: 'number', range: 0, step: 1, stepScore: -2, maxScore: 10 }, wxMaxComponentCount: { type: 'number', range: 100, step: 20, stepScore: -1, maxScore: 10 } }, performanceScoreTextMap: { JSTemplateSize: { name: '渲染JSBundle大小 (wxBundleSize)', tips: ['查看文档:<a href="http://mwpo.taobao.net/native-render/bundlesize.html" target="_blank">减少 bundleSize 大小</a>'] }, JSDataPrefetch: { name: '业务JSBundle是否预加载 (wxJSDataPrefetchSuccess)', tips: ['查看文档:<a href="http://h5.alibaba-inc.com/awp/StartPackageApp.html" target="_blank">使用预加载</a>'] }, sourceRequestTime: { name: '请求资源耗时', tips: ['暂无'] }, interactionTime: { name: '可交互时间', tips: ['暂无'] }, wxScrollerCount: { name: '使用scroller个数 (wxScrollerCount)', tips: ['scroller是没有view回收机制的,长列表内存容易oom', '使用ListView、recycleView替代'] }, wxCellExceedNum: { name: '超大cell个数 (wxCellExceedNum)', tips: ['超大cell一般指宽高均大于屏幕宽高1/2的cell,需控制数量'] }, wxMaxDeepVDomLayer: { name: 'View最大层级 (wxMaxDeepVDomLayer)', tips: ['同dom结点最大层级,在设备上实际渲染的view最大层级'] }, wxWrongImgSizeCount: { name: '图片和view大小不匹配个数 (wxWrongImgSizeCount)', tips: ['投放的图片尺寸大于实际view的的大小,建议图片进行裁剪,减少不必要的内存占用', '使用analyzer或者devtool有详细的url和尺寸提示'] }, wxEmbedCount: { name: 'Embed 模块个数 (wxEmbedCount)', tips: ['Embed不建议太多(3个)'] }, wxLargeImgMaxCount: { name: '大图个数 (wxLargeImgMaxCount)', tips: ['大图一般指图片大小>1080*720', '减少大图的投放,能有效降低应用内存占用'] }, wxImgUnRecycleCount: { name: '未开启图片自动回收imgview的个数 (wxImgUnRecycleCount)', tips: ['Imageview没有开启图片自动回收机制,内存非常容易oom'] }, wxCellUnReUseCount: { name: '没有开启复用cell的个数 (wxCellUnReUseCount)', tips: ['暂无'] }, wxCellDataUnRecycleCount: { name: '内容不回收的cell组件个数 (wxCellDataUnRecycleCount)', tips: ['暂无'] }, wxMaxComponentCount: { name: '组件个数(wxMaxComponentCount)', tips: [ '持有组件个数峰值,在布局时layout造成很大压力,对fps和可交互时间都有很大影响', '和wxMaxDeepVDomLayer一起,是影响渲染速度的两大因素', '减少不必要的节点数' ] } } }; var getters = {}; var actions = { updateToggle: function (context, toggle) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["h" /* UPDATE_ANALYZE_TOGGLE */], toggle); }, updateDefaultCapture: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["e" /* UPDATE_ANALYZE_DEFAULT_CAPTURE */], value); }, updateDefaultHistory: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["f" /* UPDATE_ANALYZE_DEFAULT_HISTORY */], value); }, updateCaptures: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["d" /* UPDATE_ANALYZE_CAPTURES */], value); }, updateHistorys: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["g" /* UPDATE_ANALYZE_HISTORYS */], value); }, updateApmData: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["c" /* UPDATE_ANALYZE_APMDATA */], value); } }; var mutations = (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["h" /* UPDATE_ANALYZE_TOGGLE */]] = function (state, toggle) { state[toggle.name] = toggle.value; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["e" /* UPDATE_ANALYZE_DEFAULT_CAPTURE */]] = function (state, value) { state.defaultCapture = value; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["f" /* UPDATE_ANALYZE_DEFAULT_HISTORY */]] = function (state, value) { state.defaultHistory = value; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["g" /* UPDATE_ANALYZE_HISTORYS */]] = function (state, value) { state.historys = value; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["d" /* UPDATE_ANALYZE_CAPTURES */]] = function (state, value) { state.captures = value; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["c" /* UPDATE_ANALYZE_APMDATA */]] = function (state, data) { state.apmData = data.value; var historyLen = state.historys.length; var replace = false; for (var instance in data.value) { if (data.value[instance].properties.wxBizID) { console.log('Add history', data.value[instance].properties.wxBizID); for (var i = 0; i < historyLen; i++) { if (state.historys[i].key === instance) { replace = true; state.historys[i] = { key: instance, value: data.value[instance].properties.wxBizID, data: Object.assign(data.value[instance], { device: data.device }), time: data.time }; break; } } if (!replace) { state.historys.unshift({ key: instance, value: data.value[instance].properties.wxBizID, data: Object.assign(data.value[instance], { device: data.device }), time: data.time }); } } } }, _a); /* harmony default export */ __webpack_exports__["a"] = ({ namespaced: true, state: state, getters: getters, actions: actions, mutations: mutations }); var _a; /***/ }), /***/ "./src/store/modules/home.ts": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mutation_types__ = __webpack_require__("./src/store/mutation-types.ts"); var state = { connectUrl: '', version: '-', bundles: [] }; var getters = {}; var actions = { updateQRCode: function (context, obj) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["r" /* UPDATE_QRCODE_URL */], obj.connectUrl); context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["k" /* UPDATE_CHANNEL_ID */], obj.channelId, { root: true }); }, cleanQRCode: function (context) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["v" /* WS_DISCONNNECT */]); }, updateVersion: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["t" /* UPDATE_VERSION */], value); }, updateBundles: function (context, value) { context.commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["i" /* UPDATE_BUNDLES */], value); } }; var mutations = (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["r" /* UPDATE_QRCODE_URL */]] = function (state, url) { state.connectUrl = url; }, _a[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["t" /* UPDATE_VERSION */]] = function (state, value) { state.version