57b9a00bcc19eb25f2e55bc028b18f56.json 13 KB

1
  1. {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\app\\routine\\download\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\app\\routine\\download\\index.vue","mtime":1677828270187},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRTovaXRlbS9uZXdJdGVtL2FkbWluL25vZGVfbW9kdWxlcy9AdnVlL2JhYmVsLXByZXNldC1hcHAvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgeyByb3V0aW5lRG93bmxvYWQsIHJvdXRpbmVJbmZvIH0gZnJvbSAnQC9hcGkvYXBwJzsKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IHsgZm9ybWF0RGF0ZSBhcyBfZm9ybWF0RGF0ZSB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ3JvdXRpbmVUZW1wbGF0ZScsCiAgZmlsdGVyczogewogICAgZm9ybWF0RGF0ZTogZnVuY3Rpb24gZm9ybWF0RGF0ZSh0aW1lKSB7CiAgICAgIGlmICh0aW1lICE9PSAwKSB7CiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh0aW1lICogMTAwMCk7CiAgICAgICAgcmV0dXJuIF9mb3JtYXREYXRlKGRhdGUsICd5eXl5LU1NLWRkIGhoOm1tJyk7CiAgICAgIH0KICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBncmlkOiB7CiAgICAgICAgeGw6IDcsCiAgICAgICAgbGc6IDcsCiAgICAgICAgbWQ6IDEyLAogICAgICAgIHNtOiAyNCwKICAgICAgICB4czogMjQKICAgICAgfSwKICAgICAgaWZyYW1lVXJsOiAiIi5jb25jYXQobG9jYXRpb24ub3JpZ2luLCAiL3BhZ2VzL2luZGV4L2luZGV4P3R5cGU9aWZyYW1lV2luZG93IiksCiAgICAgIGlzX2xpdmU6IDEsCiAgICAgIHBhZ2VEYXRhOiB7CiAgICAgICAgY29kZTogJycsCiAgICAgICAgcm91dGluZV9uYW1lOiAnJywKICAgICAgICBoZWxwOiAnJywKICAgICAgICBhcHBJZDogJzEnCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICByb3V0aW5lSW5mbygpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICBfdGhpcy5wYWdlRGF0YSA9IHJlcy5kYXRhOwogICAgfSk7CiAgfSwKICB3YXRjaDogewogICAgJHJvdXRlOiBmdW5jdGlvbiAkcm91dGUodG8sIGZyb20pIHt9CiAgfSwKICBjb21wdXRlZDogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBtYXBTdGF0ZSgnbWVkaWEnLCBbJ2lzTW9iaWxlJ10pKSwge30sIHsKICAgIGxhYmVsV2lkdGg6IGZ1bmN0aW9uIGxhYmVsV2lkdGgoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gdW5kZWZpbmVkIDogODA7CiAgICB9LAogICAgbGFiZWxQb3NpdGlvbjogZnVuY3Rpb24gbGFiZWxQb3NpdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAndG9wJyA6ICdsZWZ0JzsKICAgIH0KICB9KSwKICBtZXRob2RzOiB7CiAgICBkb3duTG9hZDogZnVuY3Rpb24gZG93bkxvYWQoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgcm91dGluZURvd25sb2FkKHsKICAgICAgICBpc19saXZlOiB0aGlzLmlzX2xpdmUKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgd2luZG93Lm9wZW4ocmVzLmRhdGEudXJsKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICAgIF90aGlzMi4kTWVzc2FnZS53YXJuaW5nKGVyci5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBkb3duTG9hZENvZGU6IGZ1bmN0aW9uIGRvd25Mb2FkQ29kZSh1cmwpIHsKICAgICAgaWYgKCF1cmwpIHJldHVybiB0aGlzLiRNZXNzYWdlLndhcm5pbmcoJ+aaguaXoOWwj+eoi+W6j+eggScpOwogICAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKICAgICAgaW1hZ2Uuc3JjID0gdXJsOyAvLyDop6PlhrPot6jln58gQ2FudmFzIOaxoeafk+mXrumimAoKICAgICAgaW1hZ2Uuc2V0QXR0cmlidXRlKCdjcm9zc09yaWdpbicsICdhbm9ueW1vdXMnKTsKCiAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGg7CiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDsKICAgICAgICB2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0KTsKICAgICAgICB2YXIgdXJsID0gY2FudmFzLnRvRGF0YVVSTCgpOyAvL+W+l+WIsOWbvueJh+eahGJhc2U2NOe8lueggeaVsOaNrgoKICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsgLy8g55Sf5oiQ5LiA5LiqYeWFg+e0oAoKICAgICAgICB2YXIgZXZlbnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snKTsgLy8g5Yib5bu65LiA5Liq5Y2V5Ye75LqL5Lu2CgogICAgICAgIGEuZG93bmxvYWQgPSBuYW1lIHx8ICdwaG90byc7IC8vIOiuvue9ruWbvueJh+WQjeensAoKICAgICAgICBhLmhyZWYgPSB1cmw7IC8vIOWwhueUn+aIkOeahFVSTOiuvue9ruS4umEuaHJlZuWxnuaApwoKICAgICAgICBhLmRpc3BhdGNoRXZlbnQoZXZlbnQpOyAvLyDop6blj5Fh55qE5Y2V5Ye75LqL5Lu2CiAgICAgIH07CiAgICB9CiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;AACA;AACA;AACA;EACAA,uBADA;EAEAC;IACAC,UADA,sBACAC,IADA,EACA;MACA;QACA;QACA;MACA;IACA;EANA,CAFA;EAUAC,IAVA,kBAUA;IACA;MACAC;QACAC,KADA;QAEAC,KAFA;QAGAC,MAHA;QAIAC,MAJA;QAKAC;MALA,CADA;MAQAC,6EARA;MASAC,UATA;MAUAC;QACAC,QADA;QAEAC,gBAFA;QAGAC,QAHA;QAIAC;MAJA;IAVA;EAiBA,CA5BA;EA6BAC,OA7BA,qBA6BA;IAAA;;IACAC;MACA;IACA,CAFA;EAGA,CAjCA;EAkCAC;IACAC,MADA,kBACAC,EADA,EACAC,IADA,EACA;EADA,CAlCA;EAqCAC,0CACAC,+BADA;IAEAC,UAFA,wBAEA;MACA;IACA,CAJA;IAKAC,aALA,2BAKA;MACA;IACA;EAPA,EArCA;EA8CAC;IACAC,QADA,sBACA;MAAA;;MACAC;QACAlB;MADA,GAGAmB,IAHA,CAGA;QACAC;MACA,CALA,EAMAC,KANA,CAMA;QACA;MACA,CARA;IASA,CAXA;IAYAC,YAZA,wBAYAC,GAZA,EAYA;MACA;MACA;MACAC,gBAHA,CAIA;;MACAA;;MACAA;QACA;QACAC;QACAA;QACA;QACAC;QACA,6BANA,CAMA;;QACA,oCAPA,CAOA;;QACA,oCARA,CAQA;;QACAC,6BATA,CASA;;QACAA,aAVA,CAUA;;QACAA,uBAXA,CAWA;MACA,CAZA;IAaA;EA/BA;AA9CA","names":["name","filters","formatDate","time","data","grid","xl","lg","md","sm","xs","iframeUrl","is_live","pageData","code","routine_name","help","appId","created","routineInfo","watch","$route","to","from","computed","mapState","labelWidth","labelPosition","methods","downLoad","routineDownload","then","window","catch","downLoadCode","url","image","canvas","context","a"],"sourceRoot":"src/pages/app/routine/download","sources":["index.vue"],"sourcesContent":["<template>\r\n <div>\r\n <Card :bordered=\"false\" dis-hover class=\"ivu-mt\">\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 <Alert v-if=\"!pageData.appId && !pageData.code\">\r\n <template slot=\"desc\">\r\n 您尚未配置小程序信息,请<router-link :to=\"{ path: '/admin/setting/system_config_retail/3/7' }\"\r\n >立即设置</router-link\r\n ></template\r\n >\r\n </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 <Button type=\"primary\" @click=\"downLoadCode(pageData.code)\">下载小程序码</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 <RadioGroup class=\"rad\" size=\"large\" v-model=\"is_live\">\r\n <Radio :label=\"0\">未开通</Radio>\r\n <Radio :label=\"1\">已开通</Radio>\r\n </RadioGroup>\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 <Button class=\"mt10\" type=\"primary\" @click=\"downLoad()\">下载小程序包</Button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </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?type=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 : 80;\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'left';\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 scoped lang=\"stylus\">\r\n.template_sp_box {\r\n padding: 5px 0;\r\n box-sizing: border-box;\r\n}\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\r\n.flex-wrapper {\r\n display: flex;\r\n border-radius: 10px;\r\n}\r\n\r\n.iframe-box {\r\n width: 312px;\r\n height: 550px;\r\n border-radius: 10px;\r\n}\r\n\r\n.ivu-mt {\r\n height: 600px;\r\n}\r\n\r\n.content {\r\n padding: 0 20px;\r\n}\r\n\r\n.content > .title {\r\n padding-bottom: 26px;\r\n}\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\r\n.content-box.last {\r\n margin-top: 0;\r\n color: #999999;\r\n}\r\n\r\n.line {\r\n width: 3px;\r\n height: 16px;\r\n background-color: #1890FF;\r\n margin-right: 11px;\r\n}\r\n\r\n.content-box .title {\r\n font-size: 16px;\r\n font-weight: bold;\r\n}\r\n\r\n.content-box > span {\r\n color: #F5222D;\r\n font-size: 20px;\r\n}\r\n\r\n.content-box .left {\r\n width: 100px;\r\n text-align: right;\r\n}\r\n\r\n.content-box .right {\r\n width: 400px;\r\n}\r\n\r\n.rad {\r\n margin-left: 20px;\r\n}\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"]}]}