8dbbe68a7404f7e434a412bdd2212e3b.json 14 KB

1
  1. {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\app\\routine\\download\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\app\\routine\\download\\index.vue","mtime":1761185180071},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\babel.config.js","mtime":1761185179818},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\.babelrc","mtime":1761185179813},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiQzovVXNlcnMvQWRtaW5pc3RyYXRvci9EZXNrdG9wL2NybWViNS4wL3RlbXBsYXRlL2FkbWluL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IHsgcm91dGluZURvd25sb2FkLCByb3V0aW5lSW5mbyB9IGZyb20gJ0AvYXBpL2FwcCc7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7CmltcG9ydCB7IGZvcm1hdERhdGUgYXMgX2Zvcm1hdERhdGUgfSBmcm9tICdAL3V0aWxzL3ZhbGlkYXRlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdyb3V0aW5lVGVtcGxhdGUnLAogIGZpbHRlcnM6IHsKICAgIGZvcm1hdERhdGU6IGZ1bmN0aW9uIGZvcm1hdERhdGUodGltZSkgewogICAgICBpZiAodGltZSAhPT0gMCkgewogICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUodGltZSAqIDEwMDApOwogICAgICAgIHJldHVybiBfZm9ybWF0RGF0ZShkYXRlLCAneXl5eS1NTS1kZCBoaDptbScpOwogICAgICB9CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZ3JpZDogewogICAgICAgIHhsOiA3LAogICAgICAgIGxnOiA3LAogICAgICAgIG1kOiAxMiwKICAgICAgICBzbTogMjQsCiAgICAgICAgeHM6IDI0CiAgICAgIH0sCiAgICAgIGlmcmFtZVVybDogIiIuY29uY2F0KGxvY2F0aW9uLm9yaWdpbiwgIi9wYWdlcy9pbmRleC9pbmRleD9tZFR5cGU9aWZyYW1lV2luZG93IiksCiAgICAgIGlzX2xpdmU6IDEsCiAgICAgIHBhZ2VEYXRhOiB7CiAgICAgICAgY29kZTogJycsCiAgICAgICAgcm91dGluZV9uYW1lOiAnJywKICAgICAgICBoZWxwOiAnJywKICAgICAgICBhcHBJZDogJzEnCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIHJvdXRpbmVJbmZvKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgIF90aGlzLnBhZ2VEYXRhID0gcmVzLmRhdGE7CiAgICB9KTsKICB9LAogIHdhdGNoOiB7CiAgICAkcm91dGU6IGZ1bmN0aW9uICRyb3V0ZSh0bywgZnJvbSkge30KICB9LAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG1hcFN0YXRlKCdtZWRpYScsIFsnaXNNb2JpbGUnXSkpLCB7fSwgewogICAgbGFiZWxXaWR0aDogZnVuY3Rpb24gbGFiZWxXaWR0aCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyB1bmRlZmluZWQgOiAnODBweCc7CiAgICB9LAogICAgbGFiZWxQb3NpdGlvbjogZnVuY3Rpb24gbGFiZWxQb3NpdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAndG9wJyA6ICdyaWdodCc7CiAgICB9CiAgfSksCiAgbWV0aG9kczogewogICAgZG93bkxvYWQ6IGZ1bmN0aW9uIGRvd25Mb2FkKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcm91dGluZURvd25sb2FkKHsKICAgICAgICBpc19saXZlOiB0aGlzLmlzX2xpdmUKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgd2luZG93Lm9wZW4ocmVzLmRhdGEudXJsKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICAgIF90aGlzMi4kbWVzc2FnZS53YXJuaW5nKGVyci5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBkb3duTG9hZENvZGU6IGZ1bmN0aW9uIGRvd25Mb2FkQ29kZSh1cmwpIHsKICAgICAgaWYgKCF1cmwpIHJldHVybiB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+aaguaXoOWwj+eoi+W6j+eggScpOwogICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKICAgICAgaW1hZ2Uuc3JjID0gdXJsOwogICAgICAvLyDop6PlhrPot6jln58gQ2FudmFzIOaxoeafk+mXrumimAogICAgICBpbWFnZS5zZXRBdHRyaWJ1dGUoJ2Nyb3NzT3JpZ2luJywgJ2Fub255bW91cycpOwogICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwogICAgICAgIGNhbnZhcy53aWR0aCA9IGltYWdlLndpZHRoOwogICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWFnZS5oZWlnaHQ7CiAgICAgICAgdmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7CiAgICAgICAgdmFyIHVybCA9IGNhbnZhcy50b0RhdGFVUkwoKTsgLy/lvpfliLDlm77niYfnmoRiYXNlNjTnvJbnoIHmlbDmja4KICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsgLy8g55Sf5oiQ5LiA5LiqYeWFg+e0oAogICAgICAgIHZhciBldmVudCA9IG5ldyBNb3VzZUV2ZW50KCdjbGljaycpOyAvLyDliJvlu7rkuIDkuKrljZXlh7vkuovku7YKICAgICAgICBhLmRvd25sb2FkID0gbmFtZSB8fCAncGhvdG8nOyAvLyDorr7nva7lm77niYflkI3np7AKICAgICAgICBhLmhyZWYgPSB1cmw7IC8vIOWwhueUn+aIkOeahFVSTOiuvue9ruS4umEuaHJlZuWxnuaApwogICAgICAgIGEuZGlzcGF0Y2hFdmVudChldmVudCk7IC8vIOinpuWPkWHnmoTljZXlh7vkuovku7YKICAgICAgfTsKICAgIH0KICB9Cn07"},{"version":3,"names":["routineDownload","routineInfo","mapState","formatDate","name","filters","time","date","Date","data","grid","xl","lg","md","sm","xs","iframeUrl","concat","location","origin","is_live","pageData","code","routine_name","help","appId","created","_this","then","res","watch","$route","to","from","computed","_objectSpread","labelWidth","isMobile","undefined","labelPosition","methods","downLoad","_this2","window","open","url","catch","err","$message","warning","msg","downLoadCode","image","Image","src","setAttribute","onload","canvas","document","createElement","width","height","context","getContext","drawImage","toDataURL","a","event","MouseEvent","download","href","dispatchEvent"],"sources":["src/pages/app/routine/download/index.vue"],"sourcesContent":["<template>\r\n <div>\r\n <!-- <div class=\"i-layout-page-header header-title\">\r\n <span class=\"ivu-page-header-title\">{{ $route.meta.title }}</span>\r\n </div> -->\r\n <pages-header ref=\"pageHeader\" :title=\"$route.meta.title\"></pages-header>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt mt16\">\r\n <div class=\"flex-wrapper\">\r\n <!-- :src=\"iframeUrl\" -->\r\n <div>\r\n <iframe class=\"iframe-box\" :src=\"iframeUrl\" frameborder=\"0\" ref=\"iframe\"></iframe>\r\n <div class=\"mask\"></div>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <div class=\"content\">\r\n <div class=\"content-box title\">\r\n <div class=\"line\"></div>\r\n <div class=\"right title\">小程序设置</div>\r\n </div>\r\n <el-alert v-if=\"!pageData.appId && !pageData.code\">\r\n <template slot=\"title\">\r\n 您尚未配置小程序信息,请<router-link :to=\"{ path: $routeProStr + '/setting/routine_config/2/7' }\"\r\n >立即设置</router-link\r\n ></template\r\n >\r\n </el-alert>\r\n <div class=\"content-box\">\r\n <div class=\"left\">小程序名称:</div>\r\n <div class=\"right\">{{ pageData.routine_name || '未命名' }}</div>\r\n </div>\r\n <div class=\"content-box\">\r\n <div class=\"left\">小程序码:</div>\r\n <div class=\"right\">\r\n <el-button type=\"primary\" v-db-click @click=\"downLoadCode(pageData.code)\">下载小程序码</el-button>\r\n </div>\r\n </div>\r\n <div class=\"content-box\">\r\n <div class=\"left\">小程序包:</div>\r\n <div class=\"right\">\r\n <span>是否已开通小程序直播</span>\r\n <el-radio-group class=\"rad\" size=\"large\" v-model=\"is_live\">\r\n <el-radio :label=\"0\">未开通</el-radio>\r\n <el-radio :label=\"1\">已开通</el-radio>\r\n </el-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"content-box last\">\r\n <div class=\"left\"></div>\r\n <div class=\"right\">\r\n <div>\r\n 请谨慎选择是否有开通小程序直播功能,否则将影响小程序的发布 可前往\r\n <a :href=\"pageData.help\" target=\"_blank\">帮助文档</a>\r\n 查看如何开通直播功能\r\n </div>\r\n\r\n <el-button class=\"mt10\" type=\"primary\" v-db-click @click=\"downLoad()\">下载小程序包</el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { routineDownload, routineInfo } from '@/api/app';\r\nimport { mapState } from 'vuex';\r\nimport { formatDate } from '@/utils/validate';\r\nexport default {\r\n name: 'routineTemplate',\r\n filters: {\r\n formatDate(time) {\r\n if (time !== 0) {\r\n let date = new Date(time * 1000);\r\n return formatDate(date, 'yyyy-MM-dd hh:mm');\r\n }\r\n },\r\n },\r\n data() {\r\n return {\r\n grid: {\r\n xl: 7,\r\n lg: 7,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n iframeUrl: `${location.origin}/pages/index/index?mdType=iframeWindow`,\r\n is_live: 1,\r\n pageData: {\r\n code: '',\r\n routine_name: '',\r\n help: '',\r\n appId: '1',\r\n },\r\n };\r\n },\r\n created() {\r\n routineInfo().then((res) => {\r\n this.pageData = res.data;\r\n });\r\n },\r\n watch: {\r\n $route(to, from) {},\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '80px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n methods: {\r\n downLoad() {\r\n routineDownload({\r\n is_live: this.is_live,\r\n })\r\n .then((res) => {\r\n window.open(res.data.url);\r\n })\r\n .catch((err) => {\r\n this.$message.warning(err.msg);\r\n });\r\n },\r\n downLoadCode(url) {\r\n if (!url) return this.$message.warning('暂无小程序码');\r\n var image = new Image();\r\n image.src = url;\r\n // 解决跨域 Canvas 污染问题\r\n image.setAttribute('crossOrigin', 'anonymous');\r\n image.onload = function () {\r\n var canvas = document.createElement('canvas');\r\n canvas.width = image.width;\r\n canvas.height = image.height;\r\n var context = canvas.getContext('2d');\r\n context.drawImage(image, 0, 0, image.width, image.height);\r\n var url = canvas.toDataURL(); //得到图片的base64编码数据\r\n var a = document.createElement('a'); // 生成一个a元素\r\n var event = new MouseEvent('click'); // 创建一个单击事件\r\n a.download = name || 'photo'; // 设置图片名称\r\n a.href = url; // 将生成的URL设置为a.href属性\r\n a.dispatchEvent(event); // 触发a的单击事件\r\n };\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.template_sp_box {\r\n padding: 5px 0;\r\n box-sizing: border-box;\r\n}\r\n.template_sp {\r\n display: block;\r\n padding: 2px 0;\r\n box-sizing: border-box;\r\n}\r\n.flex-wrapper {\r\n display: flex;\r\n border-radius: 10px;\r\n}\r\n.iframe-box {\r\n width: 312px;\r\n height: 550px;\r\n border-radius: 10px;\r\n}\r\n.ivu-mt {\r\n height: 600px;\r\n}\r\n.content {\r\n padding: 0 20px;\r\n}\r\n.content > .title {\r\n padding-bottom: 26px;\r\n}\r\n.content-box {\r\n display: flex;\r\n align-items: center;\r\n margin: 20px 20px 0 20px;\r\n color: #333;\r\n}\r\n.content-box.last {\r\n margin-top: 0;\r\n color: #999999;\r\n}\r\n.line {\r\n width: 3px;\r\n height: 16px;\r\n background-color: var(--prev-color-primary);\r\n margin-right: 11px;\r\n}\r\n.content-box .title {\r\n font-size: 16px;\r\n font-weight: bold;\r\n}\r\n.content-box > span {\r\n color: #f5222d;\r\n font-size: 20px;\r\n}\r\n.content-box .left {\r\n width: 100px;\r\n text-align: right;\r\n}\r\n.content-box .right {\r\n width: 400px;\r\n}\r\n.rad {\r\n margin-left: 20px;\r\n}\r\n.mask {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 312px;\r\n height: 550px;\r\n background-color: rgba(0, 0, 0, 0);\r\n}\r\n</style>\r\n"],"mappings":";AAmEA,SAAAA,eAAA,EAAAC,WAAA;AACA,SAAAC,QAAA;AACA,SAAAC,UAAA,IAAAA,WAAA;AACA;EACAC,IAAA;EACAC,OAAA;IACAF,UAAA,WAAAA,WAAAG,IAAA;MACA,IAAAA,IAAA;QACA,IAAAC,IAAA,OAAAC,IAAA,CAAAF,IAAA;QACA,OAAAH,WAAA,CAAAI,IAAA;MACA;IACA;EACA;EACAE,IAAA,WAAAA,KAAA;IACA;MACAC,IAAA;QACAC,EAAA;QACAC,EAAA;QACAC,EAAA;QACAC,EAAA;QACAC,EAAA;MACA;MACAC,SAAA,KAAAC,MAAA,CAAAC,QAAA,CAAAC,MAAA;MACAC,OAAA;MACAC,QAAA;QACAC,IAAA;QACAC,YAAA;QACAC,IAAA;QACAC,KAAA;MACA;IACA;EACA;EACAC,OAAA,WAAAA,QAAA;IAAA,IAAAC,KAAA;IACA1B,WAAA,GAAA2B,IAAA,WAAAC,GAAA;MACAF,KAAA,CAAAN,QAAA,GAAAQ,GAAA,CAAApB,IAAA;IACA;EACA;EACAqB,KAAA;IACAC,MAAA,WAAAA,OAAAC,EAAA,EAAAC,IAAA;EACA;EACAC,QAAA,EAAAC,aAAA,CAAAA,aAAA,KACAjC,QAAA;IACAkC,UAAA,WAAAA,WAAA;MACA,YAAAC,QAAA,GAAAC,SAAA;IACA;IACAC,aAAA,WAAAA,cAAA;MACA,YAAAF,QAAA;IACA;EAAA,EACA;EACAG,OAAA;IACAC,QAAA,WAAAA,SAAA;MAAA,IAAAC,MAAA;MACA1C,eAAA;QACAoB,OAAA,OAAAA;MACA,GACAQ,IAAA,WAAAC,GAAA;QACAc,MAAA,CAAAC,IAAA,CAAAf,GAAA,CAAApB,IAAA,CAAAoC,GAAA;MACA,GACAC,KAAA,WAAAC,GAAA;QACAL,MAAA,CAAAM,QAAA,CAAAC,OAAA,CAAAF,GAAA,CAAAG,GAAA;MACA;IACA;IACAC,YAAA,WAAAA,aAAAN,GAAA;MACA,KAAAA,GAAA,cAAAG,QAAA,CAAAC,OAAA;MACA,IAAAG,KAAA,OAAAC,KAAA;MACAD,KAAA,CAAAE,GAAA,GAAAT,GAAA;MACA;MACAO,KAAA,CAAAG,YAAA;MACAH,KAAA,CAAAI,MAAA;QACA,IAAAC,MAAA,GAAAC,QAAA,CAAAC,aAAA;QACAF,MAAA,CAAAG,KAAA,GAAAR,KAAA,CAAAQ,KAAA;QACAH,MAAA,CAAAI,MAAA,GAAAT,KAAA,CAAAS,MAAA;QACA,IAAAC,OAAA,GAAAL,MAAA,CAAAM,UAAA;QACAD,OAAA,CAAAE,SAAA,CAAAZ,KAAA,QAAAA,KAAA,CAAAQ,KAAA,EAAAR,KAAA,CAAAS,MAAA;QACA,IAAAhB,GAAA,GAAAY,MAAA,CAAAQ,SAAA;QACA,IAAAC,CAAA,GAAAR,QAAA,CAAAC,aAAA;QACA,IAAAQ,KAAA,OAAAC,UAAA;QACAF,CAAA,CAAAG,QAAA,GAAAjE,IAAA;QACA8D,CAAA,CAAAI,IAAA,GAAAzB,GAAA;QACAqB,CAAA,CAAAK,aAAA,CAAAJ,KAAA;MACA;IACA;EACA;AACA","ignoreList":[]}]}