| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692 |
- exports.ids = [120];
- exports.modules = {
- /***/ 126:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/new404.b64d371.png";
- /***/ }),
- /***/ 127:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_fc4c9348_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 136:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- // CONCATENATED MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./components/error_page/404.vue?vue&type=template&id=fc4c9348&scoped=true&
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"main-404",class:{ 'main-404-fixed': _vm.isFixedHeader }},[_vm._ssrNode(((_vm.message)?("<div data-v-fc4c9348>"+_vm._ssrEscape(_vm._s(_vm.message))+"</div>"):("<img"+(_vm._ssrAttr("src",__webpack_require__(126)))+" alt=\"404\" class=\"img-404\" data-v-fc4c9348>")))])}
- var staticRenderFns = []
- // CONCATENATED MODULE: ./components/error_page/404.vue?vue&type=template&id=fc4c9348&scoped=true&
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./components/error_page/404.vue?vue&type=script&lang=js&
- //
- //
- //
- //
- //
- //
- //
- /* harmony default export */ var _404vue_type_script_lang_js_ = ({
- name: 'ErrorPage404',
- props: {
- message: {
- type: String,
- default: ''
- }
- },
- computed: {
- isFixedHeader() {
- let isFixedHeader = false;
- const routeName = this.$route.name;
- if (routeName.indexOf('SeoConsultUser') > -1) {
- isFixedHeader = true;
- }
- return isFixedHeader;
- }
- }
- });
- // CONCATENATED MODULE: ./components/error_page/404.vue?vue&type=script&lang=js&
- /* harmony default export */ var error_page_404vue_type_script_lang_js_ = (_404vue_type_script_lang_js_);
- // EXTERNAL MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js
- var componentNormalizer = __webpack_require__(1);
- // CONCATENATED MODULE: ./components/error_page/404.vue
- function injectStyles (context) {
-
- var style0 = __webpack_require__(127)
- if (style0.__inject__) style0.__inject__(context)
- }
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- error_page_404vue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- injectStyles,
- "fc4c9348",
- "34c277a4"
-
- )
- /* harmony default export */ var _404 = __webpack_exports__["a"] = (component.exports);
- /***/ }),
- /***/ 261:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 262:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 551:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/consult@2x.b81fe4d.png";
- /***/ }),
- /***/ 552:
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALKADAAQAAAABAAAALAAAAAD8buejAAACdklEQVRYCe2Zv4sTQRTHs5fEFQvRwkK4yiu00FaQFKbxx79goXBNEpBUFsepIFdco1jmt2BrYSmiXH0exFrwEAUbQbk7UAQT3Ev8vCMLMrDzJjorCDMwvMy8977z3e++TfGmUAgjXwUiF/hmsxmPx+NbURTdmE6nS+SUXPIcYqbE7DCfl8vle61W66OWoxIWsqPR6AVkqxrYX/p3EePiYDB4Y8NRlZopK2R/Mu8DugH5kQ3U1VcsFqMkSc6Bt0bOSexj7HlbvqpwvV5/C8nTgKz3+/27NrA/9XHGBc54Jfk8xJlOp7OdhbWQ5Uj3AZKaLYiy6Z5v2+v1tlD3m+Ci+CkbvkqY5IOy8VUGWWQQZCw+FC5mxci+C2Fb/j/3BcJ5Sx4UDgobCoSSMATxvgwKe5fUAAwKG4J4XwaFvUtqAAaFDUG8L4PC3iU1AIPChiDel0Fh75IagP+dwmqrKn1A+hLX6dBU07VvS1/iiAumM2EAb7oA5h3jTBiFNyG9lxchsK9wxiENfx7CK/TANjVA8ddqtXKpVIrb7fZ3l/hZzhfsCS3e+0fXaDSqHPqZpt5XiN/RCMzr906YV3sbEseZgr0GaaePyZW4C+FEwCBy2AWUuE+/xUnNSyNcHdRvLEH7DFuwShig9wIAkcs2oNRHKTT5/Yi8Z9irNMFVwrOG9lHBoPY/iM0aageeVyqveJ2ZQOLBZDJ5ifVyZQDOAnhnsQdXBpzxmge0Xhmo/xJxHD/kUuYSoFVUXsWuZj39vPvgFcBL0+RSZjldZFlrt1uShsPhfqVSeUJp/QB8ka1jTLWUJNdhpNdeT7n2utbtdt855ISQXBX4BfRivdyFwJl0AAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 553:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/wechat-icon@2x.2799dc0.png";
- /***/ }),
- /***/ 554:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/email-icon@2x.2ade157.png";
- /***/ }),
- /***/ 555:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/icon_chat@2x.0394cc4.png";
- /***/ }),
- /***/ 556:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(261);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_0_id_8476bef6_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 557:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(262);
- /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_0_node_modules_nuxt_webpack_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_1_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_nuxt_webpack_node_modules_vue_loader_lib_index_js_vue_loader_options_id_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 795:
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
- // CONCATENATED MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./pages/frontend/skill/detail/_id.vue?vue&type=template&id=8476bef6&scoped=true&
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isExist)?_c('ErrorPage404'):_c('div',{class:_vm.mobile ? 'mobileMain' : 'mobileWeb',style:({marginTop: _vm.mainMarginTop})},[(!_vm.mobile)?_c('div',{staticClass:"skill-detail-wrapper"},[_c('div',{staticClass:"skill-info"},[_c('img',{staticClass:"cover",attrs:{"src":((_vm.skillDetail.coverImage) + "?x-oss-process=image/resize,w_800"),"alt":""}}),_vm._v(" "),_c('div',{staticClass:"info-wrapper"},[_c('div',{staticClass:"title"},[_vm._v(_vm._s(_vm.skillDetail.title))]),_vm._v(" "),_c('div',{staticClass:"owner-content"},[_c('a',{staticClass:"owner-info",attrs:{"href":("/wo/" + (_vm.skillDetail.user.uid))}},[_c('img',{attrs:{"src":_vm.skillDetail.user.icon_url,"alt":"avatar"}}),_vm._v(" "),_c('span',[_vm._v(_vm._s(_vm.skillDetail.user.nickname))])])]),_vm._v(" "),_c('div',{staticClass:"price-content"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(_vm.skillDetail.price))]),_vm._v(" "),(_vm.skillDetail.buy_num > 0)?_c('div',{staticClass:"buy-num"},[_c('span',[_vm._v(_vm._s(_vm.skillDetail.buy_num)+"人")]),_vm._v("已购买")]):_vm._e()]),_vm._v(" "),(_vm.skillDetail.user.uid != _vm.userinfo.uid)?_c('div',{staticClass:"actions"},[(Number(_vm.skillDetail.is_buy) > 0)?_c('el-button',{staticClass:"btn-1",attrs:{"disabled":""}},[_vm._v("已购买")]):_c('el-button',{staticClass:"btn-1",on:{"click":_vm.handleBuySkill}},[_vm._v("立即购买")]),_vm._v(" "),(Number(_vm.skillDetail.is_buy) > 0)?_c('el-button',{staticClass:"btn-2",on:{"click":_vm.handleConsultSkill}},[_c('div',{staticClass:"btn-content"},[_c('img',{attrs:{"src":__webpack_require__(551),"alt":"consult,icon"}}),_vm._v(" "),_c('span',[_vm._v("咨询")])])]):_vm._e()],1):_vm._e()]),_vm._v(" "),_c('div',{staticClass:"qrcode-content"},[_c('img',{attrs:{"src":("/api/user/pubQrcode?uid=" + (_vm.skillDetail.user.uid) + "&type=1&pid=" + (_vm.skillDetail.sale_id)),"alt":""}}),_vm._v(" "),_c('div',{staticClass:"qrcode-tips"},[_c('a',{attrs:{"href":"/index/app","target":"_blank"}},[_vm._v("下载app")]),_vm._v(" "),_c('span',[_vm._v("扫码即可沟通")])])])]),_vm._v(" "),_c('div',{staticClass:"skill-content"},[_c('div',{staticClass:"common-title"},[_vm._v("服务描述")]),_vm._v(" "),(_vm.skillDetail.imageList.length > 0)?_c('div',{staticClass:"skill-image-list"},_vm._l((_vm.skillDetail.imageList),function(item){return _c('img',{key:item,attrs:{"src":(item + "?x-oss-process=image/resize,w_800"),"alt":"skill,skillImage"}})}),0):_vm._e(),_vm._v(" "),_c('div',{staticClass:"ql-snow content-text"},[_c('div',{staticClass:"ql-editor",domProps:{"innerHTML":_vm._s(_vm.skillDetail.content)}})]),_vm._v(" "),(false)?undefined:_vm._e()]),_vm._v(" "),_c('el-dialog',{attrs:{"title":((_vm.skillDetail.user.nickname) + "的联系方式"),"visible":_vm.showUserContactDialog,"width":"35%","center":""},on:{"update:visible":function($event){_vm.showUserContactDialog=$event}}},[_c('div',{staticClass:"contact-wrapper"},[_c('div',{staticClass:"contact-item"},[_c('img',{attrs:{"src":__webpack_require__(552),"alt":""}}),_vm._v(" "),_c('div',{staticClass:"contact-text"},[_vm._v(_vm._s(_vm.skillDetail.user.tel || '未留存'))])]),_vm._v(" "),_c('div',{staticClass:"contact-item"},[_c('img',{attrs:{"src":__webpack_require__(553),"alt":""}}),_vm._v(" "),_c('div',{staticClass:"contact-text"},[_vm._v(_vm._s(_vm.skillDetail.user.weixin || '未留存'))])]),_vm._v(" "),_c('div',{staticClass:"contact-item"},[_c('img',{attrs:{"src":__webpack_require__(554),"alt":""}}),_vm._v(" "),_c('div',{staticClass:"contact-text"},[_vm._v(_vm._s(_vm.skillDetail.user.email || '未留存'))])])])])],1):_c('div',{staticClass:"skill-detail-wrapper-mobile"},[_c('div',{staticClass:"image-list"},[_c('div',{directives:[{name:"swiper",rawName:"v-swiper:mySwiper",value:(_vm.swiperOption),expression:"swiperOption",arg:"mySwiper"}],staticClass:"image-swiper"},[_c('div',{staticClass:"swiper-wrapper"},[_c('div',{staticClass:"swiper-slide"},[_c('img',{attrs:{"src":((_vm.skillDetail.coverImage) + "?x-oss-process=image/resize,w_800"),"alt":"skillImage"}})]),_vm._v(" "),_vm._l((_vm.skillDetail.imageList),function(item){return _c('div',{key:item,staticClass:"swiper-slide"},[_c('img',{attrs:{"src":(item + "?x-oss-process=image/resize,w_800"),"alt":"skillImage"}})])})],2),_vm._v(" "),_c('div',{staticClass:"swiper-pagination swiper-pagination-bullets"})])]),_vm._v(" "),_c('div',{staticClass:"skill-info"},[_c('div',{staticClass:"skill-title"},[_vm._v(_vm._s(_vm.skillDetail.title))]),_vm._v(" "),_c('div',{staticClass:"userinfo-wrapper"},[_c('a',{staticClass:"left-info",attrs:{"href":("/wo/" + (_vm.skillDetail.user.uid) + "?from=skill")}},[_c('img',{staticClass:"avatar",attrs:{"src":_vm.skillDetail.user.icon_url,"alt":"avatar"}}),_vm._v(" "),_c('div',{staticClass:"nickname"},[_vm._v(_vm._s(_vm.skillDetail.user.nickname))])]),_vm._v(" "),_c('div',{staticClass:"right-info"})])]),_vm._v(" "),_c('div',{staticClass:"skill-content ql-snow"},[_c('div',{staticClass:"ql-editor",domProps:{"innerHTML":_vm._s(_vm.skillDetail.content)}})]),_vm._v(" "),_c('div',{staticClass:"pay-wrapper"},[_c('div',{staticClass:"price-info"},[_c('div',{staticClass:"price-text"},[_vm._v("¥"+_vm._s(_vm.skillDetail.price))]),_vm._v(" "),_c('span',[_vm._v("支付金额")])]),_vm._v(" "),_c('div',{staticClass:"chat-content"},[_c('div',{staticClass:"chat-btn",on:{"click":_vm.handleClickChat}},[_c('img',{staticClass:"chat-icon",attrs:{"src":__webpack_require__(555)}}),_vm._v(" "),_c('span',{staticClass:"chat-word"},[_vm._v("聊一聊")])])]),_vm._v(" "),(Number(_vm.skillDetail.is_buy) > 0)?_c('el-button',{staticClass:"pay-btn",attrs:{"disabled":""}},[_vm._v("已购买")]):_c('el-button',{staticClass:"pay-btn",on:{"click":_vm.handleBuySkill}},[_vm._v("立即购买")])],1)])])}
- var staticRenderFns = []
- // CONCATENATED MODULE: ./pages/frontend/skill/detail/_id.vue?vue&type=template&id=8476bef6&scoped=true&
- // EXTERNAL MODULE: external "vuex"
- var external_vuex_ = __webpack_require__(2);
- // CONCATENATED MODULE: ./components/skill/dealSeoDetail.js
- class DealSeoData {
- constructor({
- $axios,
- req,
- app,
- redirect,
- error
- }) {
- this.$axios = $axios;
- this.req = req;
- this.app = app;
- this.redirect = redirect;
- this.error = error;
- this.skillDetail = {};
- this.isExist = true;
- }
- async dealData() {
- let {
- name,
- query: {
- act
- },
- path,
- params,
- fullPath
- } = this.app.context.route;
- const sale_id = params.id || ''; // 重定向
- if (path.indexOf('/frontend/skill/detail') > -1) {
- this.redirect(301, '/s/' + sale_id);
- }
- const skillDetail = await this._getSkillDetail(sale_id);
- if (skillDetail && skillDetail.image && skillDetail.image.length) {
- let imageList = skillDetail.image.split(',');
- skillDetail.coverImage = imageList[0] || '';
- imageList.splice(0, 1);
- skillDetail.imageList = imageList;
- }
- this.skillDetail = skillDetail;
- return {
- isExist: this.isExist,
- sale_id,
- skillDetail,
- mobile: this.app.$deviceType.isMobile(),
- head: this.dealThisMeta(),
- act
- };
- }
- /** 获取技能详情 */
- async _getSkillDetail(sale_id) {
- let res = await this.$axios.$post('/api/sale/saleInfo', {
- sale_id
- });
- let skillDetail = {};
- if (Number(res.status) === 1) {
- skillDetail = res.data;
- } else if (Number(res.status) === 40001) {
- this.isExist = false;
- }
- return skillDetail;
- }
- dealThisMeta() {
- if (!this.isExist) {
- // 页面不存在时
- return {
- title: "页面不存在-程序员客栈",
- keyword: "",
- description: "",
- h1: "",
- canonical: "",
- metaLocation: ""
- };
- }
- let content = this.skillDetail.content.trim();
- let title = this.skillDetail.title.trim();
- const nickname = this.skillDetail.user.nickname;
- if (content.length > 15) {
- content = content.substring(0, 15);
- }
- if (title.length > 15) {
- title = title.substring(0, 15);
- }
- let canonical = '';
- if (this.req) {
- const {
- headers: {
- host
- },
- url
- } = this.req; //拼接canonical
- if (host.indexOf('local') !== -1) {
- canonical = 'http://' + host + url;
- } else {
- canonical = 'https://' + host + url;
- }
- }
- let head = {
- title: `${this.skillDetail.title}-程序员客栈技能服务`,
- keyword: `${this.skillDetail.user.company},${this.skillDetail.direction_name},${this.skillDetail.title}`,
- description: `${nickname}可以为您提供:${title},技能服务是程序员客栈远程工作平台为企业和自由职业者提供的标准化数字服务,通过标准定价的模块化技能,帮助企业和自由职业者快速达成合作。`,
- h1: "",
- canonical: canonical,
- metaLocation: ""
- };
- return head;
- }
- }
- // EXTERNAL MODULE: external "qs"
- var external_qs_ = __webpack_require__(36);
- var external_qs_default = /*#__PURE__*/__webpack_require__.n(external_qs_);
- // EXTERNAL MODULE: ./node_modules/quill/dist/quill.core.css
- var quill_core = __webpack_require__(84);
- // EXTERNAL MODULE: ./node_modules/quill/dist/quill.snow.css
- var quill_snow = __webpack_require__(85);
- // EXTERNAL MODULE: ./components/error_page/404.vue + 4 modules
- var _404 = __webpack_require__(136);
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/webpack/node_modules/vue-loader/lib??vue-loader-options!./pages/frontend/skill/detail/_id.vue?vue&type=script&lang=js&
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- /* harmony default export */ var _idvue_type_script_lang_js_ = ({
- name: 'SeoSkillDetail',
- data() {
- return {
- baseUrl: '',
- isWeixinApp: true,
- swiperOption: {
- loop: true,
- slidesPerView: "auto",
- centeredSlides: true,
- spaceBetween: 30,
- pagination: {
- el: ".swiper-pagination",
- dynamicBullets: true
- }
- },
- showUserContactDialog: false
- };
- },
- components: {
- ErrorPage404: _404["a" /* default */]
- },
- head() {
- const {
- title = "",
- keyword = "",
- description = "",
- h1 = "",
- canonical = "",
- metaLocation
- } = this.head || {};
- let obj = {
- title: title,
- meta: [{
- name: "keywords",
- content: keyword
- }, {
- name: "description",
- content: description
- }, {
- name: "h1",
- content: h1
- }, {
- name: "viewport",
- content: "width=device-width, initial-scale=1.0, viewport-fit=cover"
- }],
- link: [{
- rel: "canonical",
- href: canonical
- }]
- };
- if (metaLocation) {
- obj.meta.push({
- name: "location",
- content: metaLocation
- });
- }
- return obj;
- },
- computed: { ...Object(external_vuex_["mapState"])(["deviceType"]),
- showWxHeader() {
- return !this.deviceType.app && !this.isWeixinApp && (this.deviceType.android || this.deviceType.ios);
- },
- mainMarginTop() {
- if (this.mobile && this.showWxHeader) {
- return '0 !important';
- } else if (this.mobile) {
- return '0px !important';
- } else {
- return '20px !important';
- }
- }
- },
- async asyncData({ ...params
- }) {
- let dealDataObj = new DealSeoData(params);
- let ans = await dealDataObj.dealData();
- return { ...ans
- };
- },
- mounted() {
- const self = this;
- this.baseUrl = this.$store.state.domainConfig.siteUrl;
- this.isWeixinApp = navigator.userAgent.indexOf("miniProgram") > -1;
- if (this.act === 'pay') {
- setTimeout(() => {
- self.$message.success('购买成功,请等待对方接单');
- }, 800);
- }
- },
- methods: {
- /** 点击购买时 */
- handleBuySkill() {
- // this.$message.info('跳转到购买页即可')
- const query = {
- product_type: 502,
- product_id: this.sale_id,
- next: location.href + '?act=pay'
- };
- if (!this.userinfo || !this.userinfo.nickname) {
- // 未登录时 => 去登录
- if (this.deviceType.ios || this.deviceType.android) {
- location.href = "proginn://login?backToPage=true";
- } else {
- location.href = this.baseUrl + "/?loginbox=show&next=" + encodeURIComponent(location.href);
- }
- } else {
- // 已登录,跳转支付
- if (this.deviceType.ios || this.deviceType.android) {
- location.href = "proginn://pay?" + external_qs_default.a.stringify(query);
- } else {
- location.href = this.baseUrl + "/pay?" + external_qs_default.a.stringify(query);
- }
- }
- },
- /** 点击咨询时 */
- handleConsultSkill() {
- if (Number(this.skillDetail.is_buy) > 0) {
- // 已购买,弹出用户联系方式弹窗
- this.showUserContactDialog = true;
- } else {
- // 未购买
- this.$message.info('请先购买');
- }
- },
- /** 点击聊一聊时 */
- handleClickChat() {
- if (!this.mobile) {
- this.$message.info("请前往程序员客栈APP操作");
- return;
- } // location.href = `proginn://skill_train/chat?uid=${this.skillDetail.user.uid}&chattype=1&title=${encodeURIComponent(this.skillDetail.title)}&url=${encodeURIComponent(location.href)}`;
- location.href = `proginn://scan_ewm/chat?uid=${this.skillDetail.user.uid}&type=1&pid=${this.sale_id}`;
- }
- }
- });
- // CONCATENATED MODULE: ./pages/frontend/skill/detail/_id.vue?vue&type=script&lang=js&
- /* harmony default export */ var detail_idvue_type_script_lang_js_ = (_idvue_type_script_lang_js_);
- // EXTERNAL MODULE: ./node_modules/@nuxt/webpack/node_modules/vue-loader/lib/runtime/componentNormalizer.js
- var componentNormalizer = __webpack_require__(1);
- // CONCATENATED MODULE: ./pages/frontend/skill/detail/_id.vue
- function injectStyles (context) {
-
- var style0 = __webpack_require__(556)
- if (style0.__inject__) style0.__inject__(context)
- var style1 = __webpack_require__(557)
- if (style1.__inject__) style1.__inject__(context)
- }
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- detail_idvue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- injectStyles,
- "8476bef6",
- "8444fa30"
-
- )
- /* harmony default export */ var _id = __webpack_exports__["default"] = (component.exports);
- /***/ }),
- /***/ 84:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 85:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 88:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ })
- };;
- //# sourceMappingURL=120.js.map
|