mirror of
				https://github.com/Monibuca/plugin-ts.git
				synced 2025-10-31 18:52:40 +08:00 
			
		
		
		
	使用新UI系统
This commit is contained in:
		
							
								
								
									
										21
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,25 +1,26 @@ | |||||||
| # tsplugin | # 简介 | ||||||
| ts publisher for monibuca |  | ||||||
|  |  | ||||||
| 处理TS数据的插件 | 处理TS数据的插件 | ||||||
|  |  | ||||||
| ## 插件名称 | # 插件名称 | ||||||
|  |  | ||||||
| TS | TS | ||||||
|  |  | ||||||
| ## 功能 | # 功能 | ||||||
|  |  | ||||||
| 1. 通过Publish发布一个TS流,然后通过Feed方法填入TS数据即可 | 1. 通过Publish发布一个TS流,然后通过Feed方法填入TS数据即可 | ||||||
| 2. 通过PublishDir可以读取服务器上文件夹内的所有ts文件进行发布 | 2. 通过PublishDir可以读取服务器上文件夹内的所有ts文件进行发布 | ||||||
|  | 3. 通过UI界面操作,点击TS文件夹,可以将文件夹中的TS文件逐个进行发布,文件夹路径就是房间名 | ||||||
|  |  | ||||||
| ## 配置 | # 配置 | ||||||
|  |  | ||||||
| ```toml | ```toml | ||||||
| [Plugins.TS] | [TS] | ||||||
| BufferLength = 2048 | BufferLength = 2048 | ||||||
| Path         = "ts" | Path         = "ts" | ||||||
| AutoPublish  = true | AutoPublish  = true | ||||||
| ``` | ``` | ||||||
| BufferLength指的是解析TS流的时候的缓存大小,单位是PES包的个数 | - BufferLength指的是解析TS流的时候的缓存大小,单位是PES包的个数 | ||||||
| Path 指存放ts的目录 | - Path 指存放ts的目录 | ||||||
| AutoPublish 是指是否当订阅者订阅某个房间时自动触发发布TS | - AutoPublish 是指是否当订阅者订阅某个房间时自动触发发布TS | ||||||
|  |  | ||||||
|  | > 注意,如果开启AutoPublish,有可能会和其他开启自动发布的插件冲突,目前一个房间只可以有一个发布者 | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| <meta charset="utf-8"> |  | ||||||
| <title>plugin-ts demo</title> |  | ||||||
| <script src="https://unpkg.com/vue"></script> |  | ||||||
| <script src="./plugin-ts.js"></script> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <plugin-ts></plugin-ts> |  | ||||||
|  |  | ||||||
| @@ -1,898 +0,0 @@ | |||||||
| /******/ (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] = { |  | ||||||
| /******/ 			i: moduleId, |  | ||||||
| /******/ 			l: false, |  | ||||||
| /******/ 			exports: {} |  | ||||||
| /******/ 		}; |  | ||||||
| /******/ |  | ||||||
| /******/ 		// Execute the module function |  | ||||||
| /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); |  | ||||||
| /******/ |  | ||||||
| /******/ 		// Flag the module as loaded |  | ||||||
| /******/ 		module.l = 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; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// define getter function for harmony exports |  | ||||||
| /******/ 	__webpack_require__.d = function(exports, name, getter) { |  | ||||||
| /******/ 		if(!__webpack_require__.o(exports, name)) { |  | ||||||
| /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); |  | ||||||
| /******/ 		} |  | ||||||
| /******/ 	}; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// define __esModule on exports |  | ||||||
| /******/ 	__webpack_require__.r = function(exports) { |  | ||||||
| /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { |  | ||||||
| /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); |  | ||||||
| /******/ 		} |  | ||||||
| /******/ 		Object.defineProperty(exports, '__esModule', { value: true }); |  | ||||||
| /******/ 	}; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// create a fake namespace object |  | ||||||
| /******/ 	// mode & 1: value is a module id, require it |  | ||||||
| /******/ 	// mode & 2: merge all properties of value into the ns |  | ||||||
| /******/ 	// mode & 4: return value when already ns object |  | ||||||
| /******/ 	// mode & 8|1: behave like require |  | ||||||
| /******/ 	__webpack_require__.t = function(value, mode) { |  | ||||||
| /******/ 		if(mode & 1) value = __webpack_require__(value); |  | ||||||
| /******/ 		if(mode & 8) return value; |  | ||||||
| /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; |  | ||||||
| /******/ 		var ns = Object.create(null); |  | ||||||
| /******/ 		__webpack_require__.r(ns); |  | ||||||
| /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); |  | ||||||
| /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); |  | ||||||
| /******/ 		return ns; |  | ||||||
| /******/ 	}; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// getDefaultExport function for compatibility with non-harmony modules |  | ||||||
| /******/ 	__webpack_require__.n = function(module) { |  | ||||||
| /******/ 		var getter = module && module.__esModule ? |  | ||||||
| /******/ 			function getDefault() { return module['default']; } : |  | ||||||
| /******/ 			function getModuleExports() { return module; }; |  | ||||||
| /******/ 		__webpack_require__.d(getter, 'a', getter); |  | ||||||
| /******/ 		return getter; |  | ||||||
| /******/ 	}; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// Object.prototype.hasOwnProperty.call |  | ||||||
| /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; |  | ||||||
| /******/ |  | ||||||
| /******/ 	// __webpack_public_path__ |  | ||||||
| /******/ 	__webpack_require__.p = ""; |  | ||||||
| /******/ |  | ||||||
| /******/ |  | ||||||
| /******/ 	// Load entry module and return exports |  | ||||||
| /******/ 	return __webpack_require__(__webpack_require__.s = "5a74"); |  | ||||||
| /******/ }) |  | ||||||
| /************************************************************************/ |  | ||||||
| /******/ ({ |  | ||||||
|  |  | ||||||
| /***/ "1471": |  | ||||||
| /***/ (function(module, exports, __webpack_require__) { |  | ||||||
|  |  | ||||||
| // Imports |  | ||||||
| var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb"); |  | ||||||
| exports = ___CSS_LOADER_API_IMPORT___(false); |  | ||||||
| // Module |  | ||||||
| exports.push([module.i, ".layout{padding-bottom:30px;display:flex;flex-wrap:wrap;padding:30px}.room{text-align:center}.room:hover{border:1px solid grey;border-radius:10%;cursor:pointer}.size{position:absolute;top:40%;left:0;right:0}", ""]); |  | ||||||
| // Exports |  | ||||||
| module.exports = exports; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "20f8": |  | ||||||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { |  | ||||||
|  |  | ||||||
| "use strict"; |  | ||||||
| __webpack_require__.r(__webpack_exports__); |  | ||||||
| /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("84d5"); |  | ||||||
| /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0__); |  | ||||||
| /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |  | ||||||
|  /* harmony default export */ __webpack_exports__["default"] = (_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css_shadow__WEBPACK_IMPORTED_MODULE_0___default.a);  |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "24fb": |  | ||||||
| /***/ (function(module, exports, __webpack_require__) { |  | ||||||
|  |  | ||||||
| "use strict"; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|   MIT License http://www.opensource.org/licenses/mit-license.php |  | ||||||
|   Author Tobias Koppers @sokra |  | ||||||
| */ |  | ||||||
| // css base code, injected by the css-loader |  | ||||||
| // eslint-disable-next-line func-names |  | ||||||
| module.exports = function (useSourceMap) { |  | ||||||
|   var list = []; // return the list of modules as css string |  | ||||||
|  |  | ||||||
|   list.toString = function toString() { |  | ||||||
|     return this.map(function (item) { |  | ||||||
|       var content = cssWithMappingToString(item, useSourceMap); |  | ||||||
|  |  | ||||||
|       if (item[2]) { |  | ||||||
|         return "@media ".concat(item[2], " {").concat(content, "}"); |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       return content; |  | ||||||
|     }).join(''); |  | ||||||
|   }; // import a list of modules into the list |  | ||||||
|   // eslint-disable-next-line func-names |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   list.i = function (modules, mediaQuery, dedupe) { |  | ||||||
|     if (typeof modules === 'string') { |  | ||||||
|       // eslint-disable-next-line no-param-reassign |  | ||||||
|       modules = [[null, modules, '']]; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     var alreadyImportedModules = {}; |  | ||||||
|  |  | ||||||
|     if (dedupe) { |  | ||||||
|       for (var i = 0; i < this.length; i++) { |  | ||||||
|         // eslint-disable-next-line prefer-destructuring |  | ||||||
|         var id = this[i][0]; |  | ||||||
|  |  | ||||||
|         if (id != null) { |  | ||||||
|           alreadyImportedModules[id] = true; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     for (var _i = 0; _i < modules.length; _i++) { |  | ||||||
|       var item = [].concat(modules[_i]); |  | ||||||
|  |  | ||||||
|       if (dedupe && alreadyImportedModules[item[0]]) { |  | ||||||
|         // eslint-disable-next-line no-continue |  | ||||||
|         continue; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       if (mediaQuery) { |  | ||||||
|         if (!item[2]) { |  | ||||||
|           item[2] = mediaQuery; |  | ||||||
|         } else { |  | ||||||
|           item[2] = "".concat(mediaQuery, " and ").concat(item[2]); |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       list.push(item); |  | ||||||
|     } |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   return list; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| function cssWithMappingToString(item, useSourceMap) { |  | ||||||
|   var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring |  | ||||||
|  |  | ||||||
|   var cssMapping = item[3]; |  | ||||||
|  |  | ||||||
|   if (!cssMapping) { |  | ||||||
|     return content; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (useSourceMap && typeof btoa === 'function') { |  | ||||||
|     var sourceMapping = toComment(cssMapping); |  | ||||||
|     var sourceURLs = cssMapping.sources.map(function (source) { |  | ||||||
|       return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); |  | ||||||
|     }); |  | ||||||
|     return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   return [content].join('\n'); |  | ||||||
| } // Adapted from convert-source-map (MIT) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| function toComment(sourceMap) { |  | ||||||
|   // eslint-disable-next-line no-undef |  | ||||||
|   var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); |  | ||||||
|   var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); |  | ||||||
|   return "/*# ".concat(data, " */"); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "35d6": |  | ||||||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { |  | ||||||
|  |  | ||||||
| "use strict"; |  | ||||||
| // ESM COMPAT FLAG |  | ||||||
| __webpack_require__.r(__webpack_exports__); |  | ||||||
|  |  | ||||||
| // EXPORTS |  | ||||||
| __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesToShadowDOM; }); |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js |  | ||||||
| /** |  | ||||||
|  * Translates the list format produced by css-loader into something |  | ||||||
|  * easier to manipulate. |  | ||||||
|  */ |  | ||||||
| function listToStyles (parentId, list) { |  | ||||||
|   var styles = [] |  | ||||||
|   var newStyles = {} |  | ||||||
|   for (var i = 0; i < list.length; i++) { |  | ||||||
|     var item = list[i] |  | ||||||
|     var id = item[0] |  | ||||||
|     var css = item[1] |  | ||||||
|     var media = item[2] |  | ||||||
|     var sourceMap = item[3] |  | ||||||
|     var part = { |  | ||||||
|       id: parentId + ':' + i, |  | ||||||
|       css: css, |  | ||||||
|       media: media, |  | ||||||
|       sourceMap: sourceMap |  | ||||||
|     } |  | ||||||
|     if (!newStyles[id]) { |  | ||||||
|       styles.push(newStyles[id] = { id: id, parts: [part] }) |  | ||||||
|     } else { |  | ||||||
|       newStyles[id].parts.push(part) |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|   return styles |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesShadow.js |  | ||||||
|  |  | ||||||
|  |  | ||||||
| function addStylesToShadowDOM (parentId, list, shadowRoot) { |  | ||||||
|   var styles = listToStyles(parentId, list) |  | ||||||
|   addStyles(styles, shadowRoot) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| type StyleObject = { |  | ||||||
|   id: number; |  | ||||||
|   parts: Array<StyleObjectPart> |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type StyleObjectPart = { |  | ||||||
|   css: string; |  | ||||||
|   media: string; |  | ||||||
|   sourceMap: ?string |  | ||||||
| } |  | ||||||
| */ |  | ||||||
|  |  | ||||||
| function addStyles (styles /* Array<StyleObject> */, shadowRoot) { |  | ||||||
|   const injectedStyles = |  | ||||||
|     shadowRoot._injectedStyles || |  | ||||||
|     (shadowRoot._injectedStyles = {}) |  | ||||||
|   for (var i = 0; i < styles.length; i++) { |  | ||||||
|     var item = styles[i] |  | ||||||
|     var style = injectedStyles[item.id] |  | ||||||
|     if (!style) { |  | ||||||
|       for (var j = 0; j < item.parts.length; j++) { |  | ||||||
|         addStyle(item.parts[j], shadowRoot) |  | ||||||
|       } |  | ||||||
|       injectedStyles[item.id] = true |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function createStyleElement (shadowRoot) { |  | ||||||
|   var styleElement = document.createElement('style') |  | ||||||
|   styleElement.type = 'text/css' |  | ||||||
|   shadowRoot.appendChild(styleElement) |  | ||||||
|   return styleElement |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function addStyle (obj /* StyleObjectPart */, shadowRoot) { |  | ||||||
|   var styleElement = createStyleElement(shadowRoot) |  | ||||||
|   var css = obj.css |  | ||||||
|   var media = obj.media |  | ||||||
|   var sourceMap = obj.sourceMap |  | ||||||
|  |  | ||||||
|   if (media) { |  | ||||||
|     styleElement.setAttribute('media', media) |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (sourceMap) { |  | ||||||
|     // https://developer.chrome.com/devtools/docs/javascript-debugging |  | ||||||
|     // this makes source maps inside style tags work properly in Chrome |  | ||||||
|     css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' |  | ||||||
|     // http://stackoverflow.com/a/26603875 |  | ||||||
|     css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (styleElement.styleSheet) { |  | ||||||
|     styleElement.styleSheet.cssText = css |  | ||||||
|   } else { |  | ||||||
|     while (styleElement.firstChild) { |  | ||||||
|       styleElement.removeChild(styleElement.firstChild) |  | ||||||
|     } |  | ||||||
|     styleElement.appendChild(document.createTextNode(css)) |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "5a74": |  | ||||||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { |  | ||||||
|  |  | ||||||
| "use strict"; |  | ||||||
| // ESM COMPAT FLAG |  | ||||||
| __webpack_require__.r(__webpack_exports__); |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js |  | ||||||
| // This file is imported into lib/wc client bundles. |  | ||||||
|  |  | ||||||
| if (typeof window !== 'undefined') { |  | ||||||
|   if (Object({"NODE_ENV":"production","BASE_URL":"/"}).NEED_CURRENTSCRIPT_POLYFILL) { |  | ||||||
|     __webpack_require__("f6fd") |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   var i |  | ||||||
|   if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { |  | ||||||
|     __webpack_require__.p = i[1] // eslint-disable-line |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Indicate to webpack that this file can be concatenated |  | ||||||
| /* harmony default export */ var setPublicPath = (null); |  | ||||||
|  |  | ||||||
| // EXTERNAL MODULE: external "Vue" |  | ||||||
| var external_Vue_ = __webpack_require__("8bbf"); |  | ||||||
| var external_Vue_default = /*#__PURE__*/__webpack_require__.n(external_Vue_); |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/@vue/web-component-wrapper/dist/vue-wc-wrapper.js |  | ||||||
| const camelizeRE = /-(\w)/g; |  | ||||||
| const camelize = str => { |  | ||||||
|   return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '') |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const hyphenateRE = /\B([A-Z])/g; |  | ||||||
| const hyphenate = str => { |  | ||||||
|   return str.replace(hyphenateRE, '-$1').toLowerCase() |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| function getInitialProps (propsList) { |  | ||||||
|   const res = {}; |  | ||||||
|   propsList.forEach(key => { |  | ||||||
|     res[key] = undefined; |  | ||||||
|   }); |  | ||||||
|   return res |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function injectHook (options, key, hook) { |  | ||||||
|   options[key] = [].concat(options[key] || []); |  | ||||||
|   options[key].unshift(hook); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function callHooks (vm, hook) { |  | ||||||
|   if (vm) { |  | ||||||
|     const hooks = vm.$options[hook] || []; |  | ||||||
|     hooks.forEach(hook => { |  | ||||||
|       hook.call(vm); |  | ||||||
|     }); |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function createCustomEvent (name, args) { |  | ||||||
|   return new CustomEvent(name, { |  | ||||||
|     bubbles: false, |  | ||||||
|     cancelable: false, |  | ||||||
|     detail: args |  | ||||||
|   }) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| const isBoolean = val => /function Boolean/.test(String(val)); |  | ||||||
| const isNumber = val => /function Number/.test(String(val)); |  | ||||||
|  |  | ||||||
| function convertAttributeValue (value, name, { type } = {}) { |  | ||||||
|   if (isBoolean(type)) { |  | ||||||
|     if (value === 'true' || value === 'false') { |  | ||||||
|       return value === 'true' |  | ||||||
|     } |  | ||||||
|     if (value === '' || value === name) { |  | ||||||
|       return true |  | ||||||
|     } |  | ||||||
|     return value != null |  | ||||||
|   } else if (isNumber(type)) { |  | ||||||
|     const parsed = parseFloat(value, 10); |  | ||||||
|     return isNaN(parsed) ? value : parsed |  | ||||||
|   } else { |  | ||||||
|     return value |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function toVNodes (h, children) { |  | ||||||
|   const res = []; |  | ||||||
|   for (let i = 0, l = children.length; i < l; i++) { |  | ||||||
|     res.push(toVNode(h, children[i])); |  | ||||||
|   } |  | ||||||
|   return res |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function toVNode (h, node) { |  | ||||||
|   if (node.nodeType === 3) { |  | ||||||
|     return node.data.trim() ? node.data : null |  | ||||||
|   } else if (node.nodeType === 1) { |  | ||||||
|     const data = { |  | ||||||
|       attrs: getAttributes(node), |  | ||||||
|       domProps: { |  | ||||||
|         innerHTML: node.innerHTML |  | ||||||
|       } |  | ||||||
|     }; |  | ||||||
|     if (data.attrs.slot) { |  | ||||||
|       data.slot = data.attrs.slot; |  | ||||||
|       delete data.attrs.slot; |  | ||||||
|     } |  | ||||||
|     return h(node.tagName, data) |  | ||||||
|   } else { |  | ||||||
|     return null |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function getAttributes (node) { |  | ||||||
|   const res = {}; |  | ||||||
|   for (let i = 0, l = node.attributes.length; i < l; i++) { |  | ||||||
|     const attr = node.attributes[i]; |  | ||||||
|     res[attr.nodeName] = attr.nodeValue; |  | ||||||
|   } |  | ||||||
|   return res |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function wrap (Vue, Component) { |  | ||||||
|   const isAsync = typeof Component === 'function' && !Component.cid; |  | ||||||
|   let isInitialized = false; |  | ||||||
|   let hyphenatedPropsList; |  | ||||||
|   let camelizedPropsList; |  | ||||||
|   let camelizedPropsMap; |  | ||||||
|  |  | ||||||
|   function initialize (Component) { |  | ||||||
|     if (isInitialized) return |  | ||||||
|  |  | ||||||
|     const options = typeof Component === 'function' |  | ||||||
|       ? Component.options |  | ||||||
|       : Component; |  | ||||||
|  |  | ||||||
|     // extract props info |  | ||||||
|     const propsList = Array.isArray(options.props) |  | ||||||
|       ? options.props |  | ||||||
|       : Object.keys(options.props || {}); |  | ||||||
|     hyphenatedPropsList = propsList.map(hyphenate); |  | ||||||
|     camelizedPropsList = propsList.map(camelize); |  | ||||||
|     const originalPropsAsObject = Array.isArray(options.props) ? {} : options.props || {}; |  | ||||||
|     camelizedPropsMap = camelizedPropsList.reduce((map, key, i) => { |  | ||||||
|       map[key] = originalPropsAsObject[propsList[i]]; |  | ||||||
|       return map |  | ||||||
|     }, {}); |  | ||||||
|  |  | ||||||
|     // proxy $emit to native DOM events |  | ||||||
|     injectHook(options, 'beforeCreate', function () { |  | ||||||
|       const emit = this.$emit; |  | ||||||
|       this.$emit = (name, ...args) => { |  | ||||||
|         this.$root.$options.customElement.dispatchEvent(createCustomEvent(name, args)); |  | ||||||
|         return emit.call(this, name, ...args) |  | ||||||
|       }; |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     injectHook(options, 'created', function () { |  | ||||||
|       // sync default props values to wrapper on created |  | ||||||
|       camelizedPropsList.forEach(key => { |  | ||||||
|         this.$root.props[key] = this[key]; |  | ||||||
|       }); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     // proxy props as Element properties |  | ||||||
|     camelizedPropsList.forEach(key => { |  | ||||||
|       Object.defineProperty(CustomElement.prototype, key, { |  | ||||||
|         get () { |  | ||||||
|           return this._wrapper.props[key] |  | ||||||
|         }, |  | ||||||
|         set (newVal) { |  | ||||||
|           this._wrapper.props[key] = newVal; |  | ||||||
|         }, |  | ||||||
|         enumerable: false, |  | ||||||
|         configurable: true |  | ||||||
|       }); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|     isInitialized = true; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   function syncAttribute (el, key) { |  | ||||||
|     const camelized = camelize(key); |  | ||||||
|     const value = el.hasAttribute(key) ? el.getAttribute(key) : undefined; |  | ||||||
|     el._wrapper.props[camelized] = convertAttributeValue( |  | ||||||
|       value, |  | ||||||
|       key, |  | ||||||
|       camelizedPropsMap[camelized] |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   class CustomElement extends HTMLElement { |  | ||||||
|     constructor () { |  | ||||||
|       super(); |  | ||||||
|       this.attachShadow({ mode: 'open' }); |  | ||||||
|  |  | ||||||
|       const wrapper = this._wrapper = new Vue({ |  | ||||||
|         name: 'shadow-root', |  | ||||||
|         customElement: this, |  | ||||||
|         shadowRoot: this.shadowRoot, |  | ||||||
|         data () { |  | ||||||
|           return { |  | ||||||
|             props: {}, |  | ||||||
|             slotChildren: [] |  | ||||||
|           } |  | ||||||
|         }, |  | ||||||
|         render (h) { |  | ||||||
|           return h(Component, { |  | ||||||
|             ref: 'inner', |  | ||||||
|             props: this.props |  | ||||||
|           }, this.slotChildren) |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|  |  | ||||||
|       // Use MutationObserver to react to future attribute & slot content change |  | ||||||
|       const observer = new MutationObserver(mutations => { |  | ||||||
|         let hasChildrenChange = false; |  | ||||||
|         for (let i = 0; i < mutations.length; i++) { |  | ||||||
|           const m = mutations[i]; |  | ||||||
|           if (isInitialized && m.type === 'attributes' && m.target === this) { |  | ||||||
|             syncAttribute(this, m.attributeName); |  | ||||||
|           } else { |  | ||||||
|             hasChildrenChange = true; |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         if (hasChildrenChange) { |  | ||||||
|           wrapper.slotChildren = Object.freeze(toVNodes( |  | ||||||
|             wrapper.$createElement, |  | ||||||
|             this.childNodes |  | ||||||
|           )); |  | ||||||
|         } |  | ||||||
|       }); |  | ||||||
|       observer.observe(this, { |  | ||||||
|         childList: true, |  | ||||||
|         subtree: true, |  | ||||||
|         characterData: true, |  | ||||||
|         attributes: true |  | ||||||
|       }); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     get vueComponent () { |  | ||||||
|       return this._wrapper.$refs.inner |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     connectedCallback () { |  | ||||||
|       const wrapper = this._wrapper; |  | ||||||
|       if (!wrapper._isMounted) { |  | ||||||
|         // initialize attributes |  | ||||||
|         const syncInitialAttributes = () => { |  | ||||||
|           wrapper.props = getInitialProps(camelizedPropsList); |  | ||||||
|           hyphenatedPropsList.forEach(key => { |  | ||||||
|             syncAttribute(this, key); |  | ||||||
|           }); |  | ||||||
|         }; |  | ||||||
|  |  | ||||||
|         if (isInitialized) { |  | ||||||
|           syncInitialAttributes(); |  | ||||||
|         } else { |  | ||||||
|           // async & unresolved |  | ||||||
|           Component().then(resolved => { |  | ||||||
|             if (resolved.__esModule || resolved[Symbol.toStringTag] === 'Module') { |  | ||||||
|               resolved = resolved.default; |  | ||||||
|             } |  | ||||||
|             initialize(resolved); |  | ||||||
|             syncInitialAttributes(); |  | ||||||
|           }); |  | ||||||
|         } |  | ||||||
|         // initialize children |  | ||||||
|         wrapper.slotChildren = Object.freeze(toVNodes( |  | ||||||
|           wrapper.$createElement, |  | ||||||
|           this.childNodes |  | ||||||
|         )); |  | ||||||
|         wrapper.$mount(); |  | ||||||
|         this.shadowRoot.appendChild(wrapper.$el); |  | ||||||
|       } else { |  | ||||||
|         callHooks(this.vueComponent, 'activated'); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     disconnectedCallback () { |  | ||||||
|       callHooks(this.vueComponent, 'deactivated'); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (!isAsync) { |  | ||||||
|     initialize(Component); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   return CustomElement |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /* harmony default export */ var vue_wc_wrapper = (wrap); |  | ||||||
|  |  | ||||||
| // EXTERNAL MODULE: ./node_modules/css-loader/dist/runtime/api.js |  | ||||||
| var api = __webpack_require__("24fb"); |  | ||||||
|  |  | ||||||
| // EXTERNAL MODULE: ./node_modules/vue-style-loader/lib/addStylesShadow.js + 1 modules |  | ||||||
| var addStylesShadow = __webpack_require__("35d6"); |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js |  | ||||||
| /* globals __VUE_SSR_CONTEXT__ */ |  | ||||||
|  |  | ||||||
| // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). |  | ||||||
| // This module is a runtime utility for cleaner component module output and will |  | ||||||
| // be included in the final webpack user bundle. |  | ||||||
|  |  | ||||||
| function normalizeComponent ( |  | ||||||
|   scriptExports, |  | ||||||
|   render, |  | ||||||
|   staticRenderFns, |  | ||||||
|   functionalTemplate, |  | ||||||
|   injectStyles, |  | ||||||
|   scopeId, |  | ||||||
|   moduleIdentifier, /* server only */ |  | ||||||
|   shadowMode /* vue-cli only */ |  | ||||||
| ) { |  | ||||||
|   // Vue.extend constructor export interop |  | ||||||
|   var options = typeof scriptExports === 'function' |  | ||||||
|     ? scriptExports.options |  | ||||||
|     : scriptExports |  | ||||||
|  |  | ||||||
|   // render functions |  | ||||||
|   if (render) { |  | ||||||
|     options.render = render |  | ||||||
|     options.staticRenderFns = staticRenderFns |  | ||||||
|     options._compiled = true |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   // functional template |  | ||||||
|   if (functionalTemplate) { |  | ||||||
|     options.functional = true |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   // scopedId |  | ||||||
|   if (scopeId) { |  | ||||||
|     options._scopeId = 'data-v-' + scopeId |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   var hook |  | ||||||
|   if (moduleIdentifier) { // server build |  | ||||||
|     hook = function (context) { |  | ||||||
|       // 2.3 injection |  | ||||||
|       context = |  | ||||||
|         context || // cached call |  | ||||||
|         (this.$vnode && this.$vnode.ssrContext) || // stateful |  | ||||||
|         (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional |  | ||||||
|       // 2.2 with runInNewContext: true |  | ||||||
|       if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { |  | ||||||
|         context = __VUE_SSR_CONTEXT__ |  | ||||||
|       } |  | ||||||
|       // inject component styles |  | ||||||
|       if (injectStyles) { |  | ||||||
|         injectStyles.call(this, context) |  | ||||||
|       } |  | ||||||
|       // register component module identifier for async chunk inferrence |  | ||||||
|       if (context && context._registeredComponents) { |  | ||||||
|         context._registeredComponents.add(moduleIdentifier) |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     // used by ssr in case component is cached and beforeCreate |  | ||||||
|     // never gets called |  | ||||||
|     options._ssrRegister = hook |  | ||||||
|   } else if (injectStyles) { |  | ||||||
|     hook = shadowMode |  | ||||||
|       ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } |  | ||||||
|       : injectStyles |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (hook) { |  | ||||||
|     if (options.functional) { |  | ||||||
|       // for template-only hot-reload because in that case the render fn doesn't |  | ||||||
|       // go through the normalizer |  | ||||||
|       options._injectStyles = hook |  | ||||||
|       // register for functional component in vue file |  | ||||||
|       var originalRender = options.render |  | ||||||
|       options.render = function renderWithStyleInjection (h, context) { |  | ||||||
|         hook.call(context) |  | ||||||
|         return originalRender(h, context) |  | ||||||
|       } |  | ||||||
|     } else { |  | ||||||
|       // inject component registration as beforeCreate hook |  | ||||||
|       var existing = options.beforeCreate |  | ||||||
|       options.beforeCreate = existing |  | ||||||
|         ? [].concat(existing, hook) |  | ||||||
|         : [hook] |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   return { |  | ||||||
|     exports: scriptExports, |  | ||||||
|     options: options |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"05de6a53-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=1629d4f2&shadow |  | ||||||
| var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"layout"},[_vm._l((_vm.Rooms),function(item){return _c('Badge',{key:item.StreamPath,staticClass:"room",attrs:{"count":item.TsCount},nativeOn:{"click":function($event){return _vm.publish(item)}}},[_c('Icon',{attrs:{"type":"ios-folder-open-outline","size":"100"}}),_c('div',{staticClass:"size"},[_vm._v(_vm._s(_vm.unitFormat(item.TotalSize)))]),_c('div',[_vm._v(_vm._s(item.StreamPath))])],1)}),(_vm.Rooms.length==0)?_c('div',{staticClass:"empty"},[_c('Icon',{attrs:{"type":"md-wine","size":"50"}}),_vm._v("没有任何文件夹 ")],1):_vm._e()],2)} |  | ||||||
| var staticRenderFns = [] |  | ||||||
|  |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./index.vue?vue&type=template&id=1629d4f2&shadow |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&shadow |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* harmony default export */ var lib_vue_loader_options_indexvue_type_script_lang_js_shadow = ({ |  | ||||||
|     data() { |  | ||||||
|         return { |  | ||||||
|             Rooms: [] |  | ||||||
|         }; |  | ||||||
|     }, |  | ||||||
|     methods: { |  | ||||||
|         fetchlist() { |  | ||||||
|             window.ajax.getJSON("/ts/list").then(x => { |  | ||||||
|                 this.Rooms = x; |  | ||||||
|             }); |  | ||||||
|         }, |  | ||||||
|         publish(item) { |  | ||||||
|             this.$Modal.confirm({ |  | ||||||
|                 title: "提示", |  | ||||||
|                 content: "是否发布该目录", |  | ||||||
|                 onOk() { |  | ||||||
|                     window.ajax.getJSON( |  | ||||||
|                         "/ts/publish?streamPath=" + item.StreamPath |  | ||||||
|                     ); |  | ||||||
|                 } |  | ||||||
|             }); |  | ||||||
|         }, |  | ||||||
|         unitFormat: window.unitFormat |  | ||||||
|     }, |  | ||||||
|     mounted() { |  | ||||||
|         this.fetchlist(); |  | ||||||
|     } |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| // CONCATENATED MODULE: ./index.vue?vue&type=script&lang=js&shadow |  | ||||||
|  /* harmony default export */ var indexvue_type_script_lang_js_shadow = (lib_vue_loader_options_indexvue_type_script_lang_js_shadow);  |  | ||||||
| // CONCATENATED MODULE: ./index.vue?shadow |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| function injectStyles (context) { |  | ||||||
|    |  | ||||||
|   var style0 = __webpack_require__("20f8") |  | ||||||
| if (style0.__inject__) style0.__inject__(context) |  | ||||||
|  |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /* normalize component */ |  | ||||||
|  |  | ||||||
| var component = normalizeComponent( |  | ||||||
|   indexvue_type_script_lang_js_shadow, |  | ||||||
|   render, |  | ||||||
|   staticRenderFns, |  | ||||||
|   false, |  | ||||||
|   injectStyles, |  | ||||||
|   null, |  | ||||||
|   null |  | ||||||
|   ,true |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| /* harmony default export */ var indexshadow = (component.exports); |  | ||||||
| // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-wc.js |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| // runtime shared by every component chunk |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| window.customElements.define('plugin-ts', vue_wc_wrapper(external_Vue_default.a, indexshadow)) |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "84d5": |  | ||||||
| /***/ (function(module, exports, __webpack_require__) { |  | ||||||
|  |  | ||||||
| // style-loader: Adds some css to the DOM by adding a <style> tag |  | ||||||
|  |  | ||||||
| // load the styles |  | ||||||
| var content = __webpack_require__("1471"); |  | ||||||
| if(typeof content === 'string') content = [[module.i, content, '']]; |  | ||||||
| if(content.locals) module.exports = content.locals; |  | ||||||
| // add CSS to Shadow Root |  | ||||||
| var add = __webpack_require__("35d6").default |  | ||||||
| module.exports.__inject__ = function (shadowRoot) { |  | ||||||
|   add("452152fc", content, shadowRoot) |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "8bbf": |  | ||||||
| /***/ (function(module, exports) { |  | ||||||
|  |  | ||||||
| module.exports = Vue; |  | ||||||
|  |  | ||||||
| /***/ }), |  | ||||||
|  |  | ||||||
| /***/ "f6fd": |  | ||||||
| /***/ (function(module, exports) { |  | ||||||
|  |  | ||||||
| // document.currentScript polyfill by Adam Miller |  | ||||||
|  |  | ||||||
| // MIT license |  | ||||||
|  |  | ||||||
| (function(document){ |  | ||||||
|   var currentScript = "currentScript", |  | ||||||
|       scripts = document.getElementsByTagName('script'); // Live NodeList collection |  | ||||||
|  |  | ||||||
|   // If browser needs currentScript polyfill, add get currentScript() to the document object |  | ||||||
|   if (!(currentScript in document)) { |  | ||||||
|     Object.defineProperty(document, currentScript, { |  | ||||||
|       get: function(){ |  | ||||||
|  |  | ||||||
|         // IE 6-10 supports script readyState |  | ||||||
|         // IE 10+ support stack trace |  | ||||||
|         try { throw new Error(); } |  | ||||||
|         catch (err) { |  | ||||||
|  |  | ||||||
|           // Find the second match for the "at" string to get file src url from stack. |  | ||||||
|           // Specifically works with the format of stack traces in IE. |  | ||||||
|           var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; |  | ||||||
|  |  | ||||||
|           // For all scripts on the page, if src matches or if ready state is interactive, return the script tag |  | ||||||
|           for(i in scripts){ |  | ||||||
|             if(scripts[i].src == res || scripts[i].readyState == "interactive"){ |  | ||||||
|               return scripts[i]; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|  |  | ||||||
|           // If no match, return null |  | ||||||
|           return null; |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }); |  | ||||||
|   } |  | ||||||
| })(document); |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /***/ }) |  | ||||||
|  |  | ||||||
| /******/ }); |  | ||||||
| //# sourceMappingURL=plugin-ts.js.map |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dashboard/ui/plugin-ts.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dashboard/ui/plugin-ts.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										6
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.mod
									
									
									
									
									
								
							| @@ -1,5 +1,7 @@ | |||||||
| module github.com/Monibuca/tsplugin | module github.com/Monibuca/plugin-ts | ||||||
|  |  | ||||||
| go 1.13 | go 1.13 | ||||||
|  |  | ||||||
| require github.com/Monibuca/engine v1.1.0 | require ( | ||||||
|  | 	github.com/Monibuca/engine v1.2.1 | ||||||
|  | ) | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,20 +1,36 @@ | |||||||
| github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= | github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= | ||||||
| github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | ||||||
| github.com/Monibuca/engine v1.1.0 h1:X/dEUWpASCPESYx1cGXk5pp73Egiou5obGUEfrRZUdg= | github.com/Monibuca/engine v1.2.1 h1:TJmC6eZA1lR1MScWgempZLiEZD4T6aY/nn/rlQ9UdK8= | ||||||
| github.com/Monibuca/engine v1.1.0/go.mod h1:NjqVgtXuRSOyk3+NWgCuDf2p7TsBisjYxoEwA9uCZ38= | github.com/Monibuca/engine v1.2.1/go.mod h1:WbDkXENLjcPjyjCR1Mix1GA+uAlwORkv/+8aMVrDX2g= | ||||||
| github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= | github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= | ||||||
| github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= | github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= | ||||||
|  | github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= | ||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478 h1:Db9StoJ6RZN3YttC0Pm0I4Y5izITRYch3RMbT59BYN0= | github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478 h1:Db9StoJ6RZN3YttC0Pm0I4Y5izITRYch3RMbT59BYN0= | ||||||
| github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478/go.mod h1:0j1+svBH8ABEIPdUP0AIg4qedsybnXGJBakCEw8cfoo= | github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478/go.mod h1:0j1+svBH8ABEIPdUP0AIg4qedsybnXGJBakCEw8cfoo= | ||||||
|  | github.com/funny/utest v0.0.0-20161029064919-43870a374500 h1:Z0r1CZnoIWFB/Uiwh1BU5FYmuFe6L5NPi6XWQEmsTRg= | ||||||
|  | github.com/funny/utest v0.0.0-20161029064919-43870a374500/go.mod h1:mUn39tBov9jKnTWV1RlOYoNzxdBFHiSzXWdY1FoNGGg= | ||||||
| github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= | github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= | ||||||
| github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= | github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= | ||||||
|  | github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381 h1:bqDmpDG49ZRnB5PcgP0RXtQvnMSgIF14M7CBd2shtXs= | ||||||
|  | github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= | ||||||
|  | github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= | ||||||
|  | github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= | ||||||
|  | github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= | ||||||
|  | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||||
|  | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||||
|  | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||||
|  | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
| github.com/shirou/gopsutil v2.20.1+incompatible h1:oIq9Cq4i84Hk8uQAUOG3eNdI/29hBawGrD5YRl6JRDY= | github.com/shirou/gopsutil v2.20.1+incompatible h1:oIq9Cq4i84Hk8uQAUOG3eNdI/29hBawGrD5YRl6JRDY= | ||||||
| github.com/shirou/gopsutil v2.20.1+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= | github.com/shirou/gopsutil v2.20.1+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= | ||||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||||
|  | github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= | ||||||
| github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= | ||||||
|  | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8= | golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8= | ||||||
| golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
|  | gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | ||||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								main.go
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| package tsplugin | package ts | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
| @@ -25,11 +25,9 @@ var config = struct { | |||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	InstallPlugin(&PluginConfig{ | 	InstallPlugin(&PluginConfig{ | ||||||
| 		Name:    "TS", | 		Name:   "TS", | ||||||
| 		Type:    PLUGIN_PUBLISHER, | 		Type:   PLUGIN_PUBLISHER, | ||||||
| 		Version: "1.0.1", | 		Config: &config, | ||||||
| 		UI:      util.CurrentDir("dashboard", "ui", "plugin-ts.min.js"), |  | ||||||
| 		Config:  &config, |  | ||||||
| 		Run: func() { | 		Run: func() { | ||||||
| 			if config.AutoPublish { | 			if config.AutoPublish { | ||||||
| 				OnSubscribeHooks.AddHook(func(s *OutputStream) { | 				OnSubscribeHooks.AddHook(func(s *OutputStream) { | ||||||
| @@ -256,6 +254,7 @@ func readTsDir(currentDir string) []*TSDir { | |||||||
| 	return list | 	return list | ||||||
| } | } | ||||||
| func listTsDir(w http.ResponseWriter, r *http.Request) { | func listTsDir(w http.ResponseWriter, r *http.Request) { | ||||||
|  | 	w.Header().Set("Access-Control-Allow-Origin", "*") | ||||||
| 	var list []*TSDir = readTsDir(".") | 	var list []*TSDir = readTsDir(".") | ||||||
| 	bytes, err := json.Marshal(list) | 	bytes, err := json.Marshal(list) | ||||||
| 	if err == nil { | 	if err == nil { | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								ui/dist/demo.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								ui/dist/demo.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | <meta charset="utf-8"> | ||||||
|  | <title>plugin-ts demo</title> | ||||||
|  | <script src="https://unpkg.com/vue"></script> | ||||||
|  | <script src="./plugin-ts.umd.js"></script> | ||||||
|  |  | ||||||
|  | <link rel="stylesheet" href="./plugin-ts.css"> | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <div id="app"> | ||||||
|  |   <demo></demo> | ||||||
|  | </div> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | new Vue({ | ||||||
|  |   components: { | ||||||
|  |     demo: plugin-ts | ||||||
|  |   } | ||||||
|  | }).$mount('#app') | ||||||
|  | </script> | ||||||
							
								
								
									
										361
									
								
								ui/dist/plugin-ts.common.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										361
									
								
								ui/dist/plugin-ts.common.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,361 @@ | |||||||
|  | module.exports = | ||||||
|  | /******/ (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] = { | ||||||
|  | /******/ 			i: moduleId, | ||||||
|  | /******/ 			l: false, | ||||||
|  | /******/ 			exports: {} | ||||||
|  | /******/ 		}; | ||||||
|  | /******/ | ||||||
|  | /******/ 		// Execute the module function | ||||||
|  | /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||||||
|  | /******/ | ||||||
|  | /******/ 		// Flag the module as loaded | ||||||
|  | /******/ 		module.l = 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; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// define getter function for harmony exports | ||||||
|  | /******/ 	__webpack_require__.d = function(exports, name, getter) { | ||||||
|  | /******/ 		if(!__webpack_require__.o(exports, name)) { | ||||||
|  | /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||||||
|  | /******/ 		} | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// define __esModule on exports | ||||||
|  | /******/ 	__webpack_require__.r = function(exports) { | ||||||
|  | /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||||||
|  | /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||||||
|  | /******/ 		} | ||||||
|  | /******/ 		Object.defineProperty(exports, '__esModule', { value: true }); | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// create a fake namespace object | ||||||
|  | /******/ 	// mode & 1: value is a module id, require it | ||||||
|  | /******/ 	// mode & 2: merge all properties of value into the ns | ||||||
|  | /******/ 	// mode & 4: return value when already ns object | ||||||
|  | /******/ 	// mode & 8|1: behave like require | ||||||
|  | /******/ 	__webpack_require__.t = function(value, mode) { | ||||||
|  | /******/ 		if(mode & 1) value = __webpack_require__(value); | ||||||
|  | /******/ 		if(mode & 8) return value; | ||||||
|  | /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||||||
|  | /******/ 		var ns = Object.create(null); | ||||||
|  | /******/ 		__webpack_require__.r(ns); | ||||||
|  | /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||||||
|  | /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||||||
|  | /******/ 		return ns; | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// getDefaultExport function for compatibility with non-harmony modules | ||||||
|  | /******/ 	__webpack_require__.n = function(module) { | ||||||
|  | /******/ 		var getter = module && module.__esModule ? | ||||||
|  | /******/ 			function getDefault() { return module['default']; } : | ||||||
|  | /******/ 			function getModuleExports() { return module; }; | ||||||
|  | /******/ 		__webpack_require__.d(getter, 'a', getter); | ||||||
|  | /******/ 		return getter; | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// Object.prototype.hasOwnProperty.call | ||||||
|  | /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// __webpack_public_path__ | ||||||
|  | /******/ 	__webpack_require__.p = ""; | ||||||
|  | /******/ | ||||||
|  | /******/ | ||||||
|  | /******/ 	// Load entry module and return exports | ||||||
|  | /******/ 	return __webpack_require__(__webpack_require__.s = "fb15"); | ||||||
|  | /******/ }) | ||||||
|  | /************************************************************************/ | ||||||
|  | /******/ ({ | ||||||
|  |  | ||||||
|  | /***/ "034f": | ||||||
|  | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("85ec"); | ||||||
|  | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); | ||||||
|  | /* unused harmony reexport * */ | ||||||
|  |  /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);  | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "85ec": | ||||||
|  | /***/ (function(module, exports, __webpack_require__) { | ||||||
|  |  | ||||||
|  | // extracted by mini-css-extract-plugin | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "f6fd": | ||||||
|  | /***/ (function(module, exports) { | ||||||
|  |  | ||||||
|  | // document.currentScript polyfill by Adam Miller | ||||||
|  |  | ||||||
|  | // MIT license | ||||||
|  |  | ||||||
|  | (function(document){ | ||||||
|  |   var currentScript = "currentScript", | ||||||
|  |       scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||||||
|  |  | ||||||
|  |   // If browser needs currentScript polyfill, add get currentScript() to the document object | ||||||
|  |   if (!(currentScript in document)) { | ||||||
|  |     Object.defineProperty(document, currentScript, { | ||||||
|  |       get: function(){ | ||||||
|  |  | ||||||
|  |         // IE 6-10 supports script readyState | ||||||
|  |         // IE 10+ support stack trace | ||||||
|  |         try { throw new Error(); } | ||||||
|  |         catch (err) { | ||||||
|  |  | ||||||
|  |           // Find the second match for the "at" string to get file src url from stack. | ||||||
|  |           // Specifically works with the format of stack traces in IE. | ||||||
|  |           var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||||||
|  |  | ||||||
|  |           // For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||||||
|  |           for(i in scripts){ | ||||||
|  |             if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||||||
|  |               return scripts[i]; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           // If no match, return null | ||||||
|  |           return null; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | })(document); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "fb15": | ||||||
|  | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  | // ESM COMPAT FLAG | ||||||
|  | __webpack_require__.r(__webpack_exports__); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||||||
|  | // This file is imported into lib/wc client bundles. | ||||||
|  |  | ||||||
|  | if (typeof window !== 'undefined') { | ||||||
|  |   if (true) { | ||||||
|  |     __webpack_require__("f6fd") | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   var i | ||||||
|  |   if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { | ||||||
|  |     __webpack_require__.p = i[1] // eslint-disable-line | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Indicate to webpack that this file can be concatenated | ||||||
|  | /* harmony default export */ var setPublicPath = (null); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"677aa4f3-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=c06cd216& | ||||||
|  | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"layout"},[_vm._l((_vm.Rooms),function(item){return _c('Badge',{key:item.StreamPath,staticClass:"room",attrs:{"count":item.TsCount},nativeOn:{"click":function($event){return _vm.publish(item)}}},[_c('Icon',{attrs:{"type":"ios-folder-open-outline","size":"100"}}),_c('div',{staticClass:"size"},[_vm._v(_vm._s(_vm.unitFormat(item.TotalSize)))]),_c('div',[_vm._v(_vm._s(item.StreamPath))])],1)}),(_vm.Rooms.length==0)?_c('div',{staticClass:"empty"},[_c('Icon',{attrs:{"type":"md-wine","size":"50"}}),_vm._v("没有任何文件夹 ")],1):_vm._e()],2)} | ||||||
|  | var staticRenderFns = [] | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue?vue&type=template&id=c06cd216& | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  |  | ||||||
|  | /* harmony default export */ var Appvue_type_script_lang_js_ = ({ | ||||||
|  |     data() { | ||||||
|  |         return { | ||||||
|  |             Rooms: [] | ||||||
|  |         }; | ||||||
|  |     }, | ||||||
|  |     methods: { | ||||||
|  |         fetchlist() { | ||||||
|  |             this.ajax.getJSON(this.apiHost + "/ts/list").then(x => { | ||||||
|  |                 this.Rooms = x; | ||||||
|  |             }); | ||||||
|  |         }, | ||||||
|  |         publish(item) { | ||||||
|  |             this.$confirm("是否发布该目录", "提示").then(result => { | ||||||
|  |                 if (result) | ||||||
|  |                     this.ajax | ||||||
|  |                         .getJSON( | ||||||
|  |                             this.apiHost + | ||||||
|  |                                 "/ts/publish?streamPath=" + | ||||||
|  |                                 item.StreamPath | ||||||
|  |                         ) | ||||||
|  |                         .then(() => { | ||||||
|  |                             this.$toast.success("已发布" + item.StreamPath); | ||||||
|  |                         }); | ||||||
|  |             }); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     mounted() { | ||||||
|  |         this.fetchlist(); | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue?vue&type=script&lang=js& | ||||||
|  |  /* harmony default export */ var src_Appvue_type_script_lang_js_ = (Appvue_type_script_lang_js_);  | ||||||
|  | // EXTERNAL MODULE: ./src/App.vue?vue&type=style&index=0&lang=css& | ||||||
|  | var Appvue_type_style_index_0_lang_css_ = __webpack_require__("034f"); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | ||||||
|  | /* globals __VUE_SSR_CONTEXT__ */ | ||||||
|  |  | ||||||
|  | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). | ||||||
|  | // This module is a runtime utility for cleaner component module output and will | ||||||
|  | // be included in the final webpack user bundle. | ||||||
|  |  | ||||||
|  | function normalizeComponent ( | ||||||
|  |   scriptExports, | ||||||
|  |   render, | ||||||
|  |   staticRenderFns, | ||||||
|  |   functionalTemplate, | ||||||
|  |   injectStyles, | ||||||
|  |   scopeId, | ||||||
|  |   moduleIdentifier, /* server only */ | ||||||
|  |   shadowMode /* vue-cli only */ | ||||||
|  | ) { | ||||||
|  |   // Vue.extend constructor export interop | ||||||
|  |   var options = typeof scriptExports === 'function' | ||||||
|  |     ? scriptExports.options | ||||||
|  |     : scriptExports | ||||||
|  |  | ||||||
|  |   // render functions | ||||||
|  |   if (render) { | ||||||
|  |     options.render = render | ||||||
|  |     options.staticRenderFns = staticRenderFns | ||||||
|  |     options._compiled = true | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // functional template | ||||||
|  |   if (functionalTemplate) { | ||||||
|  |     options.functional = true | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // scopedId | ||||||
|  |   if (scopeId) { | ||||||
|  |     options._scopeId = 'data-v-' + scopeId | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   var hook | ||||||
|  |   if (moduleIdentifier) { // server build | ||||||
|  |     hook = function (context) { | ||||||
|  |       // 2.3 injection | ||||||
|  |       context = | ||||||
|  |         context || // cached call | ||||||
|  |         (this.$vnode && this.$vnode.ssrContext) || // stateful | ||||||
|  |         (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional | ||||||
|  |       // 2.2 with runInNewContext: true | ||||||
|  |       if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { | ||||||
|  |         context = __VUE_SSR_CONTEXT__ | ||||||
|  |       } | ||||||
|  |       // inject component styles | ||||||
|  |       if (injectStyles) { | ||||||
|  |         injectStyles.call(this, context) | ||||||
|  |       } | ||||||
|  |       // register component module identifier for async chunk inferrence | ||||||
|  |       if (context && context._registeredComponents) { | ||||||
|  |         context._registeredComponents.add(moduleIdentifier) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     // used by ssr in case component is cached and beforeCreate | ||||||
|  |     // never gets called | ||||||
|  |     options._ssrRegister = hook | ||||||
|  |   } else if (injectStyles) { | ||||||
|  |     hook = shadowMode | ||||||
|  |       ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } | ||||||
|  |       : injectStyles | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   if (hook) { | ||||||
|  |     if (options.functional) { | ||||||
|  |       // for template-only hot-reload because in that case the render fn doesn't | ||||||
|  |       // go through the normalizer | ||||||
|  |       options._injectStyles = hook | ||||||
|  |       // register for functional component in vue file | ||||||
|  |       var originalRender = options.render | ||||||
|  |       options.render = function renderWithStyleInjection (h, context) { | ||||||
|  |         hook.call(context) | ||||||
|  |         return originalRender(h, context) | ||||||
|  |       } | ||||||
|  |     } else { | ||||||
|  |       // inject component registration as beforeCreate hook | ||||||
|  |       var existing = options.beforeCreate | ||||||
|  |       options.beforeCreate = existing | ||||||
|  |         ? [].concat(existing, hook) | ||||||
|  |         : [hook] | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   return { | ||||||
|  |     exports: scriptExports, | ||||||
|  |     options: options | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* normalize component */ | ||||||
|  |  | ||||||
|  | var component = normalizeComponent( | ||||||
|  |   src_Appvue_type_script_lang_js_, | ||||||
|  |   render, | ||||||
|  |   staticRenderFns, | ||||||
|  |   false, | ||||||
|  |   null, | ||||||
|  |   null, | ||||||
|  |   null | ||||||
|  |    | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | /* harmony default export */ var App = (component.exports); | ||||||
|  | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (App); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /***/ }) | ||||||
|  |  | ||||||
|  | /******/ })["default"]; | ||||||
|  | //# sourceMappingURL=plugin-ts.common.js.map | ||||||
							
								
								
									
										1
									
								
								ui/dist/plugin-ts.common.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ui/dist/plugin-ts.common.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								ui/dist/plugin-ts.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ui/dist/plugin-ts.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | .layout{padding-bottom:30px;display:flex;flex-wrap:wrap;padding:30px}.room{text-align:center}.room:hover{text-shadow:0 0 12px #4199d0;border-radius:10%;cursor:pointer}.size{position:absolute;top:40%;left:0;right:0} | ||||||
							
								
								
									
										371
									
								
								ui/dist/plugin-ts.umd.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										371
									
								
								ui/dist/plugin-ts.umd.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,371 @@ | |||||||
|  | (function webpackUniversalModuleDefinition(root, factory) { | ||||||
|  | 	if(typeof exports === 'object' && typeof module === 'object') | ||||||
|  | 		module.exports = factory(); | ||||||
|  | 	else if(typeof define === 'function' && define.amd) | ||||||
|  | 		define([], factory); | ||||||
|  | 	else if(typeof exports === 'object') | ||||||
|  | 		exports["plugin-ts"] = factory(); | ||||||
|  | 	else | ||||||
|  | 		root["plugin-ts"] = factory(); | ||||||
|  | })((typeof self !== 'undefined' ? self : this), function() { | ||||||
|  | return /******/ (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] = { | ||||||
|  | /******/ 			i: moduleId, | ||||||
|  | /******/ 			l: false, | ||||||
|  | /******/ 			exports: {} | ||||||
|  | /******/ 		}; | ||||||
|  | /******/ | ||||||
|  | /******/ 		// Execute the module function | ||||||
|  | /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||||||
|  | /******/ | ||||||
|  | /******/ 		// Flag the module as loaded | ||||||
|  | /******/ 		module.l = 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; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// define getter function for harmony exports | ||||||
|  | /******/ 	__webpack_require__.d = function(exports, name, getter) { | ||||||
|  | /******/ 		if(!__webpack_require__.o(exports, name)) { | ||||||
|  | /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||||||
|  | /******/ 		} | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// define __esModule on exports | ||||||
|  | /******/ 	__webpack_require__.r = function(exports) { | ||||||
|  | /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||||||
|  | /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||||||
|  | /******/ 		} | ||||||
|  | /******/ 		Object.defineProperty(exports, '__esModule', { value: true }); | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// create a fake namespace object | ||||||
|  | /******/ 	// mode & 1: value is a module id, require it | ||||||
|  | /******/ 	// mode & 2: merge all properties of value into the ns | ||||||
|  | /******/ 	// mode & 4: return value when already ns object | ||||||
|  | /******/ 	// mode & 8|1: behave like require | ||||||
|  | /******/ 	__webpack_require__.t = function(value, mode) { | ||||||
|  | /******/ 		if(mode & 1) value = __webpack_require__(value); | ||||||
|  | /******/ 		if(mode & 8) return value; | ||||||
|  | /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||||||
|  | /******/ 		var ns = Object.create(null); | ||||||
|  | /******/ 		__webpack_require__.r(ns); | ||||||
|  | /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||||||
|  | /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||||||
|  | /******/ 		return ns; | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// getDefaultExport function for compatibility with non-harmony modules | ||||||
|  | /******/ 	__webpack_require__.n = function(module) { | ||||||
|  | /******/ 		var getter = module && module.__esModule ? | ||||||
|  | /******/ 			function getDefault() { return module['default']; } : | ||||||
|  | /******/ 			function getModuleExports() { return module; }; | ||||||
|  | /******/ 		__webpack_require__.d(getter, 'a', getter); | ||||||
|  | /******/ 		return getter; | ||||||
|  | /******/ 	}; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// Object.prototype.hasOwnProperty.call | ||||||
|  | /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||||||
|  | /******/ | ||||||
|  | /******/ 	// __webpack_public_path__ | ||||||
|  | /******/ 	__webpack_require__.p = ""; | ||||||
|  | /******/ | ||||||
|  | /******/ | ||||||
|  | /******/ 	// Load entry module and return exports | ||||||
|  | /******/ 	return __webpack_require__(__webpack_require__.s = "fb15"); | ||||||
|  | /******/ }) | ||||||
|  | /************************************************************************/ | ||||||
|  | /******/ ({ | ||||||
|  |  | ||||||
|  | /***/ "034f": | ||||||
|  | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("85ec"); | ||||||
|  | /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); | ||||||
|  | /* unused harmony reexport * */ | ||||||
|  |  /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);  | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "85ec": | ||||||
|  | /***/ (function(module, exports, __webpack_require__) { | ||||||
|  |  | ||||||
|  | // extracted by mini-css-extract-plugin | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "f6fd": | ||||||
|  | /***/ (function(module, exports) { | ||||||
|  |  | ||||||
|  | // document.currentScript polyfill by Adam Miller | ||||||
|  |  | ||||||
|  | // MIT license | ||||||
|  |  | ||||||
|  | (function(document){ | ||||||
|  |   var currentScript = "currentScript", | ||||||
|  |       scripts = document.getElementsByTagName('script'); // Live NodeList collection | ||||||
|  |  | ||||||
|  |   // If browser needs currentScript polyfill, add get currentScript() to the document object | ||||||
|  |   if (!(currentScript in document)) { | ||||||
|  |     Object.defineProperty(document, currentScript, { | ||||||
|  |       get: function(){ | ||||||
|  |  | ||||||
|  |         // IE 6-10 supports script readyState | ||||||
|  |         // IE 10+ support stack trace | ||||||
|  |         try { throw new Error(); } | ||||||
|  |         catch (err) { | ||||||
|  |  | ||||||
|  |           // Find the second match for the "at" string to get file src url from stack. | ||||||
|  |           // Specifically works with the format of stack traces in IE. | ||||||
|  |           var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; | ||||||
|  |  | ||||||
|  |           // For all scripts on the page, if src matches or if ready state is interactive, return the script tag | ||||||
|  |           for(i in scripts){ | ||||||
|  |             if(scripts[i].src == res || scripts[i].readyState == "interactive"){ | ||||||
|  |               return scripts[i]; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           // If no match, return null | ||||||
|  |           return null; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | })(document); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ "fb15": | ||||||
|  | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  | // ESM COMPAT FLAG | ||||||
|  | __webpack_require__.r(__webpack_exports__); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js | ||||||
|  | // This file is imported into lib/wc client bundles. | ||||||
|  |  | ||||||
|  | if (typeof window !== 'undefined') { | ||||||
|  |   if (true) { | ||||||
|  |     __webpack_require__("f6fd") | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   var i | ||||||
|  |   if ((i = window.document.currentScript) && (i = i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { | ||||||
|  |     __webpack_require__.p = i[1] // eslint-disable-line | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Indicate to webpack that this file can be concatenated | ||||||
|  | /* harmony default export */ var setPublicPath = (null); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"677aa4f3-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=template&id=c06cd216& | ||||||
|  | var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"layout"},[_vm._l((_vm.Rooms),function(item){return _c('Badge',{key:item.StreamPath,staticClass:"room",attrs:{"count":item.TsCount},nativeOn:{"click":function($event){return _vm.publish(item)}}},[_c('Icon',{attrs:{"type":"ios-folder-open-outline","size":"100"}}),_c('div',{staticClass:"size"},[_vm._v(_vm._s(_vm.unitFormat(item.TotalSize)))]),_c('div',[_vm._v(_vm._s(item.StreamPath))])],1)}),(_vm.Rooms.length==0)?_c('div',{staticClass:"empty"},[_c('Icon',{attrs:{"type":"md-wine","size":"50"}}),_vm._v("没有任何文件夹 ")],1):_vm._e()],2)} | ||||||
|  | var staticRenderFns = [] | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue?vue&type=template&id=c06cd216& | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js& | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  | // | ||||||
|  |  | ||||||
|  | /* harmony default export */ var Appvue_type_script_lang_js_ = ({ | ||||||
|  |     data() { | ||||||
|  |         return { | ||||||
|  |             Rooms: [] | ||||||
|  |         }; | ||||||
|  |     }, | ||||||
|  |     methods: { | ||||||
|  |         fetchlist() { | ||||||
|  |             this.ajax.getJSON(this.apiHost + "/ts/list").then(x => { | ||||||
|  |                 this.Rooms = x; | ||||||
|  |             }); | ||||||
|  |         }, | ||||||
|  |         publish(item) { | ||||||
|  |             this.$confirm("是否发布该目录", "提示").then(result => { | ||||||
|  |                 if (result) | ||||||
|  |                     this.ajax | ||||||
|  |                         .getJSON( | ||||||
|  |                             this.apiHost + | ||||||
|  |                                 "/ts/publish?streamPath=" + | ||||||
|  |                                 item.StreamPath | ||||||
|  |                         ) | ||||||
|  |                         .then(() => { | ||||||
|  |                             this.$toast.success("已发布" + item.StreamPath); | ||||||
|  |                         }); | ||||||
|  |             }); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |     mounted() { | ||||||
|  |         this.fetchlist(); | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue?vue&type=script&lang=js& | ||||||
|  |  /* harmony default export */ var src_Appvue_type_script_lang_js_ = (Appvue_type_script_lang_js_);  | ||||||
|  | // EXTERNAL MODULE: ./src/App.vue?vue&type=style&index=0&lang=css& | ||||||
|  | var Appvue_type_style_index_0_lang_css_ = __webpack_require__("034f"); | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js | ||||||
|  | /* globals __VUE_SSR_CONTEXT__ */ | ||||||
|  |  | ||||||
|  | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). | ||||||
|  | // This module is a runtime utility for cleaner component module output and will | ||||||
|  | // be included in the final webpack user bundle. | ||||||
|  |  | ||||||
|  | function normalizeComponent ( | ||||||
|  |   scriptExports, | ||||||
|  |   render, | ||||||
|  |   staticRenderFns, | ||||||
|  |   functionalTemplate, | ||||||
|  |   injectStyles, | ||||||
|  |   scopeId, | ||||||
|  |   moduleIdentifier, /* server only */ | ||||||
|  |   shadowMode /* vue-cli only */ | ||||||
|  | ) { | ||||||
|  |   // Vue.extend constructor export interop | ||||||
|  |   var options = typeof scriptExports === 'function' | ||||||
|  |     ? scriptExports.options | ||||||
|  |     : scriptExports | ||||||
|  |  | ||||||
|  |   // render functions | ||||||
|  |   if (render) { | ||||||
|  |     options.render = render | ||||||
|  |     options.staticRenderFns = staticRenderFns | ||||||
|  |     options._compiled = true | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // functional template | ||||||
|  |   if (functionalTemplate) { | ||||||
|  |     options.functional = true | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // scopedId | ||||||
|  |   if (scopeId) { | ||||||
|  |     options._scopeId = 'data-v-' + scopeId | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   var hook | ||||||
|  |   if (moduleIdentifier) { // server build | ||||||
|  |     hook = function (context) { | ||||||
|  |       // 2.3 injection | ||||||
|  |       context = | ||||||
|  |         context || // cached call | ||||||
|  |         (this.$vnode && this.$vnode.ssrContext) || // stateful | ||||||
|  |         (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional | ||||||
|  |       // 2.2 with runInNewContext: true | ||||||
|  |       if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { | ||||||
|  |         context = __VUE_SSR_CONTEXT__ | ||||||
|  |       } | ||||||
|  |       // inject component styles | ||||||
|  |       if (injectStyles) { | ||||||
|  |         injectStyles.call(this, context) | ||||||
|  |       } | ||||||
|  |       // register component module identifier for async chunk inferrence | ||||||
|  |       if (context && context._registeredComponents) { | ||||||
|  |         context._registeredComponents.add(moduleIdentifier) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     // used by ssr in case component is cached and beforeCreate | ||||||
|  |     // never gets called | ||||||
|  |     options._ssrRegister = hook | ||||||
|  |   } else if (injectStyles) { | ||||||
|  |     hook = shadowMode | ||||||
|  |       ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } | ||||||
|  |       : injectStyles | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   if (hook) { | ||||||
|  |     if (options.functional) { | ||||||
|  |       // for template-only hot-reload because in that case the render fn doesn't | ||||||
|  |       // go through the normalizer | ||||||
|  |       options._injectStyles = hook | ||||||
|  |       // register for functional component in vue file | ||||||
|  |       var originalRender = options.render | ||||||
|  |       options.render = function renderWithStyleInjection (h, context) { | ||||||
|  |         hook.call(context) | ||||||
|  |         return originalRender(h, context) | ||||||
|  |       } | ||||||
|  |     } else { | ||||||
|  |       // inject component registration as beforeCreate hook | ||||||
|  |       var existing = options.beforeCreate | ||||||
|  |       options.beforeCreate = existing | ||||||
|  |         ? [].concat(existing, hook) | ||||||
|  |         : [hook] | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   return { | ||||||
|  |     exports: scriptExports, | ||||||
|  |     options: options | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // CONCATENATED MODULE: ./src/App.vue | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* normalize component */ | ||||||
|  |  | ||||||
|  | var component = normalizeComponent( | ||||||
|  |   src_Appvue_type_script_lang_js_, | ||||||
|  |   render, | ||||||
|  |   staticRenderFns, | ||||||
|  |   false, | ||||||
|  |   null, | ||||||
|  |   null, | ||||||
|  |   null | ||||||
|  |    | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | /* harmony default export */ var App = (component.exports); | ||||||
|  | // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (App); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /***/ }) | ||||||
|  |  | ||||||
|  | /******/ })["default"]; | ||||||
|  | }); | ||||||
|  | //# sourceMappingURL=plugin-ts.umd.js.map | ||||||
							
								
								
									
										1
									
								
								ui/dist/plugin-ts.umd.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ui/dist/plugin-ts.umd.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								ui/dist/plugin-ts.umd.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ui/dist/plugin-ts.umd.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | (function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["plugin-ts"]=e():t["plugin-ts"]=e()})("undefined"!==typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"034f":function(t,e,n){"use strict";var r=n("85ec"),o=n.n(r);o.a},"85ec":function(t,e,n){},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"layout"},[t._l(t.Rooms,(function(e){return n("Badge",{key:e.StreamPath,staticClass:"room",attrs:{count:e.TsCount},nativeOn:{click:function(n){return t.publish(e)}}},[n("Icon",{attrs:{type:"ios-folder-open-outline",size:"100"}}),n("div",{staticClass:"size"},[t._v(t._s(t.unitFormat(e.TotalSize)))]),n("div",[t._v(t._s(e.StreamPath))])],1)})),0==t.Rooms.length?n("div",{staticClass:"empty"},[n("Icon",{attrs:{type:"md-wine",size:"50"}}),t._v("没有任何文件夹 ")],1):t._e()],2)},i=[],s={data(){return{Rooms:[]}},methods:{fetchlist(){this.ajax.getJSON(this.apiHost+"/ts/list").then(t=>{this.Rooms=t})},publish(t){this.$confirm("是否发布该目录","提示").then(e=>{e&&this.ajax.getJSON(this.apiHost+"/ts/publish?streamPath="+t.StreamPath).then(()=>{this.$toast.success("已发布"+t.StreamPath)})})}},mounted(){this.fetchlist()}},a=s;n("034f");function u(t,e,n,r,o,i,s,a){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),s?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=u):o&&(u=a?function(){o.call(this,this.$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var f=c.render;c.render=function(t,e){return u.call(e),f(t,e)}}else{var l=c.beforeCreate;c.beforeCreate=l?[].concat(l,u):[u]}return{exports:t,options:c}}var c=u(a,o,i,!1,null,null,null),f=c.exports;e["default"]=f}})["default"]})); | ||||||
|  | //# sourceMappingURL=plugin-ts.umd.min.js.map | ||||||
							
								
								
									
										1
									
								
								ui/dist/plugin-ts.umd.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								ui/dist/plugin-ts.umd.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3123
									
								
								dashboard/package-lock.json → ui/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3123
									
								
								dashboard/package-lock.json → ui/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -4,15 +4,12 @@ | |||||||
|     "description": "dashboard of ts plugin for monibuca", |     "description": "dashboard of ts plugin for monibuca", | ||||||
|     "main": "index.js", |     "main": "index.js", | ||||||
|     "scripts": { |     "scripts": { | ||||||
|         "build": "vue-cli-service build --dest ui --target wc --name plugin-ts index.vue" |         "build": "vue-cli-service build --target lib --name plugin-ts" | ||||||
|     }, |     }, | ||||||
|     "author": "dexter", |     "author": "dexter", | ||||||
|     "license": "ISC", |     "license": "ISC", | ||||||
|     "devDependencies": { |     "devDependencies": { | ||||||
|         "@vue/cli-service": "^4.2.3", |         "@vue/cli-service": "^4.2.3", | ||||||
|         "vue-template-compiler": "^2.6.11" |         "vue-template-compiler": "^2.6.11" | ||||||
|     }, |  | ||||||
|     "dependencies": { |  | ||||||
|         "view-design": "^4.1.3" |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -1,12 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|     <div class="layout"> |     <div class="layout"> | ||||||
|         <Badge |         <Badge @click.native="publish(item)" v-for="item in Rooms" :key="item.StreamPath" :count="item.TsCount" | ||||||
|             @click.native="publish(item)" |             class="room"> | ||||||
|             v-for="item in Rooms" |  | ||||||
|             :key="item.StreamPath" |  | ||||||
|             :count="item.TsCount" |  | ||||||
|             class="room" |  | ||||||
|         > |  | ||||||
|             <Icon type="ios-folder-open-outline" size="100" /> |             <Icon type="ios-folder-open-outline" size="100" /> | ||||||
|             <div class="size">{{unitFormat(item.TotalSize)}}</div> |             <div class="size">{{unitFormat(item.TotalSize)}}</div> | ||||||
|             <div>{{item.StreamPath}}</div> |             <div>{{item.StreamPath}}</div> | ||||||
| @@ -18,8 +13,6 @@ | |||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| export default { | export default { | ||||||
|     data() { |     data() { | ||||||
|         return { |         return { | ||||||
| @@ -28,22 +21,24 @@ export default { | |||||||
|     }, |     }, | ||||||
|     methods: { |     methods: { | ||||||
|         fetchlist() { |         fetchlist() { | ||||||
|             window.ajax.getJSON("/ts/list").then(x => { |             this.ajax.getJSON(this.apiHost + "/ts/list").then(x => { | ||||||
|                 this.Rooms = x; |                 this.Rooms = x; | ||||||
|             }); |             }); | ||||||
|         }, |         }, | ||||||
|         publish(item) { |         publish(item) { | ||||||
|             this.$Modal.confirm({ |             this.$confirm("是否发布该目录", "提示").then(result => { | ||||||
|                 title: "提示", |                 if (result) | ||||||
|                 content: "是否发布该目录", |                     this.ajax | ||||||
|                 onOk() { |                         .getJSON( | ||||||
|                     window.ajax.getJSON( |                             this.apiHost + | ||||||
|                         "/ts/publish?streamPath=" + item.StreamPath |                                 "/ts/publish?streamPath=" + | ||||||
|                     ); |                                 item.StreamPath | ||||||
|                 } |                         ) | ||||||
|  |                         .then(() => { | ||||||
|  |                             this.$toast.success("已发布" + item.StreamPath); | ||||||
|  |                         }); | ||||||
|             }); |             }); | ||||||
|         }, |         } | ||||||
|         unitFormat: window.unitFormat |  | ||||||
|     }, |     }, | ||||||
|     mounted() { |     mounted() { | ||||||
|         this.fetchlist(); |         this.fetchlist(); | ||||||
| @@ -52,7 +47,6 @@ export default { | |||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style> | <style> | ||||||
| /* @import url("/iview.css"); */ |  | ||||||
| .layout { | .layout { | ||||||
|     padding-bottom: 30px; |     padding-bottom: 30px; | ||||||
|     display: flex; |     display: flex; | ||||||
| @@ -63,11 +57,12 @@ export default { | |||||||
|     text-align: center; |     text-align: center; | ||||||
| } | } | ||||||
| .room:hover { | .room:hover { | ||||||
|     border: 1px solid gray; |     text-shadow: 0 0 12px #4199d0; | ||||||
|     border-radius: 10%; |     border-radius: 10%; | ||||||
|     cursor: pointer; |     cursor: pointer; | ||||||
| } | } | ||||||
| .size { | .size { | ||||||
|  |     color: #ffc107; | ||||||
|     position: absolute; |     position: absolute; | ||||||
|     top: 40%; |     top: 40%; | ||||||
|     left: 0; |     left: 0; | ||||||
		Reference in New Issue
	
	Block a user
	 李宇翔
					李宇翔