| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- exports.ids = [126];
- exports.modules = {
- /***/ 169:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/filter-icon@2x.8c6c44e.png";
- /***/ }),
- /***/ 234:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 235:
- /***/ (function(module, exports) {
- // Exports
- module.exports = {};
- /***/ }),
- /***/ 508:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/skill.1dd8f8b.png";
- /***/ }),
- /***/ 509:
- /***/ (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_list_vue_vue_type_style_index_0_id_16bc9074_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(234);
- /* 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_list_vue_vue_type_style_index_0_id_16bc9074_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_list_vue_vue_type_style_index_0_id_16bc9074_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_list_vue_vue_type_style_index_0_id_16bc9074_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_list_vue_vue_type_style_index_0_id_16bc9074_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_list_vue_vue_type_style_index_0_id_16bc9074_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 510:
- /***/ (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_list_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(235);
- /* 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_list_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_list_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_list_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_list_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_list_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 75:
- /***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__.p + "img/empty@2x.f8d7c57.png";
- /***/ }),
- /***/ 768:
- /***/ (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/list.vue?vue&type=template&id=16bc9074&scoped=true&
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.mobile ? 'mobileMain' : '',style:({
- marginTop: _vm.mainMarginTop,
- marginBottom: _vm.mobile ? '0px' : '30px !important',
- })},[_vm._ssrNode("<div class=\"skill-page-main\" data-v-16bc9074>","</div>",[(!_vm.mobile)?_vm._ssrNode("<div class=\"skill-wrapper\" data-v-16bc9074>","</div>",[_vm._ssrNode("<div class=\"skill-top\" data-v-16bc9074>","</div>",[_vm._ssrNode("<div class=\"skill-category-wrapper\" data-v-16bc9074>","</div>",[_vm._ssrNode("<div class=\"skill-category-wrapper-title\" data-v-16bc9074>","</div>",[_vm._ssrNode("<img"+(_vm._ssrAttr("src",__webpack_require__(508)))+" class=\"icon\" data-v-16bc9074> <span class=\"title\" data-v-16bc9074>技能服务</span> <span class=\"desc\" data-v-16bc9074>专业人才为你服务</span> <div class=\"expand\" data-v-16bc9074></div> "),_c('el-button',{staticClass:"add-btn",on:{"click":_vm.handleClickAdd}},[_vm._v("添加技能赚钱")])],2),_vm._ssrNode(" <div"+(_vm._ssrClass("category-one-wrapper",_vm.categoryExpanded ? 'expand' : ''))+" data-v-16bc9074><a href=\"/skill/\""+(_vm._ssrClass("category-one-item",_vm.pagination.selectedCateIdOne == '' ? 'active' : ''))+" data-v-16bc9074>全部</a> "+(_vm._ssrList((_vm.skillCate),function(categoryOne){return ("<a"+(_vm._ssrAttr("href",("/skill/" + (categoryOne.value) + "/")))+(_vm._ssrClass("category-one-item",_vm.pagination.selectedCateIdOne == categoryOne.value
- ? 'active'
- : ''))+" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(categoryOne.label))+"</a>")}))+"</div> <div class=\"category-two-wrapper\" data-v-16bc9074>"+(_vm._ssrList((_vm.skillCate),function(categoryOne){return ("<div class=\"category-two-content\""+(_vm._ssrStyle(null,null, { display: (_vm.pagination.selectedCateIdOne == categoryOne.value) ? '' : 'none' }))+" data-v-16bc9074>"+(_vm._ssrList((categoryOne.children),function(categoryTwo){return ("<a"+(_vm._ssrAttr("href",("/skill/" + (categoryTwo.value) + "/")))+(_vm._ssrClass("category-two-item",_vm.pagination.selectedCateIdTwo == categoryTwo.value
- ? 'active'
- : ''))+" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(categoryTwo.label))+"</a>")}))+"</div>")}))+"</div>")],2)]),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"skill-content\" data-v-16bc9074>","</div>",[_vm._ssrNode(((_vm.skillList.length)?("<div class=\"skill-list-wrapper\" data-v-16bc9074>"+(_vm._ssrList((_vm.skillList),function(item){return ("<div class=\"skill-item\" data-v-16bc9074><a"+(_vm._ssrAttr("href",("/s/" + (item.sale_id))))+" class=\"cover\""+(_vm._ssrStyle(null,{
- backgroundImage:
- 'url(' +
- item.coverImage +
- '?x-oss-process=image/resize,w_800)',
- }, null))+" data-v-16bc9074></a> <a"+(_vm._ssrAttr("href",("/s/" + (item.sale_id))))+" class=\"title\" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(item.title))+"</a> <a"+(_vm._ssrAttr("href",("/wo/" + (item.user.uid) + "/skill")))+" class=\"owner-wrapper\" data-v-16bc9074><img"+(_vm._ssrAttr("src",item.user.icon_url))+" alt=\"avatar\" class=\"avatar\" data-v-16bc9074> <div class=\"nickname\" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(item.user.nickname))+"</div></a> <div class=\"price-wrapper\" data-v-16bc9074><div class=\"price-text\" data-v-16bc9074>"+_vm._ssrEscape("¥"+_vm._s(item.price))+"</div> "+((item.buy_num > 0)?("<div class=\"buy-num\" data-v-16bc9074>"+_vm._ssrEscape("\n "+_vm._s(item.buy_num)+"人已学习\n ")+"</div>"):"<!---->")+"</div></div>")}))+"</div>"):("<div class=\"result-empty-wrapper\" data-v-16bc9074><img"+(_vm._ssrAttr("src",__webpack_require__(75)))+" alt=\"empty\" data-v-16bc9074> <span data-v-16bc9074>暂无搜索内容</span></div>"))+" "),(_vm.pagination.total > _vm.pagination.pagesize)?_vm._ssrNode("<div class=\"pagination-wrapper\" data-v-16bc9074>","</div>",[_c('el-pagination',{attrs:{"background":"","layout":"prev, pager, next","current-page":_vm.pagination.page,"total":_vm.pagination.total,"page-size":_vm.pagination.pagesize},on:{"current-change":_vm.handlePageChange}})],1):_vm._e()],2)],2):_vm._ssrNode("<div class=\"skill-wrapper-mobile\" data-v-16bc9074>","</div>",[_vm._ssrNode("<div class=\"skill-category\" data-v-16bc9074><div class=\"skill-category-one\" data-v-16bc9074><div class=\"category-scroller\" data-v-16bc9074><div"+(_vm._ssrClass("skill-category-one-item",!_vm.pagination.selectedCateIdOne ? 'active' : ''))+" data-v-16bc9074>\n 全部\n </div> "+(_vm._ssrList((_vm.skillCate),function(category){return ("<div"+(_vm._ssrClass("skill-category-one-item",_vm.pagination.selectedCateIdOne == category.value ? 'active' : ''))+" data-v-16bc9074>"+_vm._ssrEscape("\n "+_vm._s(category.label)+"\n ")+"</div>")}))+"</div> <div class=\"filter-bg\" data-v-16bc9074></div> <div class=\"filter-wrapper\" data-v-16bc9074><img"+(_vm._ssrAttr("src",__webpack_require__(169)))+" alt=\"filter\" data-v-16bc9074></div></div> <div class=\"skill-category-two\" data-v-16bc9074><div class=\"skill-category-two-wrapper\""+(_vm._ssrStyle(null,null, { display: (!_vm.pagination.selectedCateIdOne) ? '' : 'none' }))+" data-v-16bc9074>"+(_vm._ssrList((_vm.skillCateAll),function(category){return ("<div"+(_vm._ssrClass("skill-category-two-item",_vm.pagination.selectedCateIdTwo == category.value ? 'active' : ''))+" data-v-16bc9074>"+_vm._ssrEscape("\n "+_vm._s(category.label)+"\n ")+"</div>")}))+"</div> "+(_vm._ssrList((_vm.skillCate),function(category){return ("<div class=\"skill-category-two-wrapper\""+(_vm._ssrStyle(null,null, { display: (_vm.pagination.selectedCateIdOne === category.value) ? '' : 'none' }))+" data-v-16bc9074>"+(_vm._ssrList((category.children),function(categoryChild){return ("<div"+(_vm._ssrClass("skill-category-two-item",_vm.pagination.selectedCateIdTwo == categoryChild.value
- ? 'active'
- : ''))+" data-v-16bc9074>"+_vm._ssrEscape("\n "+_vm._s(categoryChild.label)+"\n ")+"</div>")}))+"</div>")}))+"</div></div> "),_vm._ssrNode("<div"+(_vm._ssrClass("skill-list",_vm.showWxHeader ? 'skill-list__showWxHeader' : ''))+" data-v-16bc9074>","</div>",[_c('ul',{directives:[{name:"infinite-scroll",rawName:"v-infinite-scroll",value:(_vm.handleLoadMoreSkill),expression:"handleLoadMoreSkill"}],staticClass:"skill-list-wrapper",attrs:{"infinite-scroll-disabled":_vm.pagination.noMore,"infinite-scroll-immediate":false}},[_vm._l((_vm.skillList),function(item){return _vm._ssrNode("<div class=\"skill-item\" data-v-16bc9074>","</div>",[_c('img',{directives:[{name:"lazy",rawName:"v-lazy",value:(((item.coverImage) + "?x-oss-process=image/resize,w_800")),expression:"`${item.coverImage}?x-oss-process=image/resize,w_800`"}],staticClass:"cover",attrs:{"alt":"skillCover,cover"}},[]),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"owner-wrapper\" data-v-16bc9074>","</div>",[_c('img',{directives:[{name:"lazy",rawName:"v-lazy",value:(item.user.icon_url),expression:"item.user.icon_url"}],staticClass:"avatar",attrs:{"alt":"avatar"}},[]),_vm._ssrNode(" <div class=\"nickname\" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(item.user.nickname))+"</div>")],2),_vm._ssrNode(" <div class=\"title\" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(item.title))+"</div> <div class=\"price-wrapper\" data-v-16bc9074><div class=\"price-text\" data-v-16bc9074>"+_vm._ssrEscape("¥"+_vm._s(item.price))+"</div> <div class=\"right-info\" data-v-16bc9074>"+_vm._ssrEscape(_vm._s(item.buy_num)+"人已学习")+"</div></div>")],2)}),_vm._ssrNode(" "+((!_vm.skillList.length && !_vm.pagination.loading)?("<div class=\"result-empty-wrapper\" data-v-16bc9074><img"+(_vm._ssrAttr("src",__webpack_require__(75)))+" alt=\"empty\" data-v-16bc9074> <span data-v-16bc9074>暂无搜索内容</span></div>"):"<!---->")+" "+((_vm.pagination.loading)?("<p class=\"skill-list-tips\" data-v-16bc9074>加载中...</p>"):"<!---->")+" "+((_vm.skillList.length && _vm.pagination.noMore)?("<p class=\"skill-list-tips\" data-v-16bc9074>\n 没有更多了\n </p>"):"<!---->"))],2)]),_vm._ssrNode(" "),_c('el-drawer',{ref:"categoryDrawer",staticClass:"category-drawer",attrs:{"visible":_vm.showCategoryDrawer,"direction":"ttb","withHeader":false},on:{"update:visible":function($event){_vm.showCategoryDrawer=$event}}},[_c('div',{staticClass:"drawer-category-one"},[_c('div',{staticClass:"drawer-category-one-item",class:_vm.currentDrawerCategoryIndex === 0 ? 'active' : '',on:{"click":function($event){return _vm.handleClickDrawerCategoryOne(0)}}},[_vm._v("\n 全部\n ")]),_vm._v(" "),_vm._l((_vm.skillCate),function(category,index){return _c('div',{key:("drawer-category-one-" + (category.value)),staticClass:"drawer-category-one-item",class:_vm.currentDrawerCategoryIndex === index + 1 ? 'active' : '',on:{"click":function($event){return _vm.handleClickDrawerCategoryOne(index + 1)}}},[_vm._v("\n "+_vm._s(category.label)+"\n ")])})],2),_vm._v(" "),_c('div',{staticClass:"drawer-category-two"},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.currentDrawerCategoryIndex === 0),expression:"currentDrawerCategoryIndex === 0"}],staticClass:"drawer-category-two-wrapper"},_vm._l((_vm.skillCateAll),function(category){return _c('div',{key:("drawer-category-all-" + (category.value)),staticClass:"drawer-category-two-item",class:_vm.currentDrawerCategoryId == category.value ? 'active' : '',on:{"click":function($event){return _vm.handleClickDrawerCategoryTwo(category.value)}}},[_vm._v("\n "+_vm._s(category.label)+"\n ")])}),0),_vm._v(" "),_vm._l((_vm.skillCate),function(category,index){return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.currentDrawerCategoryIndex === index + 1),expression:"currentDrawerCategoryIndex === index + 1"}],key:("drawer-category-two-wrapper-" + (category.value)),staticClass:"drawer-category-two-wrapper"},_vm._l((category.children),function(categoryChild){return _c('div',{key:("drawer-category-two-" + (categoryChild.value)),staticClass:"drawer-category-two-item",class:_vm.currentDrawerCategoryId == categoryChild.value ? 'active' : '',on:{"click":function($event){return _vm.handleClickDrawerCategoryTwo(categoryChild.value)}}},[_vm._v("\n "+_vm._s(categoryChild.label)+"\n ")])}),0)})],2)])],2)])])}
- var staticRenderFns = []
- // CONCATENATED MODULE: ./pages/frontend/skill/list.vue?vue&type=template&id=16bc9074&scoped=true&
- // EXTERNAL MODULE: external "vuex"
- var external_vuex_ = __webpack_require__(2);
- // CONCATENATED MODULE: ./components/skill/dealSeoList.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.pagination = {
- page: 1,
- pagesize: 12,
- total: 0,
- loading: false,
- selectedCateIdOne: '',
- selectedCateIdTwo: '',
- noMore: true
- };
- this.cateNameOne = '';
- this.cateNameTwo = '';
- this.mobile = this.app.$deviceType.isMobile();
- this.root_type = 0;
- }
- async dealData() {
- const self = this;
- let {
- name,
- query: {
- page = 1,
- root_type = 0
- },
- path,
- params,
- fullPath
- } = this.app.context.route;
- this.pagination.page = Number(page);
- this.root_type = root_type; // 目前仅将二级 id 拼接到 url 上
- let match = params.pathMatch || '';
- let matchList = match.split('/');
- matchList.pop();
- let lastMatch = matchList.pop() || ''; // console.log(`match: ${match}, matchList: ${matchList}, lastMatch: ${lastMatch}`)
- // 重定向
- if (path.indexOf('/frontend/skill/list') > -1) {
- this.redirect(301, '/skill/' + lastMatch);
- }
- let skillCate = await this._getSkillCate();
- let skillCateAll = [];
- skillCate.forEach(item => {
- if (item.children && item.children.length) {
- item.children.forEach(child => {
- skillCateAll.push(child);
- });
- }
- });
- if (lastMatch) {
- // 遍历分类数组,因为每个 children 都添加了“全部”,此处逻辑无需修改
- let selectedCateIdOne = '';
- skillCate.forEach(cateOne => {
- cateOne.children.forEach(cateTwo => {
- if (cateTwo.value === lastMatch) {
- selectedCateIdOne = cateOne.value;
- self.cateNameOne = cateOne.label;
- if (cateTwo.label === '全部') {
- self.cateNameTwo = cateOne.label;
- } else {
- self.cateNameTwo = cateTwo.label;
- }
- }
- });
- });
- if (selectedCateIdOne) {
- this.pagination.selectedCateIdOne = selectedCateIdOne;
- this.pagination.selectedCateIdTwo = lastMatch;
- }
- } // 处理完分类信息,再获取数据
- let skillList = await this._getSkillList();
- return {
- root_type,
- skillCate,
- skillCateAll,
- skillList,
- //首次获取的数据
- mobile: this.mobile,
- pagination: this.pagination,
- head: this.dealThisMeta()
- };
- }
- /** 获取技能分类 */
- async _getSkillCate() {
- let res = await this.$axios.$post('/api/sale/cateListYes', {
- type: 2,
- root_type: this.root_type
- });
- let skillCate = [];
- if (Number(res.status) === 1) {
- skillCate = res.data || [];
- skillCate = skillCate.map(item => {
- let children = item.child_list.map(child => {
- return {
- value: child.f_name,
- label: child.name
- };
- });
- return {
- value: item.f_name,
- label: item.name,
- children: children
- };
- }); // web 端,为所有二级分类添加 “全部”
- if (!this.mobile) {
- skillCate.forEach(item => {
- if (item.children) {
- let allItem = {
- value: item.value,
- label: '全部'
- };
- item.children.splice(0, 0, allItem);
- }
- });
- }
- }
- return skillCate;
- }
- /** 获取技能服务列表 */
- async _getSkillList() {
- // 接口参数释义:https://www.yesdev.cn/apidocs-detail-20.html
- const data = {
- type: 1,
- page: this.pagination.page,
- page_size: this.pagination.pagesize,
- cate_id: this.pagination.selectedCateIdTwo,
- status: 2,
- owner_type: 1,
- root_type: this.root_type
- };
- let res = await this.$axios.$post('/api/sale/saleList', data);
- let skillList = [];
- if (Number(res.status) === 1) {
- skillList = res.data.list || [];
- skillList.forEach(item => {
- let imageList = item.image.split(',');
- item.coverImage = imageList[0] || '';
- imageList.splice(0, 1);
- item.imageList = imageList;
- });
- this.pagination.total = Number(res.data.total);
- this.pagination.pagesize = Number(res.data.page_size) || 9;
- if (this.pagination.page * this.pagination.pagesize >= this.pagination.total) {
- this.pagination.noMore = true;
- } else {
- this.pagination.noMore = false;
- }
- }
- return skillList;
- }
- dealThisMeta() {
- let head = {
- title: "",
- keyword: "",
- description: "",
- h1: "",
- canonical: "",
- metaLocation: ""
- };
- if (this.req) {
- const {
- headers: {
- host
- },
- url
- } = this.req; //拼接canonical
- if (host.indexOf('local') !== -1) {
- head.canonical = 'http://' + host + url;
- } else {
- head.canonical = 'https://' + host + url;
- }
- }
- if (this.cateNameTwo) {
- // 分类页
- head.title = `${this.cateNameTwo}技能服务-程序员客栈技术服务`;
- head.keyword = `${this.cateNameTwo}开发,${this.cateNameTwo}编程,自学${this.cateNameTwo},${this.cateNameTwo}教学`;
- head.description = "技能服务是程序员客栈远程工作平台为企业和自由职业者提供的标准化数字服务,通过标准定价的模块化技能,帮助企业和自由职业者快速达成合作。";
- } else {
- // 列表页,无筛选参数
- head.title = "程序员客栈技能商城-【程序员客栈技能服务】";
- head.keyword = "程序员客栈技能商城,远程工作,Logo设计,网页设计,微信公众号运营,PPT设计,社群运营,文案编辑,视频剪辑,音频录制,翻译";
- head.description = "技能服务是程序员客栈远程工作平台为企业和自由职业者提供的标准化数字服务,通过标准定价的模块化技能,帮助企业和自由职业者快速达成合作。";
- }
- return head;
- }
- }
- // EXTERNAL MODULE: external "qs"
- var external_qs_ = __webpack_require__(33);
- var external_qs_default = /*#__PURE__*/__webpack_require__.n(external_qs_);
- // 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/list.vue?vue&type=script&lang=js&
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- /* harmony default export */ var listvue_type_script_lang_js_ = ({
- name: "SeoSkillList",
- data() {
- return {
- baseUrl: "",
- // firstLoad: true,
- isWeixinApp: true,
- categoryExpanded: true,
- // 更多按钮不要,默认为展开状态
- showCategoryDrawer: false,
- currentDrawerCategoryId: 0,
- currentDrawerCategoryIndex: 0
- };
- },
- 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
- }],
- 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 "64px !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() {
- this.baseUrl = this.$store.state.domainConfig.siteUrl;
- this.isWeixinApp = navigator.userAgent.indexOf("miniProgram") > -1;
- },
- methods: {
- /** 分页获取技能列表数据 */
- _getSkillList() {
- const self = this;
- const data = {
- type: 1,
- page: this.pagination.page,
- page_size: this.pagination.pagesize,
- cate_id: this.pagination.selectedCateIdTwo,
- status: 2,
- owner_type: 1,
- root_type: this.root_type
- };
- this.pagination.loading = true;
- this.pagination.noMore = false;
- this.$axios.$post("/api/sale/saleList", data).then(res => {
- if (Number(res.status) === 1) {
- let skillList = res.data.list || [];
- skillList.forEach(item => {
- let imageList = item.image.split(",");
- item.coverImage = imageList[0] || "";
- imageList.splice(0, 1);
- item.imageList = imageList;
- });
- if (self.mobile) {
- self.skillList = self.skillList.concat(skillList);
- } else {
- self.skillList = skillList;
- }
- self.pagination.total = res.data.total;
- self.pagination.pagesize = res.data.page_size || 9;
- if (self.pagination.page * self.pagination.pagesize >= self.pagination.total) {
- console.log("noMore true", self.pagination);
- self.pagination.noMore = true;
- } else {
- console.log("noMore false", self.pagination);
- self.pagination.noMore = false;
- }
- }
- }).then(() => {
- self.pagination.loading = false;
- });
- },
- /** 点击展开、收起 */
- handleClickExpandCategory() {
- this.categoryExpanded = !this.categoryExpanded;
- },
- /** 点击一级分类时 */
- handleClickCategoryOne(id) {
- if (id === 0) {
- // 点击全部时,移除筛选分类
- this.pagination.selectedCateIdOne = id;
- this.pagination.selectedCateIdTwo = "";
- this.currentDrawerCategoryId = "";
- this.pagination.page = 1;
- this.skillList = [];
- window.scroll(0, 0);
- this._getSkillList();
- return;
- }
- if (this.pagination.selectedCateIdOne !== id) {
- this.pagination.selectedCateIdOne = id;
- }
- },
- /** 点击二级分类时:移动端 */
- handleClickCategoryTwo(id) {
- if (this.pagination.selectedCateIdTwo === id) {
- this.pagination.selectedCateIdTwo = "";
- this.currentDrawerCategoryId = "";
- } else {
- this.pagination.selectedCateIdTwo = id;
- this.currentDrawerCategoryId = id;
- }
- this.pagination.page = 1;
- this.skillList = [];
- window.scroll(0, 0);
- this._getSkillList();
- },
- /** 分页页码改变时 */
- handlePageChange(val) {
- let query = {
- page: val
- };
- if (this.root_type && Number(this.root_type) > 0) {
- query.root_type = this.root_type;
- }
- window.location.href = `${window.location.origin}${window.location.pathname}?${external_qs_default.a.stringify(query)}`;
- },
- /** mobile 加载更多 */
- handleLoadMoreSkill() {
- if (this.pagination.loading) {
- return;
- }
- this.pagination.page++;
- this._getSkillList();
- },
- /** 点击筛选时 */
- handleShowCategoryDrawer() {
- this.showCategoryDrawer = true;
- },
- /**
- * 点击 mobile 分类 drawer 一级分类
- */
- handleClickDrawerCategoryOne(id) {
- if (id === 0) {
- this.showCategoryDrawer = false;
- return;
- }
- if (id !== this.currentDrawerCategoryIndex) {
- this.currentDrawerCategoryIndex = id;
- }
- },
- /**
- * 点击 mobile 分类 drawer 二级分类
- */
- handleClickDrawerCategoryTwo(id) {
- if (this.currentDrawerCategoryId === id) {
- this.pagination.selectedCateIdTwo = "";
- } else {
- this.pagination.selectedCateIdTwo = id;
- }
- this.currentDrawerCategoryId = id;
- this.showCategoryDrawer = false;
- this.pagination.page = 1;
- this.skillList = [];
- window.scroll(0, 0);
- this._getSkillList();
- },
- /**
- * 点击 mobile 的一项技能时
- */
- handleClickSkillItem(saleId) {
- if (this.deviceType.android || this.deviceType.ios) {
- // 端跳转
- let jumpUrl = `${this.baseUrl}/s/${saleId}`;
- location.href = `proginn://webview?url=${jumpUrl}`;
- } else {
- // web 跳转
- location.href = `/s/${saleId}`;
- }
- },
- /**
- * 点击成为讲师
- */
- handleClickAdd() {
- location.href = "/workbench/skill/index";
- }
- }
- });
- // CONCATENATED MODULE: ./pages/frontend/skill/list.vue?vue&type=script&lang=js&
- /* harmony default export */ var skill_listvue_type_script_lang_js_ = (listvue_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/list.vue
- function injectStyles (context) {
-
- var style0 = __webpack_require__(509)
- if (style0.__inject__) style0.__inject__(context)
- var style1 = __webpack_require__(510)
- if (style1.__inject__) style1.__inject__(context)
- }
- /* normalize component */
- var component = Object(componentNormalizer["a" /* default */])(
- skill_listvue_type_script_lang_js_,
- render,
- staticRenderFns,
- false,
- injectStyles,
- "16bc9074",
- "68954517"
-
- )
- /* harmony default export */ var list = __webpack_exports__["default"] = (component.exports);
- /***/ })
- };;
- //# sourceMappingURL=126.js.map
|