From ed2e0a434e36851cbdf7a3eecc02d3534a599466 Mon Sep 17 00:00:00 2001 From: iRuxu Date: Thu, 7 May 2020 13:31:15 +0000 Subject: [PATCH] Deploying to gh-pages from master dcf496ab8766d47153389facbe49c400c952c5fe --- comment.common.js | 1377 +++++++++++++++++++++++++++++++++++++++ comment.common.js.map | 1 + comment.css | 1 + comment.umd.js | 1387 ++++++++++++++++++++++++++++++++++++++++ comment.umd.js.map | 1 + comment.umd.min.js | 2 + comment.umd.min.js.map | 1 + demo.html | 19 + 8 files changed, 2789 insertions(+) create mode 100644 comment.common.js create mode 100644 comment.common.js.map create mode 100644 comment.css create mode 100644 comment.umd.js create mode 100644 comment.umd.js.map create mode 100644 comment.umd.min.js create mode 100644 comment.umd.min.js.map create mode 100644 demo.html diff --git a/comment.common.js b/comment.common.js new file mode 100644 index 0000000..e7ab19e --- /dev/null +++ b/comment.common.js @@ -0,0 +1,1377 @@ +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"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "2edf": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6d39"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "3280": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "4902": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7e17"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "64c7": +/***/ (function(module) { + +module.exports = JSON.parse("{\"__Domain\":\"www.jx3box.com\",\"__Root\":\"https://www.jx3box.com/\",\"__v2\":\"https://v2.jx3box.com/\",\"__server\":\"https://server.jx3box.com/\",\"__api\":\"https://api.jx3box.com/\",\"__helperUrl\":\"https://helper.jx3box.com/\",\"__node\":\"https://node.jx3box.com/\",\"__spider\":\"https://spider.jx3box.com/\",\"__proxy\":\"https://proxy.jx3box.com/\",\"__ossRoot\":\"https://oss.jx3box.com/\",\"__ossMirror\":\"https://console.cnyixun.com/\",\"__ossCloudflare\":\"https://jx3box.imkog.com/\",\"__ossGithub\":\"https://cdn.jx3box.com/\",\"__staticPath\":{\"jsdelivr\":\"https://cdn.jsdelivr.net/gh/JX3BOX/\",\"mirror\":\"https://console.cnyixun.com/static/\"},\"__dataPath\":\"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-data\",\"__dataPath_BAK\":\"https://data.jx3box.com/data/\",\"__imgPath\":\"https://console.cnyixun.com/img/\",\"__imgPath_BAK\":\"https://cdn.jx3box.com/img/\",\"__imagePath\":\"https://console.cnyixun.com/image/\",\"__imagePath_BAK\":\"https://cdn.jx3box.com/image/\",\"__iconPath\":\"https://console.cnyixun.com/icon/\",\"__iconPath_BAK\":\"https://icon.jx3box.com/icon/\",\"__emtionPath\":\"https://console.cnyixun.com/emotion/\",\"__emtionPath_BAK\":\"https://jx3box.imkog.com/emotion/\",\"__wpmirrorPath\":\"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-mirror/\",\"__wpmirrorPath_BAK\":\"https://mirror.jx3box.com/\",\"__wpstaticPath\":\"https://cdn.jsdelivr.net/gh/iRuxu/jx3box-static/dist/\",\"__wpstaticPath_BAK\":\"https://static.jx3box.com/dist/\",\"__postType\":{\"posts\":\"论坛\",\"macro\":\"剑三宏库\",\"jx3dat\":\"插件数据\",\"fb\":\"副本攻略\",\"bps\":\"职业攻略\",\"cj\":\"成就百科\",\"share\":\"捏脸分享\",\"tool\":\"教程工具\",\"help\":\"帮助文档\",\"post\":\"茶馆交流\",\"page\":\"系统页面\"},\"__userGroup\":{\"0\":\"游客\",\"1\":\"普通用户\",\"8\":\"已验证用户\",\"16\":\"VIP会员\",\"32\":\"签约作者\",\"64\":\"管理员\"},\"__userLevel\":{\"0\":\"稻香萌新\"},\"__Links\":{\"account\":{\"login\":\"https://v2.jx3box.com/account/login\",\"register\":\"https://v2.jx3box.com/account/register\",\"email_verify\":\"https://v2.jx3box.com/account/email_verify\",\"login_callback\":\"https://v2.jx3box.com/account/login_callback\",\"oauth_server\":\"https://server.jx3box.com/oauth/jx3box/authorize\"},\"dashboard\":{\"home\":\"https://v2.jx3box.com/dashboard\",\"work\":\"https://v2.jx3box.com/dashboard/#/work\",\"msg\":\"https://v2.jx3box.com/dashboard/#/msg\",\"feed\":\"https://v2.jx3box.com/dashboard/#/feed\",\"fav\":\"https://v2.jx3box.com/dashboard/#/fav\",\"profile\":\"https://v2.jx3box.com/dashboard/#/profile\",\"connect\":\"https://v2.jx3box.com/dashboard/#/connect\",\"publish\":\"https://v2.jx3box.com/dashboard/publish\"},\"author\":\"https://v2.jx3box.com/author/\",\"about\":\"https://v2.jx3box.com/about/\",\"search\":\"https://search.jx3box.com/\",\"wiki\":\"https://wiki.jx3box.com/\",\"jx3\":\"https://xn--3-4g8a959k.com/\"},\"default_avatar\":\"https://console.cnyixun.com/image/common/avatar.png\",\"feedback\":\"https://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=o8LHzsrN48nbkMHM243AzM4\"}"); + +/***/ }), + +/***/ "6d39": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "7e17": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "85e4": +/***/ (function(module, exports, __webpack_require__) { + +const {default_avatar,__dataPath} = __webpack_require__("64c7"); + +module.exports = { + resolveImagePath : function (str){ + return (str && str.length) ? str.replace(/oss\.jx3box\.com/g,'console.cnyixun.com') : '' + }, + + checkImageLoad : function (jq){ + jq.length && + jq.one('error',function (){ + var img_url = $(this).attr("src"); + var fix_url = img_url.replace( + /console\.cnyixun\.com/g, + "oss.jx3box.com" + ); + $(this).attr("src", fix_url); + }) + }, + + showAvatar : function (url,size='s'){ + + const styleMap = { + s : "?x-oss-process=style/avatar_s", + m : "?x-oss-process=style/avatar_m", + l : "?x-oss-process=style/avatar_l" + } + + let avatar = !url ? default_avatar : url.replace(/oss\.jx3box\.com/g,'console.cnyixun.com') + + return avatar + styleMap[size] + + }, + + dataPath :function (path,version="latest"){ + return __dataPath + '@' + version + '/data/' + path + } +} + +/***/ }), + +/***/ "8a8d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3280"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "8bbf": +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ "a199": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "b9a8": +/***/ (function(module, exports, __webpack_require__) { + +const { __server } = __webpack_require__("64c7"); +const OAuth = { + github: { + client_id: "5fbf7a66cd7d3d0f5153", + authorize_uri: "https://github.com/login/oauth/authorize", + callback : `${__server}oauth/github/callback` + }, + qq : { + client_id : "101870778", + authorize_uri : "https://graph.qq.com/oauth2.0/authorize", + callback : `${__server}oauth/qq/callback` + }, + weibo : { + client_id : "4076650110", + authorize_uri : "https://api.weibo.com/oauth2/authorize", + callback : `${__server}oauth/weibo/callback` + } +} + +module.exports = OAuth + +/***/ }), + +/***/ "bc3e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a199"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "c9d2": +/***/ (function(module, exports, __webpack_require__) { + +const { showAvatar } = __webpack_require__("85e4"); +const {__Links,default_avatar} = __webpack_require__("64c7"); + +class User { + constructor() { + // TOKEN有效期 + this.expires = 14400000; + this.created_at = 0; + // 登录状态 + this.logged_in = false; + + // 缓存资料 + this.profile = {}; + this.anonymous = { + uid: 0, + group: 0, + name: "未登录", + avatar: showAvatar(null,'s'), + bio: "凭栏望千里,煮酒论江湖。", + avatar_origin : default_avatar + }; + + } + + // 检查当前状态 + check() { + if (this.isLogin()) { + this.profile.uid = localStorage.getItem("uid"); + this.profile.group = localStorage.getItem("group") || 1; + this.profile.name = localStorage.getItem("name"); + this.profile.avatar_origin = localStorage.getItem("avatar") || default_avatar; + this.profile.avatar = showAvatar(this.profile.avatar_origin,'s') + this.profile.bio = localStorage.getItem("bio") || ''; + } else { + this.profile = this.anonymous; + } + return this; + } + + // 更新指定缓存字段 + refresh(key,val){ + return localStorage.setItem(key,val); + } + + // 判断是否已登录 + isLogin() { + this.created_at = + localStorage.getItem("created_at") == null + ? -Infinity + : localStorage.getItem("created_at"); + this.logged_in = + localStorage.getItem("logged_in") == "true" ? true : false; + return this.logged_in && Date.now() - this.created_at < this.expires; + } + + // 保存用户资料 + _save(data){ + localStorage.setItem("created_at", Date.now()); + localStorage.setItem("logged_in", true); + localStorage.setItem("token", data.token); + localStorage.setItem("uid", data.uid); + localStorage.setItem("group", data.group); + localStorage.setItem("name", data.name); + localStorage.setItem("avatar", data.avatar); + localStorage.setItem("bio", data.bio); + } + + // 更新用户资料 + update(data){ + return new Promise((resolve,reject)=>{ + try { + this._save(data) + resolve(this) + } catch (err) { + //如果localstorage不存在或已满 + if (localStorage) { + localStorage.clear(); + this._save(data) + resolve(value) + } else { + reject(new Error('localStorage不可用')) + } + } + }) + } + + // 销毁登录状态 + destroy() { + // for非鉴权接口 + localStorage.removeItem("created_at"); + localStorage.setItem("logged_in", "false"); + // for鉴权接口 + localStorage.removeItem("token"); + } + + // 跳转至登录 + toLogin(url){ + url = url || location.href + location.href = __Links.account.login + '?redirect=' + url + } + + // 获取用户基础缓存信息 + getInfo() { + this.check(); + return this.profile; + } + + // 获取本地令牌 + getToken() { + return localStorage.getItem("token"); + } + + // 获取UUID + getUUID() { + return localStorage.getItem("device_id"); + } +} +module.exports = new User(); + + +/***/ }), + +/***/ "ee8f": +/***/ (function(module, exports, __webpack_require__) { + +const JX3BOX = __webpack_require__("64c7"); +const SEO = __webpack_require__("fa0b"); +const Utils = __webpack_require__("85e4"); +const User = __webpack_require__("c9d2"); +const OAuth = __webpack_require__("b9a8"); + +module.exports = { JX3BOX, SEO, Utils, User, OAuth }; + + +/***/ }), + +/***/ "fa0b": +/***/ (function(module) { + +module.exports = JSON.parse("{\"title\":\" » JX3BOX - 一站式剑网3资源工具站\",\"keys\":\"jx3box,剑三魔盒,剑三宏,剑三插件,剑三辅助,副本攻略,副本解包,团队监控,捏脸数据,剑3数据库,成就百科,剑三成就,剑3,剑网3,剑三box,剑三百科\",\"desc\":\"JX3BOX - 剑三魔盒是一个以剑网3游戏为主的专业攻略资源站,这里干货满满,大神多多,为你的武侠江湖之路助力。剑三魔盒,玩家贴心的小助手。\"}"); + +/***/ }), + +/***/ "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') { + var currentScript = window.document.currentScript + if (false) { var getCurrentScript; } + + var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) + if (src) { + __webpack_require__.p = src[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":"b7444032-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/Comment.vue?vue&type=template&id=2b872b18& +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:"c-comment"},[_c('el-main',[_c('el-form',{ref:"form",staticClass:"c-comment-box",attrs:{"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{"rows":"3","type":"textarea","maxlength":"300","show-word-limit":"","placeholder":"参与讨论..."},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{staticClass:"u-publish",attrs:{"type":"primary"},on:{"click":_vm.onSubmit}},[_vm._v("发表评论")])],1)],1),_vm._l((_vm.commentList),function(item){return _c('div',{key:item.comment.id,staticClass:"c-comment-list"},[_c('Avatar',{attrs:{"avatar-size":68,"user-avatar":_vm.showAvatar(item.user.avatar),"user-href":_vm.profileLink + item.user.id,"username":item.user.displayName}}),_c('CommmentWithReply',{attrs:{"item":item,"post-id":_vm.postId,"power":_vm.commentPower},on:{"deteleComment":_vm.deteleComment}})],1)}),(_vm.commentList.length > 5)?_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('el-form',{attrs:{"inline":true,"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{staticStyle:{"width":"360px"},attrs:{"show-word-limit":"","placeholder":"参与讨论"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.onSubmit}},[_vm._v("提交")])],1)],1)],1),_c('el-col',{attrs:{"span":12}},[_c('el-pagination',{staticStyle:{"text-align":"right"},attrs:{"background":"","hide-on-single-page":"","current-page":_vm.pager.index,"page-size":_vm.pager.pageSize,"layout":"prev, pager, next, total","total":_vm.pager.total},on:{"current-change":_vm.handleCurrentChange,"update:currentPage":function($event){return _vm.$set(_vm.pager, "index", $event)},"update:current-page":function($event){return _vm.$set(_vm.pager, "index", $event)}}})],1)],1):_vm._e()],2),_c('el-footer')],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/Comment.vue?vue&type=template&id=2b872b18& + +// EXTERNAL MODULE: ./node_modules/@jx3box/jx3box-common/main.js +var main = __webpack_require__("ee8f"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/avatar.vue?vue&type=template&id=d1889cce& +var avatarvue_type_template_id_d1889cce_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"c-comment-avatar"},[_c('el-link',{staticClass:"u-avatar",attrs:{"href":_vm.userHref}},[_c('el-avatar',{staticClass:"u-avatar-pic",attrs:{"shape":"square","size":_vm.avatarSize,"src":_vm.userAvatar}})],1),_c('el-link',{staticClass:"u-name",attrs:{"type":"primary","target":"_blank","href":_vm.userHref}},[_vm._v(_vm._s(_vm.username))])],1)} +var avatarvue_type_template_id_d1889cce_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/avatar.vue?vue&type=template&id=d1889cce& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/avatar.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ var avatarvue_type_script_lang_js_ = ({ + props: ["avatarSize", "userAvatar", "userHref", "username"] +}); +// CONCATENATED MODULE: ./src/components/avatar.vue?vue&type=script&lang=js& + /* harmony default export */ var components_avatarvue_type_script_lang_js_ = (avatarvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/avatar.vue?vue&type=style&index=0&lang=less& +var avatarvue_type_style_index_0_lang_less_ = __webpack_require__("4902"); + +// 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, + (options.functional ? this.parent : 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/components/avatar.vue + + + + + + +/* normalize component */ + +var component = normalizeComponent( + components_avatarvue_type_script_lang_js_, + avatarvue_type_template_id_d1889cce_render, + avatarvue_type_template_id_d1889cce_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var avatar = (component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-with-reply.vue?vue&type=template&id=0cfc0fe8& +var comment_with_replyvue_type_template_id_0cfc0fe8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"c-comment-cmt"},[_c('CommentContent',{attrs:{"post-id":_vm.postId,"comment-id":_vm.item.comment.id,"date":_vm.item.comment.commentDate,"content":_vm.item.comment.content,"can-delete":_vm.power.allow || _vm.power.uid == _vm.item.user.id},on:{"addNewComment":_vm.refreshReply,"deteleComment":_vm.deteleComment}}),_c('ReplyList',{ref:"replyList",attrs:{"post-id":_vm.postId,"origin-reply-list":_vm.item.reply,"comment-id":_vm.item.comment.id,"power":_vm.power}})],1)} +var comment_with_replyvue_type_template_id_0cfc0fe8_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue?vue&type=template&id=0cfc0fe8& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-content.vue?vue&type=template&id=2c5ca314& +var comment_contentvue_type_template_id_2c5ca314_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"u-cmt"},[_c('div',{staticClass:"u-text"},[_vm._v(_vm._s(_vm.content))]),_c('div',{staticClass:"u-toolbar"},[_c('el-button',{attrs:{"size":"mini","round":"","icon":"el-icon-chat-round"},on:{"click":function($event){_vm.showForm = true}}},[_vm._v("回复")]),_c('div',{staticStyle:{"float":"right"}},[(_vm.canDelete)?_c('el-button',{attrs:{"type":"text","icon":"el-icon-delete","size":"mini"},on:{"click":function($event){return _vm.deleteComment()}}},[_vm._v("删除")]):_vm._e(),_c('el-button',{attrs:{"type":"text","icon":"el-icon-time","disabled":"","size":"mini"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)],1),(_vm.showForm)?_c('el-form',{ref:"form",staticClass:"c-comment-subbox",attrs:{"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{"type":"textarea"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{attrs:{"size":"mini","type":"primary"},on:{"click":function($event){return _vm.submit()}}},[_vm._v("提交")]),_c('el-button',{attrs:{"size":"mini","type":"text"},on:{"click":function($event){_vm.showForm = false}}},[_vm._v("收起")])],1)],1):_vm._e()],1)} +var comment_contentvue_type_template_id_2c5ca314_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-content.vue?vue&type=template&id=2c5ca314& + +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// CONCATENATED MODULE: ./src/service.js +//import { Notification } from 'element-ui'; + + +var Notification = null; + +if (true) { + Notification = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.prototype.$notify; +} else {} + +const GET = function (url, queryParams) { + let options = { + "method": "GET", + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + } + }; + return __fetch(url, queryParams, options); +}; +var postRecord = {}; +const POST = function (url, queryParams, body) { + if (!postRecord[url]) { + postRecord[url] = { + lastest: Date.now(), + count: 0 + }; // 60 秒内发送评论超过10条 + } else if (Date.now() - postRecord[url].lastest < 60 * 1000) { + if (postRecord[url].count >= 6) { + Notification.warning({ + title: "系统", + message: "你单身多久了? 动作这么快, 系统处理不过来 ( T_T )", + duration: 3000, + position: "bottom-right" + }); + return new Promise((reslove, reject) => { + reject(); + }); + } else { + postRecord[url].count = postRecord[url].count + 1; + } + } else if (Date.now() - postRecord[url].lastest > 60 * 1000) { + postRecord[url] = { + lastest: Date.now(), + count: 0 + }; + } + + let options = { + "method": "POST", + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify(body) + }; + return __fetch(url, queryParams, options); +}; +const DELETE = function (url, queryParams) { + let options = { + "method": "DELETE" + }; + return __fetch(url, queryParams, options); +}; + +function __fetch(url, queryParams, options) { + let domain = true ? main["JX3BOX"].__api : undefined; + + if (domain[domain.length - 1] == "/") { + domain = domain.substring(0, domain.length - 1); + } + + url = domain + url; + options.credentials = 'include'; + + if (queryParams) { + let queryQueue = []; + Object.keys(queryParams).forEach(key => { + queryQueue.push(key + "=" + queryParams[key]); + }); + let domain = main["JX3BOX"].__api; + + if (domain[domain.length - 1] == "/") { + domain = domain.substring(0, domain.length - 1); + } + + url = url + "?" + queryQueue.join("&"); + } + + return fetch(url, options).then(resp => { + switch (resp.status) { + case 200: + break; + + case 401: + window.location.href = main["JX3BOX"].__Links.account.login + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 403: + window.location.href = main["JX3BOX"].__Links.account.login + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 423: + window.location.href = main["JX3BOX"].__Links.account.email_verify + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 406: + resp.text().then(body => { + Notification.warning({ + title: "系统", + message: body || "提交内容不合法,请重新提交", + duration: 3000, + position: "bottom-right" + }); + }); + throw new Error("错误:" + resp.statusText); + + default: + resp.text().then(body => { + Notification.error({ + title: "系统:" + resp.statusText, + message: body || "系统错误,请稍后重试!", + duration: 3000, + position: "bottom-right" + }); + }); + throw new Error("错误:" + resp.statusText); + } + + let contentType = resp.headers.get("Content-Type"); + contentType = contentType && contentType.split(";").shift(); + + switch (contentType) { + case "application/json": + return resp.json(); + + default: + return resp.text(); + } + }); +} +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-content.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +function fillZero(num) { + return num > 9 ? num : `0${num}`; +} + +/* harmony default export */ var comment_contentvue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "content", "date", "hasReply", "canDelete"], + methods: { + deleteComment() { + this.$emit("deteleComment", this.commentId); + }, + + dataFormat(str) { + let d = new Date(str); + return d.getFullYear() + "-" + fillZero(d.getMonth() + 1) + "-" + fillZero(d.getDate()) + " " + fillZero(d.getHours()) + ":" + fillZero(d.getMinutes()) + ":" + fillZero(d.getSeconds()); + }, + + submit() { + POST(`/api/post/${this.postId}/comment/${this.commentId}/reply`, null, { + content: this.newComment.content + }).then(() => { + this.$notify({ + title: "", + message: "评论成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.newComment = {}; + this.$emit("addNewComment"); + }).catch(() => {}); + }, + + hideForm() {} + + }, + data: function () { + return { + newComment: {}, + showForm: false + }; + } +}); +// CONCATENATED MODULE: ./src/components/comment-content.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_contentvue_type_script_lang_js_ = (comment_contentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/comment-content.vue?vue&type=style&index=0&lang=less& +var comment_contentvue_type_style_index_0_lang_less_ = __webpack_require__("bc3e"); + +// CONCATENATED MODULE: ./src/components/comment-content.vue + + + + + + +/* normalize component */ + +var comment_content_component = normalizeComponent( + components_comment_contentvue_type_script_lang_js_, + comment_contentvue_type_template_id_2c5ca314_render, + comment_contentvue_type_template_id_2c5ca314_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_content = (comment_content_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/reply-list.vue?vue&type=template&id=201d176e& +var reply_listvue_type_template_id_201d176e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.replyList.length)?_c('div',{staticClass:"c-comment-replylist"},[_vm._l((_vm.replyList),function(reply){return _c('el-row',{key:reply.comment.id,staticClass:"c-comment-reply"},[_c('Avatar',{staticClass:"u-avatar",attrs:{"avatar-size":34,"user-avatar":_vm.showAvatar(reply.user.avatar),"user-href":_vm.profileLink + reply.user.id,"username":reply.user.displayName}}),_c('CommentContentSimple',{staticClass:"u-reply",attrs:{"post-id":_vm.postId,"comment-id":reply.comment.id,"date":reply.comment.commentDate,"content":reply.comment.content,"can-delete":_vm.power.allow || _vm.power.uid == reply.user.id},on:{"deleteReply":_vm.deleteReply}})],1)}),_c('el-row',[(_vm.replyList.length >= 3 || _vm.showPager)?_c('el-col',{attrs:{"span":1}},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.showPager),expression:"showPager"}],attrs:{"type":"text"},on:{"click":function($event){return _vm.showLess()}}},[_vm._v("收起")]),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.showPager),expression:"!showPager"}],attrs:{"type":"text"},on:{"click":function($event){return _vm.showMore()}}},[_vm._v("查看更多")])],1):_vm._e(),_c('el-col',{staticClass:"c-comment-reply-pages",attrs:{"span":23}},[_c('el-pagination',{directives:[{name:"show",rawName:"v-show",value:(_vm.showPager),expression:"showPager"}],attrs:{"small":"","current-page":_vm.pager.index,"page-size":_vm.pager.pageSize,"layout":"total, prev, pager, next","total":_vm.pager.total},on:{"current-change":_vm.handleCurrentChange,"update:currentPage":function($event){return _vm.$set(_vm.pager, "index", $event)},"update:current-page":function($event){return _vm.$set(_vm.pager, "index", $event)}}})],1)],1)],2):_vm._e()} +var reply_listvue_type_template_id_201d176e_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/reply-list.vue?vue&type=template&id=201d176e& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-content-simple.vue?vue&type=template&id=118e75ee& +var comment_content_simplevue_type_template_id_118e75ee_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{"width":"100%"}},[_c('div',[_vm._v(_vm._s(_vm.content))]),_c('div',{staticStyle:{"width":"100%"}},[_c('div',{staticStyle:{"float":"right"}},[(_vm.canDelete)?_c('el-button',{attrs:{"type":"text","icon":"el-icon-delete","size":"mini"},on:{"click":function($event){return _vm.deleteComment()}}},[_vm._v("删除")]):_vm._e(),_c('el-button',{attrs:{"type":"text","icon":"el-icon-time","disabled":"","size":"mini"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)])])} +var comment_content_simplevue_type_template_id_118e75ee_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue?vue&type=template&id=118e75ee& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-content-simple.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +function comment_content_simplevue_type_script_lang_js_fillZero(num) { + return num > 9 ? num : `0${num}`; +} + +/* harmony default export */ var comment_content_simplevue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "content", "date", "hasReply", "canDelete"], + methods: { + deleteComment() { + this.$emit("deleteReply", this.commentId); + }, + + dataFormat(str) { + let d = new Date(str); + return d.getFullYear() + "-" + comment_content_simplevue_type_script_lang_js_fillZero(d.getMonth() + 1) + "-" + comment_content_simplevue_type_script_lang_js_fillZero(d.getDate()) + " " + comment_content_simplevue_type_script_lang_js_fillZero(d.getHours()) + ":" + comment_content_simplevue_type_script_lang_js_fillZero(d.getMinutes()) + ":" + comment_content_simplevue_type_script_lang_js_fillZero(d.getSeconds()); + } + + } +}); +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_content_simplevue_type_script_lang_js_ = (comment_content_simplevue_type_script_lang_js_); +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue + + + + + +/* normalize component */ + +var comment_content_simple_component = normalizeComponent( + components_comment_content_simplevue_type_script_lang_js_, + comment_content_simplevue_type_template_id_118e75ee_render, + comment_content_simplevue_type_template_id_118e75ee_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_content_simple = (comment_content_simple_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/reply-list.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var reply_listvue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "originReplyList", "power"], + components: { + Avatar: avatar, + CommentContentSimple: comment_content_simple + }, + backReplyList: [], + data: function () { + return { + profileLink: main["JX3BOX"].__Links.author, + replyList: [], + pager: { + index: 1, + pageSize: 10, + pageTotal: 1, + total: 0 + }, + showPager: false + }; + }, + + mounted() { + this.backReplyList = this.originReplyList || []; + this.replyList = this.backReplyList; + this.$on("refresh", () => { + if (this.showPager) { + this.loadCommentList(this.pager.index); + } else if (this.replyList.length < 3) { + this.loadCommentList(1, 3); + } + }); + }, + + methods: { + getStyle(index) { + return index % 2 == 1 ? { + // backgroundColor: "#f8f8f8", + padding: "10px 10px 0px 10px" + } : { + padding: "10px 10px 0px 10px" + }; + }, + + showAvatar: main["Utils"].showAvatar, + + showMore() { + this.showPager = true; + this.loadCommentList(1); + }, + + showLess() { + this.showPager = false; + this.replyList = this.backReplyList; + }, + + handleCurrentChange(gotoIndex) { + this.loadCommentList(gotoIndex); + }, + + deleteReply(id) { + DELETE(`/api/post/${this.postId}/comment/${id}`).then(() => { + this.$notify({ + title: "", + message: "删除成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + + if (this.showPager) { + this.loadCommentList(this.pager.index); + } else { + this.loadCommentList(this.pager.index, 3); + } + }).catch(() => {}); + }, + + loadCommentList(index, pageSize) { + if (!pageSize) { + pageSize = 6; + } + + GET(`/api/post/${this.postId}/comment/${this.commentId}/reply/page/${index}?pageSize=${pageSize}`).then(resp => { + if (index == 1 && pageSize == 3) { + this.backReplyList = resp.data; + } + + this.replyList = resp.data; + this.pager = resp.page; + }).catch(() => {}); + } + + } +}); +// CONCATENATED MODULE: ./src/components/reply-list.vue?vue&type=script&lang=js& + /* harmony default export */ var components_reply_listvue_type_script_lang_js_ = (reply_listvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/reply-list.vue?vue&type=style&index=0&lang=less& +var reply_listvue_type_style_index_0_lang_less_ = __webpack_require__("2edf"); + +// CONCATENATED MODULE: ./src/components/reply-list.vue + + + + + + +/* normalize component */ + +var reply_list_component = normalizeComponent( + components_reply_listvue_type_script_lang_js_, + reply_listvue_type_template_id_201d176e_render, + reply_listvue_type_template_id_201d176e_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var reply_list = (reply_list_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-with-reply.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var comment_with_replyvue_type_script_lang_js_ = ({ + props: ["item", "postId", "power"], + components: { + CommentContent: comment_content, + ReplyList: reply_list + }, + methods: { + deteleComment(id) { + this.$emit("deteleComment", id); + }, + + refreshReply() { + this.$refs.replyList.$emit("refresh"); + } + + } +}); +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_with_replyvue_type_script_lang_js_ = (comment_with_replyvue_type_script_lang_js_); +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue + + + + + +/* normalize component */ + +var comment_with_reply_component = normalizeComponent( + components_comment_with_replyvue_type_script_lang_js_, + comment_with_replyvue_type_template_id_0cfc0fe8_render, + comment_with_replyvue_type_template_id_0cfc0fe8_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_with_reply = (comment_with_reply_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/Comment.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var Commentvue_type_script_lang_js_ = ({ + name: "Comment", + props: ["postId"], + components: { + Avatar: avatar, + CommmentWithReply: comment_with_reply + }, + data: function () { + return { + commentPower: { + allow: false, + uid: -1 + }, + commentList: [], + showAvatar: main["Utils"].showAvatar, + profileLink: main["JX3BOX"].__Links.author + "", + newComment: {}, + pager: { + index: 1, + pageSize: 10, + pageTotal: 1, + total: 0 + } + }; + }, + methods: { + deteleComment(id) { + DELETE(`/api/post/${this.postId}/comment/${id}`).then(() => { + this.$notify({ + title: "", + message: "删除成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.reloadCommentList(this.pager.index); + }).catch(() => {}); + }, + + reloadCommentList(index) { + GET(`/api/post/${this.postId}/comment/page/${index}`).then(resp => { + this.commentList = resp.data || []; + this.pager = resp.page; + }).catch(() => {}); + }, + + handleCurrentChange(gotoIndex) { + this.reloadCommentList(gotoIndex); + }, + + onSubmit() { + POST(`/api/post/${this.postId}/comment`, null, { + content: this.newComment.content + }).then(() => { + this.$notify({ + title: "", + message: "评论成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.newComment = {}; + + if (this.pager.index == this.pager.pageTotal || this.pager.total % this.pager.pageSize == 0) { + this.reloadCommentList(this.pager.index); + } + }).catch(() => {}); + } + + }, + + mounted() { + this.reloadCommentList(1); + GET(`/api/post/${this.postId}/can-i-delete-comment`).then(power => { + this.commentPower = power; + }).catch(() => {}); + } + +}); +// CONCATENATED MODULE: ./src/Comment.vue?vue&type=script&lang=js& + /* harmony default export */ var src_Commentvue_type_script_lang_js_ = (Commentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/Comment.vue?vue&type=style&index=0&lang=less& +var Commentvue_type_style_index_0_lang_less_ = __webpack_require__("8a8d"); + +// CONCATENATED MODULE: ./src/Comment.vue + + + + + + +/* normalize component */ + +var Comment_component = normalizeComponent( + src_Commentvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var Comment = (Comment_component.exports); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (Comment); + + + +/***/ }) + +/******/ })["default"]; +//# sourceMappingURL=comment.common.js.map \ No newline at end of file diff --git a/comment.common.js.map b/comment.common.js.map new file mode 100644 index 0000000..1bcaec5 --- /dev/null +++ b/comment.common.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://comment/webpack/bootstrap","webpack://comment/./src/components/reply-list.vue?0f7f","webpack://comment/./src/Comment.vue?cbf1","webpack://comment/./src/components/avatar.vue?23d4","webpack://comment/./src/components/reply-list.vue?1a4a","webpack://comment/./src/components/avatar.vue?f4f0","webpack://comment/./node_modules/@jx3box/jx3box-common/js/utils.js","webpack://comment/./src/Comment.vue?b1b1","webpack://comment/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://comment/./src/components/comment-content.vue?e4dc","webpack://comment/./node_modules/@jx3box/jx3box-common/js/oauth.js","webpack://comment/./src/components/comment-content.vue?2cc2","webpack://comment/./node_modules/@jx3box/jx3box-common/js/user.js","webpack://comment/./node_modules/@jx3box/jx3box-common/main.js","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://comment/./src/Comment.vue?3896","webpack://comment/./src/components/avatar.vue?3d96","webpack://comment/src/components/avatar.vue","webpack://comment/./src/components/avatar.vue?da8f","webpack://comment/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://comment/./src/components/avatar.vue?e1d5","webpack://comment/./src/components/comment-with-reply.vue?d6e9","webpack://comment/./src/components/comment-content.vue?bdad","webpack://comment/./src/service.js","webpack://comment/src/components/comment-content.vue","webpack://comment/./src/components/comment-content.vue?15c5","webpack://comment/./src/components/comment-content.vue?bcdb","webpack://comment/./src/components/reply-list.vue?0226","webpack://comment/./src/components/comment-content-simple.vue?d516","webpack://comment/src/components/comment-content-simple.vue","webpack://comment/./src/components/comment-content-simple.vue?c10c","webpack://comment/./src/components/comment-content-simple.vue","webpack://comment/src/components/reply-list.vue","webpack://comment/./src/components/reply-list.vue?bb51","webpack://comment/./src/components/reply-list.vue?d204","webpack://comment/src/components/comment-with-reply.vue","webpack://comment/./src/components/comment-with-reply.vue?019b","webpack://comment/./src/components/comment-with-reply.vue","webpack://comment/src/Comment.vue","webpack://comment/./src/Comment.vue?600f","webpack://comment/./src/Comment.vue?6497","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["Notification","process","Vue","prototype","$notify","GET","url","queryParams","options","headers","__fetch","postRecord","POST","body","lastest","Date","now","count","warning","title","message","duration","position","Promise","reslove","reject","JSON","stringify","DELETE","domain","JX3BOX","__api","length","substring","credentials","queryQueue","Object","keys","forEach","key","push","join","fetch","then","resp","status","window","location","href","__Links","account","login","encodeURIComponent","Error","statusText","email_verify","text","error","contentType","get","split","shift","json"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFA;AAAA;AAAA;AAAmgB,CAAgB,yiBAAG,EAAC,C;;;;;;;ACAvhB,uC;;;;;;;;ACAA;AAAA;AAAA;AAA+f,CAAgB,qiBAAG,EAAC,C;;;;;;;;;;;;;;ACAnhB,uC;;;;;;;ACAA,uC;;;;;;;ACAA,OAAO,0BAA0B,GAAG,mBAAO,CAAC,MAAU;;AAEtD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA,C;;;;;;;;ACpCA;AAAA;AAAA;AAA2e,CAAgB,siBAAG,EAAC,C;;;;;;;ACA/f,gC;;;;;;;ACAA,uC;;;;;;;ACAA,OAAO,WAAW,GAAG,mBAAO,CAAC,MAAU;AACvC;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B,KAAK;AACL;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B,KAAK;AACL;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;;AAEA,sB;;;;;;;;ACnBA;AAAA;AAAA;AAAwgB,CAAgB,8iBAAG,EAAC,C;;;;;;;ACA5hB,OAAO,aAAa,GAAG,mBAAO,CAAC,MAAS;AACxC,OAAO,uBAAuB,GAAG,mBAAO,CAAC,MAAU;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrHA,eAAe,mBAAO,CAAC,MAAa;AACpC,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,aAAa,mBAAO,CAAC,MAAW;AAChC,cAAc,mBAAO,CAAC,MAAY;;AAElC,kBAAkB;;;;;;;;;;;;;;;;;;;;ACNlB;;AAEA;AACA;AACA,MAAM,KAAuC,EAAE,yBAQ5C;;AAEH;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;ACrBnB,0BAA0B,aAAa,0BAA0B,wBAAwB,0BAA0B,wBAAwB,8BAA8B,8CAA8C,wBAAwB,oCAAoC,OAAO,4FAA4F,QAAQ,wDAAwD,yCAAyC,kCAAkC,yCAAyC,+BAA+B,iBAAiB,KAAK,sBAAsB,mEAAmE,iBAAiB,iDAAiD,eAAe,OAAO,6IAA6I,0BAA0B,OAAO,0DAA0D,KAAK,mCAAmC,MAAM,yDAAyD,OAAO,WAAW,gBAAgB,OAAO,sCAAsC,oCAAoC,aAAa,gBAAgB,QAAQ,0CAA0C,QAAQ,wDAAwD,yCAAyC,kCAAkC,yCAAyC,OAAO,iBAAiB,KAAK,sBAAsB,0CAA0C,OAAO,WAAW,sBAAsB,aAAa,qBAAqB,QAAQ,mKAAmK,KAAK,+EAA+E,4CAA4C,wCAAwC,8CAA8C;AAC7/D;;;;;;;;;ACDA,IAAI,0CAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,+BAA+B,gBAAgB,8BAA8B,qBAAqB,kBAAkB,kCAAkC,6DAA6D,oBAAoB,4BAA4B,wDAAwD;AACra,IAAI,mDAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqBnB;AACA;AADA,G;;ACtBgU,CAAgB,4GAAG,EAAC,C;;;;;ACApV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGqF;AAC3B;AACL;AACc;;;AAGnE;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,yCAAM;AACR,EAAE,0CAAM;AACR,EAAE,mDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,4D;;ACnBf,IAAI,sDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,4BAA4B,uBAAuB,OAAO,+LAA+L,KAAK,oEAAoE,kBAAkB,uBAAuB,4GAA4G;AACjkB,IAAI,+DAAe;;;;;;ACDnB,IAAI,mDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,oBAAoB,YAAY,qBAAqB,0CAA0C,wBAAwB,kBAAkB,OAAO,qDAAqD,KAAK,yBAAyB,sBAAsB,2BAA2B,aAAa,iBAAiB,kCAAkC,OAAO,oDAAoD,KAAK,yBAAyB,6BAA6B,0CAA0C,OAAO,iEAAiE,kFAAkF,iDAAiD,wBAAwB,oCAAoC,OAAO,kBAAkB,QAAQ,wDAAwD,yCAAyC,kCAAkC,yCAAyC,OAAO,+BAA+B,KAAK,yBAAyB,sBAAsB,iCAAiC,OAAO,4BAA4B,KAAK,yBAAyB,uBAAuB;AACrwC,IAAI,4DAAe;;;;;;;;;;ACDnB;AACA;AACA;AACA,IAAIA,YAAY,GAAG,IAAnB;;AAEA,IAAIC,IAAJ,EAA0C;AACtCD,cAAY,GAAGE,sDAAG,CAACC,SAAJ,CAAcC,OAA7B;AACH,CAFD,MAEO,EAEN;;AAEM,MAAMC,GAAG,GAAG,UAAUC,GAAV,EAAeC,WAAf,EAA4B;AAC3C,MAAIC,OAAO,GAAG;AACV,cAAU,KADA;AAEVC,WAAO,EAAE;AACL,gBAAU,kBADL;AAEL,sBAAgB;AAFX;AAFC,GAAd;AAOA,SAAOC,OAAO,CAACJ,GAAD,EAAMC,WAAN,EAAmBC,OAAnB,CAAd;AAEH,CAVM;AAYP,IAAIG,UAAU,GAAG,EAAjB;AAEO,MAAMC,IAAI,GAAG,UAAUN,GAAV,EAAeC,WAAf,EAA4BM,IAA5B,EAAkC;AAElD,MAAI,CAACF,UAAU,CAACL,GAAD,CAAf,EAAsB;AAClBK,cAAU,CAACL,GAAD,CAAV,GAAkB;AACdQ,aAAO,EAAEC,IAAI,CAACC,GAAL,EADK;AAEdC,WAAK,EAAE;AAFO,KAAlB,CADkB,CAKlB;AACH,GAND,MAMO,IAAIF,IAAI,CAACC,GAAL,KAAaL,UAAU,CAACL,GAAD,CAAV,CAAgBQ,OAA7B,GAAuC,KAAK,IAAhD,EAAsD;AAEzD,QAAIH,UAAU,CAACL,GAAD,CAAV,CAAgBW,KAAhB,IAAyB,CAA7B,EAAgC;AAC5BjB,kBAAY,CAACkB,OAAb,CAAqB;AACjBC,aAAK,EAAE,IADU;AAEjBC,eAAO,EAAE,gCAFQ;AAGjBC,gBAAQ,EAAE,IAHO;AAIjBC,gBAAQ,EAAE;AAJO,OAArB;AAMA,aAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACpCA,cAAM;AACT,OAFM,CAAP;AAGH,KAVD,MAUO;AACHd,gBAAU,CAACL,GAAD,CAAV,CAAgBW,KAAhB,GAAwBN,UAAU,CAACL,GAAD,CAAV,CAAgBW,KAAhB,GAAwB,CAAhD;AACH;AAEJ,GAhBM,MAgBA,IAAIF,IAAI,CAACC,GAAL,KAAaL,UAAU,CAACL,GAAD,CAAV,CAAgBQ,OAA7B,GAAuC,KAAK,IAAhD,EAAsD;AACzDH,cAAU,CAACL,GAAD,CAAV,GAAkB;AACdQ,aAAO,EAAEC,IAAI,CAACC,GAAL,EADK;AAEdC,WAAK,EAAE;AAFO,KAAlB;AAIH;;AACD,MAAIT,OAAO,GAAG;AACV,cAAU,MADA;AAEVC,WAAO,EAAE;AACL,gBAAU,kBADL;AAEL,sBAAgB;AAFX,KAFC;AAMVI,QAAI,EAAEa,IAAI,CAACC,SAAL,CAAed,IAAf;AANI,GAAd;AAQA,SAAOH,OAAO,CAACJ,GAAD,EAAMC,WAAN,EAAmBC,OAAnB,CAAd;AACH,CAvCM;AA0CA,MAAMoB,MAAM,GAAG,UAAUtB,GAAV,EAAeC,WAAf,EAA4B;AAC9C,MAAIC,OAAO,GAAG;AACV,cAAU;AADA,GAAd;AAGA,SAAOE,OAAO,CAACJ,GAAD,EAAMC,WAAN,EAAmBC,OAAnB,CAAd;AACH,CALM;;AAOP,SAASE,OAAT,CAAiBJ,GAAjB,EAAsBC,WAAtB,EAAmCC,OAAnC,EAA4C;AACxC,MAAIqB,MAAM,GAAG5B,KAAA,GAAuC6B,cAAM,CAACC,KAA9C,GAAsD,SAAnE;;AACA,MAAIF,MAAM,CAACA,MAAM,CAACG,MAAP,GAAgB,CAAjB,CAAN,IAA6B,GAAjC,EAAsC;AAClCH,UAAM,GAAGA,MAAM,CAACI,SAAP,CAAiB,CAAjB,EAAoBJ,MAAM,CAACG,MAAP,GAAgB,CAApC,CAAT;AACH;;AACD1B,KAAG,GAAGuB,MAAM,GAAGvB,GAAf;AACAE,SAAO,CAAC0B,WAAR,GAAsB,SAAtB;;AACA,MAAI3B,WAAJ,EAAiB;AACb,QAAI4B,UAAU,GAAG,EAAjB;AACAC,UAAM,CAACC,IAAP,CAAY9B,WAAZ,EAAyB+B,OAAzB,CAAkCC,GAAD,IAAS;AACtCJ,gBAAU,CAACK,IAAX,CAAgBD,GAAG,GAAG,GAAN,GAAYhC,WAAW,CAACgC,GAAD,CAAvC;AACH,KAFD;AAGA,QAAIV,MAAM,GAAGC,cAAM,CAACC,KAApB;;AACA,QAAIF,MAAM,CAACA,MAAM,CAACG,MAAP,GAAgB,CAAjB,CAAN,IAA6B,GAAjC,EAAsC;AAClCH,YAAM,GAAGA,MAAM,CAACI,SAAP,CAAiB,CAAjB,EAAoBJ,MAAM,CAACG,MAAP,GAAgB,CAApC,CAAT;AACH;;AACD1B,OAAG,GAAGA,GAAG,GAAG,GAAN,GAAY6B,UAAU,CAACM,IAAX,CAAgB,GAAhB,CAAlB;AACH;;AAED,SAAOC,KAAK,CAACpC,GAAD,EAAME,OAAN,CAAL,CAAoBmC,IAApB,CAA0BC,IAAD,IAAU;AACtC,YAAQA,IAAI,CAACC,MAAb;AACI,WAAK,GAAL;AACI;;AACJ,WAAK,GAAL;AACIC,cAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBlB,cAAM,CAACmB,OAAP,CAAeC,OAAf,CAAuBC,KAAvB,GAA+B,YAA/B,GAA8CC,kBAAkB,CAACN,MAAM,CAACC,QAAP,CAAgBC,IAAjB,CAAvF;AACA,cAAM,IAAIK,KAAJ,CAAU,QAAQT,IAAI,CAACU,UAAvB,CAAN;;AACJ,WAAK,GAAL;AACIR,cAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBlB,cAAM,CAACmB,OAAP,CAAeC,OAAf,CAAuBC,KAAvB,GAA+B,YAA/B,GAA8CC,kBAAkB,CAACN,MAAM,CAACC,QAAP,CAAgBC,IAAjB,CAAvF;AACA,cAAM,IAAIK,KAAJ,CAAU,QAAQT,IAAI,CAACU,UAAvB,CAAN;;AACJ,WAAK,GAAL;AACIR,cAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBlB,cAAM,CAACmB,OAAP,CAAeC,OAAf,CAAuBK,YAAvB,GAAsC,YAAtC,GAAqDH,kBAAkB,CAACN,MAAM,CAACC,QAAP,CAAgBC,IAAjB,CAA9F;AACA,cAAM,IAAIK,KAAJ,CAAU,QAAQT,IAAI,CAACU,UAAvB,CAAN;;AACJ,WAAK,GAAL;AACIV,YAAI,CAACY,IAAL,GAAYb,IAAZ,CAAkB9B,IAAD,IAAU;AACvBb,sBAAY,CAACkB,OAAb,CAAqB;AACjBC,iBAAK,EAAE,IADU;AAEjBC,mBAAO,EAAEP,IAAI,IAAI,eAFA;AAGjBQ,oBAAQ,EAAE,IAHO;AAIjBC,oBAAQ,EAAE;AAJO,WAArB;AAMH,SAPD;AASA,cAAM,IAAI+B,KAAJ,CAAU,QAAQT,IAAI,CAACU,UAAvB,CAAN;;AACJ;AACIV,YAAI,CAACY,IAAL,GAAYb,IAAZ,CAAkB9B,IAAD,IAAU;AACvBb,sBAAY,CAACyD,KAAb,CAAmB;AACftC,iBAAK,EAAE,QAAQyB,IAAI,CAACU,UADL;AAEflC,mBAAO,EAAEP,IAAI,IAAI,aAFF;AAGfQ,oBAAQ,EAAE,IAHK;AAIfC,oBAAQ,EAAE;AAJK,WAAnB;AAMH,SAPD;AASA,cAAM,IAAI+B,KAAJ,CAAU,QAAQT,IAAI,CAACU,UAAvB,CAAN;AAjCR;;AAmCA,QAAII,WAAW,GAAGd,IAAI,CAACnC,OAAL,CAAakD,GAAb,CAAiB,cAAjB,CAAlB;AACAD,eAAW,GAAGA,WAAW,IAAIA,WAAW,CAACE,KAAZ,CAAkB,GAAlB,EAAuBC,KAAvB,EAA7B;;AACA,YAAQH,WAAR;AACI,WAAK,kBAAL;AACI,eAAOd,IAAI,CAACkB,IAAL,EAAP;;AACJ;AACI,eAAOlB,IAAI,CAACY,IAAL,EAAP;AAJR;AAMH,GA5CM,CAAP;AA6CH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnFD;;AACA;AACA;AACA;;AACA;AACA,4EADA;AAEA;AACA;AACA;AACA,KAHA;;AAIA;AACA;AACA,aACA,kBACA,GADA,GAEA,0BAFA,GAGA,GAHA,GAIA,qBAJA,GAKA,GALA,GAMA,sBANA,GAOA,GAPA,GAQA,wBARA,GASA,GATA,GAUA,wBAXA;AAaA,KAnBA;;AAoBA;AACA,WACA,0DADA,EAEA,IAFA,EAGA;AACA;AADA,OAHA,EAOA,IAPA,CAOA;AACA;AACA,mBADA;AAEA,0BAFA;AAGA,yBAHA;AAIA,wBAJA;AAKA;AALA;AAOA;AACA;AACA,OAjBA,EAkBA,KAlBA,CAkBA,QAlBA;AAmBA,KAxCA;;AAyCA;;AAzCA,GAFA;AA6CA;AACA;AACA,oBADA;AAEA;AAFA;AAIA;AAlDA,G;;AC3DyU,CAAgB,8HAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACc;;;AAG5E;AAC0F;AAC1F,IAAI,yBAAS,GAAG,kBAAU;AAC1B,EAAE,kDAAM;AACR,EAAE,mDAAM;AACR,EAAE,4DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,6EAAS,Q;;ACnBxB,IAAI,8CAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,wCAAwC,kCAAkC,yCAAyC,oBAAoB,mDAAmD,eAAe,8BAA8B,gJAAgJ,6BAA6B,6BAA6B,mLAAmL,KAAK,+BAA+B,MAAM,yEAAyE,OAAO,UAAU,kBAAkB,aAAa,0EAA0E,SAAS,cAAc,KAAK,yBAAyB,wBAAwB,iCAAiC,aAAa,4EAA4E,SAAS,cAAc,KAAK,yBAAyB,wBAAwB,6CAA6C,2CAA2C,WAAW,sBAAsB,aAAa,0EAA0E,SAAS,qIAAqI,KAAK,+EAA+E,4CAA4C,wCAAwC,8CAA8C;AAClvD,IAAI,uDAAe;;;;;;ACDnB,IAAI,0DAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,aAAa,gBAAgB,oDAAoD,aAAa,gBAAgB,YAAY,aAAa,iBAAiB,kCAAkC,OAAO,oDAAoD,KAAK,yBAAyB,6BAA6B,0CAA0C,OAAO,iEAAiE;AAC5gB,IAAI,mEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqBnB;AACA;AACA;;AACA;AACA,4EADA;AAEA;AACA;AACA;AACA,KAHA;;AAIA;AACA;AACA,aACA,kBACA,GADA,GAEA,wEAFA,GAGA,GAHA,GAIA,mEAJA,GAKA,GALA,GAMA,oEANA,GAOA,GAPA,GAQA,sEARA,GASA,GATA,GAUA,sEAXA;AAaA;;AAnBA;AAFA,G;;ACzBgV,CAAgB,4IAAG,EAAC,C;;ACA/P;AAC3B;AACL;;;AAGrE;AAC0F;AAC1F,IAAI,gCAAS,GAAG,kBAAU;AAC1B,EAAE,yDAAM;AACR,EAAE,0DAAM;AACR,EAAE,mEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2FAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+BxB;AACA;AACA;AACA;AACA;AACA,4DADA;AAEA;AACA,kBADA;AAEA;AAFA,GAFA;AAMA,mBANA;AAOA;AACA;AACA,gDADA;AAEA,mBAFA;AAIA;AACA,gBADA;AAEA,oBAFA;AAGA,oBAHA;AAIA;AAJA,OAJA;AAUA;AAVA;AAYA,GApBA;;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KANA;AAOA,GA/BA;;AAgCA;AACA;AACA,8BACA;AACA;AACA;AAFA,OADA,GAKA;AAAA;AAAA,OALA;AAMA,KARA;;AASA,wCATA;;AAUA;AACA;AACA;AACA,KAbA;;AAcA;AACA;AACA;AACA,KAjBA;;AAkBA;AACA;AACA,KApBA;;AAqBA;AACA,uDACA,IADA,CACA;AACA;AACA,mBADA;AAEA,0BAFA;AAGA,yBAHA;AAIA,wBAJA;AAKA;AALA;;AAQA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA,OAfA,EAgBA,KAhBA,CAgBA,QAhBA;AAiBA,KAvCA;;AAwCA;AACA;AACA;AACA;;AACA,UACA,6FADA,EAGA,IAHA,CAGA;AACA;AACA;AACA;;AACA;AACA;AACA,OATA,EAUA,KAVA,CAUA,QAVA;AAWA;;AAvDA;AAhCA,G;;ACrDoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACc;;;AAGvE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;;;;;;;;;;;;;;;;;;ACGxB;AACA;AAEA;AACA,oCADA;AAEA;AACA,mCADA;AAEA;AAFA,GAFA;AAMA;AACA;AACA;AACA,KAHA;;AAIA;AACA;AACA;;AANA;AANA,G;;ACzB4U,CAAgB,oIAAG,EAAC,C;;ACA/P;AAC3B;AACL;;;AAGjE;AAC0F;AAC1F,IAAI,4BAAS,GAAG,kBAAU;AAC1B,EAAE,qDAAM;AACR,EAAE,sDAAM;AACR,EAAE,+DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mFAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC8DxB;AACA;AACA;AACA;AACA;AACA,iBADA;AAEA,mBAFA;AAGA;AACA,kBADA;AAEA;AAFA,GAHA;AAOA;AACA;AACA;AACA,oBADA;AAEA;AAFA,OADA;AAKA,qBALA;AAMA,0CANA;AAOA,qDAPA;AAQA,oBARA;AASA;AACA,gBADA;AAEA,oBAFA;AAGA,oBAHA;AAIA;AAJA;AATA;AAgBA,GAxBA;AAyBA;AACA;AACA,uDACA,IADA,CACA;AACA;AACA,mBADA;AAEA,0BAFA;AAGA,yBAHA;AAIA,wBAJA;AAKA;AALA;AAOA;AACA,OAVA,EAWA,KAXA,CAWA,QAXA;AAYA,KAdA;;AAeA;AACA,4DACA,IADA,CACA;AACA;AACA;AACA,OAJA,EAKA,KALA,CAKA,QALA;AAMA,KAtBA;;AAuBA;AACA;AACA,KAzBA;;AA0BA;AACA;AACA;AADA,SAGA,IAHA,CAGA;AACA;AACA,mBADA;AAEA,0BAFA;AAGA,yBAHA;AAIA,wBAJA;AAKA;AALA;AAOA;;AACA,YACA,4CACA,2CAFA,EAGA;AACA;AACA;AACA,OAlBA,EAmBA,KAnBA,CAmBA,QAnBA;AAoBA;;AA/CA,GAzBA;;AA2EA;AACA;AACA,yDACA,IADA,CACA;AACA;AACA,KAHA,EAIA,KAJA,CAIA,QAJA;AAKA;;AAlFA,G;;ACpFkT,CAAgB,uGAAG,EAAC,C;;;;;ACAhP;AAC3B;AACL;AACc;;;AAGpE;AACuF;AACvF,IAAI,iBAAS,GAAG,kBAAU;AAC1B,EAAE,mCAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,6DAAS,Q;;ACnBA;AACA;AACT,sFAAG;AACI","file":"comment.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","const {default_avatar,__dataPath} = require('./jx3box');\n\nmodule.exports = {\n resolveImagePath : function (str){\n return (str && str.length) ? str.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com') : ''\n },\n\n checkImageLoad : function (jq){\n jq.length &&\n jq.one('error',function (){\n var img_url = $(this).attr(\"src\");\n var fix_url = img_url.replace(\n /console\\.cnyixun\\.com/g,\n \"oss.jx3box.com\"\n );\n $(this).attr(\"src\", fix_url);\n })\n },\n\n showAvatar : function (url,size='s'){\n\n const styleMap = {\n s : \"?x-oss-process=style/avatar_s\",\n m : \"?x-oss-process=style/avatar_m\",\n l : \"?x-oss-process=style/avatar_l\"\n }\n\n let avatar = !url ? default_avatar : url.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com')\n\n return avatar + styleMap[size]\n\n },\n\n dataPath :function (path,version=\"latest\"){\n return __dataPath + '@' + version + '/data/' + path\n }\n}","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"","module.exports = require(\"vue\");","// extracted by mini-css-extract-plugin","const { __server } = require(\"./jx3box\");\nconst OAuth = {\n github: {\n client_id: \"5fbf7a66cd7d3d0f5153\",\n authorize_uri: \"https://github.com/login/oauth/authorize\",\n callback : `${__server}oauth/github/callback`\n },\n qq : {\n client_id : \"101870778\",\n authorize_uri : \"https://graph.qq.com/oauth2.0/authorize\",\n callback : `${__server}oauth/qq/callback`\n },\n weibo : {\n client_id : \"4076650110\",\n authorize_uri : \"https://api.weibo.com/oauth2/authorize\",\n callback : `${__server}oauth/weibo/callback`\n }\n}\n\nmodule.exports = OAuth","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"","const { showAvatar } = require(\"./utils\");\nconst {__Links,default_avatar} = require('./jx3box');\n\nclass User {\n constructor() {\n // TOKEN有效期\n this.expires = 14400000;\n this.created_at = 0;\n // 登录状态\n this.logged_in = false;\n\n // 缓存资料\n this.profile = {};\n this.anonymous = {\n uid: 0,\n group: 0,\n name: \"未登录\",\n avatar: showAvatar(null,'s'),\n bio: \"凭栏望千里,煮酒论江湖。\",\n avatar_origin : default_avatar\n };\n\n }\n\n // 检查当前状态\n check() {\n if (this.isLogin()) {\n this.profile.uid = localStorage.getItem(\"uid\");\n this.profile.group = localStorage.getItem(\"group\") || 1;\n this.profile.name = localStorage.getItem(\"name\");\n this.profile.avatar_origin = localStorage.getItem(\"avatar\") || default_avatar;\n this.profile.avatar = showAvatar(this.profile.avatar_origin,'s')\n this.profile.bio = localStorage.getItem(\"bio\") || '';\n } else {\n this.profile = this.anonymous;\n }\n return this;\n }\n\n // 更新指定缓存字段\n refresh(key,val){\n return localStorage.setItem(key,val);\n }\n\n // 判断是否已登录\n isLogin() {\n this.created_at =\n localStorage.getItem(\"created_at\") == null\n ? -Infinity\n : localStorage.getItem(\"created_at\");\n this.logged_in =\n localStorage.getItem(\"logged_in\") == \"true\" ? true : false;\n return this.logged_in && Date.now() - this.created_at < this.expires;\n }\n\n // 保存用户资料\n _save(data){\n localStorage.setItem(\"created_at\", Date.now());\n localStorage.setItem(\"logged_in\", true);\n localStorage.setItem(\"token\", data.token);\n localStorage.setItem(\"uid\", data.uid);\n localStorage.setItem(\"group\", data.group);\n localStorage.setItem(\"name\", data.name);\n localStorage.setItem(\"avatar\", data.avatar);\n localStorage.setItem(\"bio\", data.bio);\n }\n\n // 更新用户资料\n update(data){\n return new Promise((resolve,reject)=>{\n try {\n this._save(data)\n resolve(this)\n } catch (err) {\n //如果localstorage不存在或已满\n if (localStorage) {\n localStorage.clear();\n this._save(data)\n resolve(value)\n } else {\n reject(new Error('localStorage不可用'))\n }\n }\n })\n }\n\n // 销毁登录状态\n destroy() {\n // for非鉴权接口\n localStorage.removeItem(\"created_at\");\n localStorage.setItem(\"logged_in\", \"false\");\n // for鉴权接口\n localStorage.removeItem(\"token\");\n }\n\n // 跳转至登录\n toLogin(url){\n url = url || location.href\n location.href = __Links.account.login + '?redirect=' + url\n }\n\n // 获取用户基础缓存信息\n getInfo() {\n this.check();\n return this.profile;\n }\n\n // 获取本地令牌\n getToken() {\n return localStorage.getItem(\"token\");\n }\n\n // 获取UUID\n getUUID() {\n return localStorage.getItem(\"device_id\");\n }\n}\nmodule.exports = new User();\n","const JX3BOX = require(\"./js/jx3box\");\nconst SEO = require(\"./js/seo\");\nconst Utils = require(\"./js/utils\");\nconst User = require(\"./js/user\");\nconst OAuth = require(\"./js/oauth\");\n\nmodule.exports = { JX3BOX, SEO, Utils, User, OAuth };\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"c-comment\"},[_c('el-main',[_c('el-form',{ref:\"form\",staticClass:\"c-comment-box\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"rows\":\"3\",\"type\":\"textarea\",\"maxlength\":\"300\",\"show-word-limit\":\"\",\"placeholder\":\"参与讨论...\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{staticClass:\"u-publish\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"发表评论\")])],1)],1),_vm._l((_vm.commentList),function(item){return _c('div',{key:item.comment.id,staticClass:\"c-comment-list\"},[_c('Avatar',{attrs:{\"avatar-size\":68,\"user-avatar\":_vm.showAvatar(item.user.avatar),\"user-href\":_vm.profileLink + item.user.id,\"username\":item.user.displayName}}),_c('CommmentWithReply',{attrs:{\"item\":item,\"post-id\":_vm.postId,\"power\":_vm.commentPower},on:{\"deteleComment\":_vm.deteleComment}})],1)}),(_vm.commentList.length > 5)?_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form',{attrs:{\"inline\":true,\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{staticStyle:{\"width\":\"360px\"},attrs:{\"show-word-limit\":\"\",\"placeholder\":\"参与讨论\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"提交\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-pagination',{staticStyle:{\"text-align\":\"right\"},attrs:{\"background\":\"\",\"hide-on-single-page\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"prev, pager, next, total\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1):_vm._e()],2),_c('el-footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-avatar\"},[_c('el-link',{staticClass:\"u-avatar\",attrs:{\"href\":_vm.userHref}},[_c('el-avatar',{staticClass:\"u-avatar-pic\",attrs:{\"shape\":\"square\",\"size\":_vm.avatarSize,\"src\":_vm.userAvatar}})],1),_c('el-link',{staticClass:\"u-name\",attrs:{\"type\":\"primary\",\"target\":\"_blank\",\"href\":_vm.userHref}},[_vm._v(_vm._s(_vm.username))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./avatar.vue?vue&type=template&id=d1889cce&\"\nimport script from \"./avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./avatar.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-cmt\"},[_c('CommentContent',{attrs:{\"post-id\":_vm.postId,\"comment-id\":_vm.item.comment.id,\"date\":_vm.item.comment.commentDate,\"content\":_vm.item.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == _vm.item.user.id},on:{\"addNewComment\":_vm.refreshReply,\"deteleComment\":_vm.deteleComment}}),_c('ReplyList',{ref:\"replyList\",attrs:{\"post-id\":_vm.postId,\"origin-reply-list\":_vm.item.reply,\"comment-id\":_vm.item.comment.id,\"power\":_vm.power}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-cmt\"},[_c('div',{staticClass:\"u-text\"},[_vm._v(_vm._s(_vm.content))]),_c('div',{staticClass:\"u-toolbar\"},[_c('el-button',{attrs:{\"size\":\"mini\",\"round\":\"\",\"icon\":\"el-icon-chat-round\"},on:{\"click\":function($event){_vm.showForm = true}}},[_vm._v(\"回复\")]),_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)],1),(_vm.showForm)?_c('el-form',{ref:\"form\",staticClass:\"c-comment-subbox\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"提交\")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){_vm.showForm = false}}},[_vm._v(\"收起\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//import { Notification } from 'element-ui';\nimport { JX3BOX } from \"@jx3box/jx3box-common\"\nimport Vue from \"vue\"\nvar Notification = null\n\nif (process.env.NODE_ENV == \"production\") {\n Notification = Vue.prototype.$notify\n} else {\n Notification = require(\"element-ui\").Notification\n}\n\nexport const GET = function (url, queryParams) {\n let options = {\n \"method\": \"GET\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n }\n return __fetch(url, queryParams, options)\n\n}\n\nvar postRecord = {}\n\nexport const POST = function (url, queryParams, body) {\n\n if (!postRecord[url]) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n // 60 秒内发送评论超过10条\n } else if (Date.now() - postRecord[url].lastest < 60 * 1000) {\n\n if (postRecord[url].count >= 6) {\n Notification.warning({\n title: \"系统\",\n message: \"你单身多久了? 动作这么快, 系统处理不过来 ( T_T )\",\n duration: 3000,\n position: \"bottom-right\"\n })\n return new Promise((reslove, reject) => {\n reject()\n })\n } else {\n postRecord[url].count = postRecord[url].count + 1\n }\n\n } else if (Date.now() - postRecord[url].lastest > 60 * 1000) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n }\n let options = {\n \"method\": \"POST\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n }\n return __fetch(url, queryParams, options)\n}\n\n\nexport const DELETE = function (url, queryParams) {\n let options = {\n \"method\": \"DELETE\"\n }\n return __fetch(url, queryParams, options)\n}\n\nfunction __fetch(url, queryParams, options) {\n let domain = process.env.NODE_ENV == \"production\" ? JX3BOX.__api : \"/\"\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = domain + url\n options.credentials = 'include'\n if (queryParams) {\n let queryQueue = []\n Object.keys(queryParams).forEach((key) => {\n queryQueue.push(key + \"=\" + queryParams[key])\n })\n let domain = JX3BOX.__api\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = url + \"?\" + queryQueue.join(\"&\")\n }\n\n return fetch(url, options).then((resp) => {\n switch (resp.status) {\n case 200:\n break\n case 401:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 403:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 423:\n window.location.href = JX3BOX.__Links.account.email_verify + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 406:\n resp.text().then((body) => {\n Notification.warning({\n title: \"系统\",\n message: body || \"提交内容不合法,请重新提交\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n default:\n resp.text().then((body) => {\n Notification.error({\n title: \"系统:\" + resp.statusText,\n message: body || \"系统错误,请稍后重试!\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n }\n let contentType = resp.headers.get(\"Content-Type\")\n contentType = contentType && contentType.split(\";\").shift()\n switch (contentType) {\n case \"application/json\":\n return resp.json()\n default:\n return resp.text()\n }\n })\n}","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content.vue?vue&type=template&id=2c5ca314&\"\nimport script from \"./comment-content.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content.vue?vue&type=script&lang=js&\"\nimport style0 from \"./comment-content.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.replyList.length)?_c('div',{staticClass:\"c-comment-replylist\"},[_vm._l((_vm.replyList),function(reply){return _c('el-row',{key:reply.comment.id,staticClass:\"c-comment-reply\"},[_c('Avatar',{staticClass:\"u-avatar\",attrs:{\"avatar-size\":34,\"user-avatar\":_vm.showAvatar(reply.user.avatar),\"user-href\":_vm.profileLink + reply.user.id,\"username\":reply.user.displayName}}),_c('CommentContentSimple',{staticClass:\"u-reply\",attrs:{\"post-id\":_vm.postId,\"comment-id\":reply.comment.id,\"date\":reply.comment.commentDate,\"content\":reply.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == reply.user.id},on:{\"deleteReply\":_vm.deleteReply}})],1)}),_c('el-row',[(_vm.replyList.length >= 3 || _vm.showPager)?_c('el-col',{attrs:{\"span\":1}},[_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showLess()}}},[_vm._v(\"收起\")]),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showPager),expression:\"!showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showMore()}}},[_vm._v(\"查看更多\")])],1):_vm._e(),_c('el-col',{staticClass:\"c-comment-reply-pages\",attrs:{\"span\":23}},[_c('el-pagination',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"small\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"total, prev, pager, next\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',[_vm._v(_vm._s(_vm.content))]),_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content-simple.vue?vue&type=template&id=118e75ee&\"\nimport script from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./reply-list.vue?vue&type=template&id=201d176e&\"\nimport script from \"./reply-list.vue?vue&type=script&lang=js&\"\nexport * from \"./reply-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./reply-list.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-with-reply.vue?vue&type=template&id=0cfc0fe8&\"\nimport script from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=2b872b18&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/comment.css b/comment.css new file mode 100644 index 0000000..1337f6e --- /dev/null +++ b/comment.css @@ -0,0 +1 @@ +.c-comment-avatar a:hover:after{display:none}.c-comment-avatar .u-avatar{display:block}.c-comment-avatar .u-avatar-pic{display:block;margin:5px auto}.c-comment-avatar .u-name{display:block;text-align:center;white-space:nowrap;overflow:hidden;width:100%;padding:5px 0;font-size:14px}.u-cmt{padding:10px}.u-cmt .u-text{padding-bottom:20px}.c-comment-subbox{margin-top:10px}.c-comment-replylist{padding:10px;border-top:1px dashed #eee}.c-comment-reply{border-bottom:1px dotted #eee;padding-bottom:10px;margin-bottom:10px;display:flex}.c-comment-reply .c-comment-avatar{width:40px;margin-right:10px}.c-comment-reply .u-name{font-size:12px;padding:0!important;color:#999}.c-comment-reply .u-reply{padding:5px;flex-grow:1}.c-comment-reply-pages{padding:7px 0}.c-comment-box{margin:12px 0;border-bottom:1px solid #eee}.c-comment-box textarea{font-family:inherit}.c-comment-box .u-publish{float:right}.c-comment-list{padding:10px 0;margin-bottom:10px;border-bottom:1px solid #eee;display:flex}.c-comment-avatar{vertical-align:top;margin-right:20px;width:68px}.c-comment-cmt{flex-grow:1} \ No newline at end of file diff --git a/comment.umd.js b/comment.umd.js new file mode 100644 index 0000000..5ba7b89 --- /dev/null +++ b/comment.umd.js @@ -0,0 +1,1387 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("vue")); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["comment"] = factory(require("vue")); + else + root["comment"] = factory(root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { +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"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "2edf": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6d39"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_reply_list_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "3280": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "4902": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7e17"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_avatar_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "64c7": +/***/ (function(module) { + +module.exports = JSON.parse("{\"__Domain\":\"www.jx3box.com\",\"__Root\":\"https://www.jx3box.com/\",\"__v2\":\"https://v2.jx3box.com/\",\"__server\":\"https://server.jx3box.com/\",\"__api\":\"https://api.jx3box.com/\",\"__helperUrl\":\"https://helper.jx3box.com/\",\"__node\":\"https://node.jx3box.com/\",\"__spider\":\"https://spider.jx3box.com/\",\"__proxy\":\"https://proxy.jx3box.com/\",\"__ossRoot\":\"https://oss.jx3box.com/\",\"__ossMirror\":\"https://console.cnyixun.com/\",\"__ossCloudflare\":\"https://jx3box.imkog.com/\",\"__ossGithub\":\"https://cdn.jx3box.com/\",\"__staticPath\":{\"jsdelivr\":\"https://cdn.jsdelivr.net/gh/JX3BOX/\",\"mirror\":\"https://console.cnyixun.com/static/\"},\"__dataPath\":\"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-data\",\"__dataPath_BAK\":\"https://data.jx3box.com/data/\",\"__imgPath\":\"https://console.cnyixun.com/img/\",\"__imgPath_BAK\":\"https://cdn.jx3box.com/img/\",\"__imagePath\":\"https://console.cnyixun.com/image/\",\"__imagePath_BAK\":\"https://cdn.jx3box.com/image/\",\"__iconPath\":\"https://console.cnyixun.com/icon/\",\"__iconPath_BAK\":\"https://icon.jx3box.com/icon/\",\"__emtionPath\":\"https://console.cnyixun.com/emotion/\",\"__emtionPath_BAK\":\"https://jx3box.imkog.com/emotion/\",\"__wpmirrorPath\":\"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-mirror/\",\"__wpmirrorPath_BAK\":\"https://mirror.jx3box.com/\",\"__wpstaticPath\":\"https://cdn.jsdelivr.net/gh/iRuxu/jx3box-static/dist/\",\"__wpstaticPath_BAK\":\"https://static.jx3box.com/dist/\",\"__postType\":{\"posts\":\"论坛\",\"macro\":\"剑三宏库\",\"jx3dat\":\"插件数据\",\"fb\":\"副本攻略\",\"bps\":\"职业攻略\",\"cj\":\"成就百科\",\"share\":\"捏脸分享\",\"tool\":\"教程工具\",\"help\":\"帮助文档\",\"post\":\"茶馆交流\",\"page\":\"系统页面\"},\"__userGroup\":{\"0\":\"游客\",\"1\":\"普通用户\",\"8\":\"已验证用户\",\"16\":\"VIP会员\",\"32\":\"签约作者\",\"64\":\"管理员\"},\"__userLevel\":{\"0\":\"稻香萌新\"},\"__Links\":{\"account\":{\"login\":\"https://v2.jx3box.com/account/login\",\"register\":\"https://v2.jx3box.com/account/register\",\"email_verify\":\"https://v2.jx3box.com/account/email_verify\",\"login_callback\":\"https://v2.jx3box.com/account/login_callback\",\"oauth_server\":\"https://server.jx3box.com/oauth/jx3box/authorize\"},\"dashboard\":{\"home\":\"https://v2.jx3box.com/dashboard\",\"work\":\"https://v2.jx3box.com/dashboard/#/work\",\"msg\":\"https://v2.jx3box.com/dashboard/#/msg\",\"feed\":\"https://v2.jx3box.com/dashboard/#/feed\",\"fav\":\"https://v2.jx3box.com/dashboard/#/fav\",\"profile\":\"https://v2.jx3box.com/dashboard/#/profile\",\"connect\":\"https://v2.jx3box.com/dashboard/#/connect\",\"publish\":\"https://v2.jx3box.com/dashboard/publish\"},\"author\":\"https://v2.jx3box.com/author/\",\"about\":\"https://v2.jx3box.com/about/\",\"search\":\"https://search.jx3box.com/\",\"wiki\":\"https://wiki.jx3box.com/\",\"jx3\":\"https://xn--3-4g8a959k.com/\"},\"default_avatar\":\"https://console.cnyixun.com/image/common/avatar.png\",\"feedback\":\"https://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=o8LHzsrN48nbkMHM243AzM4\"}"); + +/***/ }), + +/***/ "6d39": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "7e17": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "85e4": +/***/ (function(module, exports, __webpack_require__) { + +const {default_avatar,__dataPath} = __webpack_require__("64c7"); + +module.exports = { + resolveImagePath : function (str){ + return (str && str.length) ? str.replace(/oss\.jx3box\.com/g,'console.cnyixun.com') : '' + }, + + checkImageLoad : function (jq){ + jq.length && + jq.one('error',function (){ + var img_url = $(this).attr("src"); + var fix_url = img_url.replace( + /console\.cnyixun\.com/g, + "oss.jx3box.com" + ); + $(this).attr("src", fix_url); + }) + }, + + showAvatar : function (url,size='s'){ + + const styleMap = { + s : "?x-oss-process=style/avatar_s", + m : "?x-oss-process=style/avatar_m", + l : "?x-oss-process=style/avatar_l" + } + + let avatar = !url ? default_avatar : url.replace(/oss\.jx3box\.com/g,'console.cnyixun.com') + + return avatar + styleMap[size] + + }, + + dataPath :function (path,version="latest"){ + return __dataPath + '@' + version + '/data/' + path + } +} + +/***/ }), + +/***/ "8a8d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3280"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Comment_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "8bbf": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; + +/***/ }), + +/***/ "a199": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "b9a8": +/***/ (function(module, exports, __webpack_require__) { + +const { __server } = __webpack_require__("64c7"); +const OAuth = { + github: { + client_id: "5fbf7a66cd7d3d0f5153", + authorize_uri: "https://github.com/login/oauth/authorize", + callback : `${__server}oauth/github/callback` + }, + qq : { + client_id : "101870778", + authorize_uri : "https://graph.qq.com/oauth2.0/authorize", + callback : `${__server}oauth/qq/callback` + }, + weibo : { + client_id : "4076650110", + authorize_uri : "https://api.weibo.com/oauth2/authorize", + callback : `${__server}oauth/weibo/callback` + } +} + +module.exports = OAuth + +/***/ }), + +/***/ "bc3e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a199"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___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_10_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_10_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_10_oneOf_1_2_node_modules_less_loader_dist_cjs_js_ref_10_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_comment_content_vue_vue_type_style_index_0_lang_less___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), + +/***/ "c9d2": +/***/ (function(module, exports, __webpack_require__) { + +const { showAvatar } = __webpack_require__("85e4"); +const {__Links,default_avatar} = __webpack_require__("64c7"); + +class User { + constructor() { + // TOKEN有效期 + this.expires = 14400000; + this.created_at = 0; + // 登录状态 + this.logged_in = false; + + // 缓存资料 + this.profile = {}; + this.anonymous = { + uid: 0, + group: 0, + name: "未登录", + avatar: showAvatar(null,'s'), + bio: "凭栏望千里,煮酒论江湖。", + avatar_origin : default_avatar + }; + + } + + // 检查当前状态 + check() { + if (this.isLogin()) { + this.profile.uid = localStorage.getItem("uid"); + this.profile.group = localStorage.getItem("group") || 1; + this.profile.name = localStorage.getItem("name"); + this.profile.avatar_origin = localStorage.getItem("avatar") || default_avatar; + this.profile.avatar = showAvatar(this.profile.avatar_origin,'s') + this.profile.bio = localStorage.getItem("bio") || ''; + } else { + this.profile = this.anonymous; + } + return this; + } + + // 更新指定缓存字段 + refresh(key,val){ + return localStorage.setItem(key,val); + } + + // 判断是否已登录 + isLogin() { + this.created_at = + localStorage.getItem("created_at") == null + ? -Infinity + : localStorage.getItem("created_at"); + this.logged_in = + localStorage.getItem("logged_in") == "true" ? true : false; + return this.logged_in && Date.now() - this.created_at < this.expires; + } + + // 保存用户资料 + _save(data){ + localStorage.setItem("created_at", Date.now()); + localStorage.setItem("logged_in", true); + localStorage.setItem("token", data.token); + localStorage.setItem("uid", data.uid); + localStorage.setItem("group", data.group); + localStorage.setItem("name", data.name); + localStorage.setItem("avatar", data.avatar); + localStorage.setItem("bio", data.bio); + } + + // 更新用户资料 + update(data){ + return new Promise((resolve,reject)=>{ + try { + this._save(data) + resolve(this) + } catch (err) { + //如果localstorage不存在或已满 + if (localStorage) { + localStorage.clear(); + this._save(data) + resolve(value) + } else { + reject(new Error('localStorage不可用')) + } + } + }) + } + + // 销毁登录状态 + destroy() { + // for非鉴权接口 + localStorage.removeItem("created_at"); + localStorage.setItem("logged_in", "false"); + // for鉴权接口 + localStorage.removeItem("token"); + } + + // 跳转至登录 + toLogin(url){ + url = url || location.href + location.href = __Links.account.login + '?redirect=' + url + } + + // 获取用户基础缓存信息 + getInfo() { + this.check(); + return this.profile; + } + + // 获取本地令牌 + getToken() { + return localStorage.getItem("token"); + } + + // 获取UUID + getUUID() { + return localStorage.getItem("device_id"); + } +} +module.exports = new User(); + + +/***/ }), + +/***/ "ee8f": +/***/ (function(module, exports, __webpack_require__) { + +const JX3BOX = __webpack_require__("64c7"); +const SEO = __webpack_require__("fa0b"); +const Utils = __webpack_require__("85e4"); +const User = __webpack_require__("c9d2"); +const OAuth = __webpack_require__("b9a8"); + +module.exports = { JX3BOX, SEO, Utils, User, OAuth }; + + +/***/ }), + +/***/ "fa0b": +/***/ (function(module) { + +module.exports = JSON.parse("{\"title\":\" » JX3BOX - 一站式剑网3资源工具站\",\"keys\":\"jx3box,剑三魔盒,剑三宏,剑三插件,剑三辅助,副本攻略,副本解包,团队监控,捏脸数据,剑3数据库,成就百科,剑三成就,剑3,剑网3,剑三box,剑三百科\",\"desc\":\"JX3BOX - 剑三魔盒是一个以剑网3游戏为主的专业攻略资源站,这里干货满满,大神多多,为你的武侠江湖之路助力。剑三魔盒,玩家贴心的小助手。\"}"); + +/***/ }), + +/***/ "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') { + var currentScript = window.document.currentScript + if (false) { var getCurrentScript; } + + var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) + if (src) { + __webpack_require__.p = src[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":"b7444032-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/Comment.vue?vue&type=template&id=2b872b18& +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:"c-comment"},[_c('el-main',[_c('el-form',{ref:"form",staticClass:"c-comment-box",attrs:{"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{"rows":"3","type":"textarea","maxlength":"300","show-word-limit":"","placeholder":"参与讨论..."},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{staticClass:"u-publish",attrs:{"type":"primary"},on:{"click":_vm.onSubmit}},[_vm._v("发表评论")])],1)],1),_vm._l((_vm.commentList),function(item){return _c('div',{key:item.comment.id,staticClass:"c-comment-list"},[_c('Avatar',{attrs:{"avatar-size":68,"user-avatar":_vm.showAvatar(item.user.avatar),"user-href":_vm.profileLink + item.user.id,"username":item.user.displayName}}),_c('CommmentWithReply',{attrs:{"item":item,"post-id":_vm.postId,"power":_vm.commentPower},on:{"deteleComment":_vm.deteleComment}})],1)}),(_vm.commentList.length > 5)?_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('el-form',{attrs:{"inline":true,"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{staticStyle:{"width":"360px"},attrs:{"show-word-limit":"","placeholder":"参与讨论"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.onSubmit}},[_vm._v("提交")])],1)],1)],1),_c('el-col',{attrs:{"span":12}},[_c('el-pagination',{staticStyle:{"text-align":"right"},attrs:{"background":"","hide-on-single-page":"","current-page":_vm.pager.index,"page-size":_vm.pager.pageSize,"layout":"prev, pager, next, total","total":_vm.pager.total},on:{"current-change":_vm.handleCurrentChange,"update:currentPage":function($event){return _vm.$set(_vm.pager, "index", $event)},"update:current-page":function($event){return _vm.$set(_vm.pager, "index", $event)}}})],1)],1):_vm._e()],2),_c('el-footer')],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/Comment.vue?vue&type=template&id=2b872b18& + +// EXTERNAL MODULE: ./node_modules/@jx3box/jx3box-common/main.js +var main = __webpack_require__("ee8f"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/avatar.vue?vue&type=template&id=d1889cce& +var avatarvue_type_template_id_d1889cce_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"c-comment-avatar"},[_c('el-link',{staticClass:"u-avatar",attrs:{"href":_vm.userHref}},[_c('el-avatar',{staticClass:"u-avatar-pic",attrs:{"shape":"square","size":_vm.avatarSize,"src":_vm.userAvatar}})],1),_c('el-link',{staticClass:"u-name",attrs:{"type":"primary","target":"_blank","href":_vm.userHref}},[_vm._v(_vm._s(_vm.username))])],1)} +var avatarvue_type_template_id_d1889cce_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/avatar.vue?vue&type=template&id=d1889cce& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/avatar.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ var avatarvue_type_script_lang_js_ = ({ + props: ["avatarSize", "userAvatar", "userHref", "username"] +}); +// CONCATENATED MODULE: ./src/components/avatar.vue?vue&type=script&lang=js& + /* harmony default export */ var components_avatarvue_type_script_lang_js_ = (avatarvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/avatar.vue?vue&type=style&index=0&lang=less& +var avatarvue_type_style_index_0_lang_less_ = __webpack_require__("4902"); + +// 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, + (options.functional ? this.parent : 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/components/avatar.vue + + + + + + +/* normalize component */ + +var component = normalizeComponent( + components_avatarvue_type_script_lang_js_, + avatarvue_type_template_id_d1889cce_render, + avatarvue_type_template_id_d1889cce_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var avatar = (component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-with-reply.vue?vue&type=template&id=0cfc0fe8& +var comment_with_replyvue_type_template_id_0cfc0fe8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"c-comment-cmt"},[_c('CommentContent',{attrs:{"post-id":_vm.postId,"comment-id":_vm.item.comment.id,"date":_vm.item.comment.commentDate,"content":_vm.item.comment.content,"can-delete":_vm.power.allow || _vm.power.uid == _vm.item.user.id},on:{"addNewComment":_vm.refreshReply,"deteleComment":_vm.deteleComment}}),_c('ReplyList',{ref:"replyList",attrs:{"post-id":_vm.postId,"origin-reply-list":_vm.item.reply,"comment-id":_vm.item.comment.id,"power":_vm.power}})],1)} +var comment_with_replyvue_type_template_id_0cfc0fe8_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue?vue&type=template&id=0cfc0fe8& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-content.vue?vue&type=template&id=2c5ca314& +var comment_contentvue_type_template_id_2c5ca314_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"u-cmt"},[_c('div',{staticClass:"u-text"},[_vm._v(_vm._s(_vm.content))]),_c('div',{staticClass:"u-toolbar"},[_c('el-button',{attrs:{"size":"mini","round":"","icon":"el-icon-chat-round"},on:{"click":function($event){_vm.showForm = true}}},[_vm._v("回复")]),_c('div',{staticStyle:{"float":"right"}},[(_vm.canDelete)?_c('el-button',{attrs:{"type":"text","icon":"el-icon-delete","size":"mini"},on:{"click":function($event){return _vm.deleteComment()}}},[_vm._v("删除")]):_vm._e(),_c('el-button',{attrs:{"type":"text","icon":"el-icon-time","disabled":"","size":"mini"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)],1),(_vm.showForm)?_c('el-form',{ref:"form",staticClass:"c-comment-subbox",attrs:{"model":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{"type":"textarea"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, "content", $$v)},expression:"newComment.content"}})],1),_c('el-form-item',[_c('el-button',{attrs:{"size":"mini","type":"primary"},on:{"click":function($event){return _vm.submit()}}},[_vm._v("提交")]),_c('el-button',{attrs:{"size":"mini","type":"text"},on:{"click":function($event){_vm.showForm = false}}},[_vm._v("收起")])],1)],1):_vm._e()],1)} +var comment_contentvue_type_template_id_2c5ca314_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-content.vue?vue&type=template&id=2c5ca314& + +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// CONCATENATED MODULE: ./src/service.js +//import { Notification } from 'element-ui'; + + +var Notification = null; + +if (true) { + Notification = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.prototype.$notify; +} else {} + +const GET = function (url, queryParams) { + let options = { + "method": "GET", + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + } + }; + return __fetch(url, queryParams, options); +}; +var postRecord = {}; +const POST = function (url, queryParams, body) { + if (!postRecord[url]) { + postRecord[url] = { + lastest: Date.now(), + count: 0 + }; // 60 秒内发送评论超过10条 + } else if (Date.now() - postRecord[url].lastest < 60 * 1000) { + if (postRecord[url].count >= 6) { + Notification.warning({ + title: "系统", + message: "你单身多久了? 动作这么快, 系统处理不过来 ( T_T )", + duration: 3000, + position: "bottom-right" + }); + return new Promise((reslove, reject) => { + reject(); + }); + } else { + postRecord[url].count = postRecord[url].count + 1; + } + } else if (Date.now() - postRecord[url].lastest > 60 * 1000) { + postRecord[url] = { + lastest: Date.now(), + count: 0 + }; + } + + let options = { + "method": "POST", + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json' + }, + body: JSON.stringify(body) + }; + return __fetch(url, queryParams, options); +}; +const DELETE = function (url, queryParams) { + let options = { + "method": "DELETE" + }; + return __fetch(url, queryParams, options); +}; + +function __fetch(url, queryParams, options) { + let domain = true ? main["JX3BOX"].__api : undefined; + + if (domain[domain.length - 1] == "/") { + domain = domain.substring(0, domain.length - 1); + } + + url = domain + url; + options.credentials = 'include'; + + if (queryParams) { + let queryQueue = []; + Object.keys(queryParams).forEach(key => { + queryQueue.push(key + "=" + queryParams[key]); + }); + let domain = main["JX3BOX"].__api; + + if (domain[domain.length - 1] == "/") { + domain = domain.substring(0, domain.length - 1); + } + + url = url + "?" + queryQueue.join("&"); + } + + return fetch(url, options).then(resp => { + switch (resp.status) { + case 200: + break; + + case 401: + window.location.href = main["JX3BOX"].__Links.account.login + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 403: + window.location.href = main["JX3BOX"].__Links.account.login + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 423: + window.location.href = main["JX3BOX"].__Links.account.email_verify + "?redirect=" + encodeURIComponent(window.location.href); + throw new Error("错误:" + resp.statusText); + + case 406: + resp.text().then(body => { + Notification.warning({ + title: "系统", + message: body || "提交内容不合法,请重新提交", + duration: 3000, + position: "bottom-right" + }); + }); + throw new Error("错误:" + resp.statusText); + + default: + resp.text().then(body => { + Notification.error({ + title: "系统:" + resp.statusText, + message: body || "系统错误,请稍后重试!", + duration: 3000, + position: "bottom-right" + }); + }); + throw new Error("错误:" + resp.statusText); + } + + let contentType = resp.headers.get("Content-Type"); + contentType = contentType && contentType.split(";").shift(); + + switch (contentType) { + case "application/json": + return resp.json(); + + default: + return resp.text(); + } + }); +} +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-content.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +function fillZero(num) { + return num > 9 ? num : `0${num}`; +} + +/* harmony default export */ var comment_contentvue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "content", "date", "hasReply", "canDelete"], + methods: { + deleteComment() { + this.$emit("deteleComment", this.commentId); + }, + + dataFormat(str) { + let d = new Date(str); + return d.getFullYear() + "-" + fillZero(d.getMonth() + 1) + "-" + fillZero(d.getDate()) + " " + fillZero(d.getHours()) + ":" + fillZero(d.getMinutes()) + ":" + fillZero(d.getSeconds()); + }, + + submit() { + POST(`/api/post/${this.postId}/comment/${this.commentId}/reply`, null, { + content: this.newComment.content + }).then(() => { + this.$notify({ + title: "", + message: "评论成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.newComment = {}; + this.$emit("addNewComment"); + }).catch(() => {}); + }, + + hideForm() {} + + }, + data: function () { + return { + newComment: {}, + showForm: false + }; + } +}); +// CONCATENATED MODULE: ./src/components/comment-content.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_contentvue_type_script_lang_js_ = (comment_contentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/comment-content.vue?vue&type=style&index=0&lang=less& +var comment_contentvue_type_style_index_0_lang_less_ = __webpack_require__("bc3e"); + +// CONCATENATED MODULE: ./src/components/comment-content.vue + + + + + + +/* normalize component */ + +var comment_content_component = normalizeComponent( + components_comment_contentvue_type_script_lang_js_, + comment_contentvue_type_template_id_2c5ca314_render, + comment_contentvue_type_template_id_2c5ca314_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_content = (comment_content_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/reply-list.vue?vue&type=template&id=201d176e& +var reply_listvue_type_template_id_201d176e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.replyList.length)?_c('div',{staticClass:"c-comment-replylist"},[_vm._l((_vm.replyList),function(reply){return _c('el-row',{key:reply.comment.id,staticClass:"c-comment-reply"},[_c('Avatar',{staticClass:"u-avatar",attrs:{"avatar-size":34,"user-avatar":_vm.showAvatar(reply.user.avatar),"user-href":_vm.profileLink + reply.user.id,"username":reply.user.displayName}}),_c('CommentContentSimple',{staticClass:"u-reply",attrs:{"post-id":_vm.postId,"comment-id":reply.comment.id,"date":reply.comment.commentDate,"content":reply.comment.content,"can-delete":_vm.power.allow || _vm.power.uid == reply.user.id},on:{"deleteReply":_vm.deleteReply}})],1)}),_c('el-row',[(_vm.replyList.length >= 3 || _vm.showPager)?_c('el-col',{attrs:{"span":1}},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.showPager),expression:"showPager"}],attrs:{"type":"text"},on:{"click":function($event){return _vm.showLess()}}},[_vm._v("收起")]),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.showPager),expression:"!showPager"}],attrs:{"type":"text"},on:{"click":function($event){return _vm.showMore()}}},[_vm._v("查看更多")])],1):_vm._e(),_c('el-col',{staticClass:"c-comment-reply-pages",attrs:{"span":23}},[_c('el-pagination',{directives:[{name:"show",rawName:"v-show",value:(_vm.showPager),expression:"showPager"}],attrs:{"small":"","current-page":_vm.pager.index,"page-size":_vm.pager.pageSize,"layout":"total, prev, pager, next","total":_vm.pager.total},on:{"current-change":_vm.handleCurrentChange,"update:currentPage":function($event){return _vm.$set(_vm.pager, "index", $event)},"update:current-page":function($event){return _vm.$set(_vm.pager, "index", $event)}}})],1)],1)],2):_vm._e()} +var reply_listvue_type_template_id_201d176e_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/reply-list.vue?vue&type=template&id=201d176e& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b7444032-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/components/comment-content-simple.vue?vue&type=template&id=118e75ee& +var comment_content_simplevue_type_template_id_118e75ee_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{"width":"100%"}},[_c('div',[_vm._v(_vm._s(_vm.content))]),_c('div',{staticStyle:{"width":"100%"}},[_c('div',{staticStyle:{"float":"right"}},[(_vm.canDelete)?_c('el-button',{attrs:{"type":"text","icon":"el-icon-delete","size":"mini"},on:{"click":function($event){return _vm.deleteComment()}}},[_vm._v("删除")]):_vm._e(),_c('el-button',{attrs:{"type":"text","icon":"el-icon-time","disabled":"","size":"mini"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)])])} +var comment_content_simplevue_type_template_id_118e75ee_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue?vue&type=template&id=118e75ee& + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-content-simple.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +function comment_content_simplevue_type_script_lang_js_fillZero(num) { + return num > 9 ? num : `0${num}`; +} + +/* harmony default export */ var comment_content_simplevue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "content", "date", "hasReply", "canDelete"], + methods: { + deleteComment() { + this.$emit("deleteReply", this.commentId); + }, + + dataFormat(str) { + let d = new Date(str); + return d.getFullYear() + "-" + comment_content_simplevue_type_script_lang_js_fillZero(d.getMonth() + 1) + "-" + comment_content_simplevue_type_script_lang_js_fillZero(d.getDate()) + " " + comment_content_simplevue_type_script_lang_js_fillZero(d.getHours()) + ":" + comment_content_simplevue_type_script_lang_js_fillZero(d.getMinutes()) + ":" + comment_content_simplevue_type_script_lang_js_fillZero(d.getSeconds()); + } + + } +}); +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_content_simplevue_type_script_lang_js_ = (comment_content_simplevue_type_script_lang_js_); +// CONCATENATED MODULE: ./src/components/comment-content-simple.vue + + + + + +/* normalize component */ + +var comment_content_simple_component = normalizeComponent( + components_comment_content_simplevue_type_script_lang_js_, + comment_content_simplevue_type_template_id_118e75ee_render, + comment_content_simplevue_type_template_id_118e75ee_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_content_simple = (comment_content_simple_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/reply-list.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var reply_listvue_type_script_lang_js_ = ({ + props: ["postId", "commentId", "originReplyList", "power"], + components: { + Avatar: avatar, + CommentContentSimple: comment_content_simple + }, + backReplyList: [], + data: function () { + return { + profileLink: main["JX3BOX"].__Links.author, + replyList: [], + pager: { + index: 1, + pageSize: 10, + pageTotal: 1, + total: 0 + }, + showPager: false + }; + }, + + mounted() { + this.backReplyList = this.originReplyList || []; + this.replyList = this.backReplyList; + this.$on("refresh", () => { + if (this.showPager) { + this.loadCommentList(this.pager.index); + } else if (this.replyList.length < 3) { + this.loadCommentList(1, 3); + } + }); + }, + + methods: { + getStyle(index) { + return index % 2 == 1 ? { + // backgroundColor: "#f8f8f8", + padding: "10px 10px 0px 10px" + } : { + padding: "10px 10px 0px 10px" + }; + }, + + showAvatar: main["Utils"].showAvatar, + + showMore() { + this.showPager = true; + this.loadCommentList(1); + }, + + showLess() { + this.showPager = false; + this.replyList = this.backReplyList; + }, + + handleCurrentChange(gotoIndex) { + this.loadCommentList(gotoIndex); + }, + + deleteReply(id) { + DELETE(`/api/post/${this.postId}/comment/${id}`).then(() => { + this.$notify({ + title: "", + message: "删除成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + + if (this.showPager) { + this.loadCommentList(this.pager.index); + } else { + this.loadCommentList(this.pager.index, 3); + } + }).catch(() => {}); + }, + + loadCommentList(index, pageSize) { + if (!pageSize) { + pageSize = 6; + } + + GET(`/api/post/${this.postId}/comment/${this.commentId}/reply/page/${index}?pageSize=${pageSize}`).then(resp => { + if (index == 1 && pageSize == 3) { + this.backReplyList = resp.data; + } + + this.replyList = resp.data; + this.pager = resp.page; + }).catch(() => {}); + } + + } +}); +// CONCATENATED MODULE: ./src/components/reply-list.vue?vue&type=script&lang=js& + /* harmony default export */ var components_reply_listvue_type_script_lang_js_ = (reply_listvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/components/reply-list.vue?vue&type=style&index=0&lang=less& +var reply_listvue_type_style_index_0_lang_less_ = __webpack_require__("2edf"); + +// CONCATENATED MODULE: ./src/components/reply-list.vue + + + + + + +/* normalize component */ + +var reply_list_component = normalizeComponent( + components_reply_listvue_type_script_lang_js_, + reply_listvue_type_template_id_201d176e_render, + reply_listvue_type_template_id_201d176e_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var reply_list = (reply_list_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/comment-with-reply.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var comment_with_replyvue_type_script_lang_js_ = ({ + props: ["item", "postId", "power"], + components: { + CommentContent: comment_content, + ReplyList: reply_list + }, + methods: { + deteleComment(id) { + this.$emit("deteleComment", id); + }, + + refreshReply() { + this.$refs.replyList.$emit("refresh"); + } + + } +}); +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue?vue&type=script&lang=js& + /* harmony default export */ var components_comment_with_replyvue_type_script_lang_js_ = (comment_with_replyvue_type_script_lang_js_); +// CONCATENATED MODULE: ./src/components/comment-with-reply.vue + + + + + +/* normalize component */ + +var comment_with_reply_component = normalizeComponent( + components_comment_with_replyvue_type_script_lang_js_, + comment_with_replyvue_type_template_id_0cfc0fe8_render, + comment_with_replyvue_type_template_id_0cfc0fe8_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var comment_with_reply = (comment_with_reply_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/Comment.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var Commentvue_type_script_lang_js_ = ({ + name: "Comment", + props: ["postId"], + components: { + Avatar: avatar, + CommmentWithReply: comment_with_reply + }, + data: function () { + return { + commentPower: { + allow: false, + uid: -1 + }, + commentList: [], + showAvatar: main["Utils"].showAvatar, + profileLink: main["JX3BOX"].__Links.author + "", + newComment: {}, + pager: { + index: 1, + pageSize: 10, + pageTotal: 1, + total: 0 + } + }; + }, + methods: { + deteleComment(id) { + DELETE(`/api/post/${this.postId}/comment/${id}`).then(() => { + this.$notify({ + title: "", + message: "删除成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.reloadCommentList(this.pager.index); + }).catch(() => {}); + }, + + reloadCommentList(index) { + GET(`/api/post/${this.postId}/comment/page/${index}`).then(resp => { + this.commentList = resp.data || []; + this.pager = resp.page; + }).catch(() => {}); + }, + + handleCurrentChange(gotoIndex) { + this.reloadCommentList(gotoIndex); + }, + + onSubmit() { + POST(`/api/post/${this.postId}/comment`, null, { + content: this.newComment.content + }).then(() => { + this.$notify({ + title: "", + message: "评论成功!", + type: "success", + duration: 3000, + position: "bottom-right" + }); + this.newComment = {}; + + if (this.pager.index == this.pager.pageTotal || this.pager.total % this.pager.pageSize == 0) { + this.reloadCommentList(this.pager.index); + } + }).catch(() => {}); + } + + }, + + mounted() { + this.reloadCommentList(1); + GET(`/api/post/${this.postId}/can-i-delete-comment`).then(power => { + this.commentPower = power; + }).catch(() => {}); + } + +}); +// CONCATENATED MODULE: ./src/Comment.vue?vue&type=script&lang=js& + /* harmony default export */ var src_Commentvue_type_script_lang_js_ = (Commentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./src/Comment.vue?vue&type=style&index=0&lang=less& +var Commentvue_type_style_index_0_lang_less_ = __webpack_require__("8a8d"); + +// CONCATENATED MODULE: ./src/Comment.vue + + + + + + +/* normalize component */ + +var Comment_component = normalizeComponent( + src_Commentvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var Comment = (Comment_component.exports); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (Comment); + + + +/***/ }) + +/******/ })["default"]; +}); +//# sourceMappingURL=comment.umd.js.map \ No newline at end of file diff --git a/comment.umd.js.map b/comment.umd.js.map new file mode 100644 index 0000000..ea721bc --- /dev/null +++ b/comment.umd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://comment/webpack/universalModuleDefinition","webpack://comment/webpack/bootstrap","webpack://comment/./src/components/reply-list.vue?0f7f","webpack://comment/./src/Comment.vue?cbf1","webpack://comment/./src/components/avatar.vue?23d4","webpack://comment/./src/components/reply-list.vue?1a4a","webpack://comment/./src/components/avatar.vue?f4f0","webpack://comment/./node_modules/@jx3box/jx3box-common/js/utils.js","webpack://comment/./src/Comment.vue?b1b1","webpack://comment/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://comment/./src/components/comment-content.vue?e4dc","webpack://comment/./node_modules/@jx3box/jx3box-common/js/oauth.js","webpack://comment/./src/components/comment-content.vue?2cc2","webpack://comment/./node_modules/@jx3box/jx3box-common/js/user.js","webpack://comment/./node_modules/@jx3box/jx3box-common/main.js","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://comment/./src/Comment.vue?3896","webpack://comment/./src/components/avatar.vue?3d96","webpack://comment/src/components/avatar.vue","webpack://comment/./src/components/avatar.vue?da8f","webpack://comment/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://comment/./src/components/avatar.vue?e1d5","webpack://comment/./src/components/comment-with-reply.vue?d6e9","webpack://comment/./src/components/comment-content.vue?bdad","webpack://comment/./src/service.js","webpack://comment/src/components/comment-content.vue","webpack://comment/./src/components/comment-content.vue?15c5","webpack://comment/./src/components/comment-content.vue?bcdb","webpack://comment/./src/components/reply-list.vue?0226","webpack://comment/./src/components/comment-content-simple.vue?d516","webpack://comment/src/components/comment-content-simple.vue","webpack://comment/./src/components/comment-content-simple.vue?c10c","webpack://comment/./src/components/comment-content-simple.vue","webpack://comment/src/components/reply-list.vue","webpack://comment/./src/components/reply-list.vue?bb51","webpack://comment/./src/components/reply-list.vue?d204","webpack://comment/src/components/comment-with-reply.vue","webpack://comment/./src/components/comment-with-reply.vue?019b","webpack://comment/./src/components/comment-with-reply.vue","webpack://comment/src/Comment.vue","webpack://comment/./src/Comment.vue?600f","webpack://comment/./src/Comment.vue?6497","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["Notification","process","Vue","prototype","$notify","GET","url","queryParams","options","headers","__fetch","postRecord","POST","body","lastest","Date","now","count","warning","title","message","duration","position","Promise","reslove","reject","JSON","stringify","DELETE","domain","JX3BOX","__api","length","substring","credentials","queryQueue","Object","keys","forEach","key","push","join","fetch","then","resp","status","window","location","href","__Links","account","login","encodeURIComponent","Error","statusText","email_verify","text","error","contentType","get","split","shift","json"],"mappings":"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","file":"comment.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"comment\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"comment\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"","// extracted by mini-css-extract-plugin","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","const {default_avatar,__dataPath} = require('./jx3box');\n\nmodule.exports = {\n resolveImagePath : function (str){\n return (str && str.length) ? str.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com') : ''\n },\n\n checkImageLoad : function (jq){\n jq.length &&\n jq.one('error',function (){\n var img_url = $(this).attr(\"src\");\n var fix_url = img_url.replace(\n /console\\.cnyixun\\.com/g,\n \"oss.jx3box.com\"\n );\n $(this).attr(\"src\", fix_url);\n })\n },\n\n showAvatar : function (url,size='s'){\n\n const styleMap = {\n s : \"?x-oss-process=style/avatar_s\",\n m : \"?x-oss-process=style/avatar_m\",\n l : \"?x-oss-process=style/avatar_l\"\n }\n\n let avatar = !url ? default_avatar : url.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com')\n\n return avatar + styleMap[size]\n\n },\n\n dataPath :function (path,version=\"latest\"){\n return __dataPath + '@' + version + '/data/' + path\n }\n}","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// extracted by mini-css-extract-plugin","const { __server } = require(\"./jx3box\");\nconst OAuth = {\n github: {\n client_id: \"5fbf7a66cd7d3d0f5153\",\n authorize_uri: \"https://github.com/login/oauth/authorize\",\n callback : `${__server}oauth/github/callback`\n },\n qq : {\n client_id : \"101870778\",\n authorize_uri : \"https://graph.qq.com/oauth2.0/authorize\",\n callback : `${__server}oauth/qq/callback`\n },\n weibo : {\n client_id : \"4076650110\",\n authorize_uri : \"https://api.weibo.com/oauth2/authorize\",\n callback : `${__server}oauth/weibo/callback`\n }\n}\n\nmodule.exports = OAuth","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"","const { showAvatar } = require(\"./utils\");\nconst {__Links,default_avatar} = require('./jx3box');\n\nclass User {\n constructor() {\n // TOKEN有效期\n this.expires = 14400000;\n this.created_at = 0;\n // 登录状态\n this.logged_in = false;\n\n // 缓存资料\n this.profile = {};\n this.anonymous = {\n uid: 0,\n group: 0,\n name: \"未登录\",\n avatar: showAvatar(null,'s'),\n bio: \"凭栏望千里,煮酒论江湖。\",\n avatar_origin : default_avatar\n };\n\n }\n\n // 检查当前状态\n check() {\n if (this.isLogin()) {\n this.profile.uid = localStorage.getItem(\"uid\");\n this.profile.group = localStorage.getItem(\"group\") || 1;\n this.profile.name = localStorage.getItem(\"name\");\n this.profile.avatar_origin = localStorage.getItem(\"avatar\") || default_avatar;\n this.profile.avatar = showAvatar(this.profile.avatar_origin,'s')\n this.profile.bio = localStorage.getItem(\"bio\") || '';\n } else {\n this.profile = this.anonymous;\n }\n return this;\n }\n\n // 更新指定缓存字段\n refresh(key,val){\n return localStorage.setItem(key,val);\n }\n\n // 判断是否已登录\n isLogin() {\n this.created_at =\n localStorage.getItem(\"created_at\") == null\n ? -Infinity\n : localStorage.getItem(\"created_at\");\n this.logged_in =\n localStorage.getItem(\"logged_in\") == \"true\" ? true : false;\n return this.logged_in && Date.now() - this.created_at < this.expires;\n }\n\n // 保存用户资料\n _save(data){\n localStorage.setItem(\"created_at\", Date.now());\n localStorage.setItem(\"logged_in\", true);\n localStorage.setItem(\"token\", data.token);\n localStorage.setItem(\"uid\", data.uid);\n localStorage.setItem(\"group\", data.group);\n localStorage.setItem(\"name\", data.name);\n localStorage.setItem(\"avatar\", data.avatar);\n localStorage.setItem(\"bio\", data.bio);\n }\n\n // 更新用户资料\n update(data){\n return new Promise((resolve,reject)=>{\n try {\n this._save(data)\n resolve(this)\n } catch (err) {\n //如果localstorage不存在或已满\n if (localStorage) {\n localStorage.clear();\n this._save(data)\n resolve(value)\n } else {\n reject(new Error('localStorage不可用'))\n }\n }\n })\n }\n\n // 销毁登录状态\n destroy() {\n // for非鉴权接口\n localStorage.removeItem(\"created_at\");\n localStorage.setItem(\"logged_in\", \"false\");\n // for鉴权接口\n localStorage.removeItem(\"token\");\n }\n\n // 跳转至登录\n toLogin(url){\n url = url || location.href\n location.href = __Links.account.login + '?redirect=' + url\n }\n\n // 获取用户基础缓存信息\n getInfo() {\n this.check();\n return this.profile;\n }\n\n // 获取本地令牌\n getToken() {\n return localStorage.getItem(\"token\");\n }\n\n // 获取UUID\n getUUID() {\n return localStorage.getItem(\"device_id\");\n }\n}\nmodule.exports = new User();\n","const JX3BOX = require(\"./js/jx3box\");\nconst SEO = require(\"./js/seo\");\nconst Utils = require(\"./js/utils\");\nconst User = require(\"./js/user\");\nconst OAuth = require(\"./js/oauth\");\n\nmodule.exports = { JX3BOX, SEO, Utils, User, OAuth };\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"c-comment\"},[_c('el-main',[_c('el-form',{ref:\"form\",staticClass:\"c-comment-box\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"rows\":\"3\",\"type\":\"textarea\",\"maxlength\":\"300\",\"show-word-limit\":\"\",\"placeholder\":\"参与讨论...\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{staticClass:\"u-publish\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"发表评论\")])],1)],1),_vm._l((_vm.commentList),function(item){return _c('div',{key:item.comment.id,staticClass:\"c-comment-list\"},[_c('Avatar',{attrs:{\"avatar-size\":68,\"user-avatar\":_vm.showAvatar(item.user.avatar),\"user-href\":_vm.profileLink + item.user.id,\"username\":item.user.displayName}}),_c('CommmentWithReply',{attrs:{\"item\":item,\"post-id\":_vm.postId,\"power\":_vm.commentPower},on:{\"deteleComment\":_vm.deteleComment}})],1)}),(_vm.commentList.length > 5)?_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form',{attrs:{\"inline\":true,\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{staticStyle:{\"width\":\"360px\"},attrs:{\"show-word-limit\":\"\",\"placeholder\":\"参与讨论\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"提交\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-pagination',{staticStyle:{\"text-align\":\"right\"},attrs:{\"background\":\"\",\"hide-on-single-page\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"prev, pager, next, total\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1):_vm._e()],2),_c('el-footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-avatar\"},[_c('el-link',{staticClass:\"u-avatar\",attrs:{\"href\":_vm.userHref}},[_c('el-avatar',{staticClass:\"u-avatar-pic\",attrs:{\"shape\":\"square\",\"size\":_vm.avatarSize,\"src\":_vm.userAvatar}})],1),_c('el-link',{staticClass:\"u-name\",attrs:{\"type\":\"primary\",\"target\":\"_blank\",\"href\":_vm.userHref}},[_vm._v(_vm._s(_vm.username))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./avatar.vue?vue&type=template&id=d1889cce&\"\nimport script from \"./avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./avatar.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-cmt\"},[_c('CommentContent',{attrs:{\"post-id\":_vm.postId,\"comment-id\":_vm.item.comment.id,\"date\":_vm.item.comment.commentDate,\"content\":_vm.item.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == _vm.item.user.id},on:{\"addNewComment\":_vm.refreshReply,\"deteleComment\":_vm.deteleComment}}),_c('ReplyList',{ref:\"replyList\",attrs:{\"post-id\":_vm.postId,\"origin-reply-list\":_vm.item.reply,\"comment-id\":_vm.item.comment.id,\"power\":_vm.power}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-cmt\"},[_c('div',{staticClass:\"u-text\"},[_vm._v(_vm._s(_vm.content))]),_c('div',{staticClass:\"u-toolbar\"},[_c('el-button',{attrs:{\"size\":\"mini\",\"round\":\"\",\"icon\":\"el-icon-chat-round\"},on:{\"click\":function($event){_vm.showForm = true}}},[_vm._v(\"回复\")]),_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)],1),(_vm.showForm)?_c('el-form',{ref:\"form\",staticClass:\"c-comment-subbox\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"提交\")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){_vm.showForm = false}}},[_vm._v(\"收起\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//import { Notification } from 'element-ui';\nimport { JX3BOX } from \"@jx3box/jx3box-common\"\nimport Vue from \"vue\"\nvar Notification = null\n\nif (process.env.NODE_ENV == \"production\") {\n Notification = Vue.prototype.$notify\n} else {\n Notification = require(\"element-ui\").Notification\n}\n\nexport const GET = function (url, queryParams) {\n let options = {\n \"method\": \"GET\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n }\n return __fetch(url, queryParams, options)\n\n}\n\nvar postRecord = {}\n\nexport const POST = function (url, queryParams, body) {\n\n if (!postRecord[url]) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n // 60 秒内发送评论超过10条\n } else if (Date.now() - postRecord[url].lastest < 60 * 1000) {\n\n if (postRecord[url].count >= 6) {\n Notification.warning({\n title: \"系统\",\n message: \"你单身多久了? 动作这么快, 系统处理不过来 ( T_T )\",\n duration: 3000,\n position: \"bottom-right\"\n })\n return new Promise((reslove, reject) => {\n reject()\n })\n } else {\n postRecord[url].count = postRecord[url].count + 1\n }\n\n } else if (Date.now() - postRecord[url].lastest > 60 * 1000) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n }\n let options = {\n \"method\": \"POST\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n }\n return __fetch(url, queryParams, options)\n}\n\n\nexport const DELETE = function (url, queryParams) {\n let options = {\n \"method\": \"DELETE\"\n }\n return __fetch(url, queryParams, options)\n}\n\nfunction __fetch(url, queryParams, options) {\n let domain = process.env.NODE_ENV == \"production\" ? JX3BOX.__api : \"/\"\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = domain + url\n options.credentials = 'include'\n if (queryParams) {\n let queryQueue = []\n Object.keys(queryParams).forEach((key) => {\n queryQueue.push(key + \"=\" + queryParams[key])\n })\n let domain = JX3BOX.__api\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = url + \"?\" + queryQueue.join(\"&\")\n }\n\n return fetch(url, options).then((resp) => {\n switch (resp.status) {\n case 200:\n break\n case 401:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 403:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 423:\n window.location.href = JX3BOX.__Links.account.email_verify + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 406:\n resp.text().then((body) => {\n Notification.warning({\n title: \"系统\",\n message: body || \"提交内容不合法,请重新提交\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n default:\n resp.text().then((body) => {\n Notification.error({\n title: \"系统:\" + resp.statusText,\n message: body || \"系统错误,请稍后重试!\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n }\n let contentType = resp.headers.get(\"Content-Type\")\n contentType = contentType && contentType.split(\";\").shift()\n switch (contentType) {\n case \"application/json\":\n return resp.json()\n default:\n return resp.text()\n }\n })\n}","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content.vue?vue&type=template&id=2c5ca314&\"\nimport script from \"./comment-content.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content.vue?vue&type=script&lang=js&\"\nimport style0 from \"./comment-content.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.replyList.length)?_c('div',{staticClass:\"c-comment-replylist\"},[_vm._l((_vm.replyList),function(reply){return _c('el-row',{key:reply.comment.id,staticClass:\"c-comment-reply\"},[_c('Avatar',{staticClass:\"u-avatar\",attrs:{\"avatar-size\":34,\"user-avatar\":_vm.showAvatar(reply.user.avatar),\"user-href\":_vm.profileLink + reply.user.id,\"username\":reply.user.displayName}}),_c('CommentContentSimple',{staticClass:\"u-reply\",attrs:{\"post-id\":_vm.postId,\"comment-id\":reply.comment.id,\"date\":reply.comment.commentDate,\"content\":reply.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == reply.user.id},on:{\"deleteReply\":_vm.deleteReply}})],1)}),_c('el-row',[(_vm.replyList.length >= 3 || _vm.showPager)?_c('el-col',{attrs:{\"span\":1}},[_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showLess()}}},[_vm._v(\"收起\")]),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showPager),expression:\"!showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showMore()}}},[_vm._v(\"查看更多\")])],1):_vm._e(),_c('el-col',{staticClass:\"c-comment-reply-pages\",attrs:{\"span\":23}},[_c('el-pagination',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"small\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"total, prev, pager, next\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',[_vm._v(_vm._s(_vm.content))]),_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content-simple.vue?vue&type=template&id=118e75ee&\"\nimport script from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./reply-list.vue?vue&type=template&id=201d176e&\"\nimport script from \"./reply-list.vue?vue&type=script&lang=js&\"\nexport * from \"./reply-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./reply-list.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-with-reply.vue?vue&type=template&id=0cfc0fe8&\"\nimport script from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=2b872b18&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/comment.umd.min.js b/comment.umd.min.js new file mode 100644 index 0000000..aaffca4 --- /dev/null +++ b/comment.umd.min.js @@ -0,0 +1,2 @@ +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["comment"]=e(require("vue")):t["comment"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,o),a.l=!0,a.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)o.d(n,a,function(e){return t[e]}.bind(null,a));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s="fb15")}({"2edf":function(t,e,o){"use strict";var n=o("6d39"),a=o.n(n);a.a},3280:function(t,e,o){},4902:function(t,e,o){"use strict";var n=o("7e17"),a=o.n(n);a.a},"64c7":function(t){t.exports=JSON.parse('{"__Domain":"www.jx3box.com","__Root":"https://www.jx3box.com/","__v2":"https://v2.jx3box.com/","__server":"https://server.jx3box.com/","__api":"https://api.jx3box.com/","__helperUrl":"https://helper.jx3box.com/","__node":"https://node.jx3box.com/","__spider":"https://spider.jx3box.com/","__proxy":"https://proxy.jx3box.com/","__ossRoot":"https://oss.jx3box.com/","__ossMirror":"https://console.cnyixun.com/","__ossCloudflare":"https://jx3box.imkog.com/","__ossGithub":"https://cdn.jx3box.com/","__staticPath":{"jsdelivr":"https://cdn.jsdelivr.net/gh/JX3BOX/","mirror":"https://console.cnyixun.com/static/"},"__dataPath":"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-data","__dataPath_BAK":"https://data.jx3box.com/data/","__imgPath":"https://console.cnyixun.com/img/","__imgPath_BAK":"https://cdn.jx3box.com/img/","__imagePath":"https://console.cnyixun.com/image/","__imagePath_BAK":"https://cdn.jx3box.com/image/","__iconPath":"https://console.cnyixun.com/icon/","__iconPath_BAK":"https://icon.jx3box.com/icon/","__emtionPath":"https://console.cnyixun.com/emotion/","__emtionPath_BAK":"https://jx3box.imkog.com/emotion/","__wpmirrorPath":"https://cdn.jsdelivr.net/gh/JX3BOX/jx3box-mirror/","__wpmirrorPath_BAK":"https://mirror.jx3box.com/","__wpstaticPath":"https://cdn.jsdelivr.net/gh/iRuxu/jx3box-static/dist/","__wpstaticPath_BAK":"https://static.jx3box.com/dist/","__postType":{"posts":"论坛","macro":"剑三宏库","jx3dat":"插件数据","fb":"副本攻略","bps":"职业攻略","cj":"成就百科","share":"捏脸分享","tool":"教程工具","help":"帮助文档","post":"茶馆交流","page":"系统页面"},"__userGroup":{"0":"游客","1":"普通用户","8":"已验证用户","16":"VIP会员","32":"签约作者","64":"管理员"},"__userLevel":{"0":"稻香萌新"},"__Links":{"account":{"login":"https://v2.jx3box.com/account/login","register":"https://v2.jx3box.com/account/register","email_verify":"https://v2.jx3box.com/account/email_verify","login_callback":"https://v2.jx3box.com/account/login_callback","oauth_server":"https://server.jx3box.com/oauth/jx3box/authorize"},"dashboard":{"home":"https://v2.jx3box.com/dashboard","work":"https://v2.jx3box.com/dashboard/#/work","msg":"https://v2.jx3box.com/dashboard/#/msg","feed":"https://v2.jx3box.com/dashboard/#/feed","fav":"https://v2.jx3box.com/dashboard/#/fav","profile":"https://v2.jx3box.com/dashboard/#/profile","connect":"https://v2.jx3box.com/dashboard/#/connect","publish":"https://v2.jx3box.com/dashboard/publish"},"author":"https://v2.jx3box.com/author/","about":"https://v2.jx3box.com/about/","search":"https://search.jx3box.com/","wiki":"https://wiki.jx3box.com/","jx3":"https://xn--3-4g8a959k.com/"},"default_avatar":"https://console.cnyixun.com/image/common/avatar.png","feedback":"https://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=o8LHzsrN48nbkMHM243AzM4"}')},"6d39":function(t,e,o){},"7e17":function(t,e,o){},"85e4":function(t,e,o){const{default_avatar:n,__dataPath:a}=o("64c7");t.exports={resolveImagePath:function(t){return t&&t.length?t.replace(/oss\.jx3box\.com/g,"console.cnyixun.com"):""},checkImageLoad:function(t){t.length&&t.one("error",(function(){var t=$(this).attr("src"),e=t.replace(/console\.cnyixun\.com/g,"oss.jx3box.com");$(this).attr("src",e)}))},showAvatar:function(t,e="s"){const o={s:"?x-oss-process=style/avatar_s",m:"?x-oss-process=style/avatar_m",l:"?x-oss-process=style/avatar_l"};let a=t?t.replace(/oss\.jx3box\.com/g,"console.cnyixun.com"):n;return a+o[e]},dataPath:function(t,e="latest"){return a+"@"+e+"/data/"+t}}},"8a8d":function(t,e,o){"use strict";var n=o("3280"),a=o.n(n);a.a},"8bbf":function(e,o){e.exports=t},a199:function(t,e,o){},b9a8:function(t,e,o){const{__server:n}=o("64c7"),a={github:{client_id:"5fbf7a66cd7d3d0f5153",authorize_uri:"https://github.com/login/oauth/authorize",callback:n+"oauth/github/callback"},qq:{client_id:"101870778",authorize_uri:"https://graph.qq.com/oauth2.0/authorize",callback:n+"oauth/qq/callback"},weibo:{client_id:"4076650110",authorize_uri:"https://api.weibo.com/oauth2/authorize",callback:n+"oauth/weibo/callback"}};t.exports=a},bc3e:function(t,e,o){"use strict";var n=o("a199"),a=o.n(n);a.a},c9d2:function(t,e,o){const{showAvatar:n}=o("85e4"),{__Links:a,default_avatar:s}=o("64c7");class r{constructor(){this.expires=144e5,this.created_at=0,this.logged_in=!1,this.profile={},this.anonymous={uid:0,group:0,name:"未登录",avatar:n(null,"s"),bio:"凭栏望千里,煮酒论江湖。",avatar_origin:s}}check(){return this.isLogin()?(this.profile.uid=localStorage.getItem("uid"),this.profile.group=localStorage.getItem("group")||1,this.profile.name=localStorage.getItem("name"),this.profile.avatar_origin=localStorage.getItem("avatar")||s,this.profile.avatar=n(this.profile.avatar_origin,"s"),this.profile.bio=localStorage.getItem("bio")||""):this.profile=this.anonymous,this}refresh(t,e){return localStorage.setItem(t,e)}isLogin(){return this.created_at=null==localStorage.getItem("created_at")?-1/0:localStorage.getItem("created_at"),this.logged_in="true"==localStorage.getItem("logged_in"),this.logged_in&&Date.now()-this.created_at{try{this._save(t),e(this)}catch(n){localStorage?(localStorage.clear(),this._save(t),e(value)):o(new Error("localStorage不可用"))}})}destroy(){localStorage.removeItem("created_at"),localStorage.setItem("logged_in","false"),localStorage.removeItem("token")}toLogin(t){t=t||location.href,location.href=a.account.login+"?redirect="+t}getInfo(){return this.check(),this.profile}getToken(){return localStorage.getItem("token")}getUUID(){return localStorage.getItem("device_id")}}t.exports=new r},ee8f:function(t,e,o){const n=o("64c7"),a=o("fa0b"),s=o("85e4"),r=o("c9d2"),i=o("b9a8");t.exports={JX3BOX:n,SEO:a,Utils:s,User:r,OAuth:i}},fa0b:function(t){t.exports=JSON.parse('{"title":" » JX3BOX - 一站式剑网3资源工具站","keys":"jx3box,剑三魔盒,剑三宏,剑三插件,剑三辅助,副本攻略,副本解包,团队监控,捏脸数据,剑3数据库,成就百科,剑三成就,剑3,剑网3,剑三box,剑三百科","desc":"JX3BOX - 剑三魔盒是一个以剑网3游戏为主的专业攻略资源站,这里干货满满,大神多多,为你的武侠江湖之路助力。剑三魔盒,玩家贴心的小助手。"}')},fb15:function(t,e,o){"use strict";if(o.r(e),"undefined"!==typeof window){var n=window.document.currentScript,a=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);a&&(o.p=a[1])}var s=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("el-container",{staticClass:"c-comment"},[o("el-main",[o("el-form",{ref:"form",staticClass:"c-comment-box",attrs:{model:t.newComment}},[o("el-form-item",[o("el-input",{attrs:{rows:"3",type:"textarea",maxlength:"300","show-word-limit":"",placeholder:"参与讨论..."},model:{value:t.newComment.content,callback:function(e){t.$set(t.newComment,"content",e)},expression:"newComment.content"}})],1),o("el-form-item",[o("el-button",{staticClass:"u-publish",attrs:{type:"primary"},on:{click:t.onSubmit}},[t._v("发表评论")])],1)],1),t._l(t.commentList,(function(e){return o("div",{key:e.comment.id,staticClass:"c-comment-list"},[o("Avatar",{attrs:{"avatar-size":68,"user-avatar":t.showAvatar(e.user.avatar),"user-href":t.profileLink+e.user.id,username:e.user.displayName}}),o("CommmentWithReply",{attrs:{item:e,"post-id":t.postId,power:t.commentPower},on:{deteleComment:t.deteleComment}})],1)})),t.commentList.length>5?o("el-row",[o("el-col",{attrs:{span:12}},[o("el-form",{attrs:{inline:!0,model:t.newComment}},[o("el-form-item",[o("el-input",{staticStyle:{width:"360px"},attrs:{"show-word-limit":"",placeholder:"参与讨论"},model:{value:t.newComment.content,callback:function(e){t.$set(t.newComment,"content",e)},expression:"newComment.content"}})],1),o("el-form-item",[o("el-button",{attrs:{type:"primary"},on:{click:t.onSubmit}},[t._v("提交")])],1)],1)],1),o("el-col",{attrs:{span:12}},[o("el-pagination",{staticStyle:{"text-align":"right"},attrs:{background:"","hide-on-single-page":"","current-page":t.pager.index,"page-size":t.pager.pageSize,layout:"prev, pager, next, total",total:t.pager.total},on:{"current-change":t.handleCurrentChange,"update:currentPage":function(e){return t.$set(t.pager,"index",e)},"update:current-page":function(e){return t.$set(t.pager,"index",e)}}})],1)],1):t._e()],2),o("el-footer")],1)},r=[],i=o("ee8f"),c=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"c-comment-avatar"},[o("el-link",{staticClass:"u-avatar",attrs:{href:t.userHref}},[o("el-avatar",{staticClass:"u-avatar-pic",attrs:{shape:"square",size:t.avatarSize,src:t.userAvatar}})],1),o("el-link",{staticClass:"u-name",attrs:{type:"primary",target:"_blank",href:t.userHref}},[t._v(t._s(t.username))])],1)},l=[],m={props:["avatarSize","userAvatar","userHref","username"]},p=m;o("4902");function u(t,e,o,n,a,s,r,i){var c,l="function"===typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=o,l._compiled=!0),n&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),r?(c=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__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=c):a&&(c=i?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var m=l.render;l.render=function(t,e){return c.call(e),m(t,e)}}else{var p=l.beforeCreate;l.beforeCreate=p?[].concat(p,c):[c]}return{exports:t,options:l}}var h=u(p,c,l,!1,null,null,null),d=h.exports,g=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"c-comment-cmt"},[o("CommentContent",{attrs:{"post-id":t.postId,"comment-id":t.item.comment.id,date:t.item.comment.commentDate,content:t.item.comment.content,"can-delete":t.power.allow||t.power.uid==t.item.user.id},on:{addNewComment:t.refreshReply,deteleComment:t.deteleComment}}),o("ReplyList",{ref:"replyList",attrs:{"post-id":t.postId,"origin-reply-list":t.item.reply,"comment-id":t.item.comment.id,power:t.power}})],1)},f=[],_=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"u-cmt"},[o("div",{staticClass:"u-text"},[t._v(t._s(t.content))]),o("div",{staticClass:"u-toolbar"},[o("el-button",{attrs:{size:"mini",round:"",icon:"el-icon-chat-round"},on:{click:function(e){t.showForm=!0}}},[t._v("回复")]),o("div",{staticStyle:{float:"right"}},[t.canDelete?o("el-button",{attrs:{type:"text",icon:"el-icon-delete",size:"mini"},on:{click:function(e){return t.deleteComment()}}},[t._v("删除")]):t._e(),o("el-button",{attrs:{type:"text",icon:"el-icon-time",disabled:"",size:"mini"}},[t._v(t._s(t.dataFormat(t.date)))])],1)],1),t.showForm?o("el-form",{ref:"form",staticClass:"c-comment-subbox",attrs:{model:t.newComment}},[o("el-form-item",[o("el-input",{attrs:{type:"textarea"},model:{value:t.newComment.content,callback:function(e){t.$set(t.newComment,"content",e)},expression:"newComment.content"}})],1),o("el-form-item",[o("el-button",{attrs:{size:"mini",type:"primary"},on:{click:function(e){return t.submit()}}},[t._v("提交")]),o("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){t.showForm=!1}}},[t._v("收起")])],1)],1):t._e()],1)},x=[],b=o("8bbf"),v=o.n(b),w=null;w=v.a.prototype.$notify;const y=function(t,e){let o={method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}};return k(t,e,o)};var C={};const j=function(t,e,o){if(C[t])if(Date.now()-C[t].lastest<6e4){if(C[t].count>=6)return w.warning({title:"系统",message:"你单身多久了? 动作这么快, 系统处理不过来 ( T_T )",duration:3e3,position:"bottom-right"}),new Promise((t,e)=>{e()});C[t].count=C[t].count+1}else Date.now()-C[t].lastest>6e4&&(C[t]={lastest:Date.now(),count:0});else C[t]={lastest:Date.now(),count:0};let n={method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o)};return k(t,e,n)},S=function(t,e){let o={method:"DELETE"};return k(t,e,o)};function k(t,e,o){let n=i["JX3BOX"].__api;if("/"==n[n.length-1]&&(n=n.substring(0,n.length-1)),t=n+t,o.credentials="include",e){let o=[];Object.keys(e).forEach(t=>{o.push(t+"="+e[t])});let n=i["JX3BOX"].__api;"/"==n[n.length-1]&&(n=n.substring(0,n.length-1)),t=t+"?"+o.join("&")}return fetch(t,o).then(t=>{switch(t.status){case 200:break;case 401:throw window.location.href=i["JX3BOX"].__Links.account.login+"?redirect="+encodeURIComponent(window.location.href),new Error("错误:"+t.statusText);case 403:throw window.location.href=i["JX3BOX"].__Links.account.login+"?redirect="+encodeURIComponent(window.location.href),new Error("错误:"+t.statusText);case 423:throw window.location.href=i["JX3BOX"].__Links.account.email_verify+"?redirect="+encodeURIComponent(window.location.href),new Error("错误:"+t.statusText);case 406:throw t.text().then(t=>{w.warning({title:"系统",message:t||"提交内容不合法,请重新提交",duration:3e3,position:"bottom-right"})}),new Error("错误:"+t.statusText);default:throw t.text().then(e=>{w.error({title:"系统:"+t.statusText,message:e||"系统错误,请稍后重试!",duration:3e3,position:"bottom-right"})}),new Error("错误:"+t.statusText)}let e=t.headers.get("Content-Type");switch(e=e&&e.split(";").shift(),e){case"application/json":return t.json();default:return t.text()}})}function L(t){return t>9?t:"0"+t}var I={props:["postId","commentId","content","date","hasReply","canDelete"],methods:{deleteComment(){this.$emit("deteleComment",this.commentId)},dataFormat(t){let e=new Date(t);return e.getFullYear()+"-"+L(e.getMonth()+1)+"-"+L(e.getDate())+" "+L(e.getHours())+":"+L(e.getMinutes())+":"+L(e.getSeconds())},submit(){j(`/api/post/${this.postId}/comment/${this.commentId}/reply`,null,{content:this.newComment.content}).then(()=>{this.$notify({title:"",message:"评论成功!",type:"success",duration:3e3,position:"bottom-right"}),this.newComment={},this.$emit("addNewComment")}).catch(()=>{})},hideForm(){}},data:function(){return{newComment:{},showForm:!1}}},$=I,P=(o("bc3e"),u($,_,x,!1,null,null,null)),R=P.exports,z=function(){var t=this,e=t.$createElement,o=t._self._c||e;return t.replyList.length?o("div",{staticClass:"c-comment-replylist"},[t._l(t.replyList,(function(e){return o("el-row",{key:e.comment.id,staticClass:"c-comment-reply"},[o("Avatar",{staticClass:"u-avatar",attrs:{"avatar-size":34,"user-avatar":t.showAvatar(e.user.avatar),"user-href":t.profileLink+e.user.id,username:e.user.displayName}}),o("CommentContentSimple",{staticClass:"u-reply",attrs:{"post-id":t.postId,"comment-id":e.comment.id,date:e.comment.commentDate,content:e.comment.content,"can-delete":t.power.allow||t.power.uid==e.user.id},on:{deleteReply:t.deleteReply}})],1)})),o("el-row",[t.replyList.length>=3||t.showPager?o("el-col",{attrs:{span:1}},[o("el-button",{directives:[{name:"show",rawName:"v-show",value:t.showPager,expression:"showPager"}],attrs:{type:"text"},on:{click:function(e){return t.showLess()}}},[t._v("收起")]),o("el-button",{directives:[{name:"show",rawName:"v-show",value:!t.showPager,expression:"!showPager"}],attrs:{type:"text"},on:{click:function(e){return t.showMore()}}},[t._v("查看更多")])],1):t._e(),o("el-col",{staticClass:"c-comment-reply-pages",attrs:{span:23}},[o("el-pagination",{directives:[{name:"show",rawName:"v-show",value:t.showPager,expression:"showPager"}],attrs:{small:"","current-page":t.pager.index,"page-size":t.pager.pageSize,layout:"total, prev, pager, next",total:t.pager.total},on:{"current-change":t.handleCurrentChange,"update:currentPage":function(e){return t.$set(t.pager,"index",e)},"update:current-page":function(e){return t.$set(t.pager,"index",e)}}})],1)],1)],2):t._e()},O=[],X=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticStyle:{width:"100%"}},[o("div",[t._v(t._s(t.content))]),o("div",{staticStyle:{width:"100%"}},[o("div",{staticStyle:{float:"right"}},[t.canDelete?o("el-button",{attrs:{type:"text",icon:"el-icon-delete",size:"mini"},on:{click:function(e){return t.deleteComment()}}},[t._v("删除")]):t._e(),o("el-button",{attrs:{type:"text",icon:"el-icon-time",disabled:"",size:"mini"}},[t._v(t._s(t.dataFormat(t.date)))])],1)])])},A=[];function T(t){return t>9?t:"0"+t}var E={props:["postId","commentId","content","date","hasReply","canDelete"],methods:{deleteComment(){this.$emit("deleteReply",this.commentId)},dataFormat(t){let e=new Date(t);return e.getFullYear()+"-"+T(e.getMonth()+1)+"-"+T(e.getDate())+" "+T(e.getHours())+":"+T(e.getMinutes())+":"+T(e.getSeconds())}}},B=E,D=u(B,X,A,!1,null,null,null),J=D.exports,q={props:["postId","commentId","originReplyList","power"],components:{Avatar:d,CommentContentSimple:J},backReplyList:[],data:function(){return{profileLink:i["JX3BOX"].__Links.author,replyList:[],pager:{index:1,pageSize:10,pageTotal:1,total:0},showPager:!1}},mounted(){this.backReplyList=this.originReplyList||[],this.replyList=this.backReplyList,this.$on("refresh",()=>{this.showPager?this.loadCommentList(this.pager.index):this.replyList.length<3&&this.loadCommentList(1,3)})},methods:{getStyle(t){return{padding:"10px 10px 0px 10px"}},showAvatar:i["Utils"].showAvatar,showMore(){this.showPager=!0,this.loadCommentList(1)},showLess(){this.showPager=!1,this.replyList=this.backReplyList},handleCurrentChange(t){this.loadCommentList(t)},deleteReply(t){S(`/api/post/${this.postId}/comment/${t}`).then(()=>{this.$notify({title:"",message:"删除成功!",type:"success",duration:3e3,position:"bottom-right"}),this.showPager?this.loadCommentList(this.pager.index):this.loadCommentList(this.pager.index,3)}).catch(()=>{})},loadCommentList(t,e){e||(e=6),y(`/api/post/${this.postId}/comment/${this.commentId}/reply/page/${t}?pageSize=${e}`).then(o=>{1==t&&3==e&&(this.backReplyList=o.data),this.replyList=o.data,this.pager=o.page}).catch(()=>{})}}},M=q,N=(o("2edf"),u(M,z,O,!1,null,null,null)),F=N.exports,U={props:["item","postId","power"],components:{CommentContent:R,ReplyList:F},methods:{deteleComment(t){this.$emit("deteleComment",t)},refreshReply(){this.$refs.replyList.$emit("refresh")}}},H=U,K=u(H,g,f,!1,null,null,null),V=K.exports,G={name:"Comment",props:["postId"],components:{Avatar:d,CommmentWithReply:V},data:function(){return{commentPower:{allow:!1,uid:-1},commentList:[],showAvatar:i["Utils"].showAvatar,profileLink:i["JX3BOX"].__Links.author+"",newComment:{},pager:{index:1,pageSize:10,pageTotal:1,total:0}}},methods:{deteleComment(t){S(`/api/post/${this.postId}/comment/${t}`).then(()=>{this.$notify({title:"",message:"删除成功!",type:"success",duration:3e3,position:"bottom-right"}),this.reloadCommentList(this.pager.index)}).catch(()=>{})},reloadCommentList(t){y(`/api/post/${this.postId}/comment/page/${t}`).then(t=>{this.commentList=t.data||[],this.pager=t.page}).catch(()=>{})},handleCurrentChange(t){this.reloadCommentList(t)},onSubmit(){j(`/api/post/${this.postId}/comment`,null,{content:this.newComment.content}).then(()=>{this.$notify({title:"",message:"评论成功!",type:"success",duration:3e3,position:"bottom-right"}),this.newComment={},this.pager.index!=this.pager.pageTotal&&this.pager.total%this.pager.pageSize!=0||this.reloadCommentList(this.pager.index)}).catch(()=>{})}},mounted(){this.reloadCommentList(1),y(`/api/post/${this.postId}/can-i-delete-comment`).then(t=>{this.commentPower=t}).catch(()=>{})}},W=G,Y=(o("8a8d"),u(W,s,r,!1,null,null,null)),Q=Y.exports;e["default"]=Q}})["default"]})); +//# sourceMappingURL=comment.umd.min.js.map \ No newline at end of file diff --git a/comment.umd.min.js.map b/comment.umd.min.js.map new file mode 100644 index 0000000..a2abb32 --- /dev/null +++ b/comment.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://comment/webpack/universalModuleDefinition","webpack://comment/webpack/bootstrap","webpack://comment/./src/components/reply-list.vue?0f7f","webpack://comment/./src/components/avatar.vue?23d4","webpack://comment/./node_modules/@jx3box/jx3box-common/js/utils.js","webpack://comment/./src/Comment.vue?b1b1","webpack://comment/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://comment/./node_modules/@jx3box/jx3box-common/js/oauth.js","webpack://comment/./src/components/comment-content.vue?2cc2","webpack://comment/./node_modules/@jx3box/jx3box-common/js/user.js","webpack://comment/./node_modules/@jx3box/jx3box-common/main.js","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://comment/./src/Comment.vue?3896","webpack://comment/./src/components/avatar.vue?3d96","webpack://comment/src/components/avatar.vue","webpack://comment/./src/components/avatar.vue?da8f","webpack://comment/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://comment/./src/components/avatar.vue?e1d5","webpack://comment/./src/components/comment-with-reply.vue?d6e9","webpack://comment/./src/components/comment-content.vue?bdad","webpack://comment/./src/service.js","webpack://comment/src/components/comment-content.vue","webpack://comment/./src/components/comment-content.vue?15c5","webpack://comment/./src/components/comment-content.vue?bcdb","webpack://comment/./src/components/reply-list.vue?0226","webpack://comment/./src/components/comment-content-simple.vue?d516","webpack://comment/src/components/comment-content-simple.vue","webpack://comment/./src/components/comment-content-simple.vue?c10c","webpack://comment/./src/components/comment-content-simple.vue","webpack://comment/src/components/reply-list.vue","webpack://comment/./src/components/reply-list.vue?bb51","webpack://comment/./src/components/reply-list.vue?d204","webpack://comment/src/components/comment-with-reply.vue","webpack://comment/./src/components/comment-with-reply.vue?019b","webpack://comment/./src/components/comment-with-reply.vue","webpack://comment/src/Comment.vue","webpack://comment/./src/Comment.vue?600f","webpack://comment/./src/Comment.vue?6497","webpack://comment/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","default_avatar","__dataPath","resolveImagePath","str","length","replace","checkImageLoad","jq","one","img_url","$","attr","fix_url","showAvatar","url","size","styleMap","avatar","dataPath","path","version","__server","OAuth","github","client_id","authorize_uri","callback","qq","weibo","__Links","User","expires","created_at","logged_in","profile","anonymous","uid","group","bio","avatar_origin","isLogin","localStorage","getItem","val","setItem","Infinity","Date","now","data","token","Promise","resolve","reject","_save","err","clear","Error","removeItem","location","href","account","login","check","JX3BOX","SEO","Utils","window","currentScript","document","src","match","render","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","newComment","model","$$v","$set","expression","on","onSubmit","_v","_l","item","comment","id","user","profileLink","displayName","postId","commentPower","deteleComment","commentList","staticStyle","pager","index","pageSize","total","handleCurrentChange","$event","_e","staticRenderFns","userHref","avatarSize","userAvatar","_s","username","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","commentDate","content","power","allow","refreshReply","reply","showForm","deleteComment","dataFormat","date","submit","Notification","Vue","$notify","GET","queryParams","headers","__fetch","postRecord","POST","body","lastest","count","warning","title","message","duration","position","reslove","JSON","stringify","DELETE","domain","__api","substring","credentials","queryQueue","keys","forEach","push","join","fetch","then","resp","status","encodeURIComponent","statusText","email_verify","text","error","contentType","split","shift","json","fillZero","num","replyList","deleteReply","showPager","directives","rawName","showLess","showMore","props","methods","$emit","commentId"],"mappings":"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","file":"comment.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"comment\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"comment\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=style&index=0&lang=less&\"","const {default_avatar,__dataPath} = require('./jx3box');\n\nmodule.exports = {\n resolveImagePath : function (str){\n return (str && str.length) ? str.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com') : ''\n },\n\n checkImageLoad : function (jq){\n jq.length &&\n jq.one('error',function (){\n var img_url = $(this).attr(\"src\");\n var fix_url = img_url.replace(\n /console\\.cnyixun\\.com/g,\n \"oss.jx3box.com\"\n );\n $(this).attr(\"src\", fix_url);\n })\n },\n\n showAvatar : function (url,size='s'){\n\n const styleMap = {\n s : \"?x-oss-process=style/avatar_s\",\n m : \"?x-oss-process=style/avatar_m\",\n l : \"?x-oss-process=style/avatar_l\"\n }\n\n let avatar = !url ? default_avatar : url.replace(/oss\\.jx3box\\.com/g,'console.cnyixun.com')\n\n return avatar + styleMap[size]\n\n },\n\n dataPath :function (path,version=\"latest\"){\n return __dataPath + '@' + version + '/data/' + path\n }\n}","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&lang=less&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","const { __server } = require(\"./jx3box\");\nconst OAuth = {\n github: {\n client_id: \"5fbf7a66cd7d3d0f5153\",\n authorize_uri: \"https://github.com/login/oauth/authorize\",\n callback : `${__server}oauth/github/callback`\n },\n qq : {\n client_id : \"101870778\",\n authorize_uri : \"https://graph.qq.com/oauth2.0/authorize\",\n callback : `${__server}oauth/qq/callback`\n },\n weibo : {\n client_id : \"4076650110\",\n authorize_uri : \"https://api.weibo.com/oauth2/authorize\",\n callback : `${__server}oauth/weibo/callback`\n }\n}\n\nmodule.exports = OAuth","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=style&index=0&lang=less&\"","const { showAvatar } = require(\"./utils\");\nconst {__Links,default_avatar} = require('./jx3box');\n\nclass User {\n constructor() {\n // TOKEN有效期\n this.expires = 14400000;\n this.created_at = 0;\n // 登录状态\n this.logged_in = false;\n\n // 缓存资料\n this.profile = {};\n this.anonymous = {\n uid: 0,\n group: 0,\n name: \"未登录\",\n avatar: showAvatar(null,'s'),\n bio: \"凭栏望千里,煮酒论江湖。\",\n avatar_origin : default_avatar\n };\n\n }\n\n // 检查当前状态\n check() {\n if (this.isLogin()) {\n this.profile.uid = localStorage.getItem(\"uid\");\n this.profile.group = localStorage.getItem(\"group\") || 1;\n this.profile.name = localStorage.getItem(\"name\");\n this.profile.avatar_origin = localStorage.getItem(\"avatar\") || default_avatar;\n this.profile.avatar = showAvatar(this.profile.avatar_origin,'s')\n this.profile.bio = localStorage.getItem(\"bio\") || '';\n } else {\n this.profile = this.anonymous;\n }\n return this;\n }\n\n // 更新指定缓存字段\n refresh(key,val){\n return localStorage.setItem(key,val);\n }\n\n // 判断是否已登录\n isLogin() {\n this.created_at =\n localStorage.getItem(\"created_at\") == null\n ? -Infinity\n : localStorage.getItem(\"created_at\");\n this.logged_in =\n localStorage.getItem(\"logged_in\") == \"true\" ? true : false;\n return this.logged_in && Date.now() - this.created_at < this.expires;\n }\n\n // 保存用户资料\n _save(data){\n localStorage.setItem(\"created_at\", Date.now());\n localStorage.setItem(\"logged_in\", true);\n localStorage.setItem(\"token\", data.token);\n localStorage.setItem(\"uid\", data.uid);\n localStorage.setItem(\"group\", data.group);\n localStorage.setItem(\"name\", data.name);\n localStorage.setItem(\"avatar\", data.avatar);\n localStorage.setItem(\"bio\", data.bio);\n }\n\n // 更新用户资料\n update(data){\n return new Promise((resolve,reject)=>{\n try {\n this._save(data)\n resolve(this)\n } catch (err) {\n //如果localstorage不存在或已满\n if (localStorage) {\n localStorage.clear();\n this._save(data)\n resolve(value)\n } else {\n reject(new Error('localStorage不可用'))\n }\n }\n })\n }\n\n // 销毁登录状态\n destroy() {\n // for非鉴权接口\n localStorage.removeItem(\"created_at\");\n localStorage.setItem(\"logged_in\", \"false\");\n // for鉴权接口\n localStorage.removeItem(\"token\");\n }\n\n // 跳转至登录\n toLogin(url){\n url = url || location.href\n location.href = __Links.account.login + '?redirect=' + url\n }\n\n // 获取用户基础缓存信息\n getInfo() {\n this.check();\n return this.profile;\n }\n\n // 获取本地令牌\n getToken() {\n return localStorage.getItem(\"token\");\n }\n\n // 获取UUID\n getUUID() {\n return localStorage.getItem(\"device_id\");\n }\n}\nmodule.exports = new User();\n","const JX3BOX = require(\"./js/jx3box\");\nconst SEO = require(\"./js/seo\");\nconst Utils = require(\"./js/utils\");\nconst User = require(\"./js/user\");\nconst OAuth = require(\"./js/oauth\");\n\nmodule.exports = { JX3BOX, SEO, Utils, User, OAuth };\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"c-comment\"},[_c('el-main',[_c('el-form',{ref:\"form\",staticClass:\"c-comment-box\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"rows\":\"3\",\"type\":\"textarea\",\"maxlength\":\"300\",\"show-word-limit\":\"\",\"placeholder\":\"参与讨论...\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{staticClass:\"u-publish\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"发表评论\")])],1)],1),_vm._l((_vm.commentList),function(item){return _c('div',{key:item.comment.id,staticClass:\"c-comment-list\"},[_c('Avatar',{attrs:{\"avatar-size\":68,\"user-avatar\":_vm.showAvatar(item.user.avatar),\"user-href\":_vm.profileLink + item.user.id,\"username\":item.user.displayName}}),_c('CommmentWithReply',{attrs:{\"item\":item,\"post-id\":_vm.postId,\"power\":_vm.commentPower},on:{\"deteleComment\":_vm.deteleComment}})],1)}),(_vm.commentList.length > 5)?_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('el-form',{attrs:{\"inline\":true,\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{staticStyle:{\"width\":\"360px\"},attrs:{\"show-word-limit\":\"\",\"placeholder\":\"参与讨论\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"提交\")])],1)],1)],1),_c('el-col',{attrs:{\"span\":12}},[_c('el-pagination',{staticStyle:{\"text-align\":\"right\"},attrs:{\"background\":\"\",\"hide-on-single-page\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"prev, pager, next, total\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1):_vm._e()],2),_c('el-footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-avatar\"},[_c('el-link',{staticClass:\"u-avatar\",attrs:{\"href\":_vm.userHref}},[_c('el-avatar',{staticClass:\"u-avatar-pic\",attrs:{\"shape\":\"square\",\"size\":_vm.avatarSize,\"src\":_vm.userAvatar}})],1),_c('el-link',{staticClass:\"u-name\",attrs:{\"type\":\"primary\",\"target\":\"_blank\",\"href\":_vm.userHref}},[_vm._v(_vm._s(_vm.username))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./avatar.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./avatar.vue?vue&type=template&id=d1889cce&\"\nimport script from \"./avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./avatar.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c-comment-cmt\"},[_c('CommentContent',{attrs:{\"post-id\":_vm.postId,\"comment-id\":_vm.item.comment.id,\"date\":_vm.item.comment.commentDate,\"content\":_vm.item.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == _vm.item.user.id},on:{\"addNewComment\":_vm.refreshReply,\"deteleComment\":_vm.deteleComment}}),_c('ReplyList',{ref:\"replyList\",attrs:{\"post-id\":_vm.postId,\"origin-reply-list\":_vm.item.reply,\"comment-id\":_vm.item.comment.id,\"power\":_vm.power}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-cmt\"},[_c('div',{staticClass:\"u-text\"},[_vm._v(_vm._s(_vm.content))]),_c('div',{staticClass:\"u-toolbar\"},[_c('el-button',{attrs:{\"size\":\"mini\",\"round\":\"\",\"icon\":\"el-icon-chat-round\"},on:{\"click\":function($event){_vm.showForm = true}}},[_vm._v(\"回复\")]),_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)],1),(_vm.showForm)?_c('el-form',{ref:\"form\",staticClass:\"c-comment-subbox\",attrs:{\"model\":_vm.newComment}},[_c('el-form-item',[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.newComment.content),callback:function ($$v) {_vm.$set(_vm.newComment, \"content\", $$v)},expression:\"newComment.content\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"提交\")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){_vm.showForm = false}}},[_vm._v(\"收起\")])],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//import { Notification } from 'element-ui';\nimport { JX3BOX } from \"@jx3box/jx3box-common\"\nimport Vue from \"vue\"\nvar Notification = null\n\nif (process.env.NODE_ENV == \"production\") {\n Notification = Vue.prototype.$notify\n} else {\n Notification = require(\"element-ui\").Notification\n}\n\nexport const GET = function (url, queryParams) {\n let options = {\n \"method\": \"GET\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n }\n return __fetch(url, queryParams, options)\n\n}\n\nvar postRecord = {}\n\nexport const POST = function (url, queryParams, body) {\n\n if (!postRecord[url]) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n // 60 秒内发送评论超过10条\n } else if (Date.now() - postRecord[url].lastest < 60 * 1000) {\n\n if (postRecord[url].count >= 6) {\n Notification.warning({\n title: \"系统\",\n message: \"你单身多久了? 动作这么快, 系统处理不过来 ( T_T )\",\n duration: 3000,\n position: \"bottom-right\"\n })\n return new Promise((reslove, reject) => {\n reject()\n })\n } else {\n postRecord[url].count = postRecord[url].count + 1\n }\n\n } else if (Date.now() - postRecord[url].lastest > 60 * 1000) {\n postRecord[url] = {\n lastest: Date.now(),\n count: 0\n }\n }\n let options = {\n \"method\": \"POST\",\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n }\n return __fetch(url, queryParams, options)\n}\n\n\nexport const DELETE = function (url, queryParams) {\n let options = {\n \"method\": \"DELETE\"\n }\n return __fetch(url, queryParams, options)\n}\n\nfunction __fetch(url, queryParams, options) {\n let domain = process.env.NODE_ENV == \"production\" ? JX3BOX.__api : \"/\"\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = domain + url\n options.credentials = 'include'\n if (queryParams) {\n let queryQueue = []\n Object.keys(queryParams).forEach((key) => {\n queryQueue.push(key + \"=\" + queryParams[key])\n })\n let domain = JX3BOX.__api\n if (domain[domain.length - 1] == \"/\") {\n domain = domain.substring(0, domain.length - 1)\n }\n url = url + \"?\" + queryQueue.join(\"&\")\n }\n\n return fetch(url, options).then((resp) => {\n switch (resp.status) {\n case 200:\n break\n case 401:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 403:\n window.location.href = JX3BOX.__Links.account.login + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 423:\n window.location.href = JX3BOX.__Links.account.email_verify + \"?redirect=\" + encodeURIComponent(window.location.href)\n throw new Error(\"错误:\" + resp.statusText)\n case 406:\n resp.text().then((body) => {\n Notification.warning({\n title: \"系统\",\n message: body || \"提交内容不合法,请重新提交\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n default:\n resp.text().then((body) => {\n Notification.error({\n title: \"系统:\" + resp.statusText,\n message: body || \"系统错误,请稍后重试!\",\n duration: 3000,\n position: \"bottom-right\"\n })\n })\n\n throw new Error(\"错误:\" + resp.statusText)\n }\n let contentType = resp.headers.get(\"Content-Type\")\n contentType = contentType && contentType.split(\";\").shift()\n switch (contentType) {\n case \"application/json\":\n return resp.json()\n default:\n return resp.text()\n }\n })\n}","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content.vue?vue&type=template&id=2c5ca314&\"\nimport script from \"./comment-content.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content.vue?vue&type=script&lang=js&\"\nimport style0 from \"./comment-content.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.replyList.length)?_c('div',{staticClass:\"c-comment-replylist\"},[_vm._l((_vm.replyList),function(reply){return _c('el-row',{key:reply.comment.id,staticClass:\"c-comment-reply\"},[_c('Avatar',{staticClass:\"u-avatar\",attrs:{\"avatar-size\":34,\"user-avatar\":_vm.showAvatar(reply.user.avatar),\"user-href\":_vm.profileLink + reply.user.id,\"username\":reply.user.displayName}}),_c('CommentContentSimple',{staticClass:\"u-reply\",attrs:{\"post-id\":_vm.postId,\"comment-id\":reply.comment.id,\"date\":reply.comment.commentDate,\"content\":reply.comment.content,\"can-delete\":_vm.power.allow || _vm.power.uid == reply.user.id},on:{\"deleteReply\":_vm.deleteReply}})],1)}),_c('el-row',[(_vm.replyList.length >= 3 || _vm.showPager)?_c('el-col',{attrs:{\"span\":1}},[_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showLess()}}},[_vm._v(\"收起\")]),_c('el-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showPager),expression:\"!showPager\"}],attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.showMore()}}},[_vm._v(\"查看更多\")])],1):_vm._e(),_c('el-col',{staticClass:\"c-comment-reply-pages\",attrs:{\"span\":23}},[_c('el-pagination',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPager),expression:\"showPager\"}],attrs:{\"small\":\"\",\"current-page\":_vm.pager.index,\"page-size\":_vm.pager.pageSize,\"layout\":\"total, prev, pager, next\",\"total\":_vm.pager.total},on:{\"current-change\":_vm.handleCurrentChange,\"update:currentPage\":function($event){return _vm.$set(_vm.pager, \"index\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.pager, \"index\", $event)}}})],1)],1)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',[_vm._v(_vm._s(_vm.content))]),_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticStyle:{\"float\":\"right\"}},[(_vm.canDelete)?_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.deleteComment()}}},[_vm._v(\"删除\")]):_vm._e(),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-time\",\"disabled\":\"\",\"size\":\"mini\"}},[_vm._v(_vm._s(_vm.dataFormat(_vm.date)))])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-content-simple.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-content-simple.vue?vue&type=template&id=118e75ee&\"\nimport script from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-content-simple.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reply-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./reply-list.vue?vue&type=template&id=201d176e&\"\nimport script from \"./reply-list.vue?vue&type=script&lang=js&\"\nexport * from \"./reply-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./reply-list.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comment-with-reply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./comment-with-reply.vue?vue&type=template&id=0cfc0fe8&\"\nimport script from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\nexport * from \"./comment-with-reply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=2b872b18&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/demo.html b/demo.html new file mode 100644 index 0000000..a82b6e6 --- /dev/null +++ b/demo.html @@ -0,0 +1,19 @@ + +comment demo + + + + + + +
+ +
+ + \ No newline at end of file