b62eb9b021c8a8fc31e6fad3f96e50bb.json 23 KB

1
  1. {"remainingRequest":"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\\setting\\notification\\notificationEdit.vue?vue&type=style&index=0&id=6aa879e6&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\setting\\notification\\notificationEdit.vue","mtime":1761185180181},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\css-loader\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"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:DQouZWRpdCB7DQp9DQouaGVhZGVyX3RvcCB7DQogIG1hcmdpbi1ib3R0b206IDEwcHg7DQp9DQouZGVtby10YWJzLXN0eWxlMSA+IC5pdnUtdGFicy1jYXJkID4gLml2dS10YWJzLWNvbnRlbnQgew0KICBoZWlnaHQ6IDEyMHB4Ow0KICBtYXJnaW4tdG9wOiAtMTZweDsNCn0NCg0KLmRlbW8tdGFicy1zdHlsZTEgPiAuaXZ1LXRhYnMtY2FyZCA+IC5pdnUtdGFicy1jb250ZW50ID4gLml2dS10YWJzLXRhYnBhbmUgew0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBwYWRkaW5nOiAxNnB4Ow0KfQ0KDQouZGVtby10YWJzLXN0eWxlMSA+IC5pdnUtdGFicy5pdnUtdGFicy1jYXJkID4gLml2dS10YWJzLWJhciAuaXZ1LXRhYnMtdGFiIHsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmRlbW8tdGFicy1zdHlsZTEgPiAuaXZ1LXRhYnMtY2FyZCA+IC5pdnUtdGFicy1iYXIgLml2dS10YWJzLXRhYi1hY3RpdmUgew0KICBib3JkZXItY29sb3I6ICNmZmY7DQp9DQoNCi50YWJzIHsNCiAgcGFkZGluZzogMCAzMHB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KfQ0KDQoudHJpcCB7DQogIGNvbG9yOiByZ2IoMTQ2LCAxMzksIDEzOSk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7DQogIG1hcmdpbi1sZWZ0OiA4MHB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIHBhZGRpbmc6IDE1cHg7DQp9DQoNCi5jb250ZW50IHsNCiAgZGlzcGxheTogZmxleDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouZm9ybS1zdHkgew0KICBtYXJnaW4tdG9wOiAyMHB4Ow0KfQ0KLnZhbHVlLWxpc3Qgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiA3cHg7DQogIGJvdHRvbTogN3B4Ow0KICB3aWR0aDogMjJweDsNCiAgaGVpZ2h0OiAyMnB4Ow0KICBsaW5lLWhlaWdodDogMjJweDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmV2LWNvbG9yLXByaW1hcnkpOw0KICBjb2xvcjogI2VkZWRlZDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQp9DQoudmFyaWFibGUgew0KICAuaXRlbSB7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7DQogIH0NCiAgLml0ZW06aG92ZXIgew0KICAgIGJhY2tncm91bmQ6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeS1saWdodC05KTsNCiAgICBjb2xvcjogdmFyKC0tcHJldi1jb2xvci1wcmltYXJ5KTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCn0NCi8vIOa7muWKqOadoeagt+W8jw0KLnZhcmlhYmxlOjotd2Via2l0LXNjcm9sbGJhciB7DQogIHdpZHRoOiA0cHg7DQogIGhlaWdodDogNHB4Ow0KfQ0KLnZhcmlhYmxlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7DQogIGJhY2tncm91bmQ6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeS1saWdodC05KTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KfQ0KLnZhcmlhYmxlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7DQogIGJhY2tncm91bmQ6ICNmMmYyZjI7DQp9DQo="},{"version":3,"sources":["notificationEdit.vue"],"names":[],"mappings":";AA2ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"notificationEdit.vue","sourceRoot":"src/pages/setting/notification","sourcesContent":["<template>\r\n <div class=\"edit\">\r\n <pages-header\r\n ref=\"pageHeader\"\r\n :title=\"$route.meta.title\"\r\n :backUrl=\"$routeProStr + '/setting/notification/index'\"\r\n ></pages-header>\r\n <div class=\"tabs mt16\">\r\n <el-row :gutter=\"32\">\r\n <el-col :span=\"32\" class=\"demo-tabs-style1\" style=\"padding: 16px\">\r\n <el-tabs v-model=\"tagName\" @tab-click=\"changeTabs\">\r\n <el-tab-pane v-for=\"(item, index) in tabsList\" :key=\"index\" :name=\"item.slot\" :label=\"item.title\">\r\n <el-form class=\"form-sty\" ref=\"formData\" :model=\"formData\" :rules=\"ruleValidate\" label-width=\"85px\">\r\n <div v-if=\"item.slot === 'is_system' && !loading\">\r\n <el-form-item label=\"通知标题:\">\r\n <el-input\r\n v-model=\"formData.system_title\"\r\n placeholder=\"请输入通知标题\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"通知内容:\">\r\n <div class=\"content\">\r\n <el-input\r\n ref=\"system_text\"\r\n id=\"system_text\"\r\n v-model=\"formData.system_text\"\r\n type=\"textarea\"\r\n :autosize=\"{ minRows: 5, maxRows: 8 }\"\r\n placeholder=\"请输入通知内容\"\r\n style=\"width: 500px\"\r\n >\r\n </el-input>\r\n <div class=\"value-list\" v-if=\"formData.type_n == 3\">\r\n <el-popover placement=\"right\" width=\"200\" trigger=\"click\">\r\n <div class=\"variable\">\r\n <div\r\n class=\"item\"\r\n v-db-click\r\n @click=\"changeValue(i.value, 'system_text')\"\r\n v-for=\"(i, index) in formData.custom_variable\"\r\n :key=\"index\"\r\n >\r\n {{ i.label }}\r\n </div>\r\n </div>\r\n\r\n <i class=\"el-icon-link\" slot=\"reference\"></i>\r\n </el-popover>\r\n </div>\r\n </div>\r\n <div class=\"tips-info\" v-if=\"formData.type_n == 3\">可点击右下角图标,插入自定义变量</div>\r\n </el-form-item>\r\n <el-form-item label=\"状态:\" prop=\"is_system\">\r\n <el-radio-group v-model=\"formData.is_system\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"2\">关闭</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n <div v-if=\"item.slot === 'is_sms' && !loading\">\r\n <el-form-item label=\"短信模版ID:\">\r\n <el-input v-model=\"formData.sms_id\" placeholder=\"短信模版ID\" style=\"width: 500px\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"通知内容:\">\r\n <div class=\"content\">\r\n <el-input\r\n id=\"sms_text\"\r\n v-model=\"formData.sms_text\"\r\n type=\"textarea\"\r\n :disabled=\"formData.type_n != 3\"\r\n :autosize=\"{ minRows: 5, maxRows: 8 }\"\r\n placeholder=\"请输入通知内容\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n <div class=\"value-list\" v-if=\"formData.type_n == 3\">\r\n <el-popover placement=\"right\" width=\"200\" trigger=\"click\">\r\n <div class=\"variable\">\r\n <div\r\n class=\"item\"\r\n v-db-click\r\n @click=\"changeValue(i.value, 'sms_text')\"\r\n v-for=\"(i, index) in formData.custom_variable\"\r\n :key=\"index\"\r\n >\r\n {{ i.label }}\r\n </div>\r\n </div>\r\n\r\n <i class=\"el-icon-link\" slot=\"reference\"></i>\r\n </el-popover>\r\n </div>\r\n </div>\r\n <div class=\"tips-info\" v-if=\"formData.type_n == 3\">可点击右下角图标,插入自定义变量</div>\r\n </el-form-item>\r\n <el-form-item label=\"状态:\" prop=\"is_sms\">\r\n <el-radio-group v-model=\"formData.is_sms\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"2\">关闭</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n <div v-else-if=\"item.slot === 'is_wechat' && !loading\">\r\n <el-form-item label=\"模板编号:\">\r\n <el-input\r\n v-model=\"formData.tempkey\"\r\n :disabled=\"formData.type_n !== 3\"\r\n placeholder=\"请输入通模板编号\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"模板ID:\">\r\n <el-input v-model=\"formData.tempid\" placeholder=\"请输入模板ID\" style=\"width: 500px\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"模板:\">\r\n <div class=\"content\">\r\n <el-input\r\n :disabled=\"formData.type_n !== 3\"\r\n v-model=\"formData.content\"\r\n type=\"textarea\"\r\n :autosize=\"{ minRows: 5, maxRows: 8 }\"\r\n placeholder=\"请输入模板\"\r\n style=\"width: 500px\"\r\n @input=\"handleContentChange\"\r\n ></el-input>\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"字段:\" v-if=\"formData.type_n == 3 && keyList.length\">\r\n <div class=\"content\">\r\n <keys-list\r\n :key-list=\"keyList\"\r\n :variableList=\"formData.custom_variable\"\r\n @add=\"handleAdd\"\r\n @remove=\"handleRemove\"\r\n />\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"跳转链接:\">\r\n <el-input\r\n v-model=\"formData.wechat_link\"\r\n placeholder=\"请输入模版跳转链接,可携带参数\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"跳转小程序:\" prop=\"wechat_to_routine\">\r\n <el-radio-group v-model=\"formData.wechat_to_routine\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"0\">关闭</el-radio>\r\n </el-radio-group>\r\n <div class=\"tips-info\">\r\n 开启之后,点击模版消息,跳转小程序对应的页面,需要小程序已经审核上线才可使用\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"状态:\" prop=\"is_wechat\">\r\n <el-radio-group v-model=\"formData.is_wechat\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"2\">关闭</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n <div v-else-if=\"item.slot === 'is_routine' && !loading\">\r\n <el-form-item label=\"模板编号:\">\r\n <el-input\r\n v-model=\"formData.tempkey\"\r\n :disabled=\"formData.type_n !== 3\"\r\n placeholder=\"请输入通模板编号\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"模板ID:\">\r\n <el-input v-model=\"formData.tempid\" placeholder=\"请输入模板ID\" style=\"width: 500px\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"模板:\">\r\n <div class=\"content\">\r\n <el-input\r\n :disabled=\"formData.type_n !== 3\"\r\n v-model=\"formData.content\"\r\n type=\"textarea\"\r\n :autosize=\"{ minRows: 5, maxRows: 8 }\"\r\n placeholder=\"请输入模板\"\r\n style=\"width: 500px\"\r\n @input=\"handleContentChange\"\r\n ></el-input>\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"字段:\" v-if=\"formData.type_n == 3 && keyList.length\">\r\n <div class=\"content\">\r\n <keys-list\r\n :key-list=\"keyList\"\r\n :variableList=\"formData.custom_variable\"\r\n @add=\"handleAdd\"\r\n @remove=\"handleRemove\"\r\n />\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"跳转链接:\">\r\n <el-input\r\n v-model=\"formData.routine_link\"\r\n placeholder=\"请输入模版跳转链接,可携带参数\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"状态:\" prop=\"is_routine\">\r\n <el-radio-group v-model=\"formData.is_routine\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"2\">关闭</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n\r\n <div v-else-if=\"item.slot === 'is_ent_wechat' && !loading\">\r\n <el-form-item label=\"通知内容:\">\r\n <div class=\"content\">\r\n <el-input\r\n id=\"ent_wechat_text\"\r\n v-model=\"formData.ent_wechat_text\"\r\n type=\"textarea\"\r\n :autosize=\"{ minRows: 5, maxRows: 8 }\"\r\n placeholder=\"请输入通知内容\"\r\n style=\"width: 500px\"\r\n ></el-input>\r\n <div class=\"value-list\" v-if=\"formData.type_n == 3\">\r\n <el-popover placement=\"right\" width=\"200\" trigger=\"click\">\r\n <div class=\"variable\">\r\n <div\r\n class=\"item\"\r\n v-db-click\r\n @click=\"changeValue(i.value, 'ent_wechat_text')\"\r\n v-for=\"(i, index) in formData.custom_variable\"\r\n :key=\"index\"\r\n >\r\n {{ i.label }}\r\n </div>\r\n </div>\r\n\r\n <i class=\"el-icon-link\" slot=\"reference\"></i>\r\n </el-popover>\r\n </div>\r\n </div>\r\n <div class=\"tips-info\" v-if=\"formData.type_n == 3\">可点击右下角图标,插入自定义变量</div>\r\n </el-form-item>\r\n <el-form-item label=\"机器人链接:\">\r\n <div class=\"content\">\r\n <el-input v-model=\"formData.url\" placeholder=\"请输入机器人链接\" style=\"width: 500px\"></el-input>\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"状态:\" prop=\"is_ent_wechat\">\r\n <el-radio-group v-model=\"formData.is_ent_wechat\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"2\">关闭</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n <el-form-item>\r\n <el-button type=\"primary\" v-db-click @click=\"handleSubmit('formData')\">提交</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getNotificationInfo, getNotificationSave } from '@/api/notification.js';\r\nimport keysList from './components/keysList.vue';\r\nexport default {\r\n components: { keysList },\r\n data() {\r\n return {\r\n tabs: [\r\n {\r\n title: '系统通知',\r\n slot: 'is_system',\r\n },\r\n {\r\n title: '短信通知',\r\n slot: 'is_sms',\r\n },\r\n {\r\n title: '微信模板消息',\r\n slot: 'is_wechat',\r\n },\r\n {\r\n title: '微信小程序提醒',\r\n slot: 'is_routine',\r\n },\r\n {\r\n title: '企业微信',\r\n slot: 'is_ent_wechat',\r\n },\r\n ],\r\n tabsList: [],\r\n formData: {},\r\n id: 0,\r\n loading: true,\r\n tagName: 'is_system',\r\n ruleValidate: {\r\n name: [\r\n {\r\n required: true,\r\n message: '请输入通知场景',\r\n trigger: 'blur',\r\n },\r\n ],\r\n title: [\r\n {\r\n required: true,\r\n message: '请输入通知场景',\r\n trigger: 'blur',\r\n },\r\n ],\r\n content: [\r\n {\r\n required: true,\r\n message: '请输入通知内容',\r\n trigger: 'blur',\r\n },\r\n ],\r\n },\r\n keyList: [],\r\n };\r\n },\r\n created() {\r\n this.id = this.$route.query.id;\r\n this.getData(this.id, this.tagName, 1);\r\n },\r\n methods: {\r\n handleContentChange(e) {\r\n if (this.formData.type_n == 3) {\r\n const regex = /{{(.*?)\\./g;\r\n let match;\r\n this.keyList = [];\r\n while ((match = regex.exec(e))) {\r\n this.keyList.push({\r\n key: match[1],\r\n value: '',\r\n });\r\n }\r\n }\r\n },\r\n handleRemove(index) {\r\n this.keyList.splice(index, 1);\r\n },\r\n // 新增卡密\r\n handleAdd() {\r\n this.keyList.push({\r\n key: '',\r\n value: '',\r\n });\r\n },\r\n changeTabs() {\r\n this.getData(this.id, this.tagName);\r\n },\r\n getData(id, name, init) {\r\n this.loading = true;\r\n this.formData = {};\r\n getNotificationInfo(id, name)\r\n .then((res) => {\r\n if (!this.tabsList.length) {\r\n this.tabs.map((v) => {\r\n if (res.data[v.slot]) {\r\n this.tabsList.push(v);\r\n }\r\n });\r\n }\r\n if (init) this.tagName = this.tabsList[0].slot;\r\n this.formData = res.data;\r\n this.formData.type_n = res.data.type; // - -!\r\n this.formData.type = name; // 类型名称\r\n this.formData.id = id;\r\n this.keyList = res.data.key_list || [];\r\n this.loading = false;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n });\r\n },\r\n handleSubmit(name) {\r\n this.formData.key_list = this.keyList;\r\n getNotificationSave(this.formData)\r\n .then((res) => {\r\n this.$message.success('设置成功');\r\n })\r\n .catch((err) => {\r\n this.$message.error(err);\r\n });\r\n },\r\n handleReset(name) {\r\n this.$emit('close');\r\n },\r\n changeValue(e, name) {\r\n // 获取dom元素\r\n let textInput = document.getElementById(name);\r\n // 获取光标初始索引\r\n let index = textInput.selectionStart;\r\n // 拼接字符串的形式来得到需要的内容\r\n this.formData[name] = this.formData[name].substring(0, index) + e + this.formData[name].substring(index);\r\n this.$nextTick(() => {\r\n textInput.selectionStart = index + e.length;\r\n textInput.selectionEnd = index + e.length;\r\n textInput.focus();\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.edit {\r\n}\r\n.header_top {\r\n margin-bottom: 10px;\r\n}\r\n.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content {\r\n height: 120px;\r\n margin-top: -16px;\r\n}\r\n\r\n.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content > .ivu-tabs-tabpane {\r\n background: #fff;\r\n padding: 16px;\r\n}\r\n\r\n.demo-tabs-style1 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab {\r\n border-color: transparent;\r\n}\r\n\r\n.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active {\r\n border-color: #fff;\r\n}\r\n\r\n.tabs {\r\n padding: 0 30px;\r\n background-color: #fff;\r\n}\r\n\r\n.trip {\r\n color: rgb(146, 139, 139);\r\n background-color: #f2f2f2;\r\n margin-left: 80px;\r\n border-radius: 4px;\r\n padding: 15px;\r\n}\r\n\r\n.content {\r\n display: flex;\r\n position: relative;\r\n}\r\n\r\n.form-sty {\r\n margin-top: 20px;\r\n}\r\n.value-list {\r\n position: absolute;\r\n right: 7px;\r\n bottom: 7px;\r\n width: 22px;\r\n height: 22px;\r\n line-height: 22px;\r\n text-align: center;\r\n background: var(--prev-color-primary);\r\n color: #ededed;\r\n cursor: pointer;\r\n border-radius: 4px;\r\n}\r\n.variable {\r\n .item {\r\n cursor: pointer;\r\n padding: 5px 10px;\r\n transition: all 0.3s ease;\r\n }\r\n .item:hover {\r\n background: var(--prev-color-primary-light-9);\r\n color: var(--prev-color-primary);\r\n border-radius: 4px;\r\n }\r\n}\r\n// 滚动条样式\r\n.variable::-webkit-scrollbar {\r\n width: 4px;\r\n height: 4px;\r\n}\r\n.variable::-webkit-scrollbar-thumb {\r\n background: var(--prev-color-primary-light-9);\r\n border-radius: 4px;\r\n}\r\n.variable::-webkit-scrollbar-track {\r\n background: #f2f2f2;\r\n}\r\n</style>\r\n"]}]}