guci-date 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Export.js ADDED
@@ -0,0 +1,62 @@
1
+
2
+
3
+ import * as XLSX from 'xlsx';
4
+ import { saveAs } from 'file-saver';
5
+
6
+
7
+
8
+
9
+ /**
10
+ * @param { 通过自定义导出Excel表格 }
11
+ * @blob 返回的blob对象
12
+ * **/
13
+ export function ExportExcel(list){
14
+
15
+ const worksheet = XLSX.utils.aoa_to_sheet(list);
16
+
17
+ // 创建工作簿并添加工作表
18
+ const workbook = XLSX.utils.book_new();
19
+ XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
20
+
21
+ // 生成Excel文件
22
+ const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
23
+
24
+ // 使用blob和FileReader创建一个Blob URL
25
+ const dataBlob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' });
26
+ const blobUrl = window.URL.createObjectURL(dataBlob);
27
+
28
+ // 使用saveAs下载文件
29
+ saveAs(dataBlob, 'export.xlsx');
30
+
31
+ // 清理
32
+ window.URL.revokeObjectURL(blobUrl);
33
+ }
34
+
35
+ /**
36
+ * @param { 用来处理 用过接口下载的blob对象进行下载 }
37
+ * @blob 返回的blob对象
38
+ * **/
39
+ export function ExportApiExcel(blob){
40
+
41
+ // 创建A标签
42
+ const link = document.createElement('a')
43
+ link.style.display = 'none'
44
+
45
+
46
+ // 创建blob对象
47
+ link.href = URL.createObjectURL(blob)
48
+
49
+
50
+ // 下载xlsx文件名称
51
+ link.download = 'export.xlsx';
52
+
53
+ // 添加链接
54
+ document.body.appendChild(link)
55
+
56
+ // 下载
57
+ link.click()
58
+
59
+ // 清理
60
+ URL.revokeObjectURL(link.href)
61
+ document.body.removeChild(link)
62
+ }
package/GuciI18n.js ADDED
@@ -0,0 +1,19 @@
1
+
2
+
3
+
4
+ import Vue from "vue";
5
+ import GuciI18n from "vue-i18n";
6
+ Vue.use(GuciI18n);
7
+
8
+ import { zh } from "../i18n/zh";
9
+ import { en } from "../i18n/en";
10
+
11
+ export const GuciLan = new GuciI18n({
12
+ locale: localStorage.getItem("locale") || "zh",
13
+ messages: {
14
+ en:{ en },
15
+ zh:{ zh }
16
+ }
17
+ });
18
+
19
+ export default GuciLan;
package/GuciTable.js ADDED
@@ -0,0 +1,81 @@
1
+ import GuciTable from "vxe-table";
2
+
3
+ GuciTable.setIcon({
4
+ // loading
5
+ LOADING: "vxe-icon-spinner roll vxe-loading--default-icon",
6
+
7
+ // table
8
+ TABLE_SORT_ASC: "vxe-icon-caret-up",
9
+ TABLE_SORT_DESC: "vxe-icon-caret-down",
10
+ TABLE_FILTER_NONE: "vxe-icon-funnel",
11
+ TABLE_FILTER_MATCH: "vxe-icon-funnel",
12
+ TABLE_EDIT: "vxe-icon-edit",
13
+ TABLE_HELP: "vxe-icon-question-circle-fill",
14
+ TABLE_TREE_LOADED: "vxe-icon-spinner roll",
15
+ TABLE_TREE_OPEN: "vxe-icon-caret-right rotate90",
16
+ TABLE_TREE_CLOSE: "vxe-icon-caret-right",
17
+ TABLE_EXPAND_LOADED: "vxe-icon-spinner roll",
18
+ TABLE_EXPAND_OPEN: "vxe-icon-arrow-right rotate90",
19
+ TABLE_EXPAND_CLOSE: "vxe-icon-arrow-right",
20
+ TABLE_CHECKBOX_CHECKED: "vxe-icon-checkbox-checked",
21
+ TABLE_CHECKBOX_UNCHECKED: "vxe-icon-checkbox-unchecked",
22
+ TABLE_CHECKBOX_INDETERMINATE: "vxe-icon-checkbox-indeterminate",
23
+ TABLE_RADIO_CHECKED: "vxe-icon-radio-checked",
24
+ TABLE_RADIO_UNCHECKED: "vxe-icon-radio-unchecked",
25
+
26
+ // button
27
+ BUTTON_DROPDOWN: "vxe-icon-arrow-down",
28
+ BUTTON_LOADING: "vxe-icon-spinner roll",
29
+
30
+ // select
31
+ SELECT_LOADED: "vxe-icon-spinner roll",
32
+ SELECT_OPEN: "vxe-icon-caret-down rotate180",
33
+ SELECT_CLOSE: "vxe-icon-caret-down",
34
+
35
+ // pager
36
+ PAGER_JUMP_PREV: "vxe-icon-arrow-double-left",
37
+ PAGER_JUMP_NEXT: "vxe-icon-arrow-double-right",
38
+ PAGER_PREV_PAGE: "vxe-icon-arrow-left",
39
+ PAGER_NEXT_PAGE: "vxe-icon-arrow-right",
40
+ PAGER_JUMP_MORE: "vxe-icon-ellipsis-h",
41
+
42
+ // input
43
+ INPUT_CLEAR: "vxe-icon-error-circle-fill",
44
+ INPUT_PWD: "vxe-icon-eye-fill",
45
+ INPUT_SHOW_PWD: "vxe-icon-eye-fill-close",
46
+ INPUT_PREV_NUM: "vxe-icon-caret-up",
47
+ INPUT_NEXT_NUM: "vxe-icon-caret-down",
48
+ INPUT_DATE: "vxe-icon-calendar",
49
+ INPUT_SEARCH: "vxe-icon-search",
50
+
51
+ // modal
52
+ MODAL_ZOOM_IN: "vxe-icon-square",
53
+ MODAL_ZOOM_OUT: "vxe-icon-maximize",
54
+ MODAL_CLOSE: "vxe-icon-close",
55
+ MODAL_INFO: "vxe-icon-info-circle-fill",
56
+ MODAL_SUCCESS: "vxe-icon-success-circle-fill",
57
+ MODAL_WARNING: "vxe-icon-warnion-circle-fill",
58
+ MODAL_ERROR: "vxe-icon-error-circle-fill",
59
+ MODAL_QUESTION: "vxe-icon-question-circle-fill",
60
+ MODAL_LOADING: "vxe-icon-spinner roll",
61
+
62
+ // toolbar
63
+ TOOLBAR_TOOLS_REFRESH: "vxe-icon-repeat",
64
+ TOOLBAR_TOOLS_REFRESH_LOADING: "vxe-icon-repeat roll",
65
+ TOOLBAR_TOOLS_IMPORT: "vxe-icon-upload",
66
+ TOOLBAR_TOOLS_EXPORT: "vxe-icon-download",
67
+ TOOLBAR_TOOLS_PRINT: "vxe-icon-print",
68
+ TOOLBAR_TOOLS_FULLSCREEN: "vxe-icon-fullscreen",
69
+ TOOLBAR_TOOLS_MINIMIZE: "vxe-icon-minimize",
70
+ TOOLBAR_TOOLS_CUSTOM: "vxe-icon-custom-column",
71
+ TOOLBAR_TOOLS_FIXED_LEFT: "vxe-icon-fixed-left",
72
+ TOOLBAR_TOOLS_FIXED_LEFT_ACTIVED: "vxe-icon-fixed-left-fill",
73
+ TOOLBAR_TOOLS_FIXED_RIGHT: "vxe-icon-fixed-right",
74
+ TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVED: "vxe-icon-fixed-right-fill",
75
+
76
+ // form
77
+ FORM_PREFIX: "vxe-icon-question-circle-fill",
78
+ FORM_SUFFIX: "vxe-icon-question-circle-fill",
79
+ FORM_FOLDING: "vxe-icon-arrow-up rotate180",
80
+ FORM_UNFOLDING: "vxe-icon-arrow-up"
81
+ });
package/Interceptor.js ADDED
@@ -0,0 +1,295 @@
1
+
2
+
3
+ import FullCalendar from "@fullcalendar/vue";
4
+ import dayGridPlugin from "@fullcalendar/daygrid";
5
+ import timeGridPlugin from "@fullcalendar/timegrid";
6
+ import interactionPlugin, { Draggable } from "@fullcalendar/interaction";
7
+
8
+ import apiBaseUrl from "../../config/api";
9
+ import axios from "axios";
10
+
11
+ export function beforeRouteLeave(to, from, next){
12
+ if (to.name !== "ScheduleDetails") {
13
+ from.meta.keepAlive = false;
14
+ } else {
15
+ from.meta.keepAlive = true;
16
+ }
17
+ next();
18
+ }
19
+
20
+ export function data(){
21
+ return {
22
+ gridData: [],
23
+ dialogTableVisible: false,
24
+ file: `${apiBaseUrl}/schedule/import`,
25
+ isHideDetails: false,
26
+ time: [],
27
+ num: 0,
28
+ educationType: 2, //教育类型
29
+ relativeTime: "4", //自定义
30
+ isFirst: 2,
31
+ relativeTimes: [
32
+ {
33
+ value: "1",
34
+ label: "每天",
35
+ },
36
+ {
37
+ value: "2",
38
+ label: "每周",
39
+ },
40
+ {
41
+ value: "3",
42
+ label: "自定义",
43
+ },
44
+ {
45
+ value: "4",
46
+ label: "无",
47
+ },
48
+ ],
49
+ categoryId: "", //课程类型ID
50
+ checkList: [],
51
+ id1: "",
52
+ teachers: [], //下拉框默认值
53
+ query: "", // 查询关键字
54
+ courses: [], //拖拽课程
55
+ studentIds: [],
56
+ counter: "",
57
+ startTime: "", // 开始时间变量
58
+ endTime: "", // 结束时间变量
59
+ startTime1: "",
60
+ endTime1: "",
61
+ courseId: null,
62
+ courseScheduleData: null, //存储回显的排课信息数据
63
+ studentList: [], // 存储学生列表数据的变量
64
+ selectedTeacher: null, // 如果需要预先选中某个选项,可以在这里设置默认值
65
+ dialogVisible: false, // 控制弹层显示状态的数据属性
66
+ ruleForm: {
67
+ startTime: "",
68
+ endTime: "",
69
+ selectedTeacher: "",
70
+ },
71
+ // teacherId:this.ruleForm.selectedTeacher,
72
+ rules: {
73
+ startTime: [
74
+ { required: true, message: "请选择开始时间", trigger: "blur" },
75
+ ],
76
+ endTime: [
77
+ { required: true, message: "请选择结束时间", trigger: "blur" },
78
+ { validator: this.checkEndTime, trigger: "change" },
79
+ ],
80
+ selectedTeacher: [
81
+ { required: true, message: "请选择教师", trigger: "change" },
82
+ ],
83
+ },
84
+ calendarOptions: {
85
+ handleWindowResize: true,
86
+ eventColor: this.getEventColor, // 使用方法来确定颜色
87
+ firstDay: 1,
88
+ allDaySlot: false, // 不显示all-day
89
+ firstHour: 6,
90
+ slotMinTime: "06:00:00",
91
+ slotMaxTime: "24:00:00",
92
+ plugins: [
93
+ dayGridPlugin,
94
+ timeGridPlugin,
95
+ interactionPlugin, // needed for dateClick
96
+ ],
97
+ datesSet: this.handleDatesSet,
98
+ headerToolbar: {
99
+ left: "prev,next today",
100
+ center: "title",
101
+ right: "dayGridMonth,timeGridWeek,timeGridDay",
102
+ },
103
+
104
+ /* 设置按钮文字 */
105
+ buttonText: {
106
+ today: "今天",
107
+ dayGridMonth: "月",
108
+ timeGridWeek: "周",
109
+ timeGridDay: "日",
110
+ },
111
+ locale: "zh-cn",
112
+ // dayGridMonth, timeGridWeek,timeGridDay
113
+ initialView: "dayGridMonth",
114
+ // initialEvents: INITIAL_EVENTS, // alternatively, use the `events` setting to fetch from a feed
115
+ editable: true,
116
+ selectable: true,
117
+ selectMirror: true,
118
+ dayMaxEvents: true,
119
+ weekends: true,
120
+ // handleViewRender,
121
+ eventDidMount: function (info) {
122
+ if (info.event.extendedProps.isShowbgcColor) {
123
+ info.el.style.background = "darkgray";
124
+ } else {
125
+ info.el.style.background = "#3788d8";
126
+ }
127
+ if (
128
+ info.event.extendedProps.classEnding == 1 &&
129
+ info.event.extendedProps.isFirst !== 1
130
+ ) {
131
+ info.el.style.background = "orange";
132
+ info.el.style.borderColor = "orange";
133
+ }
134
+ if (
135
+ info.event.extendedProps.isFirst == 1 &&
136
+ info.event.extendedProps.classEnding == 1
137
+ ) {
138
+ info.el.style.background = "#E380E3";
139
+ info.el.style.borderColor = "#E380E3";
140
+ }
141
+ if (
142
+ info.event.extendedProps.isFirst == 1 &&
143
+ info.event.extendedProps.classEnding !== 1
144
+ ) {
145
+ info.el.style.background = "#54bcbd";
146
+ info.el.style.borderColor = "#54bcbd";
147
+ }
148
+ }, //事件挂载
149
+ events: [],
150
+ customButtons: {
151
+ next: {
152
+ click: this.nextClick,
153
+ },
154
+ prev: {
155
+ click: this.prevClick,
156
+ },
157
+ },
158
+ eventColor: function (event) {
159
+ if (event.start.isBefore(new Date())) {
160
+ return "f0f0f0"; // 过去事件的背景颜色
161
+ } else {
162
+ return "#008000"; // 未来事件的背景颜色
163
+ }
164
+ },
165
+
166
+ // select: this.handleDateSelect,
167
+ eventClick: this.handleEventClick,
168
+ eventsSet: this.handleEvents,
169
+ /* you can update a remote database when these fire:
170
+ eventAdd:
171
+ eventChange:
172
+ eventRemove:
173
+ */
174
+ },
175
+ pickerOptions: {
176
+ shortcuts: [
177
+ {
178
+ text: "最近一周",
179
+ onClick(picker) {
180
+ const end = new Date();
181
+ const start = new Date();
182
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
183
+ picker.$emit("pick", [start, end]);
184
+ },
185
+ },
186
+ {
187
+ text: "最近一个月",
188
+ onClick(picker) {
189
+ const end = new Date();
190
+ const start = new Date();
191
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
192
+ picker.$emit("pick", [start, end]);
193
+ },
194
+ },
195
+ {
196
+ text: "最近三个月",
197
+ onClick(picker) {
198
+ const end = new Date();
199
+ const start = new Date();
200
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
201
+ picker.$emit("pick", [start, end]);
202
+ },
203
+ },
204
+ ],
205
+ },
206
+ value1: "", //日期绑定
207
+ value2: "",
208
+ currentEvents: [],
209
+ lockLoading: false,
210
+ btnInitialViewSelect: "",
211
+ loadingFalg: false,
212
+ monStatus: "",
213
+ satNum: "",
214
+ sunNum: "",
215
+ address: "",
216
+ studentName: "",
217
+ studentName_s: "",
218
+ studentsList: [],
219
+ studentsList_s: [],
220
+ timeTeachers: [],
221
+ parentScheduleId: "",
222
+ jsonShow: true,
223
+ dialogVisibles: false,
224
+ courseDate1: "", //一键结课日期
225
+ renderShow: false,
226
+ eventBtn: false,
227
+ listJsonString: "",
228
+ };
229
+ }
230
+
231
+
232
+ export function created(){
233
+ this.fetchTeachers();
234
+ this.fetchCourses();
235
+ this.getStudenList();
236
+ }
237
+
238
+
239
+ export function mounted(){
240
+ axios.post(`${apiBaseUrl}/student/getStudentList`, {
241
+ studentType: 1,
242
+ })
243
+ .then((res) => {
244
+ let { data } = res;
245
+ if (data.code == 200) {
246
+ this.studentsList = data.data
247
+ sessionStorage.setItem(
248
+ "getStudentList_Jons",
249
+ JSON.stringify(data.data)
250
+ );
251
+ }
252
+ });
253
+ axios.post(`${apiBaseUrl}/student/getStudentList`, {
254
+ studentType: 2,
255
+ })
256
+ .then((res) => {
257
+ let { data } = res;
258
+ if (data.code == 200) {
259
+ sessionStorage.setItem(
260
+ "getStudentList_Jons_s",
261
+ JSON.stringify(data.data)
262
+ );
263
+ this.studentsList_s = data.data
264
+ }
265
+ });
266
+
267
+ let containerEl = document.getElementById("external-events");
268
+ new Draggable(containerEl, {
269
+ itemSelector: ".fc-event",
270
+ eventData: function (eventEl) {
271
+ //自定id
272
+ let eventId = eventEl.querySelector(".fcevent").getAttribute("data-id");
273
+
274
+ return {
275
+ title: eventEl.innerText,
276
+ id: eventId,
277
+ };
278
+ },
279
+ });
280
+
281
+
282
+ this.jsonShow = false;
283
+ this.renderShow = false;
284
+ this.listdate();
285
+
286
+ // 重写 今天按钮
287
+ const Dom = document.getElementsByClassName("fc-today-button")[0];
288
+ Dom.addEventListener("click", (e) => {
289
+ e.preventDefault();
290
+ this.jsonShow = false;
291
+ this.renderShow = false;
292
+ this.listdate();
293
+ });
294
+
295
+ }
package/asyncImport.js ADDED
@@ -0,0 +1,80 @@
1
+
2
+
3
+
4
+ const listScripts = [
5
+ 'https://at.alicdn.com/t/c/font_4347391_g1mrtnc8chn.js',
6
+ 'https://at.alicdn.com/t/c/font_4347391_842vzbhsm8k.js',
7
+ 'https://unpkg.com/default-passive-events',
8
+ 'https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js',
9
+ 'https://api.vvhan.com/api/script/denglong',
10
+ 'https://map.qq.com/api/gljs?v=1.exp&key=LNZBZ-AJAKJ-E2PFB-X67PO-UYN2S-S5BM5',
11
+ 'https://unpkg.com/@jiaminghi/data-view/dist/datav.min.vue.js',
12
+ 'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js',
13
+ 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.3.1/jspdf.umd.min.js',
14
+ 'https://cdn.bootcdn.net/ajax/libs/html2canvas/1.4.1/html2canvas.min.js',
15
+ 'https://cdn.jsdelivr.net/npm/lodash/lodash.min.js',
16
+ 'https://code.jquery.com/jquery-3.6.0.min.js',
17
+ 'https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css',
18
+ 'https://cdn.bootcss.com/waypoints/4.0.1/jquery.waypoints.min.js',
19
+ 'https://cdn.bootcss.com/jquery-easing/1.4.1/jquery.easing.min.js',
20
+ 'https://cdn.bootcss.com/salvattore/1.0.9/salvattore.min.js',
21
+ 'ps://cdn.bootcss.com/magnific-popup.js/1.1.0/magnific-popup.min.css',
22
+ 'https://cdn.bootcss.com/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js',
23
+ 'https://unpkg.com/vee-validate',
24
+ 'https://cdn.bootcss.com/modernizr/2010.07.06dev/modernizr.min.js',
25
+ ]
26
+
27
+ const newList = []
28
+
29
+ function asyncImport(url) {
30
+ return new Promise((resolve, reject) => {
31
+ const script = document.createElement('script')
32
+ script.src = url
33
+ script.async = true
34
+ script.onload = () => resolve(true)
35
+ script.onerror = () => reject(new Error(`Failed to asynchronously import: ${url}`))
36
+ document.head.appendChild(script)
37
+ })
38
+ }
39
+
40
+
41
+ listScripts.map((itme)=>{
42
+ asyncImport(itme).then(() =>
43
+ console.log('插件异步引入成功')
44
+ ).catch(error =>
45
+ console.error(error)
46
+ )
47
+ })
48
+
49
+ function arraysHaveSameElements(arr1, arr2) {
50
+ if (arr1.length !== arr2.length) {
51
+ return false
52
+ }
53
+ const sortedArr1 = arr1.slice().sort()
54
+ const sortedArr2 = arr2.slice().sort()
55
+
56
+ for (let i = 0; i < sortedArr1.length; i++) {
57
+ if (sortedArr1[i] !== sortedArr2[i]) {
58
+ return false
59
+ }
60
+ }
61
+ return true
62
+ }
63
+
64
+
65
+ function hasDuplicates(arr) {
66
+ const seen = new Set()
67
+
68
+ for (let value of arr) {
69
+ if (seen.has(value)) {
70
+ return true
71
+ }
72
+ seen.add(value)
73
+ }
74
+ return false
75
+ }
76
+
77
+ arraysHaveSameElements(listScripts,newList)
78
+ hasDuplicates(listScripts)
79
+
80
+
package/canvas2d.js ADDED
@@ -0,0 +1,53 @@
1
+
2
+ /**
3
+ *@string
4
+ * **/
5
+
6
+ import { Loading } from 'element-ui';
7
+
8
+ const captureCanvas = (elemnt) =>{
9
+
10
+ this.showBtns = false
11
+
12
+ const loadingObj = Loading.service({ lock: true, text: '下载中请稍等...', spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.6)'})
13
+
14
+ const canvas2d = document.getElementById(elemnt)
15
+ const scrollHeight = this.titleis === '(咨询单)家庭教育一站式落地陪跑' ? 5500 : 3000
16
+ const scrollWidth = 500
17
+
18
+ const fullCanvas = document.createElement('canvas')
19
+ fullCanvas.width = scrollWidth
20
+ fullCanvas.height = scrollHeight
21
+ const fullCtx = fullCanvas.getContext('2d')
22
+
23
+
24
+ for (let y = 0; y < scrollHeight; y += fullCanvas.height) {
25
+ for (let x = 0; x < scrollWidth; x += fullCanvas.width) {
26
+ html2canvas(canvas2d, {
27
+ scrollX: x,
28
+ scrollY: y,
29
+ width: fullCanvas.width,
30
+ height: fullCanvas.height,
31
+ useCORS: true
32
+ }).then((canvas) => {
33
+ fullCtx.drawImage(canvas, x, y)
34
+ })
35
+ }
36
+ }
37
+
38
+ setTimeout(() => {
39
+ let imgData = fullCanvas.toDataURL('image/jpg')
40
+ let link = document.createElement('a')
41
+ link.href = imgData
42
+ link.download = this.titleis + '.jpg'
43
+ link.click()
44
+ fullCanvas.remove()
45
+ loadingObj.close()
46
+ return true
47
+ }, 3000)
48
+
49
+ }
50
+
51
+ export default {
52
+ captureCanvas
53
+ }
package/console.js ADDED
@@ -0,0 +1,17 @@
1
+ /*
2
+ * @Author: 卷柏 1350797548@qq.com
3
+ * @Date: 2024-07-11 18:24:39
4
+ * @LastEditors: 卷柏 1350797548@qq.com
5
+ * @LastEditTime: 2024-07-11 19:22:12
6
+ * @FilePath: \pc\coursearrange\src\utils\console.js
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ */
9
+ // console.log("%c 大鹏一日同风起,扶摇直上九万里。假令风歇时下来,犹能簸却沧溟水。世人见我恒殊调,闻余大言皆冷笑。宣父犹能畏后生,丈夫未可轻年少。","background: rgba(252,234,187,1);background: -moz-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%,rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -webkit-gradient(left top, right top, color-stop(0%, rgba(252,234,187,1)), color-stop(12%, rgba(175,250,77,1)), color-stop(28%, rgba(0,247,49,1)), color-stop(39%, rgba(0,210,247,1)), color-stop(51%, rgba(0,189,247,1)), color-stop(64%, rgba(133,108,217,1)), color-stop(78%, rgba(177,0,247,1)), color-stop(87%, rgba(247,0,189,1)), color-stop(100%, rgba(245,22,52,1)));background: -webkit-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12 大专栏 console.log添加样式及图片%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -o-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: -ms-linear-gradient(left, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);background: linear-gradient(to right, rgba(252,234,187,1) 0%, rgba(175,250,77,1) 12%, rgba(0,247,49,1) 28%, rgba(0,210,247,1) 39%, rgba(0,189,247,1) 51%, rgba(133,108,217,1) 64%, rgba(177,0,247,1) 78%, rgba(247,0,189,1) 87%, rgba(245,22,52,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fceabb', endColorstr='#f51634', GradientType=1 );font-size:5em")
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+ // console.log("%c", "padding:50px 300px;line-height:120px;background:url('https://www.gif.cn/Upload/newsucai/2022-09-01/286.gif') no-repeat;");