diff --git a/doc/03_软件设计规格说明书.docx b/doc/03_软件设计规格说明书.docx new file mode 100644 index 0000000..78ecd88 Binary files /dev/null and b/doc/03_软件设计规格说明书.docx differ diff --git a/doc/06_软件开发项目的个人自评报告.xlsx b/doc/06_软件开发项目的个人自评报告.xlsx new file mode 100644 index 0000000..cf2d25a Binary files /dev/null and b/doc/06_软件开发项目的个人自评报告.xlsx differ diff --git a/doc/07_软件开发项目的团队自评报告1.xlsx b/doc/07_软件开发项目的团队自评报告1.xlsx new file mode 100644 index 0000000..2608093 Binary files /dev/null and b/doc/07_软件开发项目的团队自评报告1.xlsx differ diff --git a/doc/~$模型_健康饮食_陈禹昕.docx b/doc/~$模型_健康饮食_陈禹昕.docx new file mode 100644 index 0000000..677df7e Binary files /dev/null and b/doc/~$模型_健康饮食_陈禹昕.docx differ diff --git a/doc/宣传海报.jpg b/doc/宣传海报.jpg new file mode 100644 index 0000000..b1b178f Binary files /dev/null and b/doc/宣传海报.jpg differ diff --git a/src/cyxproject/.idea/.gitignore b/src/cyxproject/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/src/cyxproject/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/cyxproject/.idea/mint.iml b/src/cyxproject/.idea/mint.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/src/cyxproject/.idea/mint.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/cyxproject/.idea/misc.xml b/src/cyxproject/.idea/misc.xml new file mode 100644 index 0000000..a818314 --- /dev/null +++ b/src/cyxproject/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/cyxproject/.idea/modules.xml b/src/cyxproject/.idea/modules.xml new file mode 100644 index 0000000..884cfd8 --- /dev/null +++ b/src/cyxproject/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/cyxproject/__MACOSX/._mint b/src/cyxproject/__MACOSX/._mint new file mode 100644 index 0000000..03e317e Binary files /dev/null and b/src/cyxproject/__MACOSX/._mint differ diff --git a/src/cyxproject/__MACOSX/mint/._.DS_Store b/src/cyxproject/__MACOSX/mint/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/._boheApp b/src/cyxproject/__MACOSX/mint/._boheApp new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/._boheApp differ diff --git a/src/cyxproject/__MACOSX/mint/._mint b/src/cyxproject/__MACOSX/mint/._mint new file mode 100644 index 0000000..9316173 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/._mint differ diff --git a/src/cyxproject/__MACOSX/mint/._抓包.js b/src/cyxproject/__MACOSX/mint/._抓包.js new file mode 100644 index 0000000..fe17c78 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/._抓包.js differ diff --git a/src/cyxproject/__MACOSX/mint/._食物详情.json b/src/cyxproject/__MACOSX/mint/._食物详情.json new file mode 100644 index 0000000..3f3540c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/._食物详情.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._App.vue b/src/cyxproject/__MACOSX/mint/boheApp/._App.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._App.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._GraceUI5 b/src/cyxproject/__MACOSX/mint/boheApp/._GraceUI5 new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._GraceUI5 differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._main.js b/src/cyxproject/__MACOSX/mint/boheApp/._main.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._main.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._manifest.json b/src/cyxproject/__MACOSX/mint/boheApp/._manifest.json new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._manifest.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._pages b/src/cyxproject/__MACOSX/mint/boheApp/._pages new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._pages differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._pages.json b/src/cyxproject/__MACOSX/mint/boheApp/._pages.json new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._pages.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._readme.md b/src/cyxproject/__MACOSX/mint/boheApp/._readme.md new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._readme.md differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/._static b/src/cyxproject/__MACOSX/mint/boheApp/._static new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/._static differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._components b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._components new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._components differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._css new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._data b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._data new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._data differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._demoData b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._demoData new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._demoData differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._js new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._skin b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._skin new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._skin differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._version.md b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._version.md new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/._version.md differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-action-sheet.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-action-sheet.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-action-sheet.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-area-picker.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-area-picker.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-area-picker.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-info.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-info.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-info.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-list.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-list.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-article-list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-audio-player.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-audio-player.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-audio-player.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-box-banner.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-box-banner.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-box-banner.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-calendar.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-car-number.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-car-number.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-car-number.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-choose-images.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-choose-images.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-choose-images.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-column.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-column.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-column.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-count-down.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-count-down.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-count-down.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-coupons.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-coupons.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-coupons.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-date-between.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-date-between.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-date-between.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-between.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-between.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-between.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-bt-base.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-bt-base.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime-bt-base.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-datetime.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-banner.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-banner.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-banner.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-desc.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-desc.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-desc.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-header.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-header.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-header.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-list.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-list.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-demo-list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-editor.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-editor.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-editor.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-empty.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-empty.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-empty.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-face-group.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-face-group.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-face-group.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-header-leading.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-header-leading.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-header-leading.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-input.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-input.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-input.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-message.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-message.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-im-message.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-image.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-image.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-image.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-interval-slider.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-interval-slider.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-interval-slider.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-iphone-bottom.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-iphone-bottom.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-iphone-bottom.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-link.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-link.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-link.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-loadmore.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-loadmore.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-loadmore.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-modal.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-modal.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-modal.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-mp-menu-spacing.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-mp-menu-spacing.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-mp-menu-spacing.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-animate.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-animate.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-animate.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-keyboard.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-keyboard.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-number-keyboard.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-order.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-order.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-order.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page-loading.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page-loading.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page-loading.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-page.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-pk.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-pk.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-pk.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup-menu.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup-menu.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup-menu.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-popup.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-product-list.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-product-list.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-product-list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-progress-scrollview.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-progress-scrollview.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-progress-scrollview.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-radio.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-radio.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-radio.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-refresh.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-refresh.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-refresh.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-right-menus.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-right-menus.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-right-menus.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-row.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-row.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-row.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-schedule.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-schedule.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-schedule.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scroll-message.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scroll-message.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scroll-message.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems-y.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems-y.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems-y.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-scrollitems.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-search.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-search.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-search.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-segmented-control.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-segmented-control.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-segmented-control.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-list.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-list.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-menu.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-menu.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-select-menu.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-single-slider.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-single-slider.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-single-slider.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-skeleton.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-skeleton.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-skeleton.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-list.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-list.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-to-unlock.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-to-unlock.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-slide-to-unlock.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-speaker.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-speaker.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-speaker.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-spread.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-spread.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-spread.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-stags.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-stags.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-stags.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-star.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-star.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-star.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-step-box.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-step-box.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-step-box.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-button.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-button.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-button.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-comment.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-comment.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-submit-comment.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-swiper.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-swiper.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-swiper.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation2.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation2.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-switch-navigation2.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tags.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tags.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tags.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-top-message.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-top-message.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-top-message.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-totop.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-totop.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-totop.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-touch.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-touch.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-touch.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tree.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tree.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-tree.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-turntable.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-turntable.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-turntable.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-upload-images.vue b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-upload-images.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/components/._gui-upload-images.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._animate.css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._animate.css new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._animate.css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._colors.css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._colors.css new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._colors.css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._graceUI.css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._graceUI.css new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._graceUI.css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._iconsforbaidu.css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._iconsforbaidu.css new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/css/._iconsforbaidu.css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._city-data b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._city-data new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._city-data differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._cityData.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._cityData.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/._cityData.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._area.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._area.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._area.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._city.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._city.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._city.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._province.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._province.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/data/city-data/._province.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._article.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._article.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._article.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._cateChange.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._cateChange.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._cateChange.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._data.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._data.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._data.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._immessages.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._immessages.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/demoData/._immessages.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._WeCropper.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._WeCropper.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._WeCropper.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._barcode.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._barcode.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._barcode.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checkIdCard.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checkIdCard.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checkIdCard.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checker.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checker.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._checker.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._grace.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._grace.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._grace.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._md5.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._md5.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._md5.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._parserHTML.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._parserHTML.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._parserHTML.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._qrcode.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._qrcode.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._qrcode.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._request b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._request new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._request differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._string.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._string.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/._string.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._config.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._config.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._config.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._request.js b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._request.js new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/js/request/._request.js differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/skin/._black.css b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/skin/._black.css new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/GraceUI5/skin/._black.css differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/data/._food.json b/src/cyxproject/__MACOSX/mint/boheApp/data/._food.json new file mode 100644 index 0000000..3ed1379 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/data/._food.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/._switchPages b/src/cyxproject/__MACOSX/mint/boheApp/pages/._switchPages new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/._switchPages differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/list/._food.json b/src/cyxproject/__MACOSX/mint/boheApp/pages/list/._food.json new file mode 100644 index 0000000..3ed1379 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/list/._food.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.nvue b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.nvue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.nvue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.vue b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._about.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.nvue b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.nvue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.nvue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.vue b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.vue new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/pages/switchPages/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/._.DS_Store b/src/cyxproject/__MACOSX/mint/boheApp/static/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/._food.json b/src/cyxproject/__MACOSX/mint/boheApp/static/._food.json new file mode 100644 index 0000000..3ed1379 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/._food.json differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/._grace.ttf b/src/cyxproject/__MACOSX/mint/boheApp/static/._grace.ttf new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/._grace.ttf differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/._location.png b/src/cyxproject/__MACOSX/mint/boheApp/static/._location.png new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/._location.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/._menu_imgs b/src/cyxproject/__MACOSX/mint/boheApp/static/._menu_imgs new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/._menu_imgs differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1.png new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1a.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1a.png new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_1a.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2.png new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2a.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2a.png new file mode 100644 index 0000000..fcd6c52 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._menu_2a.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ.png new file mode 100644 index 0000000..8b41f7f Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ.png differ diff --git a/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ2.png b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ2.png new file mode 100644 index 0000000..2fb6e48 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/boheApp/static/menu_imgs/._squ2.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._dadou.png b/src/cyxproject/__MACOSX/mint/icon/._dadou.png new file mode 100644 index 0000000..35a6777 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._dadou.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._jianguo.png b/src/cyxproject/__MACOSX/mint/icon/._jianguo.png new file mode 100644 index 0000000..8876f7e Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._jianguo.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._lingshi.png b/src/cyxproject/__MACOSX/mint/icon/._lingshi.png new file mode 100644 index 0000000..0387057 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._lingshi.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._qita.png b/src/cyxproject/__MACOSX/mint/icon/._qita.png new file mode 100644 index 0000000..e88618c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._qita.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._roudan.png b/src/cyxproject/__MACOSX/mint/icon/._roudan.png new file mode 100644 index 0000000..da28807 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._roudan.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._shucai.png b/src/cyxproject/__MACOSX/mint/icon/._shucai.png new file mode 100644 index 0000000..e4dacc0 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._shucai.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._shuiguo.png b/src/cyxproject/__MACOSX/mint/icon/._shuiguo.png new file mode 100644 index 0000000..0b49a30 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._shuiguo.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._tiaoweipin.png b/src/cyxproject/__MACOSX/mint/icon/._tiaoweipin.png new file mode 100644 index 0000000..960b9dd Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._tiaoweipin.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._yinliao.png b/src/cyxproject/__MACOSX/mint/icon/._yinliao.png new file mode 100644 index 0000000..9c0892f Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._yinliao.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._youzhi.png b/src/cyxproject/__MACOSX/mint/icon/._youzhi.png new file mode 100644 index 0000000..f36b903 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._youzhi.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._zhushi.png b/src/cyxproject/__MACOSX/mint/icon/._zhushi.png new file mode 100644 index 0000000..c8d04b7 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._zhushi.png differ diff --git a/src/cyxproject/__MACOSX/mint/icon/._奶类.png b/src/cyxproject/__MACOSX/mint/icon/._奶类.png new file mode 100644 index 0000000..ba4a5f3 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/icon/._奶类.png differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._.github b/src/cyxproject/__MACOSX/mint/mint/._.github new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._.github differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._.gitignore b/src/cyxproject/__MACOSX/mint/mint/._.gitignore new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._.gitignore differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._LICENSE b/src/cyxproject/__MACOSX/mint/mint/._LICENSE new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._LICENSE differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._README.md b/src/cyxproject/__MACOSX/mint/mint/._README.md new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._README.md differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._bin b/src/cyxproject/__MACOSX/mint/mint/._bin new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._bin differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._doc b/src/cyxproject/__MACOSX/mint/mint/._doc new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._doc differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/._pom.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-admin b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-admin new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-admin differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-common b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-common new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-common differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-framework b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-framework new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-framework differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-generator b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-generator new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-generator differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-quartz b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-quartz new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-quartz differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-system b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ruoyi-ui b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-ui new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ruoyi-ui differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ry.bat b/src/cyxproject/__MACOSX/mint/mint/._ry.bat new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ry.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._ry.sh b/src/cyxproject/__MACOSX/mint/mint/._ry.sh new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._ry.sh differ diff --git a/src/cyxproject/__MACOSX/mint/mint/._sql b/src/cyxproject/__MACOSX/mint/mint/._sql new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/._sql differ diff --git a/src/cyxproject/__MACOSX/mint/mint/.github/._FUNDING.yml b/src/cyxproject/__MACOSX/mint/mint/.github/._FUNDING.yml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/.github/._FUNDING.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/bin/._clean.bat b/src/cyxproject/__MACOSX/mint/mint/bin/._clean.bat new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/bin/._clean.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/bin/._package.bat b/src/cyxproject/__MACOSX/mint/mint/bin/._package.bat new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/bin/._package.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/bin/._run.bat b/src/cyxproject/__MACOSX/mint/mint/bin/._run.bat new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/bin/._run.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/doc/._若依环境使用手册.docx b/src/cyxproject/__MACOSX/mint/mint/doc/._若依环境使用手册.docx new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/doc/._若依环境使用手册.docx differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._pom.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._resources b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._resources new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/._resources differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiApplication.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiApplication.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiApplication.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiServletInitializer.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiServletInitializer.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._RuoYiServletInitializer.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._web b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._web new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/._web differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._controller b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._controller new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._controller differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._core b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._core new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/._core differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._common b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._common new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._common differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._monitor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._monitor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._monitor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._system b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._tool b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._tool new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/._tool differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CaptchaController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CaptchaController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CaptchaController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CommonController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CommonController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/._CommonController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._CacheController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._CacheController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._CacheController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._ServerController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._ServerController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._ServerController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysLogininforController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysLogininforController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysLogininforController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysOperlogController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysOperlogController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysOperlogController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysUserOnlineController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysUserOnlineController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/._SysUserOnlineController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhALoveController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhALoveController.java new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhALoveController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhArticeController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhArticeController.java new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhArticeController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCaloriesController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCaloriesController.java new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCaloriesController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCategoriesController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCategoriesController.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhCategoriesController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhFoodController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhFoodController.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhFoodController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhLoveFoodController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhLoveFoodController.java new file mode 100644 index 0000000..6497b21 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhLoveFoodController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhMoveController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhMoveController.java new file mode 100644 index 0000000..d6f59ec Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BhMoveController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BoheUserController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BoheUserController.java new file mode 100644 index 0000000..d93637b Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._BoheUserController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysConfigController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysConfigController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysConfigController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDeptController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDeptController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDeptController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictDataController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictDataController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictDataController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictTypeController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictTypeController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysDictTypeController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysIndexController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysIndexController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysIndexController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysLoginController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysLoginController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysLoginController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysMenuController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysMenuController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysMenuController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysNoticeController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysNoticeController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysNoticeController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysPostController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysPostController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysPostController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysProfileController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysProfileController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysProfileController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRegisterController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRegisterController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRegisterController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRoleController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRoleController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysRoleController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysUserController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysUserController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/._SysUserController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/._TestController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/._TestController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/._TestController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/._SwaggerConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/._SwaggerConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/._SwaggerConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._META-INF b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._META-INF new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._META-INF differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application-druid.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application-druid.yml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application-druid.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application.yml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._application.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._banner.txt b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._banner.txt new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._banner.txt differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._i18n b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._i18n new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._i18n differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._logback.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._logback.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._logback.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._mybatis b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._mybatis new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/._mybatis differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/META-INF/._spring-devtools.properties b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/META-INF/._spring-devtools.properties new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/META-INF/._spring-devtools.properties differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/i18n/._messages.properties b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/i18n/._messages.properties new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/i18n/._messages.properties differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/mybatis/._mybatis-config.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/mybatis/._mybatis-config.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/src/main/resources/mybatis/._mybatis-config.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application-druid.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application-druid.yml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application-druid.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application.yml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._application.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._banner.txt b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._banner.txt new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._banner.txt differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._logback.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._logback.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/._logback.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/META-INF/._spring-devtools.properties b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/META-INF/._spring-devtools.properties new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/META-INF/._spring-devtools.properties differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/i18n/._messages.properties b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/i18n/._messages.properties new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/i18n/._messages.properties differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/mybatis/._mybatis-config.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/mybatis/._mybatis-config.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-admin/target/classes/mybatis/._mybatis-config.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._pom.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/._common b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/._common new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/._common differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._annotation b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._annotation new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._annotation differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._constant b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._constant new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._constant differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._core b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._core new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._core differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._enums b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._enums new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._enums differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._exception b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._exception new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._exception differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._filter b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._filter new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._filter differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._utils b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._utils new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._utils differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._xss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._xss new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/._xss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Anonymous.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Anonymous.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Anonymous.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataScope.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataScope.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataScope.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataSource.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataSource.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._DataSource.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excel.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excel.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excel.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excels.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excels.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Excels.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Log.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Log.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._Log.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RateLimiter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RateLimiter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RateLimiter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RepeatSubmit.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RepeatSubmit.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/annotation/._RepeatSubmit.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/config/._RuoYiConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/config/._RuoYiConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/config/._RuoYiConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._CacheConstants.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._CacheConstants.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._CacheConstants.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._Constants.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._Constants.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._Constants.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._GenConstants.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._GenConstants.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._GenConstants.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._HttpStatus.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._HttpStatus.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._HttpStatus.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._ScheduleConstants.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._ScheduleConstants.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._ScheduleConstants.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._UserConstants.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._UserConstants.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/constant/._UserConstants.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._controller b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._controller new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._controller differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._domain b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._domain new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._domain differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._page b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._page new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._page differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._redis b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._redis new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._redis differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._text b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._text new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/._text differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/._BaseController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/._BaseController.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/._BaseController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._AjaxResult.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._AjaxResult.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._AjaxResult.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._BaseEntity.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._BaseEntity.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._BaseEntity.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._R.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._R.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._R.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeEntity.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeEntity.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeEntity.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeSelect.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeSelect.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._TreeSelect.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._entity b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._entity new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._entity differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._model b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._model new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/._model differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDept.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDept.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDept.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictData.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictData.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictData.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictType.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictType.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysDictType.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysMenu.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysMenu.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysMenu.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysRole.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysRole.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysRole.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysUser.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysUser.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/._SysUser.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginBody.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginBody.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginBody.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginUser.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginUser.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._LoginUser.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._RegisterBody.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._RegisterBody.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/._RegisterBody.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._PageDomain.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._PageDomain.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._PageDomain.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableDataInfo.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableDataInfo.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableDataInfo.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableSupport.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableSupport.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/page/._TableSupport.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/._RedisCache.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/._RedisCache.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/._RedisCache.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._CharsetKit.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._CharsetKit.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._CharsetKit.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._Convert.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._Convert.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._Convert.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._StrFormatter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._StrFormatter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/core/text/._StrFormatter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessStatus.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessStatus.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessStatus.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessType.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessType.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._BusinessType.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._DataSourceType.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._DataSourceType.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._DataSourceType.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._HttpMethod.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._HttpMethod.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._HttpMethod.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._LimitType.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._LimitType.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._LimitType.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._OperatorType.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._OperatorType.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._OperatorType.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._UserStatus.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._UserStatus.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/enums/._UserStatus.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._DemoModeException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._DemoModeException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._DemoModeException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._GlobalException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._GlobalException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._GlobalException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._ServiceException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._ServiceException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._ServiceException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._UtilException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._UtilException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._UtilException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._base b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._base new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._base differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._file b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._file new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._file differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._job b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._job new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._job differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._user b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._user new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/._user differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/._BaseException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/._BaseException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/._BaseException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileNameLengthLimitExceededException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileNameLengthLimitExceededException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileNameLengthLimitExceededException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileSizeLimitExceededException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileSizeLimitExceededException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileSizeLimitExceededException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileUploadException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileUploadException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._FileUploadException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._InvalidExtensionException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._InvalidExtensionException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/._InvalidExtensionException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/._TaskException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/._TaskException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/._TaskException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._BlackListException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._BlackListException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._BlackListException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaExpireException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaExpireException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._CaptchaExpireException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserNotExistsException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserNotExistsException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserNotExistsException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordNotMatchException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordNotMatchException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordNotMatchException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordRetryLimitExceedException.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordRetryLimitExceedException.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/._UserPasswordRetryLimitExceedException.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._PropertyPreExcludeFilter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._PropertyPreExcludeFilter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._PropertyPreExcludeFilter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatableFilter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatableFilter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatableFilter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatedlyRequestWrapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatedlyRequestWrapper.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._RepeatedlyRequestWrapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssFilter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssFilter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssFilter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssHttpServletRequestWrapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssHttpServletRequestWrapper.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/filter/._XssHttpServletRequestWrapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Arith.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Arith.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Arith.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DateUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DateUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DateUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DictUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DictUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._DictUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ExceptionUtil.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ExceptionUtil.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ExceptionUtil.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._LogUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._LogUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._LogUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._MessageUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._MessageUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._MessageUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._PageUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._PageUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._PageUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._SecurityUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._SecurityUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._SecurityUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ServletUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ServletUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ServletUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._StringUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._StringUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._StringUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Threads.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Threads.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._Threads.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._bean b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._bean new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._bean differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._file b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._file new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._file differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._html b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._html new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._html differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._http b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._http new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._http differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ip b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ip new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._ip differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._poi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._poi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._poi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._reflect b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._reflect new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._reflect differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sign b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sign new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sign differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._spring b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._spring new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._spring differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sql b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sql new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._sql differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._uuid b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._uuid new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/._uuid differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanValidators.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanValidators.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/._BeanValidators.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileTypeUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileTypeUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileTypeUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUploadUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUploadUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUploadUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._FileUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._ImageUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._ImageUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._ImageUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._MimeTypeUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._MimeTypeUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/._MimeTypeUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._EscapeUtil.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._EscapeUtil.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._EscapeUtil.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._HTMLFilter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._HTMLFilter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/._HTMLFilter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpHelper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpHelper.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpHelper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/._HttpUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._AddressUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._AddressUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._AddressUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._IpUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._IpUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/._IpUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelHandlerAdapter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelHandlerAdapter.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelHandlerAdapter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelUtil.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelUtil.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/._ExcelUtil.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/._ReflectUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/._ReflectUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/._ReflectUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Base64.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Base64.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Base64.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Md5Utils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Md5Utils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/._Md5Utils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/._SpringUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/._SpringUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/._SpringUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/._SqlUtil.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/._SqlUtil.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/._SqlUtil.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._IdUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._IdUtils.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._IdUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._Seq.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._Seq.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._Seq.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._UUID.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._UUID.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/._UUID.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._Xss.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._Xss.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._Xss.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._XssValidator.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._XssValidator.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-common/src/main/java/com/ruoyi/common/xss/._XssValidator.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._pom.xml new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/._framework b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/._framework new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/._framework differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._aspectj b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._aspectj new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._aspectj differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._datasource b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._datasource new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._datasource differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._interceptor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._interceptor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._interceptor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._manager b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._manager new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._manager differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._security b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._security new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._security differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._web b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._web new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/._web differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataScopeAspect.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataScopeAspect.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataScopeAspect.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataSourceAspect.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataSourceAspect.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._DataSourceAspect.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._LogAspect.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._LogAspect.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._LogAspect.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._RateLimiterAspect.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._RateLimiterAspect.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/._RateLimiterAspect.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ApplicationConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ApplicationConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ApplicationConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._CaptchaConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._CaptchaConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._CaptchaConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._DruidConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._DruidConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._DruidConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FastJson2JsonRedisSerializer.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FastJson2JsonRedisSerializer.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FastJson2JsonRedisSerializer.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FilterConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FilterConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._FilterConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._KaptchaTextCreator.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._KaptchaTextCreator.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._KaptchaTextCreator.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._MyBatisConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._MyBatisConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._MyBatisConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._RedisConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._RedisConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._RedisConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ResourcesConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ResourcesConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ResourcesConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._SecurityConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._SecurityConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._SecurityConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ServerConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ServerConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ServerConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ThreadPoolConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ThreadPoolConfig.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._ThreadPoolConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._properties b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._properties new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/._properties differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._DruidProperties.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._DruidProperties.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._DruidProperties.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._PermitAllUrlProperties.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._PermitAllUrlProperties.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/._PermitAllUrlProperties.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSource.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSource.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSource.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSourceContextHolder.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSourceContextHolder.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/._DynamicDataSourceContextHolder.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._RepeatSubmitInterceptor.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._RepeatSubmitInterceptor.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._RepeatSubmitInterceptor.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._impl b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._impl new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/._impl differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/._SameUrlDataInterceptor.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/._SameUrlDataInterceptor.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/._SameUrlDataInterceptor.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._AsyncManager.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._AsyncManager.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._AsyncManager.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._ShutdownManager.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._ShutdownManager.java new file mode 100644 index 0000000..b00f403 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._ShutdownManager.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._factory b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._factory new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/._factory differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/._AsyncFactory.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/._AsyncFactory.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/._AsyncFactory.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._context b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._context new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._context differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._filter b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._filter new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._filter differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._handle b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._handle new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/._handle differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._AuthenticationContextHolder.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._AuthenticationContextHolder.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._AuthenticationContextHolder.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._PermissionContextHolder.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._PermissionContextHolder.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/._PermissionContextHolder.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/._JwtAuthenticationTokenFilter.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/._JwtAuthenticationTokenFilter.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/._JwtAuthenticationTokenFilter.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._AuthenticationEntryPointImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._AuthenticationEntryPointImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._AuthenticationEntryPointImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._LogoutSuccessHandlerImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._LogoutSuccessHandlerImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/._LogoutSuccessHandlerImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._domain b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._domain new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._domain differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._exception b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._exception new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._exception differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._service b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._service new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/._service differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._Server.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._Server.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._Server.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._server b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._server new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/._server differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Cpu.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Cpu.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Cpu.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Jvm.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Jvm.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Jvm.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Mem.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Mem.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Mem.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Sys.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Sys.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._Sys.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._SysFile.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._SysFile.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/._SysFile.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/._GlobalExceptionHandler.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/._GlobalExceptionHandler.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/._GlobalExceptionHandler.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._PermissionService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._PermissionService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._PermissionService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysLoginService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysLoginService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysLoginService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPasswordService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPasswordService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPasswordService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPermissionService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPermissionService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysPermissionService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysRegisterService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysRegisterService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._SysRegisterService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._TokenService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._TokenService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._TokenService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._UserDetailsServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._UserDetailsServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/._UserDetailsServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._pom.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._resources b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._resources new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/._resources differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/._generator b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/._generator new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/._generator differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._controller b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._controller new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._controller differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._domain b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._domain new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._domain differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._service b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._service new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._service differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._util b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._util new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/._util differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/config/._GenConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/config/._GenConfig.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/config/._GenConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/._GenController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/._GenController.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/._GenController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTable.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTable.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTable.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTableColumn.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTableColumn.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/._GenTableColumn.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableColumnMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableColumnMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableColumnMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/._GenTableMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableColumnServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableColumnServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableColumnServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._GenTableServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableColumnService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableColumnService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableColumnService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/service/._IGenTableService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._GenUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._GenUtils.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._GenUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityInitializer.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityInitializer.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityInitializer.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityUtils.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/java/com/ruoyi/generator/util/._VelocityUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._generator.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._generator.yml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._generator.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._vm new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/._vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/._generator b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/._generator new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/._generator differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableColumnMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableColumnMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableColumnMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/mapper/generator/._GenTableMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._js new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._sql b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._sql new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._sql differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._vue new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._xml new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/._xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._controller.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._controller.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._controller.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._domain.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._domain.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._domain.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._mapper.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._mapper.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._mapper.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._service.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._service.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._service.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._serviceImpl.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._serviceImpl.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._serviceImpl.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._sub-domain.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._sub-domain.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/java/._sub-domain.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/js/._api.js.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/js/._api.js.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/js/._api.js.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/sql/._sql.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/sql/._sql.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/sql/._sql.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index-tree.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index-tree.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index-tree.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._index.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._v3 b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._v3 new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/._v3 differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index-tree.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index-tree.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index-tree.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._index.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._readme.txt b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._readme.txt new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/vue/v3/._readme.txt differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/xml/._mapper.xml.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/xml/._mapper.xml.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/src/main/resources/vm/xml/._mapper.xml.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/._generator.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/._generator.yml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/._generator.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableColumnMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableColumnMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableColumnMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/mapper/generator/._GenTableMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._controller.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._controller.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._controller.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._domain.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._domain.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._domain.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._mapper.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._mapper.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._mapper.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._service.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._service.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._service.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._serviceImpl.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._serviceImpl.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._serviceImpl.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._sub-domain.java.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._sub-domain.java.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/java/._sub-domain.java.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/js/._api.js.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/js/._api.js.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/js/._api.js.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/sql/._sql.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/sql/._sql.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/sql/._sql.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index-tree.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index-tree.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index-tree.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/._index.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index-tree.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index-tree.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index-tree.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index.vue.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index.vue.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._index.vue.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._readme.txt b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._readme.txt new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/vue/v3/._readme.txt differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/xml/._mapper.xml.vm b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/xml/._mapper.xml.vm new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-generator/target/classes/vm/xml/._mapper.xml.vm differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._pom.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._resources b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._resources new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/._resources differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/._quartz b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/._quartz new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/._quartz differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._controller b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._controller new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._controller differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._domain b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._domain new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._domain differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._service b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._service new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._service differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._task b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._task new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._task differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._util b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._util new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/._util differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/._ScheduleConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/._ScheduleConfig.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/._ScheduleConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobController.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobLogController.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobLogController.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/._SysJobLogController.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJob.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJob.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJob.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJobLog.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJobLog.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/._SysJobLog.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobLogMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobLogMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobLogMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/._SysJobMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobLogService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobLogService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobLogService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._ISysJobService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._impl b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._impl new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/._impl differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobLogServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobLogServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobLogServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/._SysJobServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/._RyTask.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/._RyTask.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/._RyTask.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._AbstractQuartzJob.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._AbstractQuartzJob.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._AbstractQuartzJob.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._CronUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._CronUtils.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._CronUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._JobInvokeUtil.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._JobInvokeUtil.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._JobInvokeUtil.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzDisallowConcurrentExecution.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzDisallowConcurrentExecution.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzDisallowConcurrentExecution.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzJobExecution.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzJobExecution.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._QuartzJobExecution.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._ScheduleUtils.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._ScheduleUtils.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/._ScheduleUtils.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/._quartz b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/._quartz new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/._quartz differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobLogMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobLogMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobLogMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/src/main/resources/mapper/quartz/._SysJobMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobLogMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobLogMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobLogMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-quartz/target/classes/mapper/quartz/._SysJobMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._pom.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._pom.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._pom.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._main b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._main new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/._main differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._java new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._resources b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._resources new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/._resources differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._com b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._com new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/._com differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._ruoyi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._ruoyi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/._ruoyi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._system b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/._system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._domain b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._domain new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._domain differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._service b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._service new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/._service differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhALove.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhALove.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhALove.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhArtice.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhArtice.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhArtice.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCalories.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCalories.java new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCalories.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCategories.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCategories.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhCategories.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhFood.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhFood.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhFood.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhLoveFood.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhLoveFood.java new file mode 100644 index 0000000..c7f5c9c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhLoveFood.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhMove.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhMove.java new file mode 100644 index 0000000..bf11b55 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BhMove.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BoheUser.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BoheUser.java new file mode 100644 index 0000000..c890625 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._BoheUser.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysCache.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysCache.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysCache.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysConfig.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysConfig.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysConfig.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysLogininfor.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysLogininfor.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysLogininfor.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysNotice.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysNotice.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysNotice.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysOperLog.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysOperLog.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysOperLog.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysPost.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysPost.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysPost.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleDept.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleDept.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleDept.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleMenu.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleMenu.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysRoleMenu.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserOnline.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserOnline.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserOnline.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserPost.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserPost.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserPost.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserRole.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserRole.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._SysUserRole.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._vo b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._vo new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/._vo differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._MetaVo.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._MetaVo.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._MetaVo.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._RouterVo.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._RouterVo.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/._RouterVo.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhALoveMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhALoveMapper.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhALoveMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhArticeMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhArticeMapper.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhArticeMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCaloriesMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCaloriesMapper.java new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCaloriesMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCategoriesMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCategoriesMapper.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhCategoriesMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhFoodMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhFoodMapper.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhFoodMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhLoveFoodMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhLoveFoodMapper.java new file mode 100644 index 0000000..4652de0 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhLoveFoodMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhMoveMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhMoveMapper.java new file mode 100644 index 0000000..bf11b55 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BhMoveMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BoheUserMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BoheUserMapper.java new file mode 100644 index 0000000..905d2ea Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._BoheUserMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysConfigMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysConfigMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysConfigMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDeptMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDeptMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDeptMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictDataMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictDataMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictDataMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictTypeMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictTypeMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysDictTypeMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysLogininforMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysLogininforMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysLogininforMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysMenuMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysMenuMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysMenuMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysNoticeMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysNoticeMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysNoticeMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysOperLogMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysOperLogMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysOperLogMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysPostMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysPostMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysPostMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleDeptMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleDeptMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleDeptMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMenuMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMenuMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysRoleMenuMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserPostMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserPostMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserPostMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserRoleMapper.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserRoleMapper.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/mapper/._SysUserRoleMapper.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhALoveService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhALoveService.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhALoveService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhArticeService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhArticeService.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhArticeService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCaloriesService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCaloriesService.java new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCaloriesService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCategoriesService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCategoriesService.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhCategoriesService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhFoodService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhFoodService.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhFoodService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhLoveFoodService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhLoveFoodService.java new file mode 100644 index 0000000..c7f5c9c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhLoveFoodService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhMoveService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhMoveService.java new file mode 100644 index 0000000..bf11b55 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBhMoveService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBoheUserService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBoheUserService.java new file mode 100644 index 0000000..c890625 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._IBoheUserService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysConfigService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysConfigService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysConfigService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDeptService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDeptService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDeptService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictDataService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictDataService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictDataService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictTypeService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictTypeService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysDictTypeService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysLogininforService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysLogininforService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysLogininforService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysMenuService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysMenuService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysMenuService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysNoticeService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysNoticeService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysNoticeService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysOperLogService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysOperLogService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysOperLogService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysPostService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysPostService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysPostService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysRoleService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysRoleService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysRoleService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserOnlineService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserOnlineService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserOnlineService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserService.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserService.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._ISysUserService.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._impl b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._impl new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/._impl differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhALoveServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhALoveServiceImpl.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhALoveServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhArticeServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhArticeServiceImpl.java new file mode 100644 index 0000000..a1efa9d Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhArticeServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCaloriesServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCaloriesServiceImpl.java new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCaloriesServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCategoriesServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCategoriesServiceImpl.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhCategoriesServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhFoodServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhFoodServiceImpl.java new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhFoodServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhLoveFoodServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhLoveFoodServiceImpl.java new file mode 100644 index 0000000..c7f5c9c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhLoveFoodServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhMoveServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhMoveServiceImpl.java new file mode 100644 index 0000000..bf11b55 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BhMoveServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BoheUserServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BoheUserServiceImpl.java new file mode 100644 index 0000000..c890625 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._BoheUserServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysConfigServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysConfigServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysConfigServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDeptServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDeptServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDeptServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictDataServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictDataServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictDataServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictTypeServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictTypeServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysDictTypeServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysLogininforServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysLogininforServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysLogininforServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysMenuServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysMenuServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysMenuServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysNoticeServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysNoticeServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysNoticeServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysOperLogServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysOperLogServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysOperLogServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysPostServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysPostServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysPostServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysRoleServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysRoleServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysRoleServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserOnlineServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserOnlineServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserOnlineServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserServiceImpl.java b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserServiceImpl.java new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/._SysUserServiceImpl.java differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._mapper b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._mapper new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/._mapper differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._system b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/._system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhALoveMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhALoveMapper.xml new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhALoveMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhArticeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhArticeMapper.xml new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhArticeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCaloriesMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCaloriesMapper.xml new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCaloriesMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCategoriesMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCategoriesMapper.xml new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhCategoriesMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhFoodMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhFoodMapper.xml new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhFoodMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhLoveFoodMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhLoveFoodMapper.xml new file mode 100644 index 0000000..4652de0 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhLoveFoodMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhMoveMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhMoveMapper.xml new file mode 100644 index 0000000..bf11b55 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BhMoveMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BoheUserMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BoheUserMapper.xml new file mode 100644 index 0000000..c890625 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._BoheUserMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysConfigMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysConfigMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysConfigMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDeptMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDeptMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDeptMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictDataMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictDataMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictDataMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictTypeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictTypeMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysDictTypeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysLogininforMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysLogininforMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysLogininforMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysMenuMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysMenuMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysMenuMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysNoticeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysNoticeMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysNoticeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysOperLogMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysOperLogMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysOperLogMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysPostMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysPostMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysPostMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleDeptMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleDeptMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleDeptMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMenuMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMenuMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysRoleMenuMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserPostMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserPostMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserPostMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserRoleMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserRoleMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/src/main/resources/mapper/system/._SysUserRoleMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhALoveMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhALoveMapper.xml new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhALoveMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhArticeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhArticeMapper.xml new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhArticeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCaloriesMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCaloriesMapper.xml new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCaloriesMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCategoriesMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCategoriesMapper.xml new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhCategoriesMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhFoodMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhFoodMapper.xml new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhFoodMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhLoveFoodMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhLoveFoodMapper.xml new file mode 100644 index 0000000..c7f5c9c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhLoveFoodMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhMoveMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhMoveMapper.xml new file mode 100644 index 0000000..d6f59ec Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BhMoveMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BoheUserMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BoheUserMapper.xml new file mode 100644 index 0000000..905d2ea Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._BoheUserMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysConfigMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysConfigMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysConfigMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDeptMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDeptMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDeptMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictDataMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictDataMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictDataMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictTypeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictTypeMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysDictTypeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysLogininforMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysLogininforMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysLogininforMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysMenuMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysMenuMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysMenuMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysNoticeMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysNoticeMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysNoticeMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysOperLogMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysOperLogMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysOperLogMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysPostMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysPostMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysPostMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleDeptMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleDeptMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleDeptMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMenuMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMenuMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysRoleMenuMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserPostMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserPostMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserPostMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserRoleMapper.xml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserRoleMapper.xml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-system/target/classes/mapper/system/._SysUserRoleMapper.xml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.editorconfig b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.editorconfig new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.editorconfig differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintignore b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintignore new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintignore differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintrc.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintrc.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.eslintrc.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.gitignore b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.gitignore new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._.gitignore differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._README.md b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._README.md new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._README.md differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._babel.config.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._babel.config.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._babel.config.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._bin b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._bin new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._bin differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._build b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._build new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._build differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._public b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._public new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._public differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._src b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._src new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/._src differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._build.bat b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._build.bat new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._build.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._package.bat b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._package.bat new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._package.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._run-web.bat b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._run-web.bat new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/bin/._run-web.bat differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/build/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/build/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/build/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._favicon.ico b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._favicon.ico new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._favicon.ico differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._html b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._html new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._html differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._index.html b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._index.html new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._index.html differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._robots.txt b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._robots.txt new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/._robots.txt differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/html/._ie.html b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/html/._ie.html new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/public/html/._ie.html differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._App.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._App.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._App.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._api b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._api new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._api differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._assets b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._assets new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._assets differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._components b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._components new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._components differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._directive b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._directive new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._directive differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._layout b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._layout new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._layout differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._main.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._main.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._main.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._permission.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._permission.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._permission.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._plugins b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._plugins new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._plugins differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._router b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._router new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._router differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._settings.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._settings.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._settings.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._store new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._utils b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._utils new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._utils differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._views b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._views new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/._views differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._login.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._login.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._login.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._menu.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._menu.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._menu.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._monitor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._monitor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._monitor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._system b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._tool b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._tool new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/._tool differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._cache.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._cache.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._cache.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._job.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._job.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._job.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._jobLog.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._jobLog.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._jobLog.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._logininfor.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._logininfor.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._logininfor.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._online.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._online.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._online.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._operlog.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._operlog.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._operlog.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._server.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._server.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/monitor/._server.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._artice.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._artice.js new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._artice.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhCalories.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhCalories.js new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhCalories.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhmove.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhmove.js new file mode 100644 index 0000000..d6f59ec Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._bhmove.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._boheUser.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._boheUser.js new file mode 100644 index 0000000..c890625 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._boheUser.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._categories.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._categories.js new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._categories.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._config.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._config.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._config.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dept.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dept.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dept.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dict b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dict new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._dict differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._food.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._food.js new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._food.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._love.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._love.js new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._love.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._lovefood.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._lovefood.js new file mode 100644 index 0000000..4652de0 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._lovefood.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._menu.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._menu.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._menu.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._notice.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._notice.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._notice.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._post.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._post.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._post.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._role.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._role.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._role.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._user.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._user.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/._user.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._data.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._data.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._data.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._type.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._type.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/system/dict/._type.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/tool/._gen.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/tool/._gen.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/api/tool/._gen.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._401_images b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._401_images new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._401_images differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._404_images b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._404_images new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._404_images differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._icons b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._icons new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._icons differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._images b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._images new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._images differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._logo b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._logo new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._logo differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._styles b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._styles new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/._styles differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/401_images/._401.gif b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/401_images/._401.gif new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/401_images/._401.gif differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404.png b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404.png new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404.png differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404_cloud.png b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404_cloud.png new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/404_images/._404_cloud.png differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svg new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svgo.yml b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svgo.yml new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/._svgo.yml differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._404.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._404.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._404.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._bug.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._bug.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._bug.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._build.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._build.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._build.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._button.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._button.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._button.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._cascader.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._cascader.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._cascader.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._chart.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._chart.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._chart.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._checkbox.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._checkbox.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._checkbox.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._clipboard.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._clipboard.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._clipboard.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._code.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._code.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._code.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._color.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._color.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._color.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._component.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._component.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._component.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dashboard.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dashboard.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dashboard.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date-range.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date-range.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date-range.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._date.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dict.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dict.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._dict.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._documentation.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._documentation.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._documentation.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._download.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._download.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._download.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._drag.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._drag.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._drag.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._druid.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._druid.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._druid.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._edit.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._edit.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._edit.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._education.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._education.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._education.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._email.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._email.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._email.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._example.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._example.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._example.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._excel.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._excel.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._excel.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._exit-fullscreen.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._exit-fullscreen.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._exit-fullscreen.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye-open.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye-open.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye-open.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._eye.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._form.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._form.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._form.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._fullscreen.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._fullscreen.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._fullscreen.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._github.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._github.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._github.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._guide.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._guide.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._guide.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._icon.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._icon.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._icon.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._input.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._input.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._input.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._international.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._international.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._international.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._job.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._job.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._job.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._language.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._language.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._language.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._link.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._link.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._link.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._list.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._list.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._list.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._lock.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._lock.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._lock.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._log.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._log.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._log.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._logininfor.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._logininfor.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._logininfor.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._message.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._message.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._message.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._money.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._money.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._money.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._monitor.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._monitor.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._monitor.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._nested.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._nested.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._nested.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._number.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._number.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._number.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._online.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._online.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._online.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._password.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._password.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._password.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._pdf.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._pdf.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._pdf.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._people.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._people.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._people.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._peoples.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._peoples.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._peoples.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._phone.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._phone.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._phone.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._post.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._post.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._post.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._qq.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._qq.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._qq.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._question.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._question.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._question.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._radio.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._radio.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._radio.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._rate.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._rate.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._rate.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis-list.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis-list.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis-list.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._redis.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._row.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._row.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._row.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._search.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._search.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._search.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._select.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._select.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._select.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._server.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._server.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._server.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._shopping.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._shopping.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._shopping.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._size.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._size.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._size.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._skill.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._skill.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._skill.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._slider.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._slider.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._slider.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._star.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._star.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._star.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._swagger.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._swagger.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._swagger.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._switch.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._switch.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._switch.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._system.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._system.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._system.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tab.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tab.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tab.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._table.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._table.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._table.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._textarea.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._textarea.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._textarea.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._theme.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._theme.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._theme.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time-range.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time-range.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time-range.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._time.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tool.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tool.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tool.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree-table.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree-table.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree-table.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._tree.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._upload.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._upload.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._upload.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._user.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._user.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._user.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._validCode.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._validCode.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._validCode.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._wechat.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._wechat.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._wechat.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._zip.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._zip.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/icons/svg/._zip.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._dark.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._dark.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._dark.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._light.svg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._light.svg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._light.svg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._login-background.jpg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._login-background.jpg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._login-background.jpg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._profile.jpg b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._profile.jpg new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/images/._profile.jpg differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/logo/._logo.png b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/logo/._logo.png new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/logo/._logo.png differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._btn.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._btn.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._btn.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-ui.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-ui.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-ui.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-variables.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-variables.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._element-variables.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._index.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._index.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._index.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._mixin.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._mixin.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._mixin.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._ruoyi.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._ruoyi.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._ruoyi.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._sidebar.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._sidebar.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._sidebar.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._transition.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._transition.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._transition.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._variables.scss b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._variables.scss new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/assets/styles/._variables.scss differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Breadcrumb b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Breadcrumb new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Breadcrumb differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Crontab b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Crontab new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Crontab differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictData b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictData new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictData differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictTag b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictTag new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._DictTag differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Editor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Editor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Editor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._FileUpload b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._FileUpload new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._FileUpload differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Hamburger b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Hamburger new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Hamburger differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._HeaderSearch b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._HeaderSearch new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._HeaderSearch differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._IconSelect b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._IconSelect new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._IconSelect differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImagePreview b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImagePreview new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImagePreview differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImageUpload b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImageUpload new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ImageUpload differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Pagination b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Pagination new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Pagination differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._PanThumb b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._PanThumb new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._PanThumb differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ParentView b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ParentView new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ParentView differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightPanel b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightPanel new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightPanel differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightToolbar b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightToolbar new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RightToolbar differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RuoYi b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RuoYi new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._RuoYi differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Screenfull b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Screenfull new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._Screenfull differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SizeSelect b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SizeSelect new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SizeSelect differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SvgIcon b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SvgIcon new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._SvgIcon differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ThemePicker b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ThemePicker new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._ThemePicker differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._TopNav b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._TopNav new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._TopNav differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._iFrame b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._iFrame new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/._iFrame differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Breadcrumb/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Breadcrumb/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Breadcrumb/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._day.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._day.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._day.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._hour.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._hour.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._hour.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._min.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._min.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._min.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._month.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._month.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._month.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._result.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._result.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._result.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._second.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._second.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._second.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._week.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._week.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._week.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._year.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._year.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Crontab/._year.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictData/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictData/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictData/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictTag/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictTag/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/DictTag/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Editor/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Editor/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Editor/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/FileUpload/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/FileUpload/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/FileUpload/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Hamburger/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Hamburger/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Hamburger/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/HeaderSearch/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/HeaderSearch/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/HeaderSearch/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._requireIcons.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._requireIcons.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/IconSelect/._requireIcons.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImagePreview/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImagePreview/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImagePreview/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImageUpload/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImageUpload/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ImageUpload/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Pagination/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Pagination/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Pagination/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/PanThumb/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/PanThumb/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/PanThumb/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ParentView/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ParentView/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ParentView/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightPanel/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightPanel/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightPanel/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightToolbar/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightToolbar/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RightToolbar/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Doc b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Doc new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Doc differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Git b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Git new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/._Git differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Doc/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Doc/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Doc/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Git/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Git/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/RuoYi/Git/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Screenfull/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Screenfull/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/Screenfull/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SizeSelect/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SizeSelect/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SizeSelect/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SvgIcon/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SvgIcon/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/SvgIcon/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ThemePicker/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ThemePicker/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/ThemePicker/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/TopNav/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/TopNav/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/TopNav/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/iFrame/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/iFrame/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/components/iFrame/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._dialog b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._dialog new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._dialog differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._module b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._module new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._module differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._permission b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._permission new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/._permission differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._drag.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._drag.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._drag.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragHeight.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragHeight.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragHeight.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragWidth.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragWidth.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/dialog/._dragWidth.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/module/._clipboard.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/module/._clipboard.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/module/._clipboard.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasPermi.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasPermi.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasPermi.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasRole.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasRole.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/directive/permission/._hasRole.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._components b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._components new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._components differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._mixin b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._mixin new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/._mixin differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._AppMain.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._AppMain.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._AppMain.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._IframeToggle b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._IframeToggle new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._IframeToggle differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._InnerLink b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._InnerLink new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._InnerLink differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Navbar.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Navbar.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Navbar.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Settings b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Settings new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Settings differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Sidebar b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Sidebar new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._Sidebar differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._TagsView b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._TagsView new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._TagsView differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/IframeToggle/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/IframeToggle/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/IframeToggle/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/InnerLink/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/InnerLink/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/InnerLink/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Settings/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Settings/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Settings/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._FixiOSBug.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._FixiOSBug.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._FixiOSBug.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Item.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Item.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Item.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Link.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Link.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._Link.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._SidebarItem.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._SidebarItem.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._SidebarItem.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/Sidebar/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._ScrollPane.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._ScrollPane.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._ScrollPane.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/components/TagsView/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/mixin/._ResizeHandler.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/mixin/._ResizeHandler.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/layout/mixin/._ResizeHandler.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._auth.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._auth.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._auth.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._cache.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._cache.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._cache.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._download.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._download.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._download.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._modal.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._modal.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._modal.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._tab.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._tab.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/plugins/._tab.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/router/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/router/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/router/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._getters.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._getters.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._getters.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._modules b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._modules new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/._modules differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._app.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._app.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._app.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._dict.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._dict.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._dict.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._permission.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._permission.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._permission.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._settings.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._settings.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._settings.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._tagsView.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._tagsView.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._tagsView.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._user.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._user.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/store/modules/._user.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._auth.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._auth.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._auth.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._dict b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._dict new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._dict differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._errorCode.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._errorCode.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._errorCode.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._generator b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._generator new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._generator differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._jsencrypt.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._jsencrypt.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._jsencrypt.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._permission.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._permission.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._permission.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._request.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._request.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._request.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._ruoyi.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._ruoyi.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._ruoyi.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._scroll-to.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._scroll-to.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._scroll-to.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._validate.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._validate.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/._validate.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._Dict.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._Dict.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._Dict.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictConverter.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictConverter.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictConverter.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictData.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictData.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictData.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictMeta.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictMeta.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictMeta.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictOptions.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictOptions.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._DictOptions.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._index.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._index.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/dict/._index.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._config.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._config.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._config.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._css.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._css.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._css.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._drawingDefault.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._drawingDefault.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._drawingDefault.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._html.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._html.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._html.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._icon.json b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._icon.json new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._icon.json differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._js.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._js.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._js.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._render.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._render.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/utils/generator/._render.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._components b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._components new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._components differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._dashboard b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._dashboard new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._dashboard differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._error b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._error new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._error differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index_v1.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index_v1.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._index_v1.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._monitor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._monitor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._monitor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._redirect.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._redirect.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._redirect.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._system b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._system new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._system differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._tool b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._tool new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/._tool differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/._icons b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/._icons new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/._icons differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._element-icons.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._element-icons.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._element-icons.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._svg-icons.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._svg-icons.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/components/icons/._svg-icons.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._BarChart.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._BarChart.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._BarChart.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._LineChart.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._LineChart.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._LineChart.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PanelGroup.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PanelGroup.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PanelGroup.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PieChart.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PieChart.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._PieChart.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._RaddarChart.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._RaddarChart.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._RaddarChart.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._mixins b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._mixins new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/._mixins differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/mixins/._resize.js b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/mixins/._resize.js new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/dashboard/mixins/._resize.js differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._401.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._401.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._401.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._404.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._404.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/error/._404.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._cache b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._cache new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._cache differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._druid b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._druid new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._druid differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._job b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._job new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._job differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._logininfor b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._logininfor new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._logininfor differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._online b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._online new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._online differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._operlog b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._operlog new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._operlog differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._server b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._server new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/._server differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._list.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._list.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/cache/._list.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/druid/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/druid/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/druid/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._log.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._log.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/job/._log.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/logininfor/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/logininfor/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/logininfor/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/online/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/online/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/online/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/operlog/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/operlog/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/operlog/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/server/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/server/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/monitor/server/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._.DS_Store differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._artice b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._artice new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._artice differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhCalories b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhCalories new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhCalories differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhmove b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhmove new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._bhmove differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._boheUser b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._boheUser new file mode 100644 index 0000000..8ad382a Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._boheUser differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._categories b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._categories new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._categories differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._config b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._config new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._config differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dept b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dept new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dept differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dict b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dict new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._dict differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._food b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._food new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._food differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._love b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._love new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._love differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._lovefood b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._lovefood new file mode 100644 index 0000000..2fee2a1 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._lovefood differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._menu b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._menu new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._menu differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._notice b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._notice new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._notice differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._post b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._post new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._post differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._role b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._role new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._role differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._user b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._user new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/._user differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/artice/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/artice/._index.vue new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/artice/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhCalories/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhCalories/._index.vue new file mode 100644 index 0000000..2d3f08c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhCalories/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhmove/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhmove/._index.vue new file mode 100644 index 0000000..d6f59ec Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/bhmove/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/boheUser/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/boheUser/._index.vue new file mode 100644 index 0000000..905d2ea Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/boheUser/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/categories/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/categories/._index.vue new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/categories/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/config/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/config/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/config/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dept/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dept/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dept/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._data.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._data.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._data.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/dict/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/food/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/food/._index.vue new file mode 100644 index 0000000..1253571 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/food/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/love/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/love/._index.vue new file mode 100644 index 0000000..b13cf53 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/love/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/lovefood/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/lovefood/._index.vue new file mode 100644 index 0000000..c7f5c9c Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/lovefood/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/menu/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/menu/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/menu/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/notice/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/notice/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/notice/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/post/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/post/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/post/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._authUser.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._authUser.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._authUser.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._selectUser.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._selectUser.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/role/._selectUser.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._authRole.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._authRole.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._authRole.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._profile b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._profile new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/._profile differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._resetPwd.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._resetPwd.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._resetPwd.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userAvatar.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userAvatar.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userAvatar.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userInfo.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userInfo.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/system/user/profile/._userInfo.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._build b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._build new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._build differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._gen b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._gen new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._gen differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._swagger b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._swagger new file mode 100644 index 0000000..26e7d86 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/._swagger differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._CodeTypeDialog.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._CodeTypeDialog.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._CodeTypeDialog.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._DraggableItem.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._DraggableItem.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._DraggableItem.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._IconsDialog.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._IconsDialog.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._IconsDialog.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._RightPanel.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._RightPanel.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._RightPanel.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._TreeNodeDialog.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._TreeNodeDialog.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._TreeNodeDialog.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/build/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._basicInfoForm.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._basicInfoForm.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._basicInfoForm.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._editTable.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._editTable.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._editTable.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._genInfoForm.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._genInfoForm.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._genInfoForm.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._importTable.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._importTable.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._importTable.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/gen/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/swagger/._index.vue b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/swagger/._index.vue new file mode 100644 index 0000000..1ad1060 Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/ruoyi-ui/src/views/tool/swagger/._index.vue differ diff --git a/src/cyxproject/__MACOSX/mint/mint/sql/._.DS_Store b/src/cyxproject/__MACOSX/mint/mint/sql/._.DS_Store new file mode 100644 index 0000000..a5b28df Binary files /dev/null and b/src/cyxproject/__MACOSX/mint/mint/sql/._.DS_Store differ diff --git a/src/cyxproject/healthy_diet/.DS_Store b/src/cyxproject/healthy_diet/.DS_Store new file mode 100644 index 0000000..ab98f2b Binary files /dev/null and b/src/cyxproject/healthy_diet/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/food.json b/src/cyxproject/healthy_diet/food.json new file mode 100644 index 0000000..ea852a0 --- /dev/null +++ b/src/cyxproject/healthy_diet/food.json @@ -0,0 +1,39 @@ + + { + "id": 56, + "code": "mifan_zheng", + "name": "米饭", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_f81e8de29f76e6d0c39d4142fe45764f.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", //g + "calory": "116", //千卡 + "fat": "0.3", //脂肪 + "protein": "2.6", //蛋白质 + "fiber_dietary": "0.3", //膳食纤维 + "carbohydrate": "25.9", //碳水化合物 + "vitamin_a": "0.0", //维生素A + "thiamine": "0.02", + "lactoflavin": "0.03", + "vitamin_c": "0.0", + "vitamin_e": "0.0", + "niacin": "1.9", + "natrium": "2.5", + "calcium": "7.0", + "iron": "1.3", + "kalium": "30.0", + "iodine": "0.0", + "zinc": "0.92", + "selenium": "0.4", + "magnesium": "15.0", + "copper": "0.06", + "manganese": "0.58", + "cholesterol": "0.0", + "folacin": "3.4", + "saturated_fat": "0.0", + "sugar": "", + "vitamin_b6": "0.0", + "phosphor": "62.0", + "gi": "90.0", + "gl": "23.0" + } \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/.DS_Store new file mode 100644 index 0000000..74c12a2 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/.github/FUNDING.yml b/src/cyxproject/healthy_diet/healthy_diet/.github/FUNDING.yml new file mode 100644 index 0000000..fbcab77 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: http://doc.ruoyi.vip/ruoyi-vue/other/donate.html diff --git a/src/cyxproject/healthy_diet/healthy_diet/.gitignore b/src/cyxproject/healthy_diet/healthy_diet/.gitignore new file mode 100644 index 0000000..ed8368a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/.gitignore @@ -0,0 +1,47 @@ +###################################################################### +# Build Tools + +.gradle +/build/ +!gradle/wrapper/gradle-wrapper.jar + +target/ +!.mvn/wrapper/maven-wrapper.jar + +###################################################################### +# IDE + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### JRebel ### +rebel.xml + +### NetBeans ### +nbproject/private/ +build/* +nbbuild/ +dist/ +nbdist/ +.nb-gradle/ + +###################################################################### +# Others +*.log +*.xml.versionsBackup +*.swp + +!*/build/*.java +!*/build/*.html +!*/build/*.xml diff --git a/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/2021-03-07 161842389_20230515184626A001.jpg b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/2021-03-07 161842389_20230515184626A001.jpg new file mode 100644 index 0000000..61ffbcf Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/2021-03-07 161842389_20230515184626A001.jpg differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png new file mode 100644 index 0000000..4e6b4d1 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG new file mode 100644 index 0000000..2e702ae Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/IMG_6856_20230519003416A001.JPG b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/IMG_6856_20230519003416A001.JPG new file mode 100644 index 0000000..3b10127 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/IMG_6856_20230519003416A001.JPG differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/download_20230519004016A002.jpg b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/download_20230519004016A002.jpg new file mode 100644 index 0000000..d5dbc3c Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/D_/ruoyi/uploadPath/upload/2023/05/19/download_20230519004016A002.jpg differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/LICENSE b/src/cyxproject/healthy_diet/healthy_diet/LICENSE new file mode 100644 index 0000000..8564f29 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 RuoYi + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/README.md b/src/cyxproject/healthy_diet/healthy_diet/README.md new file mode 100644 index 0000000..ff9fd8f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/README.md @@ -0,0 +1,97 @@ +

+ logo +

+

RuoYi v3.8.5

+

基于SpringBoot+Vue前后端分离的Java快速开发框架

+

+ + + +

+ +## 平台简介 + +若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 + +* 前端采用Vue、Element UI。 +* 后端采用Spring Boot、Spring Security、Redis & Jwt。 +* 权限认证使用Jwt,支持多终端认证系统。 +* 支持加载动态权限菜单,多方式轻松权限控制。 +* 高效率开发,使用代码生成器可以一键生成前后端代码。 +* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。 +* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。 +* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) +* 特别鸣谢:[element](https://github.com/ElemeFE/element),[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin),[eladmin-web](https://github.com/elunez/eladmin-web)。 +* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   +* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)   + +## 内置功能 + +1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 +2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 +3. 岗位管理:配置系统用户所属担任职务。 +4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 +5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 +6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 +7. 参数管理:对系统动态配置常用参数。 +8. 通知公告:系统通知公告信息发布维护。 +9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 +10. 登录日志:系统登录日志记录查询包含登录异常。 +11. 在线用户:当前系统中活跃用户状态监控。 +12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 +13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 +14. 系统接口:根据业务代码自动生成相关的api接口文档。 +15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 +16. 缓存监控:对系统的缓存信息查询,命令统计等。 +17. 在线构建器:拖动表单元素生成相应的HTML代码。 +18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 + +## 在线体验 + +- admin/admin123 +- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 + +演示地址:http://vue.ruoyi.vip +文档地址:http://doc.ruoyi.vip + +## 演示图 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +## 若依前后端分离交流群 + +QQ群: [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/已满-887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [![加入QQ群](https://img.shields.io/badge/已满-180251782-blue.svg)](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [![加入QQ群](https://img.shields.io/badge/已满-104180207-blue.svg)](https://jq.qq.com/?_wv=1027&k=51G72yr) [![加入QQ群](https://img.shields.io/badge/已满-186866453-blue.svg)](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [![加入QQ群](https://img.shields.io/badge/已满-201396349-blue.svg)](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [![加入QQ群](https://img.shields.io/badge/已满-101456076-blue.svg)](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [![加入QQ群](https://img.shields.io/badge/已满-101539465-blue.svg)](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [![加入QQ群](https://img.shields.io/badge/已满-264312783-blue.svg)](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [![加入QQ群](https://img.shields.io/badge/已满-167385320-blue.svg)](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [![加入QQ群](https://img.shields.io/badge/已满-104748341-blue.svg)](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [![加入QQ群](https://img.shields.io/badge/已满-160110482-blue.svg)](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [![加入QQ群](https://img.shields.io/badge/已满-170801498-blue.svg)](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [![加入QQ群](https://img.shields.io/badge/已满-108482800-blue.svg)](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [![加入QQ群](https://img.shields.io/badge/已满-101046199-blue.svg)](https://jq.qq.com/?_wv=1027&k=SpyH2875) [![加入QQ群](https://img.shields.io/badge/136919097-blue.svg)](https://jq.qq.com/?_wv=1027&k=tKEt51dz) 点击按钮入群。 \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/bin/clean.bat b/src/cyxproject/healthy_diet/healthy_diet/bin/clean.bat new file mode 100644 index 0000000..24c0974 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/bin/clean.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] target· +echo. + +%~d0 +cd %~dp0 + +cd .. +call mvn clean + +pause \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/bin/package.bat b/src/cyxproject/healthy_diet/healthy_diet/bin/package.bat new file mode 100644 index 0000000..c693ec0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅwar/jarļ +echo. + +%~d0 +cd %~dp0 + +cd .. +call mvn clean package -Dmaven.test.skip=true + +pause \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/bin/run.bat b/src/cyxproject/healthy_diet/healthy_diet/bin/run.bat new file mode 100644 index 0000000..41efbd0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/bin/run.bat @@ -0,0 +1,14 @@ +@echo off +echo. +echo [Ϣ] ʹJarWeb̡ +echo. + +cd %~dp0 +cd ../ruoyi-admin/target + +set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m + +java -jar %JAVA_OPTS% ruoyi-admin.jar + +cd bin +pause \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/doc/若依环境使用手册.docx b/src/cyxproject/healthy_diet/healthy_diet/doc/若依环境使用手册.docx new file mode 100644 index 0000000..9e4daef Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/doc/若依环境使用手册.docx differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/pom.xml new file mode 100644 index 0000000..3fbf0bb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/pom.xml @@ -0,0 +1,226 @@ + + + 4.0.0 + + com.ruoyi + ruoyi + 3.8.5 + + ruoyi + http://www.ruoyi.vip + 若依管理系统 + + + 3.8.5 + UTF-8 + UTF-8 + 1.8 + 3.1.1 + 1.2.16 + 1.21 + 3.0.0 + 2.3.3 + 1.4.6 + 2.0.25 + 6.4.0 + 2.11.0 + 3.2.2 + 4.1.2 + 2.3 + 0.9.1 + + + + + + + + + org.springframework.boot + spring-boot-dependencies + 2.5.14 + pom + import + + + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + + + eu.bitwalker + UserAgentUtils + ${bitwalker.version} + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + ${pagehelper.boot.version} + + + + + com.github.oshi + oshi-core + ${oshi.version} + + + + + io.springfox + springfox-boot-starter + ${swagger.version} + + + io.swagger + swagger-models + + + + + + + commons-io + commons-io + ${commons.io.version} + + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + + + commons-collections + commons-collections + ${commons.collections.version} + + + + + com.alibaba.fastjson2 + fastjson2 + ${fastjson.version} + + + + + io.jsonwebtoken + jjwt + ${jwt.version} + + + + + pro.fessional + kaptcha + ${kaptcha.version} + + + + + com.ruoyi + ruoyi-quartz + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-generator + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-framework + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-system + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-common + ${ruoyi.version} + + + + + + + ruoyi-admin + ruoyi-framework + ruoyi-system + ruoyi-quartz + ruoyi-generator + ruoyi-common + + pom + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + + + + + + + + public + aliyun nexus + https://maven.aliyun.com/repository/public + + true + + + + + + + public + aliyun nexus + https://maven.aliyun.com/repository/public + + true + + + false + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/.DS_Store new file mode 100644 index 0000000..9a874b5 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/pom.xml new file mode 100644 index 0000000..5bfa504 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/pom.xml @@ -0,0 +1,96 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + jar + ruoyi-admin + + + web服务入口 + + + + + + + org.springframework.boot + spring-boot-devtools + true + + + + + io.springfox + springfox-boot-starter + + + + + io.swagger + swagger-models + 1.6.2 + + + + + mysql + mysql-connector-java + + + + + com.ruoyi + ruoyi-framework + + + + + com.ruoyi + ruoyi-quartz + + + + + com.ruoyi + ruoyi-generator + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.1.1.RELEASE + + true + + + + + repackage + + + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + false + ${project.artifactId} + + + + ${project.artifactId} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/.DS_Store new file mode 100644 index 0000000..7b0d367 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/.DS_Store new file mode 100644 index 0000000..55c1fcb Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/.DS_Store new file mode 100644 index 0000000..35a54bf Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java new file mode 100644 index 0000000..d673162 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -0,0 +1,16 @@ +package com.ruoyi; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; + +@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) +public class RuoYiApplication +{ + public static void main(String[] args) + { + // System.setProperty("spring.devtools.restart.enabled", "false"); + SpringApplication.run(RuoYiApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ 健康管理后端系统启动成功 ლ(´ڡ`ლ)゙ \n"); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java new file mode 100644 index 0000000..68918ea --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/RuoYiServletInitializer.java @@ -0,0 +1,13 @@ +package com.ruoyi; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +public class RuoYiServletInitializer extends SpringBootServletInitializer +{ + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) + { + return application.sources(RuoYiApplication.class); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/.DS_Store new file mode 100644 index 0000000..5e966b5 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java new file mode 100644 index 0000000..d2d6e8c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java @@ -0,0 +1,94 @@ +package com.ruoyi.web.controller.common; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.FastByteArrayOutputStream; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; +import com.google.code.kaptcha.Producer; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.sign.Base64; +import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.system.service.ISysConfigService; + +/** + * 验证码操作处理 + * + * @author ruoyi + */ +@RestController +public class CaptchaController +{ + @Resource(name = "captchaProducer") + private Producer captchaProducer; + + @Resource(name = "captchaProducerMath") + private Producer captchaProducerMath; + + @Autowired + private RedisCache redisCache; + + @Autowired + private ISysConfigService configService; + /** + * 生成验证码 + */ + @GetMapping("/captchaImage") + public AjaxResult getCode(HttpServletResponse response) throws IOException + { + AjaxResult ajax = AjaxResult.success(); + boolean captchaEnabled = configService.selectCaptchaEnabled(); + ajax.put("captchaEnabled", captchaEnabled); + if (!captchaEnabled) + { + return ajax; + } + + // 保存验证码信息 + String uuid = IdUtils.simpleUUID(); + String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; + + String capStr = null, code = null; + BufferedImage image = null; + + // 生成验证码 + String captchaType = RuoYiConfig.getCaptchaType(); + if ("math".equals(captchaType)) + { + String capText = captchaProducerMath.createText(); + capStr = capText.substring(0, capText.lastIndexOf("@")); + code = capText.substring(capText.lastIndexOf("@") + 1); + image = captchaProducerMath.createImage(capStr); + } + else if ("char".equals(captchaType)) + { + capStr = code = captchaProducer.createText(); + image = captchaProducer.createImage(capStr); + } + + redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); + // 转换流信息写出 + FastByteArrayOutputStream os = new FastByteArrayOutputStream(); + try + { + ImageIO.write(image, "jpg", os); + } + catch (IOException e) + { + return AjaxResult.error(e.getMessage()); + } + + ajax.put("uuid", uuid); + ajax.put("img", Base64.encode(os.toByteArray())); + return ajax; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java new file mode 100644 index 0000000..cec5006 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java @@ -0,0 +1,163 @@ +package com.ruoyi.web.controller.common; + +import java.util.ArrayList; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUploadUtils; +import com.ruoyi.common.utils.file.FileUtils; +import com.ruoyi.framework.config.ServerConfig; + +/** + * 通用请求处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/common") +public class CommonController +{ + private static final Logger log = LoggerFactory.getLogger(CommonController.class); + + @Autowired + private ServerConfig serverConfig; + + private static final String FILE_DELIMETER = ","; + + /** + * 通用下载请求 + * + * @param fileName 文件名称 + * @param delete 是否删除 + */ + @GetMapping("/download") + public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) + { + try + { + if (!FileUtils.checkAllowDownload(fileName)) + { + throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName)); + } + String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); + String filePath = RuoYiConfig.getDownloadPath() + fileName; + + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.setAttachmentResponseHeader(response, realFileName); + FileUtils.writeBytes(filePath, response.getOutputStream()); + if (delete) + { + FileUtils.deleteFile(filePath); + } + } + catch (Exception e) + { + log.error("下载文件失败", e); + } + } + + /** + * 通用上传请求(单个) + */ + @PostMapping("/upload") + public AjaxResult uploadFile(MultipartFile file) throws Exception + { + try + { + // 上传文件路径 + String filePath = RuoYiConfig.getUploadPath(); + // 上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + AjaxResult ajax = AjaxResult.success(); + ajax.put("url", url); + ajax.put("fileName", fileName); + ajax.put("newFileName", FileUtils.getName(fileName)); + ajax.put("originalFilename", file.getOriginalFilename()); + return ajax; + } + catch (Exception e) + { + return AjaxResult.error(e.getMessage()); + } + } + + /** + * 通用上传请求(多个) + */ + @PostMapping("/uploads") + public AjaxResult uploadFiles(List files) throws Exception + { + try + { + // 上传文件路径 + String filePath = RuoYiConfig.getUploadPath(); + List urls = new ArrayList(); + List fileNames = new ArrayList(); + List newFileNames = new ArrayList(); + List originalFilenames = new ArrayList(); + for (MultipartFile file : files) + { + // 上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + urls.add(url); + fileNames.add(fileName); + newFileNames.add(FileUtils.getName(fileName)); + originalFilenames.add(file.getOriginalFilename()); + } + AjaxResult ajax = AjaxResult.success(); + ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); + return ajax; + } + catch (Exception e) + { + return AjaxResult.error(e.getMessage()); + } + } + + /** + * 本地资源通用下载 + */ + @GetMapping("/download/resource") + public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) + throws Exception + { + try + { + if (!FileUtils.checkAllowDownload(resource)) + { + throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource)); + } + // 本地资源路径 + String localPath = RuoYiConfig.getProfile(); + // 数据库资源地址 + String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX); + // 下载名称 + String downloadName = StringUtils.substringAfterLast(downloadPath, "/"); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.setAttachmentResponseHeader(response, downloadName); + FileUtils.writeBytes(downloadPath, response.getOutputStream()); + } + catch (Exception e) + { + log.error("下载文件失败", e); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java new file mode 100644 index 0000000..69470d0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java @@ -0,0 +1,120 @@ +package com.ruoyi.web.controller.monitor; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysCache; + +/** + * 缓存监控 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/cache") +public class CacheController +{ + @Autowired + private RedisTemplate redisTemplate; + + private final static List caches = new ArrayList(); + { + caches.add(new SysCache(CacheConstants.LOGIN_TOKEN_KEY, "用户信息")); + caches.add(new SysCache(CacheConstants.SYS_CONFIG_KEY, "配置信息")); + caches.add(new SysCache(CacheConstants.SYS_DICT_KEY, "数据字典")); + caches.add(new SysCache(CacheConstants.CAPTCHA_CODE_KEY, "验证码")); + caches.add(new SysCache(CacheConstants.REPEAT_SUBMIT_KEY, "防重提交")); + caches.add(new SysCache(CacheConstants.RATE_LIMIT_KEY, "限流处理")); + caches.add(new SysCache(CacheConstants.PWD_ERR_CNT_KEY, "密码错误次数")); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @GetMapping() + public AjaxResult getInfo() throws Exception + { + Properties info = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info()); + Properties commandStats = (Properties) redisTemplate.execute((RedisCallback) connection -> connection.info("commandstats")); + Object dbSize = redisTemplate.execute((RedisCallback) connection -> connection.dbSize()); + + Map result = new HashMap<>(3); + result.put("info", info); + result.put("dbSize", dbSize); + + List> pieList = new ArrayList<>(); + commandStats.stringPropertyNames().forEach(key -> { + Map data = new HashMap<>(2); + String property = commandStats.getProperty(key); + data.put("name", StringUtils.removeStart(key, "cmdstat_")); + data.put("value", StringUtils.substringBetween(property, "calls=", ",usec")); + pieList.add(data); + }); + result.put("commandStats", pieList); + return AjaxResult.success(result); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @GetMapping("/getNames") + public AjaxResult cache() + { + return AjaxResult.success(caches); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @GetMapping("/getKeys/{cacheName}") + public AjaxResult getCacheKeys(@PathVariable String cacheName) + { + Set cacheKeys = redisTemplate.keys(cacheName + "*"); + return AjaxResult.success(cacheKeys); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @GetMapping("/getValue/{cacheName}/{cacheKey}") + public AjaxResult getCacheValue(@PathVariable String cacheName, @PathVariable String cacheKey) + { + String cacheValue = redisTemplate.opsForValue().get(cacheKey); + SysCache sysCache = new SysCache(cacheName, cacheKey, cacheValue); + return AjaxResult.success(sysCache); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @DeleteMapping("/clearCacheName/{cacheName}") + public AjaxResult clearCacheName(@PathVariable String cacheName) + { + Collection cacheKeys = redisTemplate.keys(cacheName + "*"); + redisTemplate.delete(cacheKeys); + return AjaxResult.success(); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @DeleteMapping("/clearCacheKey/{cacheKey}") + public AjaxResult clearCacheKey(@PathVariable String cacheKey) + { + redisTemplate.delete(cacheKey); + return AjaxResult.success(); + } + + @PreAuthorize("@ss.hasPermi('monitor:cache:list')") + @DeleteMapping("/clearCacheAll") + public AjaxResult clearCacheAll() + { + Collection cacheKeys = redisTemplate.keys("*"); + redisTemplate.delete(cacheKeys); + return AjaxResult.success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java new file mode 100644 index 0000000..cc805ad --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java @@ -0,0 +1,27 @@ +package com.ruoyi.web.controller.monitor; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.framework.web.domain.Server; + +/** + * 服务器监控 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/server") +public class ServerController +{ + @PreAuthorize("@ss.hasPermi('monitor:server:list')") + @GetMapping() + public AjaxResult getInfo() throws Exception + { + Server server = new Server(); + server.copyTo(); + return AjaxResult.success(server); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java new file mode 100644 index 0000000..e0175f4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java @@ -0,0 +1,82 @@ +package com.ruoyi.web.controller.monitor; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.web.service.SysPasswordService; +import com.ruoyi.system.domain.SysLogininfor; +import com.ruoyi.system.service.ISysLogininforService; + +/** + * 系统访问记录 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/logininfor") +public class SysLogininforController extends BaseController +{ + @Autowired + private ISysLogininforService logininforService; + + @Autowired + private SysPasswordService passwordService; + + @PreAuthorize("@ss.hasPermi('monitor:logininfor:list')") + @GetMapping("/list") + public TableDataInfo list(SysLogininfor logininfor) + { + startPage(); + List list = logininforService.selectLogininforList(logininfor); + return getDataTable(list); + } + + @Log(title = "登录日志", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('monitor:logininfor:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysLogininfor logininfor) + { + List list = logininforService.selectLogininforList(logininfor); + ExcelUtil util = new ExcelUtil(SysLogininfor.class); + util.exportExcel(response, list, "登录日志"); + } + + @PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')") + @Log(title = "登录日志", businessType = BusinessType.DELETE) + @DeleteMapping("/{infoIds}") + public AjaxResult remove(@PathVariable Long[] infoIds) + { + return toAjax(logininforService.deleteLogininforByIds(infoIds)); + } + + @PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')") + @Log(title = "登录日志", businessType = BusinessType.CLEAN) + @DeleteMapping("/clean") + public AjaxResult clean() + { + logininforService.cleanLogininfor(); + return success(); + } + + @PreAuthorize("@ss.hasPermi('monitor:logininfor:unlock')") + @Log(title = "账户解锁", businessType = BusinessType.OTHER) + @GetMapping("/unlock/{userName}") + public AjaxResult unlock(@PathVariable("userName") String userName) + { + passwordService.clearLoginRecordCache(userName); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java new file mode 100644 index 0000000..6ca78cf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java @@ -0,0 +1,69 @@ +package com.ruoyi.web.controller.monitor; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.SysOperLog; +import com.ruoyi.system.service.ISysOperLogService; + +/** + * 操作日志记录 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/operlog") +public class SysOperlogController extends BaseController +{ + @Autowired + private ISysOperLogService operLogService; + + @PreAuthorize("@ss.hasPermi('monitor:operlog:list')") + @GetMapping("/list") + public TableDataInfo list(SysOperLog operLog) + { + startPage(); + List list = operLogService.selectOperLogList(operLog); + return getDataTable(list); + } + + @Log(title = "操作日志", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('monitor:operlog:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysOperLog operLog) + { + List list = operLogService.selectOperLogList(operLog); + ExcelUtil util = new ExcelUtil(SysOperLog.class); + util.exportExcel(response, list, "操作日志"); + } + + @Log(title = "操作日志", businessType = BusinessType.DELETE) + @PreAuthorize("@ss.hasPermi('monitor:operlog:remove')") + @DeleteMapping("/{operIds}") + public AjaxResult remove(@PathVariable Long[] operIds) + { + return toAjax(operLogService.deleteOperLogByIds(operIds)); + } + + @Log(title = "操作日志", businessType = BusinessType.CLEAN) + @PreAuthorize("@ss.hasPermi('monitor:operlog:remove')") + @DeleteMapping("/clean") + public AjaxResult clean() + { + operLogService.cleanOperLog(); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java new file mode 100644 index 0000000..a442863 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java @@ -0,0 +1,83 @@ +package com.ruoyi.web.controller.monitor; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysUserOnline; +import com.ruoyi.system.service.ISysUserOnlineService; + +/** + * 在线用户监控 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/online") +public class SysUserOnlineController extends BaseController +{ + @Autowired + private ISysUserOnlineService userOnlineService; + + @Autowired + private RedisCache redisCache; + + @PreAuthorize("@ss.hasPermi('monitor:online:list')") + @GetMapping("/list") + public TableDataInfo list(String ipaddr, String userName) + { + Collection keys = redisCache.keys(CacheConstants.LOGIN_TOKEN_KEY + "*"); + List userOnlineList = new ArrayList(); + for (String key : keys) + { + LoginUser user = redisCache.getCacheObject(key); + if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) + { + userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user)); + } + else if (StringUtils.isNotEmpty(ipaddr)) + { + userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user)); + } + else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) + { + userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user)); + } + else + { + userOnlineList.add(userOnlineService.loginUserToUserOnline(user)); + } + } + Collections.reverse(userOnlineList); + userOnlineList.removeAll(Collections.singleton(null)); + return getDataTable(userOnlineList); + } + + /** + * 强退用户 + */ + @PreAuthorize("@ss.hasPermi('monitor:online:forceLogout')") + @Log(title = "在线用户", businessType = BusinessType.FORCE) + @DeleteMapping("/{tokenId}") + public AjaxResult forceLogout(@PathVariable String tokenId) + { + redisCache.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + tokenId); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhALoveController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhALoveController.java new file mode 100644 index 0000000..80760f3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhALoveController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhALove; +import com.ruoyi.system.service.IBhALoveService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 点赞记录Controller + * + * @author MrYuan + * @date 2023-05-31 + */ +@RestController +@RequestMapping("/system/love") +public class BhALoveController extends BaseController +{ + @Autowired + private IBhALoveService bhALoveService; + + /** + * 查询点赞记录列表 + */ + @PreAuthorize("@ss.hasPermi('system:love:list')") + @GetMapping("/list") + public TableDataInfo list(BhALove bhALove) + { + startPage(); + List list = bhALoveService.selectBhALoveList(bhALove); + return getDataTable(list); + } + + /** + * 导出点赞记录列表 + */ + @PreAuthorize("@ss.hasPermi('system:love:export')") + @Log(title = "点赞记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhALove bhALove) + { + List list = bhALoveService.selectBhALoveList(bhALove); + ExcelUtil util = new ExcelUtil(BhALove.class); + util.exportExcel(response, list, "点赞记录数据"); + } + + /** + * 获取点赞记录详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:love:query')") + @GetMapping(value = "/{uid}") + public AjaxResult getInfo(@PathVariable("uid") Long uid) + { + return success(bhALoveService.selectBhALoveByUid(uid)); + } + + /** + * 新增点赞记录 + */ + @PreAuthorize("@ss.hasPermi('system:love:add')") + @Log(title = "点赞记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhALove bhALove) + { + return toAjax(bhALoveService.insertBhALove(bhALove)); + } + + /** + * 修改点赞记录 + */ + @PreAuthorize("@ss.hasPermi('system:love:edit')") + @Log(title = "点赞记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhALove bhALove) + { + return toAjax(bhALoveService.updateBhALove(bhALove)); + } + + /** + * 删除点赞记录 + */ + @PreAuthorize("@ss.hasPermi('system:love:remove')") + @Log(title = "点赞记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{uids}") + public AjaxResult remove(@PathVariable Long[] uids) + { + return toAjax(bhALoveService.deleteBhALoveByUids(uids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhArticeController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhArticeController.java new file mode 100644 index 0000000..97c07fe --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhArticeController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhArtice; +import com.ruoyi.system.service.IBhArticeService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 社区Controller + * + * @author Mr Yuan + * @date 2023-05-31 + */ +@RestController +@RequestMapping("/system/artice") +public class BhArticeController extends BaseController +{ + @Autowired + private IBhArticeService bhArticeService; + + /** + * 查询社区列表 + */ + @PreAuthorize("@ss.hasPermi('system:artice:list')") + @GetMapping("/list") + public TableDataInfo list(BhArtice bhArtice) + { + startPage(); + List list = bhArticeService.selectBhArticeList(bhArtice); + return getDataTable(list); + } + + /** + * 导出社区列表 + */ + @PreAuthorize("@ss.hasPermi('system:artice:export')") + @Log(title = "社区", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhArtice bhArtice) + { + List list = bhArticeService.selectBhArticeList(bhArtice); + ExcelUtil util = new ExcelUtil(BhArtice.class); + util.exportExcel(response, list, "社区数据"); + } + + /** + * 获取社区详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:artice:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bhArticeService.selectBhArticeById(id)); + } + + /** + * 新增社区 + */ + @PreAuthorize("@ss.hasPermi('system:artice:add')") + @Log(title = "社区", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhArtice bhArtice) + { + return toAjax(bhArticeService.insertBhArtice(bhArtice)); + } + + /** + * 修改社区 + */ + @PreAuthorize("@ss.hasPermi('system:artice:edit')") + @Log(title = "社区", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhArtice bhArtice) + { + return toAjax(bhArticeService.updateBhArtice(bhArtice)); + } + + /** + * 删除社区 + */ + @PreAuthorize("@ss.hasPermi('system:artice:remove')") + @Log(title = "社区", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bhArticeService.deleteBhArticeByIds(ids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCaloriesController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCaloriesController.java new file mode 100644 index 0000000..ed876c1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCaloriesController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhCalories; +import com.ruoyi.system.service.IBhCaloriesService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 燃烧我的卡路里Controller + * + * @author MrYuan + * @date 2023-05-17 + */ +@RestController +@RequestMapping("/system/bhCalories") +public class BhCaloriesController extends BaseController +{ + @Autowired + private IBhCaloriesService bhCaloriesService; + + /** + * 查询燃烧我的卡路里列表 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:list')") + @GetMapping("/list") + public TableDataInfo list(BhCalories bhCalories) + { + startPage(); + List list = bhCaloriesService.selectBhCaloriesList(bhCalories); + return getDataTable(list); + } + + /** + * 导出燃烧我的卡路里列表 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:export')") + @Log(title = "燃烧我的卡路里", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhCalories bhCalories) + { + List list = bhCaloriesService.selectBhCaloriesList(bhCalories); + ExcelUtil util = new ExcelUtil(BhCalories.class); + util.exportExcel(response, list, "燃烧我的卡路里数据"); + } + + /** + * 获取燃烧我的卡路里详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:query')") + @GetMapping(value = "/{uid}") + public AjaxResult getInfo(@PathVariable("uid") Long uid) + { + return success(bhCaloriesService.selectBhCaloriesByUid(uid)); + } + + /** + * 新增燃烧我的卡路里 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:add')") + @Log(title = "燃烧我的卡路里", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhCalories bhCalories) + { + return toAjax(bhCaloriesService.insertBhCalories(bhCalories)); + } + + /** + * 修改燃烧我的卡路里 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:edit')") + @Log(title = "燃烧我的卡路里", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhCalories bhCalories) + { + return toAjax(bhCaloriesService.updateBhCalories(bhCalories)); + } + + /** + * 删除燃烧我的卡路里 + */ + @PreAuthorize("@ss.hasPermi('system:bhCalories:remove')") + @Log(title = "燃烧我的卡路里", businessType = BusinessType.DELETE) + @DeleteMapping("/{uids}") + public AjaxResult remove(@PathVariable Long[] uids) + { + return toAjax(bhCaloriesService.deleteBhCaloriesByUids(uids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCategoriesController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCategoriesController.java new file mode 100644 index 0000000..2b26fce --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhCategoriesController.java @@ -0,0 +1,110 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhCategories; +import com.ruoyi.system.service.IBhCategoriesService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 分类管理Controller + * + * @author ruoyi + * @date 2023-05-15 + */ +@RestController +@RequestMapping("/system/categories") +public class BhCategoriesController extends BaseController +{ + @Autowired + private IBhCategoriesService bhCategoriesService; + + /** + * 查询分类管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:categories:list')") + @GetMapping("/list") + public TableDataInfo list(BhCategories bhCategories) + { + startPage(); + List list = bhCategoriesService.selectBhCategoriesList(bhCategories); + return getDataTable(list); + } + + /** + * 导出分类管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:categories:export')") + @Log(title = "分类管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhCategories bhCategories) + { + List list = bhCategoriesService.selectBhCategoriesList(bhCategories); + ExcelUtil util = new ExcelUtil(BhCategories.class); + util.exportExcel(response, list, "分类管理数据"); + } + + /** + * 获取分类管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:categories:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bhCategoriesService.selectBhCategoriesById(id)); + } + + /** + * 新增分类管理 + */ + @PreAuthorize("@ss.hasPermi('system:categories:add')") + @Log(title = "分类管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhCategories bhCategories) + { + return toAjax(bhCategoriesService.insertBhCategories(bhCategories)); + } + + /** + * 修改分类管理 + */ + @PreAuthorize("@ss.hasPermi('system:categories:edit')") + @Log(title = "分类管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhCategories bhCategories) + { + return toAjax(bhCategoriesService.updateBhCategories(bhCategories)); + } + + /** + * 删除分类管理 + */ + @PreAuthorize("@ss.hasPermi('system:categories:remove')") + @Log(title = "分类管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bhCategoriesService.deleteBhCategoriesByIds(ids)); + } + + + + + + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhFoodController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhFoodController.java new file mode 100644 index 0000000..8529529 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhFoodController.java @@ -0,0 +1,114 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.system.service.IBhLoveFoodService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhFood; +import com.ruoyi.system.service.IBhFoodService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 食物管理Controller + * + * @author ruoyi + * @date 2023-05-15 + */ +@RestController +@RequestMapping("/system/food") +public class BhFoodController extends BaseController +{ + @Autowired + private IBhFoodService bhFoodService; + @Autowired + private IBhLoveFoodService bhLoveFoodService; + + /** + * 查询食物管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:food:list')") + @GetMapping("/list") + public TableDataInfo list(BhFood bhFood) + { + startPage(); + List list = bhFoodService.selectBhFoodList(bhFood); + return getDataTable(list); + } + + /** + * 导出食物管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:food:export')") + @Log(title = "食物管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhFood bhFood) + { + List list = bhFoodService.selectBhFoodList(bhFood); + ExcelUtil util = new ExcelUtil(BhFood.class); + util.exportExcel(response, list, "食物管理数据"); + } + + /** + * 获取食物管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:food:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bhFoodService.selectBhFoodById(id)); + } + + /** + * 新增食物管理 + */ + @PreAuthorize("@ss.hasPermi('system:food:add')") + @Log(title = "食物管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhFood bhFood) + { + return toAjax(bhFoodService.insertBhFood(bhFood)); + } + + /** + * 修改食物管理 + */ + @PreAuthorize("@ss.hasPermi('system:food:edit')") + @Log(title = "食物管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhFood bhFood) + { + return toAjax(bhFoodService.updateBhFood(bhFood)); + } + + /** + * 删除食物管理 + */ + @PreAuthorize("@ss.hasPermi('system:food:remove')") + @Log(title = "食物管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bhFoodService.deleteBhFoodByIds(ids)); + } + + + + + + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhLoveFoodController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhLoveFoodController.java new file mode 100644 index 0000000..b136680 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhLoveFoodController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhLoveFood; +import com.ruoyi.system.service.IBhLoveFoodService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 收藏食物Controller + * + * @author MrYuan + * @date 2023-05-18 + */ +@RestController +@RequestMapping("/system/lovefood") +public class BhLoveFoodController extends BaseController +{ + @Autowired + private IBhLoveFoodService bhLoveFoodService; + + /** + * 查询收藏食物列表 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:list')") + @GetMapping("/list") + public TableDataInfo list(BhLoveFood bhLoveFood) + { + startPage(); + List list = bhLoveFoodService.selectBhLoveFoodList(bhLoveFood); + return getDataTable(list); + } + + /** + * 导出收藏食物列表 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:export')") + @Log(title = "收藏食物", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhLoveFood bhLoveFood) + { + List list = bhLoveFoodService.selectBhLoveFoodList(bhLoveFood); + ExcelUtil util = new ExcelUtil(BhLoveFood.class); + util.exportExcel(response, list, "收藏食物数据"); + } + + /** + * 获取收藏食物详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:query')") + @GetMapping(value = "/{uid}") + public AjaxResult getInfo(@PathVariable("uid") Long uid) + { + return success(bhLoveFoodService.selectBhLoveFoodByUid(uid)); + } + + /** + * 新增收藏食物 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:add')") + @Log(title = "收藏食物", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhLoveFood bhLoveFood) + { + return toAjax(bhLoveFoodService.insertBhLoveFood(bhLoveFood)); + } + + /** + * 修改收藏食物 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:edit')") + @Log(title = "收藏食物", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhLoveFood bhLoveFood) + { + return toAjax(bhLoveFoodService.updateBhLoveFood(bhLoveFood)); + } + + /** + * 删除收藏食物 + */ + @PreAuthorize("@ss.hasPermi('system:lovefood:remove')") + @Log(title = "收藏食物", businessType = BusinessType.DELETE) + @DeleteMapping("/{uids}") + public AjaxResult remove(@PathVariable Long[] uids) + { + return toAjax(bhLoveFoodService.deleteBhLoveFoodByUids(uids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhMoveController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhMoveController.java new file mode 100644 index 0000000..9fa24a7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BhMoveController.java @@ -0,0 +1,104 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BhMove; +import com.ruoyi.system.service.IBhMoveService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 运动项目管理Controller + * + * @author MrYuan + * @date 2023-05-16 + */ +@RestController +@RequestMapping("/system/bhmove") +public class BhMoveController extends BaseController +{ + @Autowired + private IBhMoveService bhMoveService; + + /** + * 查询运动项目管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:list')") + @GetMapping("/list") + public TableDataInfo list(BhMove bhMove) + { + startPage(); + List list = bhMoveService.selectBhMoveList(bhMove); + return getDataTable(list); + } + + /** + * 导出运动项目管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:export')") + @Log(title = "运动项目管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BhMove bhMove) + { + List list = bhMoveService.selectBhMoveList(bhMove); + ExcelUtil util = new ExcelUtil(BhMove.class); + util.exportExcel(response, list, "运动项目管理数据"); + } + + /** + * 获取运动项目管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bhMoveService.selectBhMoveById(id)); + } + + /** + * 新增运动项目管理 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:add')") + @Log(title = "运动项目管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BhMove bhMove) + { + return toAjax(bhMoveService.insertBhMove(bhMove)); + } + + /** + * 修改运动项目管理 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:edit')") + @Log(title = "运动项目管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BhMove bhMove) + { + return toAjax(bhMoveService.updateBhMove(bhMove)); + } + + /** + * 删除运动项目管理 + */ + @PreAuthorize("@ss.hasPermi('system:bhmove:remove')") + @Log(title = "运动项目管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bhMoveService.deleteBhMoveByIds(ids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoHeController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoHeController.java new file mode 100644 index 0000000..71650eb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoHeController.java @@ -0,0 +1,350 @@ +package com.ruoyi.web.controller.system; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.framework.web.domain.server.Sys; +import com.ruoyi.system.domain.*; +import com.ruoyi.system.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.security.PermitAll; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; +@PermitAll +@RestController +@RequestMapping(value = "bohe") +public class BoHeController extends BaseController { + + @Autowired + private IBoheUserService boheUserService; + @Autowired + private IBhCategoriesService bhCategoriesService; + + @Autowired + private IBhFoodService bhFoodService; + @Autowired + private IBhCaloriesService bhCaloriesService; + @Autowired + private IBhMoveService bhMoveService; + @Autowired + private IBhLoveFoodService loveFoodService; + + @Autowired + private IBhALoveService aLoveService; + @Autowired + private IBhArticeService articeService; + + @PermitAll + @PostMapping("/boheLogin") + public AjaxResult boheLogin(@RequestBody BoheUser boheUser) { + System.out.println(boheUser); + BoheUser boheUser1 = new BoheUser(); + boheUser1.setUsername(boheUser.getUsername()); + List boheUsers = boheUserService.selectBoheUserList(boheUser1); + if(boheUsers.size()==0){ + return AjaxResult.error(" 账号不正确 "); + } + boheUser1 = boheUsers.get(0); + if(boheUser1.getPassword().equals(boheUser.getPassword())){ + return success(boheUser1); + } + return AjaxResult.error("账号或密码错误!"); + + } + + /** + * 新增薄荷用户管理 + */ + @PermitAll + @PostMapping("/add") + public AjaxResult add(@RequestBody BoheUser boheUser) { + BoheUser old = new BoheUser(); + old.setUsername(boheUser.getUsername()); + + if (boheUserService.selectBoheUserList(old).size() != 0) { + return AjaxResult.error("用户名已被注册"); + } + + int i = boheUserService.insertBoheUser(boheUser); + if(i == 1){ + return AjaxResult.success(boheUser); + } + + return AjaxResult.error("注册失败"); + + } + + + /** + * 添加摄入和运动消耗 + * @param calories + * @return + */ + @PermitAll + @PostMapping(value = "addCalory") + public AjaxResult addCalory(@RequestBody BhCalories calories){ + + + if(calories.getUid() != null && calories.getUid() > 0){ + BhCalories old = new BhCalories(); + + old.setcId(calories.getcId()); + old.setCreateTime(calories.getCreateTime()); + old.setUid(calories.getUid()); + old.setcType(calories.getcType()); + //检测一下今天是否 同样的食物并且同一类型(早中晚餐) + List oldList = bhCaloriesService.selectBhCaloriesList(old); + if(oldList.size() > 0){ + // 数组结果大于0说明添加过,那就取第一个更新一下 摄入热量 和 食物重量 + oldList.get(0).setcValue(calories.getcValue() + oldList.get(0).getcValue()); + oldList.get(0).setcNum(calories.getcNum() + oldList.get(0).getcNum()); + return toAjax(bhCaloriesService.updateBhCalories(oldList.get(0))); + } + return toAjax(bhCaloriesService.insertBhCalories(calories)); + + + } + + return error(String.valueOf(calories)); + + + } + + + /** + * 查询分类列表 + * @param + * @return + */ + @PermitAll + @PostMapping(value = "categorisList") + public AjaxResult categorisList(){ + return AjaxResult.success(bhCategoriesService.selectBhCategoriesList(new BhCategories())); + } + + /** + * 查询分类下所有食物 + * @param + * @return + */ + @PermitAll + @PostMapping(value = "byCategorisIdFood") + public AjaxResult byCategorisIdFood(@RequestBody BhFood food){ + + if(food.getPid() == null){ + return AjaxResult.error(); + } + return AjaxResult.success(bhFoodService.selectBhFoodList(food)); + } + + + /** + * 查询所有 运动项目 + * @param + * @return + */ + @PermitAll + @PostMapping(value = "movesList") + public AjaxResult movesList(){ + + return AjaxResult.success(bhMoveService.selectBhMoveList(null)); + } + + /** + * 查询所有 运动项目 + * @param + * @return + */ + @PermitAll + @PostMapping(value = "calories") + public AjaxResult calories(@RequestBody BhCalories bhCalories) throws ParseException { +// LocalDate date = LocalDate.now(); +// +// // 格式化日期 +// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); +// String formattedDate = date.format(formatter); +// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); +// bhCalories.setCreateTime(dateFormat.parse(formattedDate)); + return AjaxResult.success(bhCaloriesService.selectBhCaloriesList(bhCalories)); + } + + + + /** + * 查询分类及所属食物列表 + * @param + * @return + */ + @PermitAll + @PostMapping(value = "categorisAndFood") + public AjaxResult categorisAndFood(){ + + + List categories = bhCategoriesService.selectBhCategoriesList(new BhCategories()); + for (BhCategories item: categories + ) { + BhFood bhFood = new BhFood(); + bhFood.setPid(item.getId()); + item.setProducts(bhFoodService.selectBhFoodList(bhFood)); + bhFood = null; + } + + return AjaxResult.success(categories); + } + + /** + * 删除 记录的 食物 或者 运动 + * @param bhCalories + * @return + * @throws ParseException + */ + @PermitAll + @PostMapping(value = "delCalories") + public AjaxResult delCalories(@RequestBody BhCalories bhCalories) throws ParseException { + System.out.println(bhCalories); + if(bhCalories.getcType() == null || bhCalories.getcId() == null || bhCalories.getUid() == null || bhCalories.getcNum() == null || bhCalories.getCreateTime() == null){ + return AjaxResult.error(); + } + return AjaxResult.success(bhCaloriesService.deleteBhCaloriesByOne(bhCalories)); + } + + /** + * 查询所有收藏食物 + * @param loveFood + * @return + * @throws ParseException + */ + @PermitAll + @PostMapping(value = "loveFoods") + public AjaxResult loveFoods(@RequestBody BhLoveFood loveFood) throws ParseException { + + + return AjaxResult.success(loveFoodService.selectBhLoveList(loveFood.getUid())); + } + + /** + * 添加收藏食物 + * @param loveFood + * @return + * @throws ParseException + */ + @PermitAll + @PostMapping(value = "addloveFood") + public AjaxResult addloveFood(@RequestBody BhLoveFood loveFood) { + return AjaxResult.success(loveFoodService.insertBhLoveFood(loveFood)); + } + + /** + * 删除 收藏的食物 + * @param loveFood + * @return + */ + @PermitAll + @PostMapping(value = "deleteBhLove") + public AjaxResult deleteBhLove(@RequestBody BhLoveFood loveFood) { + return AjaxResult.success(loveFoodService.deleteBhLove(loveFood)); + } + + + /** + * 检测是否收藏当前食物 1是 0否 + * @param loveFood + * @return + */ + @PermitAll + @PostMapping(value = "loveStatus") + public AjaxResult loveStatus(@RequestBody BhLoveFood loveFood) { + return AjaxResult.success(loveFoodService.selectBhLoveFoodList(loveFood).size() > 0 ? 1 : 0); + } + + + + + /** + * 获取当前用户信息 + * @param userInfo + * @return + */ + @PermitAll + @PostMapping(value = "userInfo") + public AjaxResult userInfo(@RequestBody BoheUser user) { + return AjaxResult.success(boheUserService.selectBoheUserById(user.getId())); + } + + + /** + * 获取当前用户信息 + * @param updateUserInfo + * @return + */ + @PermitAll + @PostMapping(value = "updateUserInfo") + public AjaxResult updateUserInfo(@RequestBody BoheUser user) { + return AjaxResult.success(boheUserService.updateBoheUser(user)); + } + + + /** + * 查询社区列表 + */ + @PostMapping("/Articelist") + public List Articelist(BhArtice bhArtice) + { + List list = articeService.selectBhArticeList(bhArtice); + for (BhArtice item: list + ) { + BhALove love = new BhALove(); + love.setUid(bhArtice.getUserid()); + love.setAid(item.getId()); + item.setStatus(aLoveService.selectBhALoveList(love).size() > 0); + } + return list; + } + + + /** + * 新增社区 + */ + @PostMapping("/bhArticeadd") + public AjaxResult bhArticeadd(@RequestBody BhArtice bhArtice) + { + return toAjax(articeService.insertBhArtice(bhArtice)); + } + + + /** + * 新增点赞记录 + */ + @PostMapping("/bhALoveadd") + public AjaxResult bhALoveadd(@RequestBody BhALove bhALove) + { + System.out.println(bhALove); + + try { + aLoveService.insertBhALove(bhALove); + }catch (Exception e){ + aLoveService.deleteBhALoveByUid(bhALove); + } + + + BhArtice a = articeService.selectBhArticeById(bhALove.getAid()); + BhALove love = new BhALove(); + love.setUid(bhALove.getUid()); + love.setAid(a.getId()); + a.setStatus(aLoveService.selectBhALoveList(love).size() > 0); + return AjaxResult.success(a); + } + + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoheUserController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoheUserController.java new file mode 100644 index 0000000..c2ccb33 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/BoheUserController.java @@ -0,0 +1,112 @@ +package com.ruoyi.web.controller.system; + +import java.math.BigDecimal; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.framework.web.domain.server.Sys; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BoheUser; +import com.ruoyi.system.service.IBoheUserService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 薄荷用户管理Controller + * + * @author MrYuan + * @date 2023-05-16 + */ +@RestController +@RequestMapping("/system/boheUser") +public class BoheUserController extends BaseController { + @Autowired + private IBoheUserService boheUserService; + + /** + * 查询薄荷用户管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:boheUser:list')") + @GetMapping("/list") + public TableDataInfo list(BoheUser boheUser) { + startPage(); + List list = boheUserService.selectBoheUserList(boheUser); + return getDataTable(list); + } + + /** + * 导出薄荷用户管理列表 + */ + @PreAuthorize("@ss.hasPermi('system:boheUser:export')") + @Log(title = "薄荷用户管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BoheUser boheUser) { + List list = boheUserService.selectBoheUserList(boheUser); + ExcelUtil util = new ExcelUtil(BoheUser.class); + util.exportExcel(response, list, "薄荷用户管理数据"); + } + + /** + * 获取薄荷用户管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:boheUser:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(boheUserService.selectBoheUserById(id)); + } + + /** + * 新增薄荷用户管理 + */ + + @Anonymous + @Log(title = "薄荷用户管理", businessType = BusinessType.INSERT) + @PostMapping("/add") + public AjaxResult add(@RequestBody BoheUser boheUser) { + BoheUser old = new BoheUser(); + old.setUsername(boheUser.getUsername()); + + if (boheUserService.selectBoheUserList(old).size() != 0) { + return AjaxResult.error("用户名已被注册"); + } + return toAjax(boheUserService.insertBoheUser(boheUser)); + + } + + + + + /** + * 修改薄荷用户管理 + */ + @PreAuthorize("@ss.hasPermi('system:boheUser:edit')") + @Log(title = "薄荷用户管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BoheUser boheUser) { + return toAjax(boheUserService.updateBoheUser(boheUser)); + } + + /** + * 删除薄荷用户管理 + */ + @PreAuthorize("@ss.hasPermi('system:boheUser:remove')") + @Log(title = "薄荷用户管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(boheUserService.deleteBoheUserByIds(ids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java new file mode 100644 index 0000000..ab4653d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -0,0 +1,133 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.system.service.ISysConfigService; + +/** + * 参数配置 信息操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/config") +public class SysConfigController extends BaseController +{ + @Autowired + private ISysConfigService configService; + + /** + * 获取参数配置列表 + */ + @PreAuthorize("@ss.hasPermi('system:config:list')") + @GetMapping("/list") + public TableDataInfo list(SysConfig config) + { + startPage(); + List list = configService.selectConfigList(config); + return getDataTable(list); + } + + @Log(title = "参数管理", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:config:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysConfig config) + { + List list = configService.selectConfigList(config); + ExcelUtil util = new ExcelUtil(SysConfig.class); + util.exportExcel(response, list, "参数数据"); + } + + /** + * 根据参数编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:config:query')") + @GetMapping(value = "/{configId}") + public AjaxResult getInfo(@PathVariable Long configId) + { + return success(configService.selectConfigById(configId)); + } + + /** + * 根据参数键名查询参数值 + */ + @GetMapping(value = "/configKey/{configKey}") + public AjaxResult getConfigKey(@PathVariable String configKey) + { + return success(configService.selectConfigByKey(configKey)); + } + + /** + * 新增参数配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:add')") + @Log(title = "参数管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysConfig config) + { + if (!configService.checkConfigKeyUnique(config)) + { + return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); + } + config.setCreateBy(getUsername()); + return toAjax(configService.insertConfig(config)); + } + + /** + * 修改参数配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:edit')") + @Log(title = "参数管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysConfig config) + { + if (!configService.checkConfigKeyUnique(config)) + { + return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); + } + config.setUpdateBy(getUsername()); + return toAjax(configService.updateConfig(config)); + } + + /** + * 删除参数配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:remove')") + @Log(title = "参数管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{configIds}") + public AjaxResult remove(@PathVariable Long[] configIds) + { + configService.deleteConfigByIds(configIds); + return success(); + } + + /** + * 刷新参数缓存 + */ + @PreAuthorize("@ss.hasPermi('system:config:remove')") + @Log(title = "参数管理", businessType = BusinessType.CLEAN) + @DeleteMapping("/refreshCache") + public AjaxResult refreshCache() + { + configService.resetConfigCache(); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java new file mode 100644 index 0000000..59e7588 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java @@ -0,0 +1,132 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysDeptService; + +/** + * 部门信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/dept") +public class SysDeptController extends BaseController +{ + @Autowired + private ISysDeptService deptService; + + /** + * 获取部门列表 + */ + @PreAuthorize("@ss.hasPermi('system:dept:list')") + @GetMapping("/list") + public AjaxResult list(SysDept dept) + { + List depts = deptService.selectDeptList(dept); + return success(depts); + } + + /** + * 查询部门列表(排除节点) + */ + @PreAuthorize("@ss.hasPermi('system:dept:list')") + @GetMapping("/list/exclude/{deptId}") + public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) + { + List depts = deptService.selectDeptList(new SysDept()); + depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + "")); + return success(depts); + } + + /** + * 根据部门编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:dept:query')") + @GetMapping(value = "/{deptId}") + public AjaxResult getInfo(@PathVariable Long deptId) + { + deptService.checkDeptDataScope(deptId); + return success(deptService.selectDeptById(deptId)); + } + + /** + * 新增部门 + */ + @PreAuthorize("@ss.hasPermi('system:dept:add')") + @Log(title = "部门管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysDept dept) + { + if (!deptService.checkDeptNameUnique(dept)) + { + return error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在"); + } + dept.setCreateBy(getUsername()); + return toAjax(deptService.insertDept(dept)); + } + + /** + * 修改部门 + */ + @PreAuthorize("@ss.hasPermi('system:dept:edit')") + @Log(title = "部门管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysDept dept) + { + Long deptId = dept.getDeptId(); + deptService.checkDeptDataScope(deptId); + if (!deptService.checkDeptNameUnique(dept)) + { + return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在"); + } + else if (dept.getParentId().equals(deptId)) + { + return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己"); + } + else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0) + { + return error("该部门包含未停用的子部门!"); + } + dept.setUpdateBy(getUsername()); + return toAjax(deptService.updateDept(dept)); + } + + /** + * 删除部门 + */ + @PreAuthorize("@ss.hasPermi('system:dept:remove')") + @Log(title = "部门管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{deptId}") + public AjaxResult remove(@PathVariable Long deptId) + { + if (deptService.hasChildByDeptId(deptId)) + { + return warn("存在下级部门,不允许删除"); + } + if (deptService.checkDeptExistUser(deptId)) + { + return warn("部门存在用户,不允许删除"); + } + deptService.checkDeptDataScope(deptId); + return toAjax(deptService.deleteDeptById(deptId)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java new file mode 100644 index 0000000..59becaf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -0,0 +1,121 @@ +package com.ruoyi.web.controller.system; + +import java.util.ArrayList; +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.ISysDictDataService; +import com.ruoyi.system.service.ISysDictTypeService; + +/** + * 数据字典信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/dict/data") +public class SysDictDataController extends BaseController +{ + @Autowired + private ISysDictDataService dictDataService; + + @Autowired + private ISysDictTypeService dictTypeService; + + @PreAuthorize("@ss.hasPermi('system:dict:list')") + @GetMapping("/list") + public TableDataInfo list(SysDictData dictData) + { + startPage(); + List list = dictDataService.selectDictDataList(dictData); + return getDataTable(list); + } + + @Log(title = "字典数据", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:dict:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysDictData dictData) + { + List list = dictDataService.selectDictDataList(dictData); + ExcelUtil util = new ExcelUtil(SysDictData.class); + util.exportExcel(response, list, "字典数据"); + } + + /** + * 查询字典数据详细 + */ + @PreAuthorize("@ss.hasPermi('system:dict:query')") + @GetMapping(value = "/{dictCode}") + public AjaxResult getInfo(@PathVariable Long dictCode) + { + return success(dictDataService.selectDictDataById(dictCode)); + } + + /** + * 根据字典类型查询字典数据信息 + */ + @GetMapping(value = "/type/{dictType}") + public AjaxResult dictType(@PathVariable String dictType) + { + List data = dictTypeService.selectDictDataByType(dictType); + if (StringUtils.isNull(data)) + { + data = new ArrayList(); + } + return success(data); + } + + /** + * 新增字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:add')") + @Log(title = "字典数据", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysDictData dict) + { + dict.setCreateBy(getUsername()); + return toAjax(dictDataService.insertDictData(dict)); + } + + /** + * 修改保存字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:edit')") + @Log(title = "字典数据", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysDictData dict) + { + dict.setUpdateBy(getUsername()); + return toAjax(dictDataService.updateDictData(dict)); + } + + /** + * 删除字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:remove')") + @Log(title = "字典类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{dictCodes}") + public AjaxResult remove(@PathVariable Long[] dictCodes) + { + dictDataService.deleteDictDataByIds(dictCodes); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java new file mode 100644 index 0000000..c53867c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java @@ -0,0 +1,131 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDictType; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.ISysDictTypeService; + +/** + * 数据字典信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/dict/type") +public class SysDictTypeController extends BaseController +{ + @Autowired + private ISysDictTypeService dictTypeService; + + @PreAuthorize("@ss.hasPermi('system:dict:list')") + @GetMapping("/list") + public TableDataInfo list(SysDictType dictType) + { + startPage(); + List list = dictTypeService.selectDictTypeList(dictType); + return getDataTable(list); + } + + @Log(title = "字典类型", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:dict:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysDictType dictType) + { + List list = dictTypeService.selectDictTypeList(dictType); + ExcelUtil util = new ExcelUtil(SysDictType.class); + util.exportExcel(response, list, "字典类型"); + } + + /** + * 查询字典类型详细 + */ + @PreAuthorize("@ss.hasPermi('system:dict:query')") + @GetMapping(value = "/{dictId}") + public AjaxResult getInfo(@PathVariable Long dictId) + { + return success(dictTypeService.selectDictTypeById(dictId)); + } + + /** + * 新增字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:add')") + @Log(title = "字典类型", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysDictType dict) + { + if (!dictTypeService.checkDictTypeUnique(dict)) + { + return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); + } + dict.setCreateBy(getUsername()); + return toAjax(dictTypeService.insertDictType(dict)); + } + + /** + * 修改字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:edit')") + @Log(title = "字典类型", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysDictType dict) + { + if (!dictTypeService.checkDictTypeUnique(dict)) + { + return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); + } + dict.setUpdateBy(getUsername()); + return toAjax(dictTypeService.updateDictType(dict)); + } + + /** + * 删除字典类型 + */ + @PreAuthorize("@ss.hasPermi('system:dict:remove')") + @Log(title = "字典类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{dictIds}") + public AjaxResult remove(@PathVariable Long[] dictIds) + { + dictTypeService.deleteDictTypeByIds(dictIds); + return success(); + } + + /** + * 刷新字典缓存 + */ + @PreAuthorize("@ss.hasPermi('system:dict:remove')") + @Log(title = "字典类型", businessType = BusinessType.CLEAN) + @DeleteMapping("/refreshCache") + public AjaxResult refreshCache() + { + dictTypeService.resetDictCache(); + return success(); + } + + /** + * 获取字典选择框列表 + */ + @GetMapping("/optionselect") + public AjaxResult optionselect() + { + List dictTypes = dictTypeService.selectDictTypeAll(); + return success(dictTypes); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java new file mode 100644 index 0000000..13007eb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -0,0 +1,29 @@ +package com.ruoyi.web.controller.system; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.StringUtils; + +/** + * 首页 + * + * @author ruoyi + */ +@RestController +public class SysIndexController +{ + /** 系统基础配置 */ + @Autowired + private RuoYiConfig ruoyiConfig; + + /** + * 访问首页,提示语 + */ + @RequestMapping("/") + public String index() + { + return StringUtils.format("欢迎使用{}后台管理框架,当前版本:v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion()); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java new file mode 100644 index 0000000..d959a17 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -0,0 +1,86 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import java.util.Set; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginBody; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.web.service.SysLoginService; +import com.ruoyi.framework.web.service.SysPermissionService; +import com.ruoyi.system.service.ISysMenuService; + +/** + * 登录验证 + * + * @author ruoyi + */ +@RestController +public class SysLoginController +{ + @Autowired + private SysLoginService loginService; + + @Autowired + private ISysMenuService menuService; + + @Autowired + private SysPermissionService permissionService; + + /** + * 登录方法 + * + * @param loginBody 登录信息 + * @return 结果 + */ + @PostMapping("/login") + public AjaxResult login(@RequestBody LoginBody loginBody) + { + AjaxResult ajax = AjaxResult.success(); + // 生成令牌 + String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), + loginBody.getUuid()); + ajax.put(Constants.TOKEN, token); + return ajax; + } + + /** + * 获取用户信息 + * + * @return 用户信息 + */ + @GetMapping("getInfo") + public AjaxResult getInfo() + { + SysUser user = SecurityUtils.getLoginUser().getUser(); + // 角色集合 + Set roles = permissionService.getRolePermission(user); + // 权限集合 + Set permissions = permissionService.getMenuPermission(user); + AjaxResult ajax = AjaxResult.success(); + ajax.put("user", user); + ajax.put("roles", roles); + ajax.put("permissions", permissions); + return ajax; + } + + /** + * 获取路由信息 + * + * @return 路由信息 + */ + @GetMapping("getRouters") + public AjaxResult getRouters() + { + Long userId = SecurityUtils.getUserId(); + List menus = menuService.selectMenuTreeByUserId(userId); + return AjaxResult.success(menuService.buildMenus(menus)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java new file mode 100644 index 0000000..03b6b65 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java @@ -0,0 +1,142 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysMenuService; + +/** + * 菜单信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/menu") +public class SysMenuController extends BaseController +{ + @Autowired + private ISysMenuService menuService; + + /** + * 获取菜单列表 + */ + @PreAuthorize("@ss.hasPermi('system:menu:list')") + @GetMapping("/list") + public AjaxResult list(SysMenu menu) + { + List menus = menuService.selectMenuList(menu, getUserId()); + return success(menus); + } + + /** + * 根据菜单编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:menu:query')") + @GetMapping(value = "/{menuId}") + public AjaxResult getInfo(@PathVariable Long menuId) + { + return success(menuService.selectMenuById(menuId)); + } + + /** + * 获取菜单下拉树列表 + */ + @GetMapping("/treeselect") + public AjaxResult treeselect(SysMenu menu) + { + List menus = menuService.selectMenuList(menu, getUserId()); + return success(menuService.buildMenuTreeSelect(menus)); + } + + /** + * 加载对应角色菜单列表树 + */ + @GetMapping(value = "/roleMenuTreeselect/{roleId}") + public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) + { + List menus = menuService.selectMenuList(getUserId()); + AjaxResult ajax = AjaxResult.success(); + ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId)); + ajax.put("menus", menuService.buildMenuTreeSelect(menus)); + return ajax; + } + + /** + * 新增菜单 + */ + @PreAuthorize("@ss.hasPermi('system:menu:add')") + @Log(title = "菜单管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysMenu menu) + { + if (!menuService.checkMenuNameUnique(menu)) + { + return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); + } + else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) + { + return error("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); + } + menu.setCreateBy(getUsername()); + return toAjax(menuService.insertMenu(menu)); + } + + /** + * 修改菜单 + */ + @PreAuthorize("@ss.hasPermi('system:menu:edit')") + @Log(title = "菜单管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysMenu menu) + { + if (!menuService.checkMenuNameUnique(menu)) + { + return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); + } + else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) + { + return error("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); + } + else if (menu.getMenuId().equals(menu.getParentId())) + { + return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己"); + } + menu.setUpdateBy(getUsername()); + return toAjax(menuService.updateMenu(menu)); + } + + /** + * 删除菜单 + */ + @PreAuthorize("@ss.hasPermi('system:menu:remove')") + @Log(title = "菜单管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{menuId}") + public AjaxResult remove(@PathVariable("menuId") Long menuId) + { + if (menuService.hasChildByMenuId(menuId)) + { + return warn("存在子菜单,不允许删除"); + } + if (menuService.checkMenuExistRole(menuId)) + { + return warn("菜单已分配,不允许删除"); + } + return toAjax(menuService.deleteMenuById(menuId)); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java new file mode 100644 index 0000000..8622828 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java @@ -0,0 +1,91 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.SysNotice; +import com.ruoyi.system.service.ISysNoticeService; + +/** + * 公告 信息操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/notice") +public class SysNoticeController extends BaseController +{ + @Autowired + private ISysNoticeService noticeService; + + /** + * 获取通知公告列表 + */ + @PreAuthorize("@ss.hasPermi('system:notice:list')") + @GetMapping("/list") + public TableDataInfo list(SysNotice notice) + { + startPage(); + List list = noticeService.selectNoticeList(notice); + return getDataTable(list); + } + + /** + * 根据通知公告编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:notice:query')") + @GetMapping(value = "/{noticeId}") + public AjaxResult getInfo(@PathVariable Long noticeId) + { + return success(noticeService.selectNoticeById(noticeId)); + } + + /** + * 新增通知公告 + */ + @PreAuthorize("@ss.hasPermi('system:notice:add')") + @Log(title = "通知公告", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysNotice notice) + { + notice.setCreateBy(getUsername()); + return toAjax(noticeService.insertNotice(notice)); + } + + /** + * 修改通知公告 + */ + @PreAuthorize("@ss.hasPermi('system:notice:edit')") + @Log(title = "通知公告", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysNotice notice) + { + notice.setUpdateBy(getUsername()); + return toAjax(noticeService.updateNotice(notice)); + } + + /** + * 删除通知公告 + */ + @PreAuthorize("@ss.hasPermi('system:notice:remove')") + @Log(title = "通知公告", businessType = BusinessType.DELETE) + @DeleteMapping("/{noticeIds}") + public AjaxResult remove(@PathVariable Long[] noticeIds) + { + return toAjax(noticeService.deleteNoticeByIds(noticeIds)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java new file mode 100644 index 0000000..c37a543 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java @@ -0,0 +1,129 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.service.ISysPostService; + +/** + * 岗位信息操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/post") +public class SysPostController extends BaseController +{ + @Autowired + private ISysPostService postService; + + /** + * 获取岗位列表 + */ + @PreAuthorize("@ss.hasPermi('system:post:list')") + @GetMapping("/list") + public TableDataInfo list(SysPost post) + { + startPage(); + List list = postService.selectPostList(post); + return getDataTable(list); + } + + @Log(title = "岗位管理", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:post:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysPost post) + { + List list = postService.selectPostList(post); + ExcelUtil util = new ExcelUtil(SysPost.class); + util.exportExcel(response, list, "岗位数据"); + } + + /** + * 根据岗位编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:post:query')") + @GetMapping(value = "/{postId}") + public AjaxResult getInfo(@PathVariable Long postId) + { + return success(postService.selectPostById(postId)); + } + + /** + * 新增岗位 + */ + @PreAuthorize("@ss.hasPermi('system:post:add')") + @Log(title = "岗位管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysPost post) + { + if (!postService.checkPostNameUnique(post)) + { + return error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在"); + } + else if (!postService.checkPostCodeUnique(post)) + { + return error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在"); + } + post.setCreateBy(getUsername()); + return toAjax(postService.insertPost(post)); + } + + /** + * 修改岗位 + */ + @PreAuthorize("@ss.hasPermi('system:post:edit')") + @Log(title = "岗位管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysPost post) + { + if (!postService.checkPostNameUnique(post)) + { + return error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在"); + } + else if (!postService.checkPostCodeUnique(post)) + { + return error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在"); + } + post.setUpdateBy(getUsername()); + return toAjax(postService.updatePost(post)); + } + + /** + * 删除岗位 + */ + @PreAuthorize("@ss.hasPermi('system:post:remove')") + @Log(title = "岗位管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{postIds}") + public AjaxResult remove(@PathVariable Long[] postIds) + { + return toAjax(postService.deletePostByIds(postIds)); + } + + /** + * 获取岗位选择框列表 + */ + @GetMapping("/optionselect") + public AjaxResult optionselect() + { + List posts = postService.selectPostAll(); + return success(posts); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java new file mode 100644 index 0000000..87a6e60 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -0,0 +1,141 @@ +package com.ruoyi.web.controller.system; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUploadUtils; +import com.ruoyi.common.utils.file.MimeTypeUtils; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 个人信息 业务处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/user/profile") +public class SysProfileController extends BaseController +{ + @Autowired + private ISysUserService userService; + + @Autowired + private TokenService tokenService; + + /** + * 个人信息 + */ + @GetMapping + public AjaxResult profile() + { + LoginUser loginUser = getLoginUser(); + SysUser user = loginUser.getUser(); + AjaxResult ajax = AjaxResult.success(user); + ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername())); + ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername())); + return ajax; + } + + /** + * 修改用户 + */ + @Log(title = "个人信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult updateProfile(@RequestBody SysUser user) + { + LoginUser loginUser = getLoginUser(); + SysUser sysUser = loginUser.getUser(); + user.setUserName(sysUser.getUserName()); + if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) + { + return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); + } + if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) + { + return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); + } + user.setUserId(sysUser.getUserId()); + user.setPassword(null); + user.setAvatar(null); + user.setDeptId(null); + if (userService.updateUserProfile(user) > 0) + { + // 更新缓存用户信息 + sysUser.setNickName(user.getNickName()); + sysUser.setPhonenumber(user.getPhonenumber()); + sysUser.setEmail(user.getEmail()); + sysUser.setSex(user.getSex()); + tokenService.setLoginUser(loginUser); + return success(); + } + return error("修改个人信息异常,请联系管理员"); + } + + /** + * 重置密码 + */ + @Log(title = "个人信息", businessType = BusinessType.UPDATE) + @PutMapping("/updatePwd") + public AjaxResult updatePwd(String oldPassword, String newPassword) + { + LoginUser loginUser = getLoginUser(); + String userName = loginUser.getUsername(); + String password = loginUser.getPassword(); + if (!SecurityUtils.matchesPassword(oldPassword, password)) + { + return error("修改密码失败,旧密码错误"); + } + if (SecurityUtils.matchesPassword(newPassword, password)) + { + return error("新密码不能与旧密码相同"); + } + if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) + { + // 更新缓存用户密码 + loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword)); + tokenService.setLoginUser(loginUser); + return success(); + } + return error("修改密码异常,请联系管理员"); + } + + /** + * 头像上传 + */ + @Log(title = "用户头像", businessType = BusinessType.UPDATE) + @PostMapping("/avatar") + public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws Exception + { + if (!file.isEmpty()) + { + LoginUser loginUser = getLoginUser(); + String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION); + if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) + { + AjaxResult ajax = AjaxResult.success(); + ajax.put("imgUrl", avatar); + // 更新缓存用户头像 + loginUser.getUser().setAvatar(avatar); + tokenService.setLoginUser(loginUser); + return ajax; + } + } + return error("上传图片异常,请联系管理员"); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java new file mode 100644 index 0000000..fe19249 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java @@ -0,0 +1,38 @@ +package com.ruoyi.web.controller.system; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.model.RegisterBody; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.web.service.SysRegisterService; +import com.ruoyi.system.service.ISysConfigService; + +/** + * 注册验证 + * + * @author ruoyi + */ +@RestController +public class SysRegisterController extends BaseController +{ + @Autowired + private SysRegisterService registerService; + + @Autowired + private ISysConfigService configService; + + @PostMapping("/register") + public AjaxResult register(@RequestBody RegisterBody user) + { + if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) + { + return error("当前系统没有开启注册功能!"); + } + String msg = registerService.register(user); + return StringUtils.isEmpty(msg) ? success() : error(msg); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java new file mode 100644 index 0000000..232c5fa --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -0,0 +1,262 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.web.service.SysPermissionService; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 角色信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/role") +public class SysRoleController extends BaseController +{ + @Autowired + private ISysRoleService roleService; + + @Autowired + private TokenService tokenService; + + @Autowired + private SysPermissionService permissionService; + + @Autowired + private ISysUserService userService; + + @Autowired + private ISysDeptService deptService; + + @PreAuthorize("@ss.hasPermi('system:role:list')") + @GetMapping("/list") + public TableDataInfo list(SysRole role) + { + startPage(); + List list = roleService.selectRoleList(role); + return getDataTable(list); + } + + @Log(title = "角色管理", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:role:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysRole role) + { + List list = roleService.selectRoleList(role); + ExcelUtil util = new ExcelUtil(SysRole.class); + util.exportExcel(response, list, "角色数据"); + } + + /** + * 根据角色编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:role:query')") + @GetMapping(value = "/{roleId}") + public AjaxResult getInfo(@PathVariable Long roleId) + { + roleService.checkRoleDataScope(roleId); + return success(roleService.selectRoleById(roleId)); + } + + /** + * 新增角色 + */ + @PreAuthorize("@ss.hasPermi('system:role:add')") + @Log(title = "角色管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysRole role) + { + if (!roleService.checkRoleNameUnique(role)) + { + return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在"); + } + else if (!roleService.checkRoleKeyUnique(role)) + { + return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在"); + } + role.setCreateBy(getUsername()); + return toAjax(roleService.insertRole(role)); + + } + + /** + * 修改保存角色 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysRole role) + { + roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); + if (!roleService.checkRoleNameUnique(role)) + { + return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在"); + } + else if (!roleService.checkRoleKeyUnique(role)) + { + return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在"); + } + role.setUpdateBy(getUsername()); + + if (roleService.updateRole(role) > 0) + { + // 更新缓存用户权限 + LoginUser loginUser = getLoginUser(); + if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) + { + loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); + loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); + tokenService.setLoginUser(loginUser); + } + return success(); + } + return error("修改角色'" + role.getRoleName() + "'失败,请联系管理员"); + } + + /** + * 修改保存数据权限 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.UPDATE) + @PutMapping("/dataScope") + public AjaxResult dataScope(@RequestBody SysRole role) + { + roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); + return toAjax(roleService.authDataScope(role)); + } + + /** + * 状态修改 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysRole role) + { + roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); + role.setUpdateBy(getUsername()); + return toAjax(roleService.updateRoleStatus(role)); + } + + /** + * 删除角色 + */ + @PreAuthorize("@ss.hasPermi('system:role:remove')") + @Log(title = "角色管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{roleIds}") + public AjaxResult remove(@PathVariable Long[] roleIds) + { + return toAjax(roleService.deleteRoleByIds(roleIds)); + } + + /** + * 获取角色选择框列表 + */ + @PreAuthorize("@ss.hasPermi('system:role:query')") + @GetMapping("/optionselect") + public AjaxResult optionselect() + { + return success(roleService.selectRoleAll()); + } + + /** + * 查询已分配用户角色列表 + */ + @PreAuthorize("@ss.hasPermi('system:role:list')") + @GetMapping("/authUser/allocatedList") + public TableDataInfo allocatedList(SysUser user) + { + startPage(); + List list = userService.selectAllocatedList(user); + return getDataTable(list); + } + + /** + * 查询未分配用户角色列表 + */ + @PreAuthorize("@ss.hasPermi('system:role:list')") + @GetMapping("/authUser/unallocatedList") + public TableDataInfo unallocatedList(SysUser user) + { + startPage(); + List list = userService.selectUnallocatedList(user); + return getDataTable(list); + } + + /** + * 取消授权用户 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.GRANT) + @PutMapping("/authUser/cancel") + public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole) + { + return toAjax(roleService.deleteAuthUser(userRole)); + } + + /** + * 批量取消授权用户 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.GRANT) + @PutMapping("/authUser/cancelAll") + public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds) + { + return toAjax(roleService.deleteAuthUsers(roleId, userIds)); + } + + /** + * 批量选择用户授权 + */ + @PreAuthorize("@ss.hasPermi('system:role:edit')") + @Log(title = "角色管理", businessType = BusinessType.GRANT) + @PutMapping("/authUser/selectAll") + public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds) + { + roleService.checkRoleDataScope(roleId); + return toAjax(roleService.insertAuthUsers(roleId, userIds)); + } + + /** + * 获取对应角色部门树列表 + */ + @PreAuthorize("@ss.hasPermi('system:role:query')") + @GetMapping(value = "/deptTree/{roleId}") + public AjaxResult deptTree(@PathVariable("roleId") Long roleId) + { + AjaxResult ajax = AjaxResult.success(); + ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); + ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); + return ajax; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java new file mode 100644 index 0000000..256367b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -0,0 +1,251 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.system.service.ISysPostService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 用户信息 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/user") +public class SysUserController extends BaseController +{ + @Autowired + private ISysUserService userService; + + @Autowired + private ISysRoleService roleService; + + @Autowired + private ISysDeptService deptService; + + @Autowired + private ISysPostService postService; + + /** + * 获取用户列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:list')") + @GetMapping("/list") + public TableDataInfo list(SysUser user) + { + startPage(); + List list = userService.selectUserList(user); + return getDataTable(list); + } + + @Log(title = "用户管理", businessType = BusinessType.EXPORT) + @PreAuthorize("@ss.hasPermi('system:user:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, SysUser user) + { + List list = userService.selectUserList(user); + ExcelUtil util = new ExcelUtil(SysUser.class); + util.exportExcel(response, list, "用户数据"); + } + + @Log(title = "用户管理", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('system:user:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception + { + ExcelUtil util = new ExcelUtil(SysUser.class); + List userList = util.importExcel(file.getInputStream()); + String operName = getUsername(); + String message = userService.importUser(userList, updateSupport, operName); + return success(message); + } + + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) + { + ExcelUtil util = new ExcelUtil(SysUser.class); + util.importTemplateExcel(response, "用户数据"); + } + + /** + * 根据用户编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:user:query')") + @GetMapping(value = { "/", "/{userId}" }) + public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) + { + userService.checkUserDataScope(userId); + AjaxResult ajax = AjaxResult.success(); + List roles = roleService.selectRoleAll(); + ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + ajax.put("posts", postService.selectPostAll()); + if (StringUtils.isNotNull(userId)) + { + SysUser sysUser = userService.selectUserById(userId); + ajax.put(AjaxResult.DATA_TAG, sysUser); + ajax.put("postIds", postService.selectPostListByUserId(userId)); + ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); + } + return ajax; + } + + /** + * 新增用户 + */ + @PreAuthorize("@ss.hasPermi('system:user:add')") + @Log(title = "用户管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@Validated @RequestBody SysUser user) + { + if (!userService.checkUserNameUnique(user)) + { + return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); + } + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) + { + return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); + } + else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) + { + return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); + } + user.setCreateBy(getUsername()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + return toAjax(userService.insertUser(user)); + } + + /** + * 修改用户 + */ + @PreAuthorize("@ss.hasPermi('system:user:edit')") + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@Validated @RequestBody SysUser user) + { + userService.checkUserAllowed(user); + userService.checkUserDataScope(user.getUserId()); + if (!userService.checkUserNameUnique(user)) + { + return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在"); + } + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) + { + return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); + } + else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) + { + return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); + } + user.setUpdateBy(getUsername()); + return toAjax(userService.updateUser(user)); + } + + /** + * 删除用户 + */ + @PreAuthorize("@ss.hasPermi('system:user:remove')") + @Log(title = "用户管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{userIds}") + public AjaxResult remove(@PathVariable Long[] userIds) + { + if (ArrayUtils.contains(userIds, getUserId())) + { + return error("当前用户不能删除"); + } + return toAjax(userService.deleteUserByIds(userIds)); + } + + /** + * 重置密码 + */ + @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @PutMapping("/resetPwd") + public AjaxResult resetPwd(@RequestBody SysUser user) + { + userService.checkUserAllowed(user); + userService.checkUserDataScope(user.getUserId()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setUpdateBy(getUsername()); + return toAjax(userService.resetPwd(user)); + } + + /** + * 状态修改 + */ + @PreAuthorize("@ss.hasPermi('system:user:edit')") + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysUser user) + { + userService.checkUserAllowed(user); + userService.checkUserDataScope(user.getUserId()); + user.setUpdateBy(getUsername()); + return toAjax(userService.updateUserStatus(user)); + } + + /** + * 根据用户编号获取授权角色 + */ + @PreAuthorize("@ss.hasPermi('system:user:query')") + @GetMapping("/authRole/{userId}") + public AjaxResult authRole(@PathVariable("userId") Long userId) + { + AjaxResult ajax = AjaxResult.success(); + SysUser user = userService.selectUserById(userId); + List roles = roleService.selectRolesByUserId(userId); + ajax.put("user", user); + ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + return ajax; + } + + /** + * 用户授权角色 + */ + @PreAuthorize("@ss.hasPermi('system:user:edit')") + @Log(title = "用户管理", businessType = BusinessType.GRANT) + @PutMapping("/authRole") + public AjaxResult insertAuthRole(Long userId, Long[] roleIds) + { + userService.checkUserDataScope(userId); + userService.insertUserAuth(userId, roleIds); + return success(); + } + + /** + * 获取部门树列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:list')") + @GetMapping("/deptTree") + public AjaxResult deptTree(SysDept dept) + { + return success(deptService.selectDeptTreeList(dept)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java new file mode 100644 index 0000000..ba25d78 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java @@ -0,0 +1,279 @@ +package com.ruoyi.web.controller.tool; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.utils.http.HttpUtils; +import com.ruoyi.framework.web.domain.server.Sys; +import com.ruoyi.system.domain.BhFood; +import com.ruoyi.system.service.IBhFoodService; +import io.swagger.models.auth.In; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.utils.StringUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; + +/** + * swagger 用户测试方法 + * + * @author ruoyi + */ +@Api("用户信息管理") +@RestController +@RequestMapping("/test/user") +public class TestController extends BaseController +{ + + + @Autowired + private IBhFoodService foodService; + + public static void main(String[] args) { + + } + + @ApiOperation("获取食物") + @GetMapping("/getFood/{pid}") + public R getFood(@PathVariable Long pid) + { + + Integer num = 0; + + for(int i = 1; i<=2; ){ + String url = "https://food.boohee.com//fb/v1/foods?value="+pid+"+&kind=group&page="+i+"&order_asc=0"; + String result = HttpUtils.sendGet(url); + ResultObject resultObject = JSONObject.parseObject(StringUtils.toUnderScoreCase(result),ResultObject.class); + for (BhFood food: resultObject.getFoods() + ) { + food.setPid(pid); +// System.out.println(food); + int i1 = foodService.insertBhFood(food); + if(i1 == 1){ + num++; + } + } + System.out.println(resultObject.getFoods()); + i++; + } + + + + return R.ok(num); + } + + + private final static Map users = new LinkedHashMap(); + { + users.put(1, new UserEntity(1, "admin", "admin123", "15888888888")); + users.put(2, new UserEntity(2, "ry", "admin123", "15666666666")); + } + + @ApiOperation("获取用户列表") + @GetMapping("/list") + public R> userList() + { + List userList = new ArrayList(users.values()); + return R.ok(userList); + } + + @ApiOperation("获取用户详细") + @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) + @GetMapping("/{userId}") + public R getUser(@PathVariable Integer userId) + { + if (!users.isEmpty() && users.containsKey(userId)) + { + return R.ok(users.get(userId)); + } + else + { + return R.fail("用户不存在"); + } + } + + @ApiOperation("新增用户") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "username", value = "用户名称", dataType = "String", dataTypeClass = String.class), + @ApiImplicitParam(name = "password", value = "用户密码", dataType = "String", dataTypeClass = String.class), + @ApiImplicitParam(name = "mobile", value = "用户手机", dataType = "String", dataTypeClass = String.class) + }) + @PostMapping("/save") + public R save(UserEntity user) + { + if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) + { + return R.fail("用户ID不能为空"); + } + users.put(user.getUserId(), user); + return R.ok(); + } + + @ApiOperation("更新用户") + @PutMapping("/update") + public R update(@RequestBody UserEntity user) + { + if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId())) + { + return R.fail("用户ID不能为空"); + } + if (users.isEmpty() || !users.containsKey(user.getUserId())) + { + return R.fail("用户不存在"); + } + users.remove(user.getUserId()); + users.put(user.getUserId(), user); + return R.ok(); + } + + @ApiOperation("删除用户信息") + @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class) + @DeleteMapping("/{userId}") + public R delete(@PathVariable Integer userId) + { + if (!users.isEmpty() && users.containsKey(userId)) + { + users.remove(userId); + return R.ok(); + } + else + { + return R.fail("用户不存在"); + } + } +} + +@ApiModel(value = "UserEntity", description = "用户实体") +class UserEntity +{ + @ApiModelProperty("用户ID") + private Integer userId; + + @ApiModelProperty("用户名称") + private String username; + + @ApiModelProperty("用户密码") + private String password; + + @ApiModelProperty("用户手机") + private String mobile; + + public UserEntity() + { + + } + + public UserEntity(Integer userId, String username, String password, String mobile) + { + this.userId = userId; + this.username = username; + this.password = password; + this.mobile = mobile; + } + + public Integer getUserId() + { + return userId; + } + + public void setUserId(Integer userId) + { + this.userId = userId; + } + + public String getUsername() + { + return username; + } + + public void setUsername(String username) + { + this.username = username; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public String getMobile() + { + return mobile; + } + + public void setMobile(String mobile) + { + this.mobile = mobile; + } +} + +class ResultObject{ + private String easter_egg_level; + private Integer page; + private Integer total_pages; + private List foods; + + public String getEaster_egg_level() { + return easter_egg_level; + } + + public void setEaster_egg_level(String easter_egg_level) { + this.easter_egg_level = easter_egg_level; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getTotal_pages() { + return total_pages; + } + + public void setTotal_pages(Integer total_pages) { + this.total_pages = total_pages; + } + + public List getFoods() { + return foods; + } + + public void setFoods(List foods) { + this.foods = foods; + } + + @Override + public String toString() { + return "ResultObject{" + + "easter_egg_level='" + easter_egg_level + '\'' + + ", page=" + page + + ", total_pages=" + total_pages + + ", foods=" + foods + + '}'; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java new file mode 100644 index 0000000..a7d9459 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java @@ -0,0 +1,125 @@ +package com.ruoyi.web.core.config; + +import java.util.ArrayList; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import com.ruoyi.common.config.RuoYiConfig; +import io.swagger.annotations.ApiOperation; +import io.swagger.models.auth.In; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.ApiKey; +import springfox.documentation.service.AuthorizationScope; +import springfox.documentation.service.Contact; +import springfox.documentation.service.SecurityReference; +import springfox.documentation.service.SecurityScheme; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.Docket; + +/** + * Swagger2的接口配置 + * + * @author ruoyi + */ +@Configuration +public class SwaggerConfig +{ + /** 系统基础配置 */ + @Autowired + private RuoYiConfig ruoyiConfig; + + /** 是否开启swagger */ + @Value("${swagger.enabled}") + private boolean enabled; + + /** 设置请求的统一前缀 */ + @Value("${swagger.pathMapping}") + private String pathMapping; + + /** + * 创建API + */ + @Bean + public Docket createRestApi() + { + return new Docket(DocumentationType.OAS_30) + // 是否启用Swagger + .enable(enabled) + // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) + .apiInfo(apiInfo()) + // 设置哪些接口暴露给Swagger展示 + .select() + // 扫描所有有注解的api,用这种方式更灵活 + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) + // 扫描指定包中的swagger注解 + // .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger")) + // 扫描所有 .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()) + .build() + /* 设置安全模式,swagger可以设置访问token */ + .securitySchemes(securitySchemes()) + .securityContexts(securityContexts()) + .pathMapping(pathMapping); + } + + /** + * 安全模式,这里指定token通过Authorization头请求头传递 + */ + private List securitySchemes() + { + List apiKeyList = new ArrayList(); + apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue())); + return apiKeyList; + } + + /** + * 安全上下文 + */ + private List securityContexts() + { + List securityContexts = new ArrayList<>(); + securityContexts.add( + SecurityContext.builder() + .securityReferences(defaultAuth()) + .operationSelector(o -> o.requestMappingPattern().matches("/.*")) + .build()); + return securityContexts; + } + + /** + * 默认的安全上引用 + */ + private List defaultAuth() + { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); + return securityReferences; + } + + /** + * 添加摘要信息 + */ + private ApiInfo apiInfo() + { + // 用ApiInfoBuilder进行定制 + return new ApiInfoBuilder() + // 设置标题 + .title("标题:健康管理系统_接口文档") + // 描述 + .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") + // 作者信息 + .contact(new Contact(ruoyiConfig.getName(), null, null)) + // 版本 + .version("版本号:" + ruoyiConfig.getVersion()) + .build(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/META-INF/spring-devtools.properties b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/META-INF/spring-devtools.properties new file mode 100644 index 0000000..2b23f85 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/META-INF/spring-devtools.properties @@ -0,0 +1 @@ +restart.include.json=/com.alibaba.fastjson.*.jar \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application-druid.yml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application-druid.yml new file mode 100644 index 0000000..5228d75 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application-druid.yml @@ -0,0 +1,61 @@ +# 数据源配置 +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://localhost:3306/bohe?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: 123456 + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: false + url: + username: + password: + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置连接超时时间 + connectTimeout: 30000 + # 配置网络超时时间 + socketTimeout: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application.yml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application.yml new file mode 100644 index 0000000..ee89452 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/application.yml @@ -0,0 +1,131 @@ +# 项目相关配置 +ruoyi: + # 名称 + name: RuoYi + # 版本 + version: 3.8.5 + # 版权年份 + copyrightYear: 2023 + # 实例演示开关 + demoEnabled: true + # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) + profile: C:/computer_science/ruangongkeshe/dazuoye/mint/mint/mint/D_/ruoyi/uploadPath + # 获取ip地址开关 + addressEnabled: false + # 验证码类型 math 数组计算 char 字符验证 + captchaType: math + +# 开发环境配置 +server: + # 服务器的HTTP端口,默认为8080 + port: 8081 + servlet: + # 应用的访问路径 + context-path: / + tomcat: + # tomcat的URI编码 + uri-encoding: UTF-8 + # 连接数满后的排队数,默认为100 + accept-count: 1000 + threads: + # tomcat最大线程数,默认为200 + max: 800 + # Tomcat启动初始化的线程数,默认值10 + min-spare: 100 + +# 日志配置 +logging: + level: + com.ruoyi: debug + org.springframework: warn + +# 用户配置 +user: + password: + # 密码最大错误次数 + maxRetryCount: 5 + # 密码锁定时间(默认10分钟) + lockTime: 10 + +# Spring配置 +spring: + # 资源信息 + messages: + # 国际化资源文件路径 + basename: i18n/messages + profiles: + active: druid + # 文件上传 + servlet: + multipart: + # 单个文件大小 + max-file-size: 10MB + # 设置总上传的文件大小 + max-request-size: 20MB + # 服务模块 + devtools: + restart: + # 热部署开关 + enabled: true + # redis 配置 + redis: + # 地址 + host: localhost + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 0 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + +# token配置 +token: + # 令牌自定义标识 + header: Authorization + # 令牌密钥 + secret: abcdefghijklmnopqrstuvwxyz + # 令牌有效期(默认30分钟) + expireTime: 30 + +# MyBatis配置 +mybatis: + # 搜索指定包别名 + typeAliasesPackage: com.ruoyi.**.domain + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapperLocations: classpath*:mapper/**/*Mapper.xml + # 加载全局的配置文件 + configLocation: classpath:mybatis/mybatis-config.xml + +# PageHelper分页插件 +pagehelper: + helperDialect: mysql + supportMethodsArguments: true + params: count=countSql + +# Swagger配置 +swagger: + # 是否开启swagger + enabled: true + # 请求前缀 + pathMapping: /dev-api + +# 防止XSS攻击 +xss: + # 过滤开关 + enabled: true + # 排除链接(多个用逗号分隔) + excludes: /system/notice + # 匹配链接 + urlPatterns: /system/*,/monitor/*,/tool/* diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/banner.txt b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/banner.txt new file mode 100644 index 0000000..0931cb8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/banner.txt @@ -0,0 +1,24 @@ +Application Version: ${ruoyi.version} +Spring Boot Version: ${spring-boot.version} +//////////////////////////////////////////////////////////////////// +// _ooOoo_ // +// o8888888o // +// 88" . "88 // +// (| ^_^ |) // +// O\ = /O // +// ____/`---'\____ // +// .' \\| |// `. // +// / \\||| : |||// \ // +// / _||||| -:- |||||- \ // +// | | \\\ - /// | | // +// | \_| ''\---/'' | | // +// \ .-\__ `-` ___/-. / // +// ___`. .' /--.--\ `. . ___ // +// ."" '< `.___\_<|>_/___.' >'"". // +// | | : `- \`.;`\ _ /`;.`/ - ` : | | // +// \ \ `-. \_ __\ /__ _/ .-` / / // +// ========`-.____`-.___\_____/___.-`____.-'======== // +// `=---=' // +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // +// 佛祖保佑 永不宕机 永无BUG // +//////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/i18n/messages.properties b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/i18n/messages.properties new file mode 100644 index 0000000..93de005 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/i18n/messages.properties @@ -0,0 +1,38 @@ +#错误消息 +not.null=* 必须填写 +user.jcaptcha.error=验证码错误 +user.jcaptcha.expire=验证码已失效 +user.not.exists=用户不存在/密码错误 +user.password.not.match=用户不存在/密码错误 +user.password.retry.limit.count=密码输入错误{0}次 +user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟 +user.password.delete=对不起,您的账号已被删除 +user.blocked=用户已封禁,请联系管理员 +role.blocked=角色已封禁,请联系管理员 +login.blocked=很遗憾,访问IP已被列入系统黑名单 +user.logout.success=退出成功 + +length.not.valid=长度必须在{min}到{max}个字符之间 + +user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成,且必须以非数字开头 +user.password.not.valid=* 5-50个字符 + +user.email.not.valid=邮箱格式错误 +user.mobile.phone.number.not.valid=手机号格式错误 +user.login.success=登录成功 +user.register.success=注册成功 +user.notfound=请重新登录 +user.forcelogout=管理员强制退出,请重新登录 +user.unknown.error=未知错误,请重新登录 + +##文件上传消息 +upload.exceed.maxSize=上传的文件大小超出限制的文件大小!
允许的文件最大大小是:{0}MB! +upload.filename.exceed.length=上传的文件名最长{0}个字符 + +##权限 +no.permission=您没有数据的权限,请联系管理员添加权限 [{0}] +no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}] +no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}] +no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}] +no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}] +no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}] diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/logback.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/logback.xml new file mode 100644 index 0000000..0612bb9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/logback.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/sys-info.log + + + + ${log.path}/sys-info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/sys-error.log + + + + ${log.path}/sys-error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + ${log.path}/sys-user.log + + + ${log.path}/sys-user.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml new file mode 100644 index 0000000..ac47c03 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/pom.xml new file mode 100644 index 0000000..ecf9c01 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/pom.xml @@ -0,0 +1,131 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + + ruoyi-common + + + common通用工具 + + + + + + + org.springframework + spring-context-support + + + + + org.springframework + spring-web + + + + + org.springframework.boot + spring-boot-starter-security + + + + + com.github.pagehelper + pagehelper-spring-boot-starter + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + org.apache.commons + commons-lang3 + + + + + com.fasterxml.jackson.core + jackson-databind + + + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.5.2 + + + + + com.alibaba.fastjson2 + fastjson2 + + + + + commons-io + commons-io + + + + + org.apache.poi + poi-ooxml + + + + + org.yaml + snakeyaml + + + + + io.jsonwebtoken + jjwt + + + + + javax.xml.bind + jaxb-api + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + org.apache.commons + commons-pool2 + + + + + eu.bitwalker + UserAgentUtils + + + + + javax.servlet + javax.servlet-api + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Anonymous.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Anonymous.java new file mode 100644 index 0000000..1d6d4f4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Anonymous.java @@ -0,0 +1,19 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 匿名访问不鉴权注解 + * + * @author ruoyi + */ +@Target({ ElementType.METHOD, ElementType.TYPE }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Anonymous +{ +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java new file mode 100644 index 0000000..be49c80 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java @@ -0,0 +1,33 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 数据权限过滤注解 + * + * @author ruoyi + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DataScope +{ + /** + * 部门表的别名 + */ + public String deptAlias() default ""; + + /** + * 用户表的别名 + */ + public String userAlias() default ""; + + /** + * 权限字符(用于多个角色匹配符合要求的权限)默认根据权限注解@ss获取,多个权限用逗号分隔开来 + */ + public String permission() default ""; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java new file mode 100644 index 0000000..79cd191 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java @@ -0,0 +1,28 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import com.ruoyi.common.enums.DataSourceType; + +/** + * 自定义多数据源切换注解 + * + * 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准 + * + * @author ruoyi + */ +@Target({ ElementType.METHOD, ElementType.TYPE }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +public @interface DataSource +{ + /** + * 切换数据源名称 + */ + public DataSourceType value() default DataSourceType.MASTER; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java new file mode 100644 index 0000000..f7aaca5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java @@ -0,0 +1,187 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.math.BigDecimal; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import com.ruoyi.common.utils.poi.ExcelHandlerAdapter; + +/** + * 自定义导出Excel数据注解 + * + * @author ruoyi + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Excel +{ + /** + * 导出时在excel中排序 + */ + public int sort() default Integer.MAX_VALUE; + + /** + * 导出到Excel中的名字. + */ + public String name() default ""; + + /** + * 日期格式, 如: yyyy-MM-dd + */ + public String dateFormat() default ""; + + /** + * 如果是字典类型,请设置字典的type值 (如: sys_user_sex) + */ + public String dictType() default ""; + + /** + * 读取内容转表达式 (如: 0=男,1=女,2=未知) + */ + public String readConverterExp() default ""; + + /** + * 分隔符,读取字符串组内容 + */ + public String separator() default ","; + + /** + * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化) + */ + public int scale() default -1; + + /** + * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN + */ + public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; + + /** + * 导出时在excel中每个列的高度 单位为字符 + */ + public double height() default 14; + + /** + * 导出时在excel中每个列的宽 单位为字符 + */ + public double width() default 16; + + /** + * 文字后缀,如% 90 变成90% + */ + public String suffix() default ""; + + /** + * 当值为空时,字段的默认值 + */ + public String defaultValue() default ""; + + /** + * 提示信息 + */ + public String prompt() default ""; + + /** + * 设置只能选择不能输入的列内容. + */ + public String[] combo() default {}; + + /** + * 是否需要纵向合并单元格,应对需求:含有list集合单元格) + */ + public boolean needMerge() default false; + + /** + * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. + */ + public boolean isExport() default true; + + /** + * 另一个类中的属性名称,支持多级获取,以小数点隔开 + */ + public String targetAttr() default ""; + + /** + * 是否自动统计数据,在最后追加一行统计数据总和 + */ + public boolean isStatistics() default false; + + /** + * 导出类型(0数字 1字符串 2图片) + */ + public ColumnType cellType() default ColumnType.STRING; + + /** + * 导出列头背景色 + */ + public IndexedColors headerBackgroundColor() default IndexedColors.GREY_50_PERCENT; + + /** + * 导出列头字体颜色 + */ + public IndexedColors headerColor() default IndexedColors.WHITE; + + /** + * 导出单元格背景色 + */ + public IndexedColors backgroundColor() default IndexedColors.WHITE; + + /** + * 导出单元格字体颜色 + */ + public IndexedColors color() default IndexedColors.BLACK; + + /** + * 导出字段对齐方式 + */ + public HorizontalAlignment align() default HorizontalAlignment.CENTER; + + /** + * 自定义数据处理器 + */ + public Class handler() default ExcelHandlerAdapter.class; + + /** + * 自定义数据处理器参数 + */ + public String[] args() default {}; + + /** + * 字段类型(0:导出导入;1:仅导出;2:仅导入) + */ + Type type() default Type.ALL; + + public enum Type + { + ALL(0), EXPORT(1), IMPORT(2); + private final int value; + + Type(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + + public enum ColumnType + { + NUMERIC(0), STRING(1), IMAGE(2); + private final int value; + + ColumnType(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java new file mode 100644 index 0000000..1f1cc81 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java @@ -0,0 +1,18 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Excel注解集 + * + * @author ruoyi + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface Excels +{ + public Excel[] value(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java new file mode 100644 index 0000000..1eb8e49 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java @@ -0,0 +1,51 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.OperatorType; + +/** + * 自定义操作日志记录注解 + * + * @author ruoyi + * + */ +@Target({ ElementType.PARAMETER, ElementType.METHOD }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Log +{ + /** + * 模块 + */ + public String title() default ""; + + /** + * 功能 + */ + public BusinessType businessType() default BusinessType.OTHER; + + /** + * 操作人类别 + */ + public OperatorType operatorType() default OperatorType.MANAGE; + + /** + * 是否保存请求的参数 + */ + public boolean isSaveRequestData() default true; + + /** + * 是否保存响应的参数 + */ + public boolean isSaveResponseData() default true; + + /** + * 排除指定的请求参数 + */ + public String[] excludeParamNames() default {}; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java new file mode 100644 index 0000000..0f024c7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java @@ -0,0 +1,40 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.enums.LimitType; + +/** + * 限流注解 + * + * @author ruoyi + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface RateLimiter +{ + /** + * 限流key + */ + public String key() default CacheConstants.RATE_LIMIT_KEY; + + /** + * 限流时间,单位秒 + */ + public int time() default 60; + + /** + * 限流次数 + */ + public int count() default 100; + + /** + * 限流类型 + */ + public LimitType limitType() default LimitType.DEFAULT; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java new file mode 100644 index 0000000..b769748 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java @@ -0,0 +1,31 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义注解防止表单重复提交 + * + * @author ruoyi + * + */ +@Inherited +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface RepeatSubmit +{ + /** + * 间隔时间(ms),小于此时间视为重复提交 + */ + public int interval() default 5000; + + /** + * 提示消息 + */ + public String message() default "不允许重复提交,请稍候再试"; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java new file mode 100644 index 0000000..00f70f6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java @@ -0,0 +1,135 @@ +package com.ruoyi.common.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * 读取项目相关配置 + * + * @author ruoyi + */ +@Component +@ConfigurationProperties(prefix = "ruoyi") +public class RuoYiConfig +{ + /** 项目名称 */ + private String name; + + /** 版本 */ + private String version; + + /** 版权年份 */ + private String copyrightYear; + + /** 实例演示开关 */ + private boolean demoEnabled; + + /** 上传路径 */ + private static String profile; + + /** 获取地址开关 */ + private static boolean addressEnabled; + + /** 验证码类型 */ + private static String captchaType; + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getVersion() + { + return version; + } + + public void setVersion(String version) + { + this.version = version; + } + + public String getCopyrightYear() + { + return copyrightYear; + } + + public void setCopyrightYear(String copyrightYear) + { + this.copyrightYear = copyrightYear; + } + + public boolean isDemoEnabled() + { + return demoEnabled; + } + + public void setDemoEnabled(boolean demoEnabled) + { + this.demoEnabled = demoEnabled; + } + + public static String getProfile() + { + return profile; + } + + public void setProfile(String profile) + { + RuoYiConfig.profile = profile; + } + + public static boolean isAddressEnabled() + { + return addressEnabled; + } + + public void setAddressEnabled(boolean addressEnabled) + { + RuoYiConfig.addressEnabled = addressEnabled; + } + + public static String getCaptchaType() { + return captchaType; + } + + public void setCaptchaType(String captchaType) { + RuoYiConfig.captchaType = captchaType; + } + + /** + * 获取导入上传路径 + */ + public static String getImportPath() + { + return getProfile() + "/import"; + } + + /** + * 获取头像上传路径 + */ + public static String getAvatarPath() + { + return getProfile() + "/avatar"; + } + + /** + * 获取下载路径 + */ + public static String getDownloadPath() + { + return getProfile() + "/download/"; + } + + /** + * 获取上传路径 + */ + public static String getUploadPath() + { + return getProfile() + "/upload"; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java new file mode 100644 index 0000000..0080343 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java @@ -0,0 +1,44 @@ +package com.ruoyi.common.constant; + +/** + * 缓存的key 常量 + * + * @author ruoyi + */ +public class CacheConstants +{ + /** + * 登录用户 redis key + */ + public static final String LOGIN_TOKEN_KEY = "login_tokens:"; + + /** + * 验证码 redis key + */ + public static final String CAPTCHA_CODE_KEY = "captcha_codes:"; + + /** + * 参数管理 cache key + */ + public static final String SYS_CONFIG_KEY = "sys_config:"; + + /** + * 字典管理 cache key + */ + public static final String SYS_DICT_KEY = "sys_dict:"; + + /** + * 防重提交 redis key + */ + public static final String REPEAT_SUBMIT_KEY = "repeat_submit:"; + + /** + * 限流 redis key + */ + public static final String RATE_LIMIT_KEY = "rate_limit:"; + + /** + * 登录账户密码错误次数 redis key + */ + public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java new file mode 100644 index 0000000..8c1d99a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java @@ -0,0 +1,142 @@ +package com.ruoyi.common.constant; + +import io.jsonwebtoken.Claims; + +/** + * 通用常量信息 + * + * @author ruoyi + */ +public class Constants +{ + /** + * UTF-8 字符集 + */ + public static final String UTF8 = "UTF-8"; + + /** + * GBK 字符集 + */ + public static final String GBK = "GBK"; + + /** + * www主域 + */ + public static final String WWW = "www."; + + /** + * http请求 + */ + public static final String HTTP = "http://"; + + /** + * https请求 + */ + public static final String HTTPS = "https://"; + + /** + * 通用成功标识 + */ + public static final String SUCCESS = "0"; + + /** + * 通用失败标识 + */ + public static final String FAIL = "1"; + + /** + * 登录成功 + */ + public static final String LOGIN_SUCCESS = "Success"; + + /** + * 注销 + */ + public static final String LOGOUT = "Logout"; + + /** + * 注册 + */ + public static final String REGISTER = "Register"; + + /** + * 登录失败 + */ + public static final String LOGIN_FAIL = "Error"; + + /** + * 验证码有效期(分钟) + */ + public static final Integer CAPTCHA_EXPIRATION = 2; + + /** + * 令牌 + */ + public static final String TOKEN = "token"; + + /** + * 令牌前缀 + */ + public static final String TOKEN_PREFIX = "Bearer "; + + /** + * 令牌前缀 + */ + public static final String LOGIN_USER_KEY = "login_user_key"; + + /** + * 用户ID + */ + public static final String JWT_USERID = "userid"; + + /** + * 用户名称 + */ + public static final String JWT_USERNAME = Claims.SUBJECT; + + /** + * 用户头像 + */ + public static final String JWT_AVATAR = "avatar"; + + /** + * 创建时间 + */ + public static final String JWT_CREATED = "created"; + + /** + * 用户权限 + */ + public static final String JWT_AUTHORITIES = "authorities"; + + /** + * 资源映射路径 前缀 + */ + public static final String RESOURCE_PREFIX = "/profile"; + + /** + * RMI 远程方法调用 + */ + public static final String LOOKUP_RMI = "rmi:"; + + /** + * LDAP 远程方法调用 + */ + public static final String LOOKUP_LDAP = "ldap:"; + + /** + * LDAPS 远程方法调用 + */ + public static final String LOOKUP_LDAPS = "ldaps:"; + + /** + * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加) + */ + public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" }; + + /** + * 定时任务违规的字符 + */ + public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", + "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" }; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java new file mode 100644 index 0000000..7d899d4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java @@ -0,0 +1,117 @@ +package com.ruoyi.common.constant; + +/** + * 代码生成通用常量 + * + * @author ruoyi + */ +public class GenConstants +{ + /** 单表(增删改查) */ + public static final String TPL_CRUD = "crud"; + + /** 树表(增删改查) */ + public static final String TPL_TREE = "tree"; + + /** 主子表(增删改查) */ + public static final String TPL_SUB = "sub"; + + /** 树编码字段 */ + public static final String TREE_CODE = "treeCode"; + + /** 树父编码字段 */ + public static final String TREE_PARENT_CODE = "treeParentCode"; + + /** 树名称字段 */ + public static final String TREE_NAME = "treeName"; + + /** 上级菜单ID字段 */ + public static final String PARENT_MENU_ID = "parentMenuId"; + + /** 上级菜单名称字段 */ + public static final String PARENT_MENU_NAME = "parentMenuName"; + + /** 数据库字符串类型 */ + public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" }; + + /** 数据库文本类型 */ + public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" }; + + /** 数据库时间类型 */ + public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" }; + + /** 数据库数字类型 */ + public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer", + "bit", "bigint", "float", "double", "decimal" }; + + /** 页面不需要编辑字段 */ + public static final String[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" }; + + /** 页面不需要显示的列表字段 */ + public static final String[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by", + "update_time" }; + + /** 页面不需要查询字段 */ + public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by", + "update_time", "remark" }; + + /** Entity基类字段 */ + public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" }; + + /** Tree基类字段 */ + public static final String[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors", "children" }; + + /** 文本框 */ + public static final String HTML_INPUT = "input"; + + /** 文本域 */ + public static final String HTML_TEXTAREA = "textarea"; + + /** 下拉框 */ + public static final String HTML_SELECT = "select"; + + /** 单选框 */ + public static final String HTML_RADIO = "radio"; + + /** 复选框 */ + public static final String HTML_CHECKBOX = "checkbox"; + + /** 日期控件 */ + public static final String HTML_DATETIME = "datetime"; + + /** 图片上传控件 */ + public static final String HTML_IMAGE_UPLOAD = "imageUpload"; + + /** 文件上传控件 */ + public static final String HTML_FILE_UPLOAD = "fileUpload"; + + /** 富文本控件 */ + public static final String HTML_EDITOR = "editor"; + + /** 字符串类型 */ + public static final String TYPE_STRING = "String"; + + /** 整型 */ + public static final String TYPE_INTEGER = "Integer"; + + /** 长整型 */ + public static final String TYPE_LONG = "Long"; + + /** 浮点型 */ + public static final String TYPE_DOUBLE = "Double"; + + /** 高精度计算类型 */ + public static final String TYPE_BIGDECIMAL = "BigDecimal"; + + /** 时间类型 */ + public static final String TYPE_DATE = "Date"; + + /** 模糊查询 */ + public static final String QUERY_LIKE = "LIKE"; + + /** 相等查询 */ + public static final String QUERY_EQ = "EQ"; + + /** 需要 */ + public static final String REQUIRE = "1"; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java new file mode 100644 index 0000000..a983c77 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java @@ -0,0 +1,94 @@ +package com.ruoyi.common.constant; + +/** + * 返回状态码 + * + * @author ruoyi + */ +public class HttpStatus +{ + /** + * 操作成功 + */ + public static final int SUCCESS = 200; + + /** + * 对象创建成功 + */ + public static final int CREATED = 201; + + /** + * 请求已经被接受 + */ + public static final int ACCEPTED = 202; + + /** + * 操作已经执行成功,但是没有返回数据 + */ + public static final int NO_CONTENT = 204; + + /** + * 资源已被移除 + */ + public static final int MOVED_PERM = 301; + + /** + * 重定向 + */ + public static final int SEE_OTHER = 303; + + /** + * 资源没有被修改 + */ + public static final int NOT_MODIFIED = 304; + + /** + * 参数列表错误(缺少,格式不匹配) + */ + public static final int BAD_REQUEST = 400; + + /** + * 未授权 + */ + public static final int UNAUTHORIZED = 401; + + /** + * 访问受限,授权过期 + */ + public static final int FORBIDDEN = 403; + + /** + * 资源,服务未找到 + */ + public static final int NOT_FOUND = 404; + + /** + * 不允许的http方法 + */ + public static final int BAD_METHOD = 405; + + /** + * 资源冲突,或者资源被锁 + */ + public static final int CONFLICT = 409; + + /** + * 不支持的数据,媒体类型 + */ + public static final int UNSUPPORTED_TYPE = 415; + + /** + * 系统内部错误 + */ + public static final int ERROR = 500; + + /** + * 接口未实现 + */ + public static final int NOT_IMPLEMENTED = 501; + + /** + * 系统警告消息 + */ + public static final int WARN = 601; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java new file mode 100644 index 0000000..62ad815 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/ScheduleConstants.java @@ -0,0 +1,50 @@ +package com.ruoyi.common.constant; + +/** + * 任务调度通用常量 + * + * @author ruoyi + */ +public class ScheduleConstants +{ + public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; + + /** 执行目标key */ + public static final String TASK_PROPERTIES = "TASK_PROPERTIES"; + + /** 默认 */ + public static final String MISFIRE_DEFAULT = "0"; + + /** 立即触发执行 */ + public static final String MISFIRE_IGNORE_MISFIRES = "1"; + + /** 触发一次执行 */ + public static final String MISFIRE_FIRE_AND_PROCEED = "2"; + + /** 不触发立即执行 */ + public static final String MISFIRE_DO_NOTHING = "3"; + + public enum Status + { + /** + * 正常 + */ + NORMAL("0"), + /** + * 暂停 + */ + PAUSE("1"); + + private String value; + + private Status(String value) + { + this.value = value; + } + + public String getValue() + { + return value; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java new file mode 100644 index 0000000..96b149c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java @@ -0,0 +1,78 @@ +package com.ruoyi.common.constant; + +/** + * 用户常量信息 + * + * @author ruoyi + */ +public class UserConstants +{ + /** + * 平台内系统用户的唯一标志 + */ + public static final String SYS_USER = "SYS_USER"; + + /** 正常状态 */ + public static final String NORMAL = "0"; + + /** 异常状态 */ + public static final String EXCEPTION = "1"; + + /** 用户封禁状态 */ + public static final String USER_DISABLE = "1"; + + /** 角色封禁状态 */ + public static final String ROLE_DISABLE = "1"; + + /** 部门正常状态 */ + public static final String DEPT_NORMAL = "0"; + + /** 部门停用状态 */ + public static final String DEPT_DISABLE = "1"; + + /** 字典正常状态 */ + public static final String DICT_NORMAL = "0"; + + /** 是否为系统默认(是) */ + public static final String YES = "Y"; + + /** 是否菜单外链(是) */ + public static final String YES_FRAME = "0"; + + /** 是否菜单外链(否) */ + public static final String NO_FRAME = "1"; + + /** 菜单类型(目录) */ + public static final String TYPE_DIR = "M"; + + /** 菜单类型(菜单) */ + public static final String TYPE_MENU = "C"; + + /** 菜单类型(按钮) */ + public static final String TYPE_BUTTON = "F"; + + /** Layout组件标识 */ + public final static String LAYOUT = "Layout"; + + /** ParentView组件标识 */ + public final static String PARENT_VIEW = "ParentView"; + + /** InnerLink组件标识 */ + public final static String INNER_LINK = "InnerLink"; + + /** 校验是否唯一的返回标识 */ + public final static boolean UNIQUE = true; + public final static boolean NOT_UNIQUE = false; + + /** + * 用户名长度限制 + */ + public static final int USERNAME_MIN_LENGTH = 2; + public static final int USERNAME_MAX_LENGTH = 20; + + /** + * 密码长度限制 + */ + public static final int PASSWORD_MIN_LENGTH = 5; + public static final int PASSWORD_MAX_LENGTH = 20; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java new file mode 100644 index 0000000..a685e06 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java @@ -0,0 +1,202 @@ +package com.ruoyi.common.core.controller; + +import java.beans.PropertyEditorSupport; +import java.util.Date; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.page.PageDomain; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.page.TableSupport; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.sql.SqlUtil; + +/** + * web层通用数据处理 + * + * @author ruoyi + */ +public class BaseController +{ + protected final Logger logger = LoggerFactory.getLogger(this.getClass()); + + /** + * 将前台传递过来的日期格式的字符串,自动转化为Date类型 + */ + @InitBinder + public void initBinder(WebDataBinder binder) + { + // Date 类型转换 + binder.registerCustomEditor(Date.class, new PropertyEditorSupport() + { + @Override + public void setAsText(String text) + { + setValue(DateUtils.parseDate(text)); + } + }); + } + + /** + * 设置请求分页数据 + */ + protected void startPage() + { + PageUtils.startPage(); + } + + /** + * 设置请求排序数据 + */ + protected void startOrderBy() + { + PageDomain pageDomain = TableSupport.buildPageRequest(); + if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) + { + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + PageHelper.orderBy(orderBy); + } + } + + /** + * 清理分页的线程变量 + */ + protected void clearPage() + { + PageUtils.clearPage(); + } + + /** + * 响应请求分页数据 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected TableDataInfo getDataTable(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } + + /** + * 返回成功 + */ + public AjaxResult success() + { + return AjaxResult.success(); + } + + /** + * 返回失败消息 + */ + public AjaxResult error() + { + return AjaxResult.error(); + } + + /** + * 返回成功消息 + */ + public AjaxResult success(String message) + { + return AjaxResult.success(message); + } + + /** + * 返回成功消息 + */ + public AjaxResult success(Object data) + { + return AjaxResult.success(data); + } + + /** + * 返回失败消息 + */ + public AjaxResult error(String message) + { + return AjaxResult.error(message); + } + + /** + * 返回警告消息 + */ + public AjaxResult warn(String message) + { + return AjaxResult.warn(message); + } + + /** + * 响应返回结果 + * + * @param rows 影响行数 + * @return 操作结果 + */ + protected AjaxResult toAjax(int rows) + { + return rows > 0 ? AjaxResult.success() : AjaxResult.error(); + } + + /** + * 响应返回结果 + * + * @param result 结果 + * @return 操作结果 + */ + protected AjaxResult toAjax(boolean result) + { + return result ? success() : error(); + } + + /** + * 页面跳转 + */ + public String redirect(String url) + { + return StringUtils.format("redirect:{}", url); + } + + /** + * 获取用户缓存信息 + */ + public LoginUser getLoginUser() + { + return SecurityUtils.getLoginUser(); + } + + /** + * 获取登录用户id + */ + public Long getUserId() + { + return getLoginUser().getUserId(); + } + + /** + * 获取登录部门id + */ + public Long getDeptId() + { + return getLoginUser().getDeptId(); + } + + /** + * 获取登录用户名 + */ + public String getUsername() + { + return getLoginUser().getUsername(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java new file mode 100644 index 0000000..42fbd9c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java @@ -0,0 +1,185 @@ +package com.ruoyi.common.core.domain; + +import java.util.HashMap; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.utils.StringUtils; + +/** + * 操作消息提醒 + * + * @author ruoyi + */ +public class AjaxResult extends HashMap +{ + private static final long serialVersionUID = 1L; + + /** 状态码 */ + public static final String CODE_TAG = "code"; + + /** 返回内容 */ + public static final String MSG_TAG = "msg"; + + /** 数据对象 */ + public static final String DATA_TAG = "data"; + + /** + * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 + */ + public AjaxResult() + { + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + */ + public AjaxResult(int code, String msg) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + * @param data 数据对象 + */ + public AjaxResult(int code, String msg, Object data) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + if (StringUtils.isNotNull(data)) + { + super.put(DATA_TAG, data); + } + } + + /** + * 返回成功消息 + * + * @return 成功消息 + */ + public static AjaxResult success() + { + return AjaxResult.success("操作成功"); + } + + /** + * 返回成功数据 + * + * @return 成功消息 + */ + public static AjaxResult success(Object data) + { + return AjaxResult.success("操作成功", data); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @return 成功消息 + */ + public static AjaxResult success(String msg) + { + return AjaxResult.success(msg, null); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 成功消息 + */ + public static AjaxResult success(String msg, Object data) + { + return new AjaxResult(HttpStatus.SUCCESS, msg, data); + } + + /** + * 返回警告消息 + * + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult warn(String msg) + { + return AjaxResult.warn(msg, null); + } + + /** + * 返回警告消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 警告消息 + */ + public static AjaxResult warn(String msg, Object data) + { + return new AjaxResult(HttpStatus.WARN, msg, data); + } + + /** + * 返回错误消息 + * + * @return 错误消息 + */ + public static AjaxResult error() + { + return AjaxResult.error("操作失败"); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @return 错误消息 + */ + public static AjaxResult error(String msg) + { + return AjaxResult.error(msg, null); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 错误消息 + */ + public static AjaxResult error(String msg, Object data) + { + return new AjaxResult(HttpStatus.ERROR, msg, data); + } + + /** + * 返回错误消息 + * + * @param code 状态码 + * @param msg 返回内容 + * @return 错误消息 + */ + public static AjaxResult error(int code, String msg) + { + return new AjaxResult(code, msg, null); + } + + /** + * 方便链式调用 + * + * @param key 键 + * @param value 值 + * @return 数据对象 + */ + @Override + public AjaxResult put(String key, Object value) + { + super.put(key, value); + return this; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java new file mode 100644 index 0000000..15bf66b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java @@ -0,0 +1,118 @@ +package com.ruoyi.common.core.domain; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; + +/** + * Entity基类 + * + * @author ruoyi + */ +public class BaseEntity implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 搜索值 */ + @JsonIgnore + private String searchValue; + + /** 创建者 */ + private String createBy; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** 更新者 */ + private String updateBy; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** 备注 */ + private String remark; + + /** 请求参数 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private Map params; + + public String getSearchValue() + { + return searchValue; + } + + public void setSearchValue(String searchValue) + { + this.searchValue = searchValue; + } + + public String getCreateBy() + { + return createBy; + } + + public void setCreateBy(String createBy) + { + this.createBy = createBy; + } + + public Date getCreateTime() + { + return createTime; + } + + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + public String getUpdateBy() + { + return updateBy; + } + + public void setUpdateBy(String updateBy) + { + this.updateBy = updateBy; + } + + public Date getUpdateTime() + { + return updateTime; + } + + public void setUpdateTime(Date updateTime) + { + this.updateTime = updateTime; + } + + public String getRemark() + { + return remark; + } + + public void setRemark(String remark) + { + this.remark = remark; + } + + public Map getParams() + { + if (params == null) + { + params = new HashMap<>(); + } + return params; + } + + public void setParams(Map params) + { + this.params = params; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java new file mode 100644 index 0000000..ef15802 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java @@ -0,0 +1,115 @@ +package com.ruoyi.common.core.domain; + +import java.io.Serializable; +import com.ruoyi.common.constant.HttpStatus; + +/** + * 响应信息主体 + * + * @author ruoyi + */ +public class R implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 成功 */ + public static final int SUCCESS = HttpStatus.SUCCESS; + + /** 失败 */ + public static final int FAIL = HttpStatus.ERROR; + + private int code; + + private String msg; + + private T data; + + public static R ok() + { + return restResult(null, SUCCESS, "操作成功"); + } + + public static R ok(T data) + { + return restResult(data, SUCCESS, "操作成功"); + } + + public static R ok(T data, String msg) + { + return restResult(data, SUCCESS, msg); + } + + public static R fail() + { + return restResult(null, FAIL, "操作失败"); + } + + public static R fail(String msg) + { + return restResult(null, FAIL, msg); + } + + public static R fail(T data) + { + return restResult(data, FAIL, "操作失败"); + } + + public static R fail(T data, String msg) + { + return restResult(data, FAIL, msg); + } + + public static R fail(int code, String msg) + { + return restResult(null, code, msg); + } + + private static R restResult(T data, int code, String msg) + { + R apiResult = new R<>(); + apiResult.setCode(code); + apiResult.setData(data); + apiResult.setMsg(msg); + return apiResult; + } + + public int getCode() + { + return code; + } + + public void setCode(int code) + { + this.code = code; + } + + public String getMsg() + { + return msg; + } + + public void setMsg(String msg) + { + this.msg = msg; + } + + public T getData() + { + return data; + } + + public void setData(T data) + { + this.data = data; + } + + public static Boolean isError(R ret) + { + return !isSuccess(ret); + } + + public static Boolean isSuccess(R ret) + { + return R.SUCCESS == ret.getCode(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java new file mode 100644 index 0000000..a180a18 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeEntity.java @@ -0,0 +1,79 @@ +package com.ruoyi.common.core.domain; + +import java.util.ArrayList; +import java.util.List; + +/** + * Tree基类 + * + * @author ruoyi + */ +public class TreeEntity extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 父菜单名称 */ + private String parentName; + + /** 父菜单ID */ + private Long parentId; + + /** 显示顺序 */ + private Integer orderNum; + + /** 祖级列表 */ + private String ancestors; + + /** 子部门 */ + private List children = new ArrayList<>(); + + public String getParentName() + { + return parentName; + } + + public void setParentName(String parentName) + { + this.parentName = parentName; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + public Integer getOrderNum() + { + return orderNum; + } + + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + public String getAncestors() + { + return ancestors; + } + + public void setAncestors(String ancestors) + { + this.ancestors = ancestors; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java new file mode 100644 index 0000000..bd835db --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java @@ -0,0 +1,77 @@ +package com.ruoyi.common.core.domain; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysMenu; + +/** + * Treeselect树结构实体类 + * + * @author ruoyi + */ +public class TreeSelect implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 节点ID */ + private Long id; + + /** 节点名称 */ + private String label; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + public TreeSelect() + { + + } + + public TreeSelect(SysDept dept) + { + this.id = dept.getDeptId(); + this.label = dept.getDeptName(); + this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + public TreeSelect(SysMenu menu) + { + this.id = menu.getMenuId(); + this.label = menu.getMenuName(); + this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + public Long getId() + { + return id; + } + + public void setId(Long id) + { + this.id = id; + } + + public String getLabel() + { + return label; + } + + public void setLabel(String label) + { + this.label = label; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java new file mode 100644 index 0000000..fb18c5c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java @@ -0,0 +1,203 @@ +package com.ruoyi.common.core.domain.entity; + +import java.util.ArrayList; +import java.util.List; +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 部门表 sys_dept + * + * @author ruoyi + */ +public class SysDept extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 部门ID */ + private Long deptId; + + /** 父部门ID */ + private Long parentId; + + /** 祖级列表 */ + private String ancestors; + + /** 部门名称 */ + private String deptName; + + /** 显示顺序 */ + private Integer orderNum; + + /** 负责人 */ + private String leader; + + /** 联系电话 */ + private String phone; + + /** 邮箱 */ + private String email; + + /** 部门状态:0正常,1停用 */ + private String status; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 父部门名称 */ + private String parentName; + + /** 子部门 */ + private List children = new ArrayList(); + + public Long getDeptId() + { + return deptId; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + public String getAncestors() + { + return ancestors; + } + + public void setAncestors(String ancestors) + { + this.ancestors = ancestors; + } + + @NotBlank(message = "部门名称不能为空") + @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符") + public String getDeptName() + { + return deptName; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getOrderNum() + { + return orderNum; + } + + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + public String getLeader() + { + return leader; + } + + public void setLeader(String leader) + { + this.leader = leader; + } + + @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符") + public String getPhone() + { + return phone; + } + + public void setPhone(String phone) + { + this.phone = phone; + } + + @Email(message = "邮箱格式不正确") + @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") + public String getEmail() + { + return email; + } + + public void setEmail(String email) + { + this.email = email; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getDelFlag() + { + return delFlag; + } + + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + public String getParentName() + { + return parentName; + } + + public void setParentName(String parentName) + { + this.parentName = parentName; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("deptId", getDeptId()) + .append("parentId", getParentId()) + .append("ancestors", getAncestors()) + .append("deptName", getDeptName()) + .append("orderNum", getOrderNum()) + .append("leader", getLeader()) + .append("phone", getPhone()) + .append("email", getEmail()) + .append("status", getStatus()) + .append("delFlag", getDelFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java new file mode 100644 index 0000000..738f12c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictData.java @@ -0,0 +1,176 @@ +package com.ruoyi.common.core.domain.entity; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 字典数据表 sys_dict_data + * + * @author ruoyi + */ +public class SysDictData extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 字典编码 */ + @Excel(name = "字典编码", cellType = ColumnType.NUMERIC) + private Long dictCode; + + /** 字典排序 */ + @Excel(name = "字典排序", cellType = ColumnType.NUMERIC) + private Long dictSort; + + /** 字典标签 */ + @Excel(name = "字典标签") + private String dictLabel; + + /** 字典键值 */ + @Excel(name = "字典键值") + private String dictValue; + + /** 字典类型 */ + @Excel(name = "字典类型") + private String dictType; + + /** 样式属性(其他样式扩展) */ + private String cssClass; + + /** 表格字典样式 */ + private String listClass; + + /** 是否默认(Y是 N否) */ + @Excel(name = "是否默认", readConverterExp = "Y=是,N=否") + private String isDefault; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; + + public Long getDictCode() + { + return dictCode; + } + + public void setDictCode(Long dictCode) + { + this.dictCode = dictCode; + } + + public Long getDictSort() + { + return dictSort; + } + + public void setDictSort(Long dictSort) + { + this.dictSort = dictSort; + } + + @NotBlank(message = "字典标签不能为空") + @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符") + public String getDictLabel() + { + return dictLabel; + } + + public void setDictLabel(String dictLabel) + { + this.dictLabel = dictLabel; + } + + @NotBlank(message = "字典键值不能为空") + @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符") + public String getDictValue() + { + return dictValue; + } + + public void setDictValue(String dictValue) + { + this.dictValue = dictValue; + } + + @NotBlank(message = "字典类型不能为空") + @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符") + public String getDictType() + { + return dictType; + } + + public void setDictType(String dictType) + { + this.dictType = dictType; + } + + @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符") + public String getCssClass() + { + return cssClass; + } + + public void setCssClass(String cssClass) + { + this.cssClass = cssClass; + } + + public String getListClass() + { + return listClass; + } + + public void setListClass(String listClass) + { + this.listClass = listClass; + } + + public boolean getDefault() + { + return UserConstants.YES.equals(this.isDefault); + } + + public String getIsDefault() + { + return isDefault; + } + + public void setIsDefault(String isDefault) + { + this.isDefault = isDefault; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dictCode", getDictCode()) + .append("dictSort", getDictSort()) + .append("dictLabel", getDictLabel()) + .append("dictValue", getDictValue()) + .append("dictType", getDictType()) + .append("cssClass", getCssClass()) + .append("listClass", getListClass()) + .append("isDefault", getIsDefault()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java new file mode 100644 index 0000000..e324fcf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java @@ -0,0 +1,96 @@ +package com.ruoyi.common.core.domain.entity; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 字典类型表 sys_dict_type + * + * @author ruoyi + */ +public class SysDictType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 字典主键 */ + @Excel(name = "字典主键", cellType = ColumnType.NUMERIC) + private Long dictId; + + /** 字典名称 */ + @Excel(name = "字典名称") + private String dictName; + + /** 字典类型 */ + @Excel(name = "字典类型") + private String dictType; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; + + public Long getDictId() + { + return dictId; + } + + public void setDictId(Long dictId) + { + this.dictId = dictId; + } + + @NotBlank(message = "字典名称不能为空") + @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符") + public String getDictName() + { + return dictName; + } + + public void setDictName(String dictName) + { + this.dictName = dictName; + } + + @NotBlank(message = "字典类型不能为空") + @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符") + @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)") + public String getDictType() + { + return dictType; + } + + public void setDictType(String dictType) + { + this.dictType = dictType; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("dictId", getDictId()) + .append("dictName", getDictName()) + .append("dictType", getDictType()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java new file mode 100644 index 0000000..94e1a18 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java @@ -0,0 +1,259 @@ +package com.ruoyi.common.core.domain.entity; + +import java.util.ArrayList; +import java.util.List; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 菜单权限表 sys_menu + * + * @author ruoyi + */ +public class SysMenu extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 菜单ID */ + private Long menuId; + + /** 菜单名称 */ + private String menuName; + + /** 父菜单名称 */ + private String parentName; + + /** 父菜单ID */ + private Long parentId; + + /** 显示顺序 */ + private Integer orderNum; + + /** 路由地址 */ + private String path; + + /** 组件路径 */ + private String component; + + /** 路由参数 */ + private String query; + + /** 是否为外链(0是 1否) */ + private String isFrame; + + /** 是否缓存(0缓存 1不缓存) */ + private String isCache; + + /** 类型(M目录 C菜单 F按钮) */ + private String menuType; + + /** 显示状态(0显示 1隐藏) */ + private String visible; + + /** 菜单状态(0正常 1停用) */ + private String status; + + /** 权限字符串 */ + private String perms; + + /** 菜单图标 */ + private String icon; + + /** 子菜单 */ + private List children = new ArrayList(); + + public Long getMenuId() + { + return menuId; + } + + public void setMenuId(Long menuId) + { + this.menuId = menuId; + } + + @NotBlank(message = "菜单名称不能为空") + @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符") + public String getMenuName() + { + return menuName; + } + + public void setMenuName(String menuName) + { + this.menuName = menuName; + } + + public String getParentName() + { + return parentName; + } + + public void setParentName(String parentName) + { + this.parentName = parentName; + } + + public Long getParentId() + { + return parentId; + } + + public void setParentId(Long parentId) + { + this.parentId = parentId; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getOrderNum() + { + return orderNum; + } + + public void setOrderNum(Integer orderNum) + { + this.orderNum = orderNum; + } + + @Size(min = 0, max = 200, message = "路由地址不能超过200个字符") + public String getPath() + { + return path; + } + + public void setPath(String path) + { + this.path = path; + } + + @Size(min = 0, max = 200, message = "组件路径不能超过255个字符") + public String getComponent() + { + return component; + } + + public void setComponent(String component) + { + this.component = component; + } + + public String getQuery() + { + return query; + } + + public void setQuery(String query) + { + this.query = query; + } + + public String getIsFrame() + { + return isFrame; + } + + public void setIsFrame(String isFrame) + { + this.isFrame = isFrame; + } + + public String getIsCache() + { + return isCache; + } + + public void setIsCache(String isCache) + { + this.isCache = isCache; + } + + @NotBlank(message = "菜单类型不能为空") + public String getMenuType() + { + return menuType; + } + + public void setMenuType(String menuType) + { + this.menuType = menuType; + } + + public String getVisible() + { + return visible; + } + + public void setVisible(String visible) + { + this.visible = visible; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符") + public String getPerms() + { + return perms; + } + + public void setPerms(String perms) + { + this.perms = perms; + } + + public String getIcon() + { + return icon; + } + + public void setIcon(String icon) + { + this.icon = icon; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("menuId", getMenuId()) + .append("menuName", getMenuName()) + .append("parentId", getParentId()) + .append("orderNum", getOrderNum()) + .append("path", getPath()) + .append("component", getComponent()) + .append("isFrame", getIsFrame()) + .append("IsCache", getIsCache()) + .append("menuType", getMenuType()) + .append("visible", getVisible()) + .append("status ", getStatus()) + .append("perms", getPerms()) + .append("icon", getIcon()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java new file mode 100644 index 0000000..488d49c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java @@ -0,0 +1,241 @@ +package com.ruoyi.common.core.domain.entity; + +import java.util.Set; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 角色表 sys_role + * + * @author ruoyi + */ +public class SysRole extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 角色ID */ + @Excel(name = "角色序号", cellType = ColumnType.NUMERIC) + private Long roleId; + + /** 角色名称 */ + @Excel(name = "角色名称") + private String roleName; + + /** 角色权限 */ + @Excel(name = "角色权限") + private String roleKey; + + /** 角色排序 */ + @Excel(name = "角色排序") + private Integer roleSort; + + /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ + @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") + private String dataScope; + + /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */ + private boolean menuCheckStrictly; + + /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */ + private boolean deptCheckStrictly; + + /** 角色状态(0正常 1停用) */ + @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用") + private String status; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 用户是否存在此角色标识 默认不存在 */ + private boolean flag = false; + + /** 菜单组 */ + private Long[] menuIds; + + /** 部门组(数据权限) */ + private Long[] deptIds; + + /** 角色菜单权限 */ + private Set permissions; + + public SysRole() + { + + } + + public SysRole(Long roleId) + { + this.roleId = roleId; + } + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + public boolean isAdmin() + { + return isAdmin(this.roleId); + } + + public static boolean isAdmin(Long roleId) + { + return roleId != null && 1L == roleId; + } + + @NotBlank(message = "角色名称不能为空") + @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符") + public String getRoleName() + { + return roleName; + } + + public void setRoleName(String roleName) + { + this.roleName = roleName; + } + + @NotBlank(message = "权限字符不能为空") + @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符") + public String getRoleKey() + { + return roleKey; + } + + public void setRoleKey(String roleKey) + { + this.roleKey = roleKey; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getRoleSort() + { + return roleSort; + } + + public void setRoleSort(Integer roleSort) + { + this.roleSort = roleSort; + } + + public String getDataScope() + { + return dataScope; + } + + public void setDataScope(String dataScope) + { + this.dataScope = dataScope; + } + + public boolean isMenuCheckStrictly() + { + return menuCheckStrictly; + } + + public void setMenuCheckStrictly(boolean menuCheckStrictly) + { + this.menuCheckStrictly = menuCheckStrictly; + } + + public boolean isDeptCheckStrictly() + { + return deptCheckStrictly; + } + + public void setDeptCheckStrictly(boolean deptCheckStrictly) + { + this.deptCheckStrictly = deptCheckStrictly; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getDelFlag() + { + return delFlag; + } + + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + public boolean isFlag() + { + return flag; + } + + public void setFlag(boolean flag) + { + this.flag = flag; + } + + public Long[] getMenuIds() + { + return menuIds; + } + + public void setMenuIds(Long[] menuIds) + { + this.menuIds = menuIds; + } + + public Long[] getDeptIds() + { + return deptIds; + } + + public void setDeptIds(Long[] deptIds) + { + this.deptIds = deptIds; + } + + public Set getPermissions() + { + return permissions; + } + + public void setPermissions(Set permissions) + { + this.permissions = permissions; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("roleId", getRoleId()) + .append("roleName", getRoleName()) + .append("roleKey", getRoleKey()) + .append("roleSort", getRoleSort()) + .append("dataScope", getDataScope()) + .append("menuCheckStrictly", isMenuCheckStrictly()) + .append("deptCheckStrictly", isDeptCheckStrictly()) + .append("status", getStatus()) + .append("delFlag", getDelFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java new file mode 100644 index 0000000..53ad695 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -0,0 +1,324 @@ +package com.ruoyi.common.core.domain.entity; + +import java.util.Date; +import java.util.List; +import javax.validation.constraints.*; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.Excel.Type; +import com.ruoyi.common.annotation.Excels; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.xss.Xss; + +/** + * 用户对象 sys_user + * + * @author ruoyi + */ +public class SysUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 用户ID */ + @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") + private Long userId; + + /** 部门ID */ + @Excel(name = "部门编号", type = Type.IMPORT) + private Long deptId; + + /** 用户账号 */ + @Excel(name = "登录名称") + private String userName; + + /** 用户昵称 */ + @Excel(name = "用户名称") + private String nickName; + + /** 用户邮箱 */ + @Excel(name = "用户邮箱") + private String email; + + /** 手机号码 */ + @Excel(name = "手机号码") + private String phonenumber; + + /** 用户性别 */ + @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知") + private String sex; + + /** 用户头像 */ + private String avatar; + + /** 密码 */ + private String password; + + /** 帐号状态(0正常 1停用) */ + @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") + private String status; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 最后登录IP */ + @Excel(name = "最后登录IP", type = Type.EXPORT) + private String loginIp; + + /** 最后登录时间 */ + @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) + private Date loginDate; + + /** 部门对象 */ + @Excels({ + @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT), + @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT) + }) + private SysDept dept; + + /** 角色对象 */ + private List roles; + + /** 角色组 */ + private Long[] roleIds; + + /** 岗位组 */ + private Long[] postIds; + + /** 角色ID */ + private Long roleId; + + public SysUser() + { + + } + + public SysUser(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + + public void setUserId(Long userId) + { + this.userId = userId; + } + + public boolean isAdmin() + { + return isAdmin(this.userId); + } + + public static boolean isAdmin(Long userId) + { + return userId != null && 1L == userId; + } + + public Long getDeptId() + { + return deptId; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + @Xss(message = "用户昵称不能包含脚本字符") + @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符") + public String getNickName() + { + return nickName; + } + + public void setNickName(String nickName) + { + this.nickName = nickName; + } + + @Xss(message = "用户账号不能包含脚本字符") + @NotBlank(message = "用户账号不能为空") + @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符") + public String getUserName() + { + return userName; + } + + public void setUserName(String userName) + { + this.userName = userName; + } + + @Email(message = "邮箱格式不正确") + @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符") + public String getEmail() + { + return email; + } + + public void setEmail(String email) + { + this.email = email; + } + + @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符") + public String getPhonenumber() + { + return phonenumber; + } + + public void setPhonenumber(String phonenumber) + { + this.phonenumber = phonenumber; + } + + public String getSex() + { + return sex; + } + + public void setSex(String sex) + { + this.sex = sex; + } + + public String getAvatar() + { + return avatar; + } + + public void setAvatar(String avatar) + { + this.avatar = avatar; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getDelFlag() + { + return delFlag; + } + + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + public String getLoginIp() + { + return loginIp; + } + + public void setLoginIp(String loginIp) + { + this.loginIp = loginIp; + } + + public Date getLoginDate() + { + return loginDate; + } + + public void setLoginDate(Date loginDate) + { + this.loginDate = loginDate; + } + + public SysDept getDept() + { + return dept; + } + + public void setDept(SysDept dept) + { + this.dept = dept; + } + + public List getRoles() + { + return roles; + } + + public void setRoles(List roles) + { + this.roles = roles; + } + + public Long[] getRoleIds() + { + return roleIds; + } + + public void setRoleIds(Long[] roleIds) + { + this.roleIds = roleIds; + } + + public Long[] getPostIds() + { + return postIds; + } + + public void setPostIds(Long[] postIds) + { + this.postIds = postIds; + } + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("deptId", getDeptId()) + .append("userName", getUserName()) + .append("nickName", getNickName()) + .append("email", getEmail()) + .append("phonenumber", getPhonenumber()) + .append("sex", getSex()) + .append("avatar", getAvatar()) + .append("password", getPassword()) + .append("status", getStatus()) + .append("delFlag", getDelFlag()) + .append("loginIp", getLoginIp()) + .append("loginDate", getLoginDate()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("dept", getDept()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java new file mode 100644 index 0000000..b5bc8c8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java @@ -0,0 +1,69 @@ +package com.ruoyi.common.core.domain.model; + +/** + * 用户登录对象 + * + * @author ruoyi + */ +public class LoginBody +{ + /** + * 用户名 + */ + private String username; + + /** + * 用户密码 + */ + private String password; + + /** + * 验证码 + */ + private String code; + + /** + * 唯一标识 + */ + private String uuid; + + public String getUsername() + { + return username; + } + + public void setUsername(String username) + { + this.username = username; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public String getCode() + { + return code; + } + + public void setCode(String code) + { + this.code = code; + } + + public String getUuid() + { + return uuid; + } + + public void setUuid(String uuid) + { + this.uuid = uuid; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java new file mode 100644 index 0000000..e485384 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java @@ -0,0 +1,266 @@ +package com.ruoyi.common.core.domain.model; + +import java.util.Collection; +import java.util.Set; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; +import com.alibaba.fastjson2.annotation.JSONField; +import com.ruoyi.common.core.domain.entity.SysUser; + +/** + * 登录用户身份权限 + * + * @author ruoyi + */ +public class LoginUser implements UserDetails +{ + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + private Long userId; + + /** + * 部门ID + */ + private Long deptId; + + /** + * 用户唯一标识 + */ + private String token; + + /** + * 登录时间 + */ + private Long loginTime; + + /** + * 过期时间 + */ + private Long expireTime; + + /** + * 登录IP地址 + */ + private String ipaddr; + + /** + * 登录地点 + */ + private String loginLocation; + + /** + * 浏览器类型 + */ + private String browser; + + /** + * 操作系统 + */ + private String os; + + /** + * 权限列表 + */ + private Set permissions; + + /** + * 用户信息 + */ + private SysUser user; + + public Long getUserId() + { + return userId; + } + + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getDeptId() + { + return deptId; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public String getToken() + { + return token; + } + + public void setToken(String token) + { + this.token = token; + } + + public LoginUser() + { + } + + public LoginUser(SysUser user, Set permissions) + { + this.user = user; + this.permissions = permissions; + } + + public LoginUser(Long userId, Long deptId, SysUser user, Set permissions) + { + this.userId = userId; + this.deptId = deptId; + this.user = user; + this.permissions = permissions; + } + + @JSONField(serialize = false) + @Override + public String getPassword() + { + return user.getPassword(); + } + + @Override + public String getUsername() + { + return user.getUserName(); + } + + /** + * 账户是否未过期,过期无法验证 + */ + @JSONField(serialize = false) + @Override + public boolean isAccountNonExpired() + { + return true; + } + + /** + * 指定用户是否解锁,锁定的用户无法进行身份验证 + * + * @return + */ + @JSONField(serialize = false) + @Override + public boolean isAccountNonLocked() + { + return true; + } + + /** + * 指示是否已过期的用户的凭据(密码),过期的凭据防止认证 + * + * @return + */ + @JSONField(serialize = false) + @Override + public boolean isCredentialsNonExpired() + { + return true; + } + + /** + * 是否可用 ,禁用的用户不能身份验证 + * + * @return + */ + @JSONField(serialize = false) + @Override + public boolean isEnabled() + { + return true; + } + + public Long getLoginTime() + { + return loginTime; + } + + public void setLoginTime(Long loginTime) + { + this.loginTime = loginTime; + } + + public String getIpaddr() + { + return ipaddr; + } + + public void setIpaddr(String ipaddr) + { + this.ipaddr = ipaddr; + } + + public String getLoginLocation() + { + return loginLocation; + } + + public void setLoginLocation(String loginLocation) + { + this.loginLocation = loginLocation; + } + + public String getBrowser() + { + return browser; + } + + public void setBrowser(String browser) + { + this.browser = browser; + } + + public String getOs() + { + return os; + } + + public void setOs(String os) + { + this.os = os; + } + + public Long getExpireTime() + { + return expireTime; + } + + public void setExpireTime(Long expireTime) + { + this.expireTime = expireTime; + } + + public Set getPermissions() + { + return permissions; + } + + public void setPermissions(Set permissions) + { + this.permissions = permissions; + } + + public SysUser getUser() + { + return user; + } + + public void setUser(SysUser user) + { + this.user = user; + } + + @Override + public Collection getAuthorities() + { + return null; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java new file mode 100644 index 0000000..868a1fc --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/RegisterBody.java @@ -0,0 +1,11 @@ +package com.ruoyi.common.core.domain.model; + +/** + * 用户注册对象 + * + * @author ruoyi + */ +public class RegisterBody extends LoginBody +{ + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java new file mode 100644 index 0000000..8966cb4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java @@ -0,0 +1,101 @@ +package com.ruoyi.common.core.page; + +import com.ruoyi.common.utils.StringUtils; + +/** + * 分页数据 + * + * @author ruoyi + */ +public class PageDomain +{ + /** 当前记录起始索引 */ + private Integer pageNum; + + /** 每页显示记录数 */ + private Integer pageSize; + + /** 排序列 */ + private String orderByColumn; + + /** 排序的方向desc或者asc */ + private String isAsc = "asc"; + + /** 分页参数合理化 */ + private Boolean reasonable = true; + + public String getOrderBy() + { + if (StringUtils.isEmpty(orderByColumn)) + { + return ""; + } + return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; + } + + public Integer getPageNum() + { + return pageNum; + } + + public void setPageNum(Integer pageNum) + { + this.pageNum = pageNum; + } + + public Integer getPageSize() + { + return pageSize; + } + + public void setPageSize(Integer pageSize) + { + this.pageSize = pageSize; + } + + public String getOrderByColumn() + { + return orderByColumn; + } + + public void setOrderByColumn(String orderByColumn) + { + this.orderByColumn = orderByColumn; + } + + public String getIsAsc() + { + return isAsc; + } + + public void setIsAsc(String isAsc) + { + if (StringUtils.isNotEmpty(isAsc)) + { + // 兼容前端排序类型 + if ("ascending".equals(isAsc)) + { + isAsc = "asc"; + } + else if ("descending".equals(isAsc)) + { + isAsc = "desc"; + } + this.isAsc = isAsc; + } + } + + public Boolean getReasonable() + { + if (StringUtils.isNull(reasonable)) + { + return Boolean.TRUE; + } + return reasonable; + } + + public void setReasonable(Boolean reasonable) + { + this.reasonable = reasonable; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java new file mode 100644 index 0000000..847685b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java @@ -0,0 +1,85 @@ +package com.ruoyi.common.core.page; + +import java.io.Serializable; +import java.util.List; + +/** + * 表格分页数据对象 + * + * @author ruoyi + */ +public class TableDataInfo implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 总记录数 */ + private long total; + + /** 列表数据 */ + private List rows; + + /** 消息状态码 */ + private int code; + + /** 消息内容 */ + private String msg; + + /** + * 表格数据对象 + */ + public TableDataInfo() + { + } + + /** + * 分页 + * + * @param list 列表数据 + * @param total 总记录数 + */ + public TableDataInfo(List list, int total) + { + this.rows = list; + this.total = total; + } + + public long getTotal() + { + return total; + } + + public void setTotal(long total) + { + this.total = total; + } + + public List getRows() + { + return rows; + } + + public void setRows(List rows) + { + this.rows = rows; + } + + public int getCode() + { + return code; + } + + public void setCode(int code) + { + this.code = code; + } + + public String getMsg() + { + return msg; + } + + public void setMsg(String msg) + { + this.msg = msg; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java new file mode 100644 index 0000000..a120c30 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java @@ -0,0 +1,56 @@ +package com.ruoyi.common.core.page; + +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.ServletUtils; + +/** + * 表格数据处理 + * + * @author ruoyi + */ +public class TableSupport +{ + /** + * 当前记录起始索引 + */ + public static final String PAGE_NUM = "pageNum"; + + /** + * 每页显示记录数 + */ + public static final String PAGE_SIZE = "pageSize"; + + /** + * 排序列 + */ + public static final String ORDER_BY_COLUMN = "orderByColumn"; + + /** + * 排序的方向 "desc" 或者 "asc". + */ + public static final String IS_ASC = "isAsc"; + + /** + * 分页参数合理化 + */ + public static final String REASONABLE = "reasonable"; + + /** + * 封装分页对象 + */ + public static PageDomain getPageDomain() + { + PageDomain pageDomain = new PageDomain(); + pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1)); + pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10)); + pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN)); + pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC)); + pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE)); + return pageDomain; + } + + public static PageDomain buildPageRequest() + { + return getPageDomain(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java new file mode 100644 index 0000000..44e80d8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java @@ -0,0 +1,268 @@ +package com.ruoyi.common.core.redis; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.BoundSetOperations; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.stereotype.Component; + +/** + * spring redis 工具类 + * + * @author ruoyi + **/ +@SuppressWarnings(value = { "unchecked", "rawtypes" }) +@Component +public class RedisCache +{ + @Autowired + public RedisTemplate redisTemplate; + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + */ + public void setCacheObject(final String key, final T value) + { + redisTemplate.opsForValue().set(key, value); + } + + /** + * 缓存基本的对象,Integer、String、实体类等 + * + * @param key 缓存的键值 + * @param value 缓存的值 + * @param timeout 时间 + * @param timeUnit 时间颗粒度 + */ + public void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) + { + redisTemplate.opsForValue().set(key, value, timeout, timeUnit); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final long timeout) + { + return expire(key, timeout, TimeUnit.SECONDS); + } + + /** + * 设置有效时间 + * + * @param key Redis键 + * @param timeout 超时时间 + * @param unit 时间单位 + * @return true=设置成功;false=设置失败 + */ + public boolean expire(final String key, final long timeout, final TimeUnit unit) + { + return redisTemplate.expire(key, timeout, unit); + } + + /** + * 获取有效时间 + * + * @param key Redis键 + * @return 有效时间 + */ + public long getExpire(final String key) + { + return redisTemplate.getExpire(key); + } + + /** + * 判断 key是否存在 + * + * @param key 键 + * @return true 存在 false不存在 + */ + public Boolean hasKey(String key) + { + return redisTemplate.hasKey(key); + } + + /** + * 获得缓存的基本对象。 + * + * @param key 缓存键值 + * @return 缓存键值对应的数据 + */ + public T getCacheObject(final String key) + { + ValueOperations operation = redisTemplate.opsForValue(); + return operation.get(key); + } + + /** + * 删除单个对象 + * + * @param key + */ + public boolean deleteObject(final String key) + { + return redisTemplate.delete(key); + } + + /** + * 删除集合对象 + * + * @param collection 多个对象 + * @return + */ + public boolean deleteObject(final Collection collection) + { + return redisTemplate.delete(collection) > 0; + } + + /** + * 缓存List数据 + * + * @param key 缓存的键值 + * @param dataList 待缓存的List数据 + * @return 缓存的对象 + */ + public long setCacheList(final String key, final List dataList) + { + Long count = redisTemplate.opsForList().rightPushAll(key, dataList); + return count == null ? 0 : count; + } + + /** + * 获得缓存的list对象 + * + * @param key 缓存的键值 + * @return 缓存键值对应的数据 + */ + public List getCacheList(final String key) + { + return redisTemplate.opsForList().range(key, 0, -1); + } + + /** + * 缓存Set + * + * @param key 缓存键值 + * @param dataSet 缓存的数据 + * @return 缓存数据的对象 + */ + public BoundSetOperations setCacheSet(final String key, final Set dataSet) + { + BoundSetOperations setOperation = redisTemplate.boundSetOps(key); + Iterator it = dataSet.iterator(); + while (it.hasNext()) + { + setOperation.add(it.next()); + } + return setOperation; + } + + /** + * 获得缓存的set + * + * @param key + * @return + */ + public Set getCacheSet(final String key) + { + return redisTemplate.opsForSet().members(key); + } + + /** + * 缓存Map + * + * @param key + * @param dataMap + */ + public void setCacheMap(final String key, final Map dataMap) + { + if (dataMap != null) { + redisTemplate.opsForHash().putAll(key, dataMap); + } + } + + /** + * 获得缓存的Map + * + * @param key + * @return + */ + public Map getCacheMap(final String key) + { + return redisTemplate.opsForHash().entries(key); + } + + /** + * 往Hash中存入数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @param value 值 + */ + public void setCacheMapValue(final String key, final String hKey, final T value) + { + redisTemplate.opsForHash().put(key, hKey, value); + } + + /** + * 获取Hash中的数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @return Hash中的对象 + */ + public T getCacheMapValue(final String key, final String hKey) + { + HashOperations opsForHash = redisTemplate.opsForHash(); + return opsForHash.get(key, hKey); + } + + /** + * 获取多个Hash中的数据 + * + * @param key Redis键 + * @param hKeys Hash键集合 + * @return Hash对象集合 + */ + public List getMultiCacheMapValue(final String key, final Collection hKeys) + { + return redisTemplate.opsForHash().multiGet(key, hKeys); + } + + /** + * 删除Hash中的某条数据 + * + * @param key Redis键 + * @param hKey Hash键 + * @return 是否成功 + */ + public boolean deleteCacheMapValue(final String key, final String hKey) + { + return redisTemplate.opsForHash().delete(key, hKey) > 0; + } + + /** + * 获得缓存的基本对象列表 + * + * @param pattern 字符串前缀 + * @return 对象列表 + */ + public Collection keys(final String pattern) + { + return redisTemplate.keys(pattern); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java new file mode 100644 index 0000000..84124aa --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java @@ -0,0 +1,86 @@ +package com.ruoyi.common.core.text; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import com.ruoyi.common.utils.StringUtils; + +/** + * 字符集工具类 + * + * @author ruoyi + */ +public class CharsetKit +{ + /** ISO-8859-1 */ + public static final String ISO_8859_1 = "ISO-8859-1"; + /** UTF-8 */ + public static final String UTF_8 = "UTF-8"; + /** GBK */ + public static final String GBK = "GBK"; + + /** ISO-8859-1 */ + public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); + /** UTF-8 */ + public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); + /** GBK */ + public static final Charset CHARSET_GBK = Charset.forName(GBK); + + /** + * 转换为Charset对象 + * + * @param charset 字符集,为空则返回默认字符集 + * @return Charset + */ + public static Charset charset(String charset) + { + return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, String srcCharset, String destCharset) + { + return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, Charset srcCharset, Charset destCharset) + { + if (null == srcCharset) + { + srcCharset = StandardCharsets.ISO_8859_1; + } + + if (null == destCharset) + { + destCharset = StandardCharsets.UTF_8; + } + + if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) + { + return source; + } + return new String(source.getBytes(srcCharset), destCharset); + } + + /** + * @return 系统字符集编码 + */ + public static String systemCharset() + { + return Charset.defaultCharset().name(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java new file mode 100644 index 0000000..c918e36 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java @@ -0,0 +1,1000 @@ +package com.ruoyi.common.core.text; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.text.NumberFormat; +import java.util.Set; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.lang3.ArrayUtils; + +/** + * 类型转换器 + * + * @author ruoyi + */ +public class Convert +{ + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static String toStr(Object value, String defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof String) + { + return (String) value; + } + return value.toString(); + } + + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static String toStr(Object value) + { + return toStr(value, null); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Character toChar(Object value, Character defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof Character) + { + return (Character) value; + } + + final String valueStr = toStr(value, null); + return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Character toChar(Object value) + { + return toChar(value, null); + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Byte toByte(Object value, Byte defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Byte) + { + return (Byte) value; + } + if (value instanceof Number) + { + return ((Number) value).byteValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Byte.parseByte(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Byte toByte(Object value) + { + return toByte(value, null); + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Short toShort(Object value, Short defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Short) + { + return (Short) value; + } + if (value instanceof Number) + { + return ((Number) value).shortValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Short.parseShort(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Short toShort(Object value) + { + return toShort(value, null); + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Number toNumber(Object value, Number defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Number) + { + return (Number) value; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return NumberFormat.getInstance().parse(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Number toNumber(Object value) + { + return toNumber(value, null); + } + + /** + * 转换为int
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Integer toInt(Object value, Integer defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Integer) + { + return (Integer) value; + } + if (value instanceof Number) + { + return ((Number) value).intValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Integer.parseInt(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为int
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Integer toInt(Object value) + { + return toInt(value, null); + } + + /** + * 转换为Integer数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String str) + { + return toIntArray(",", str); + } + + /** + * 转换为Long数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String str) + { + return toLongArray(",", str); + } + + /** + * 转换为Integer数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Integer[] {}; + } + String[] arr = str.split(split); + final Integer[] ints = new Integer[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Integer v = toInt(arr[i], 0); + ints[i] = v; + } + return ints; + } + + /** + * 转换为Long数组
+ * + * @param split 分隔符 + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Long[] {}; + } + String[] arr = str.split(split); + final Long[] longs = new Long[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Long v = toLong(arr[i], null); + longs[i] = v; + } + return longs; + } + + /** + * 转换为String数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String str) + { + return toStrArray(",", str); + } + + /** + * 转换为String数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String split, String str) + { + return str.split(split); + } + + /** + * 转换为long
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Long toLong(Object value, Long defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Long) + { + return (Long) value; + } + if (value instanceof Number) + { + return ((Number) value).longValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).longValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为long
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Long toLong(Object value) + { + return toLong(value, null); + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Double toDouble(Object value, Double defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Double) + { + return (Double) value; + } + if (value instanceof Number) + { + return ((Number) value).doubleValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).doubleValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Double toDouble(Object value) + { + return toDouble(value, null); + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Float toFloat(Object value, Float defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Float) + { + return (Float) value; + } + if (value instanceof Number) + { + return ((Number) value).floatValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Float.parseFloat(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Float toFloat(Object value) + { + return toFloat(value, null); + } + + /** + * 转换为boolean
+ * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Boolean toBool(Object value, Boolean defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Boolean) + { + return (Boolean) value; + } + String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + valueStr = valueStr.trim().toLowerCase(); + switch (valueStr) + { + case "true": + case "yes": + case "ok": + case "1": + return true; + case "false": + case "no": + case "0": + return false; + default: + return defaultValue; + } + } + + /** + * 转换为boolean
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Boolean toBool(Object value) + { + return toBool(value, null); + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * + * @param clazz Enum的Class + * @param value 值 + * @param defaultValue 默认值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value, E defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (clazz.isAssignableFrom(value.getClass())) + { + @SuppressWarnings("unchecked") + E myE = (E) value; + return myE; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Enum.valueOf(clazz, valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * + * @param clazz Enum的Class + * @param value 值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value) + { + return toEnum(clazz, value, null); + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value, BigInteger defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigInteger) + { + return (BigInteger) value; + } + if (value instanceof Long) + { + return BigInteger.valueOf((Long) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigInteger(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value) + { + return toBigInteger(value, null); + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigDecimal) + { + return (BigDecimal) value; + } + if (value instanceof Long) + { + return new BigDecimal((Long) value); + } + if (value instanceof Double) + { + return BigDecimal.valueOf((Double) value); + } + if (value instanceof Integer) + { + return new BigDecimal((Integer) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigDecimal(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value) + { + return toBigDecimal(value, null); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @return 字符串 + */ + public static String utf8Str(Object obj) + { + return str(obj, CharsetKit.CHARSET_UTF_8); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charsetName 字符集 + * @return 字符串 + */ + public static String str(Object obj, String charsetName) + { + return str(obj, Charset.forName(charsetName)); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(Object obj, Charset charset) + { + if (null == obj) + { + return null; + } + + if (obj instanceof String) + { + return (String) obj; + } + else if (obj instanceof byte[]) + { + return str((byte[]) obj, charset); + } + else if (obj instanceof Byte[]) + { + byte[] bytes = ArrayUtils.toPrimitive((Byte[]) obj); + return str(bytes, charset); + } + else if (obj instanceof ByteBuffer) + { + return str((ByteBuffer) obj, charset); + } + return obj.toString(); + } + + /** + * 将byte数组转为字符串 + * + * @param bytes byte数组 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(byte[] bytes, String charset) + { + return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * 解码字节码 + * + * @param data 字符串 + * @param charset 字符集,如果此字段为空,则解码的结果取决于平台 + * @return 解码后的字符串 + */ + public static String str(byte[] data, Charset charset) + { + if (data == null) + { + return null; + } + + if (null == charset) + { + return new String(data); + } + return new String(data, charset); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, String charset) + { + if (data == null) + { + return null; + } + + return str(data, Charset.forName(charset)); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, Charset charset) + { + if (null == charset) + { + charset = Charset.defaultCharset(); + } + return charset.decode(data).toString(); + } + + // ----------------------------------------------------------------------- 全角半角转换 + /** + * 半角转全角 + * + * @param input String. + * @return 全角字符串. + */ + public static String toSBC(String input) + { + return toSBC(input, null); + } + + /** + * 半角转全角 + * + * @param input String + * @param notConvertSet 不替换的字符集合 + * @return 全角字符串. + */ + public static String toSBC(String input, Set notConvertSet) + { + char[] c = input.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == ' ') + { + c[i] = '\u3000'; + } + else if (c[i] < '\177') + { + c[i] = (char) (c[i] + 65248); + + } + } + return new String(c); + } + + /** + * 全角转半角 + * + * @param input String. + * @return 半角字符串 + */ + public static String toDBC(String input) + { + return toDBC(input, null); + } + + /** + * 替换全角为半角 + * + * @param text 文本 + * @param notConvertSet 不替换的字符集合 + * @return 替换后的字符 + */ + public static String toDBC(String text, Set notConvertSet) + { + char[] c = text.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == '\u3000') + { + c[i] = ' '; + } + else if (c[i] > '\uFF00' && c[i] < '\uFF5F') + { + c[i] = (char) (c[i] - 65248); + } + } + String returnString = new String(c); + + return returnString; + } + + /** + * 数字金额大写转换 先写个完整的然后将如零拾替换成零 + * + * @param n 数字 + * @return 中文大写数字 + */ + public static String digitUppercase(double n) + { + String[] fraction = { "角", "分" }; + String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; + String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } }; + + String head = n < 0 ? "负" : ""; + n = Math.abs(n); + + String s = ""; + for (int i = 0; i < fraction.length; i++) + { + s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""); + } + if (s.length() < 1) + { + s = "整"; + } + int integerPart = (int) Math.floor(n); + + for (int i = 0; i < unit[0].length && integerPart > 0; i++) + { + String p = ""; + for (int j = 0; j < unit[1].length && n > 0; j++) + { + p = digit[integerPart % 10] + unit[1][j] + p; + integerPart = integerPart / 10; + } + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; + } + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java new file mode 100644 index 0000000..c78ac77 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/core/text/StrFormatter.java @@ -0,0 +1,92 @@ +package com.ruoyi.common.core.text; + +import com.ruoyi.common.utils.StringUtils; + +/** + * 字符串格式化 + * + * @author ruoyi + */ +public class StrFormatter +{ + public static final String EMPTY_JSON = "{}"; + public static final char C_BACKSLASH = '\\'; + public static final char C_DELIM_START = '{'; + public static final char C_DELIM_END = '}'; + + /** + * 格式化字符串
+ * 此方法只是简单将占位符 {} 按照顺序替换为参数
+ * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
+ * 例:
+ * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
+ * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
+ * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
+ * + * @param strPattern 字符串模板 + * @param argArray 参数列表 + * @return 结果 + */ + public static String format(final String strPattern, final Object... argArray) + { + if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray)) + { + return strPattern; + } + final int strPatternLength = strPattern.length(); + + // 初始化定义好的长度以获得更好的性能 + StringBuilder sbuf = new StringBuilder(strPatternLength + 50); + + int handledPosition = 0; + int delimIndex;// 占位符所在位置 + for (int argIndex = 0; argIndex < argArray.length; argIndex++) + { + delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition); + if (delimIndex == -1) + { + if (handledPosition == 0) + { + return strPattern; + } + else + { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果 + sbuf.append(strPattern, handledPosition, strPatternLength); + return sbuf.toString(); + } + } + else + { + if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH) + { + if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH) + { + // 转义符之前还有一个转义符,占位符依旧有效 + sbuf.append(strPattern, handledPosition, delimIndex - 1); + sbuf.append(Convert.utf8Str(argArray[argIndex])); + handledPosition = delimIndex + 2; + } + else + { + // 占位符被转义 + argIndex--; + sbuf.append(strPattern, handledPosition, delimIndex - 1); + sbuf.append(C_DELIM_START); + handledPosition = delimIndex + 1; + } + } + else + { + // 正常占位符 + sbuf.append(strPattern, handledPosition, delimIndex); + sbuf.append(Convert.utf8Str(argArray[argIndex])); + handledPosition = delimIndex + 2; + } + } + } + // 加入最后一个占位符后所有的字符 + sbuf.append(strPattern, handledPosition, strPattern.length()); + + return sbuf.toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java new file mode 100644 index 0000000..10b7306 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java @@ -0,0 +1,20 @@ +package com.ruoyi.common.enums; + +/** + * 操作状态 + * + * @author ruoyi + * + */ +public enum BusinessStatus +{ + /** + * 成功 + */ + SUCCESS, + + /** + * 失败 + */ + FAIL, +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java new file mode 100644 index 0000000..2e17c4a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java @@ -0,0 +1,59 @@ +package com.ruoyi.common.enums; + +/** + * 业务操作类型 + * + * @author ruoyi + */ +public enum BusinessType +{ + /** + * 其它 + */ + OTHER, + + /** + * 新增 + */ + INSERT, + + /** + * 修改 + */ + UPDATE, + + /** + * 删除 + */ + DELETE, + + /** + * 授权 + */ + GRANT, + + /** + * 导出 + */ + EXPORT, + + /** + * 导入 + */ + IMPORT, + + /** + * 强退 + */ + FORCE, + + /** + * 生成代码 + */ + GENCODE, + + /** + * 清空数据 + */ + CLEAN, +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java new file mode 100644 index 0000000..0d945be --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java @@ -0,0 +1,19 @@ +package com.ruoyi.common.enums; + +/** + * 数据源 + * + * @author ruoyi + */ +public enum DataSourceType +{ + /** + * 主库 + */ + MASTER, + + /** + * 从库 + */ + SLAVE +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java new file mode 100644 index 0000000..be6f739 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java @@ -0,0 +1,36 @@ +package com.ruoyi.common.enums; + +import java.util.HashMap; +import java.util.Map; +import org.springframework.lang.Nullable; + +/** + * 请求方式 + * + * @author ruoyi + */ +public enum HttpMethod +{ + GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE; + + private static final Map mappings = new HashMap<>(16); + + static + { + for (HttpMethod httpMethod : values()) + { + mappings.put(httpMethod.name(), httpMethod); + } + } + + @Nullable + public static HttpMethod resolve(@Nullable String method) + { + return (method != null ? mappings.get(method) : null); + } + + public boolean matches(String method) + { + return (this == resolve(method)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java new file mode 100644 index 0000000..c609fd8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java @@ -0,0 +1,20 @@ +package com.ruoyi.common.enums; + +/** + * 限流类型 + * + * @author ruoyi + */ + +public enum LimitType +{ + /** + * 默认策略全局限流 + */ + DEFAULT, + + /** + * 根据请求者IP进行限流 + */ + IP +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java new file mode 100644 index 0000000..bdd143c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java @@ -0,0 +1,24 @@ +package com.ruoyi.common.enums; + +/** + * 操作人类别 + * + * @author ruoyi + */ +public enum OperatorType +{ + /** + * 其它 + */ + OTHER, + + /** + * 后台用户 + */ + MANAGE, + + /** + * 手机端用户 + */ + MOBILE +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java new file mode 100644 index 0000000..d7ff44a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java @@ -0,0 +1,30 @@ +package com.ruoyi.common.enums; + +/** + * 用户状态 + * + * @author ruoyi + */ +public enum UserStatus +{ + OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); + + private final String code; + private final String info; + + UserStatus(String code, String info) + { + this.code = code; + this.info = info; + } + + public String getCode() + { + return code; + } + + public String getInfo() + { + return info; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java new file mode 100644 index 0000000..f6ad2ab --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java @@ -0,0 +1,15 @@ +package com.ruoyi.common.exception; + +/** + * 演示模式异常 + * + * @author ruoyi + */ +public class DemoModeException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public DemoModeException() + { + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java new file mode 100644 index 0000000..81a71b5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java @@ -0,0 +1,58 @@ +package com.ruoyi.common.exception; + +/** + * 全局异常 + * + * @author ruoyi + */ +public class GlobalException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + * + * 和 {@link CommonResult#getDetailMessage()} 一致的设计 + */ + private String detailMessage; + + /** + * 空构造方法,避免反序列化问题 + */ + public GlobalException() + { + } + + public GlobalException(String message) + { + this.message = message; + } + + public String getDetailMessage() + { + return detailMessage; + } + + public GlobalException setDetailMessage(String detailMessage) + { + this.detailMessage = detailMessage; + return this; + } + + @Override + public String getMessage() + { + return message; + } + + public GlobalException setMessage(String message) + { + this.message = message; + return this; + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java new file mode 100644 index 0000000..fcc7ab6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java @@ -0,0 +1,74 @@ +package com.ruoyi.common.exception; + +/** + * 业务异常 + * + * @author ruoyi + */ +public final class ServiceException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + /** + * 错误码 + */ + private Integer code; + + /** + * 错误提示 + */ + private String message; + + /** + * 错误明细,内部调试错误 + * + * 和 {@link CommonResult#getDetailMessage()} 一致的设计 + */ + private String detailMessage; + + /** + * 空构造方法,避免反序列化问题 + */ + public ServiceException() + { + } + + public ServiceException(String message) + { + this.message = message; + } + + public ServiceException(String message, Integer code) + { + this.message = message; + this.code = code; + } + + public String getDetailMessage() + { + return detailMessage; + } + + @Override + public String getMessage() + { + return message; + } + + public Integer getCode() + { + return code; + } + + public ServiceException setMessage(String message) + { + this.message = message; + return this; + } + + public ServiceException setDetailMessage(String detailMessage) + { + this.detailMessage = detailMessage; + return this; + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java new file mode 100644 index 0000000..980fa46 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java @@ -0,0 +1,26 @@ +package com.ruoyi.common.exception; + +/** + * 工具类异常 + * + * @author ruoyi + */ +public class UtilException extends RuntimeException +{ + private static final long serialVersionUID = 8247610319171014183L; + + public UtilException(Throwable e) + { + super(e.getMessage(), e); + } + + public UtilException(String message) + { + super(message); + } + + public UtilException(String message, Throwable throwable) + { + super(message, throwable); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java new file mode 100644 index 0000000..b55d72e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java @@ -0,0 +1,97 @@ +package com.ruoyi.common.exception.base; + +import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.common.utils.StringUtils; + +/** + * 基础异常 + * + * @author ruoyi + */ +public class BaseException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + /** + * 所属模块 + */ + private String module; + + /** + * 错误码 + */ + private String code; + + /** + * 错误码对应的参数 + */ + private Object[] args; + + /** + * 错误消息 + */ + private String defaultMessage; + + public BaseException(String module, String code, Object[] args, String defaultMessage) + { + this.module = module; + this.code = code; + this.args = args; + this.defaultMessage = defaultMessage; + } + + public BaseException(String module, String code, Object[] args) + { + this(module, code, args, null); + } + + public BaseException(String module, String defaultMessage) + { + this(module, null, null, defaultMessage); + } + + public BaseException(String code, Object[] args) + { + this(null, code, args, null); + } + + public BaseException(String defaultMessage) + { + this(null, null, null, defaultMessage); + } + + @Override + public String getMessage() + { + String message = null; + if (!StringUtils.isEmpty(code)) + { + message = MessageUtils.message(code, args); + } + if (message == null) + { + message = defaultMessage; + } + return message; + } + + public String getModule() + { + return module; + } + + public String getCode() + { + return code; + } + + public Object[] getArgs() + { + return args; + } + + public String getDefaultMessage() + { + return defaultMessage; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java new file mode 100644 index 0000000..871f09b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java @@ -0,0 +1,19 @@ +package com.ruoyi.common.exception.file; + +import com.ruoyi.common.exception.base.BaseException; + +/** + * 文件信息异常类 + * + * @author ruoyi + */ +public class FileException extends BaseException +{ + private static final long serialVersionUID = 1L; + + public FileException(String code, Object[] args) + { + super("file", code, args, null); + } + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java new file mode 100644 index 0000000..70e0ec9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.file; + +/** + * 文件名称超长限制异常类 + * + * @author ruoyi + */ +public class FileNameLengthLimitExceededException extends FileException +{ + private static final long serialVersionUID = 1L; + + public FileNameLengthLimitExceededException(int defaultFileNameLength) + { + super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java new file mode 100644 index 0000000..ec6ab05 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.file; + +/** + * 文件名大小限制异常类 + * + * @author ruoyi + */ +public class FileSizeLimitExceededException extends FileException +{ + private static final long serialVersionUID = 1L; + + public FileSizeLimitExceededException(long defaultMaxSize) + { + super("upload.exceed.maxSize", new Object[] { defaultMaxSize }); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileUploadException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileUploadException.java new file mode 100644 index 0000000..f45e7ef --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileUploadException.java @@ -0,0 +1,61 @@ +package com.ruoyi.common.exception.file; + +import java.io.PrintStream; +import java.io.PrintWriter; + +/** + * 文件上传异常类 + * + * @author ruoyi + */ +public class FileUploadException extends Exception +{ + + private static final long serialVersionUID = 1L; + + private final Throwable cause; + + public FileUploadException() + { + this(null, null); + } + + public FileUploadException(final String msg) + { + this(msg, null); + } + + public FileUploadException(String msg, Throwable cause) + { + super(msg); + this.cause = cause; + } + + @Override + public void printStackTrace(PrintStream stream) + { + super.printStackTrace(stream); + if (cause != null) + { + stream.println("Caused by:"); + cause.printStackTrace(stream); + } + } + + @Override + public void printStackTrace(PrintWriter writer) + { + super.printStackTrace(writer); + if (cause != null) + { + writer.println("Caused by:"); + cause.printStackTrace(writer); + } + } + + @Override + public Throwable getCause() + { + return cause; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java new file mode 100644 index 0000000..011f308 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java @@ -0,0 +1,80 @@ +package com.ruoyi.common.exception.file; + +import java.util.Arrays; + +/** + * 文件上传 误异常类 + * + * @author ruoyi + */ +public class InvalidExtensionException extends FileUploadException +{ + private static final long serialVersionUID = 1L; + + private String[] allowedExtension; + private String extension; + private String filename; + + public InvalidExtensionException(String[] allowedExtension, String extension, String filename) + { + super("文件[" + filename + "]后缀[" + extension + "]不正确,请上传" + Arrays.toString(allowedExtension) + "格式"); + this.allowedExtension = allowedExtension; + this.extension = extension; + this.filename = filename; + } + + public String[] getAllowedExtension() + { + return allowedExtension; + } + + public String getExtension() + { + return extension; + } + + public String getFilename() + { + return filename; + } + + public static class InvalidImageExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidFlashExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidMediaExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } + + public static class InvalidVideoExtensionException extends InvalidExtensionException + { + private static final long serialVersionUID = 1L; + + public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename) + { + super(allowedExtension, extension, filename); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java new file mode 100644 index 0000000..a567b40 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/job/TaskException.java @@ -0,0 +1,34 @@ +package com.ruoyi.common.exception.job; + +/** + * 计划策略异常 + * + * @author ruoyi + */ +public class TaskException extends Exception +{ + private static final long serialVersionUID = 1L; + + private Code code; + + public TaskException(String msg, Code code) + { + this(msg, code, null); + } + + public TaskException(String msg, Code code, Exception nestedEx) + { + super(msg, nestedEx); + this.code = code; + } + + public Code getCode() + { + return code; + } + + public enum Code + { + TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/BlackListException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/BlackListException.java new file mode 100644 index 0000000..2bf5038 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/BlackListException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 黑名单IP异常类 + * + * @author ruoyi + */ +public class BlackListException extends UserException +{ + private static final long serialVersionUID = 1L; + + public BlackListException() + { + super("login.blocked", null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java new file mode 100644 index 0000000..389dbc7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 验证码错误异常类 + * + * @author ruoyi + */ +public class CaptchaException extends UserException +{ + private static final long serialVersionUID = 1L; + + public CaptchaException() + { + super("user.jcaptcha.error", null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java new file mode 100644 index 0000000..85f9486 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 验证码失效异常类 + * + * @author ruoyi + */ +public class CaptchaExpireException extends UserException +{ + private static final long serialVersionUID = 1L; + + public CaptchaExpireException() + { + super("user.jcaptcha.expire", null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java new file mode 100644 index 0000000..c292d70 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java @@ -0,0 +1,18 @@ +package com.ruoyi.common.exception.user; + +import com.ruoyi.common.exception.base.BaseException; + +/** + * 用户信息异常类 + * + * @author ruoyi + */ +public class UserException extends BaseException +{ + private static final long serialVersionUID = 1L; + + public UserException(String code, Object[] args) + { + super("user", code, args, null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserNotExistsException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserNotExistsException.java new file mode 100644 index 0000000..eff8181 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserNotExistsException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 用户不存在异常类 + * + * @author ruoyi + */ +public class UserNotExistsException extends UserException +{ + private static final long serialVersionUID = 1L; + + public UserNotExistsException() + { + super("user.not.exists", null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java new file mode 100644 index 0000000..a7f3e5f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 用户密码不正确或不符合规范异常类 + * + * @author ruoyi + */ +public class UserPasswordNotMatchException extends UserException +{ + private static final long serialVersionUID = 1L; + + public UserPasswordNotMatchException() + { + super("user.password.not.match", null); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordRetryLimitExceedException.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordRetryLimitExceedException.java new file mode 100644 index 0000000..c887cf1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordRetryLimitExceedException.java @@ -0,0 +1,16 @@ +package com.ruoyi.common.exception.user; + +/** + * 用户错误最大次数异常类 + * + * @author ruoyi + */ +public class UserPasswordRetryLimitExceedException extends UserException +{ + private static final long serialVersionUID = 1L; + + public UserPasswordRetryLimitExceedException(int retryLimitCount, int lockTime) + { + super("user.password.retry.limit.exceed", new Object[] { retryLimitCount, lockTime }); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/PropertyPreExcludeFilter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/PropertyPreExcludeFilter.java new file mode 100644 index 0000000..e1e431b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/PropertyPreExcludeFilter.java @@ -0,0 +1,24 @@ +package com.ruoyi.common.filter; + +import com.alibaba.fastjson2.filter.SimplePropertyPreFilter; + +/** + * 排除JSON敏感属性 + * + * @author ruoyi + */ +public class PropertyPreExcludeFilter extends SimplePropertyPreFilter +{ + public PropertyPreExcludeFilter() + { + } + + public PropertyPreExcludeFilter addExcludes(String... filters) + { + for (int i = 0; i < filters.length; i++) + { + this.getExcludes().add(filters[i]); + } + return this; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java new file mode 100644 index 0000000..a1bcfe2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java @@ -0,0 +1,52 @@ +package com.ruoyi.common.filter; + +import java.io.IOException; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import org.springframework.http.MediaType; +import com.ruoyi.common.utils.StringUtils; + +/** + * Repeatable 过滤器 + * + * @author ruoyi + */ +public class RepeatableFilter implements Filter +{ + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException + { + ServletRequest requestWrapper = null; + if (request instanceof HttpServletRequest + && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) + { + requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); + } + if (null == requestWrapper) + { + chain.doFilter(request, response); + } + else + { + chain.doFilter(requestWrapper, response); + } + } + + @Override + public void destroy() + { + + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java new file mode 100644 index 0000000..407d1ba --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java @@ -0,0 +1,76 @@ +package com.ruoyi.common.filter; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import com.ruoyi.common.utils.http.HttpHelper; +import com.ruoyi.common.constant.Constants; + +/** + * 构建可重复读取inputStream的request + * + * @author ruoyi + */ +public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper +{ + private final byte[] body; + + public RepeatedlyRequestWrapper(HttpServletRequest request, ServletResponse response) throws IOException + { + super(request); + request.setCharacterEncoding(Constants.UTF8); + response.setCharacterEncoding(Constants.UTF8); + + body = HttpHelper.getBodyString(request).getBytes(Constants.UTF8); + } + + @Override + public BufferedReader getReader() throws IOException + { + return new BufferedReader(new InputStreamReader(getInputStream())); + } + + @Override + public ServletInputStream getInputStream() throws IOException + { + final ByteArrayInputStream bais = new ByteArrayInputStream(body); + return new ServletInputStream() + { + @Override + public int read() throws IOException + { + return bais.read(); + } + + @Override + public int available() throws IOException + { + return body.length; + } + + @Override + public boolean isFinished() + { + return false; + } + + @Override + public boolean isReady() + { + return false; + } + + @Override + public void setReadListener(ReadListener readListener) + { + + } + }; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java new file mode 100644 index 0000000..9052f0d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java @@ -0,0 +1,75 @@ +package com.ruoyi.common.filter; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.enums.HttpMethod; + +/** + * 防止XSS攻击的过滤器 + * + * @author ruoyi + */ +public class XssFilter implements Filter +{ + /** + * 排除链接 + */ + public List excludes = new ArrayList<>(); + + @Override + public void init(FilterConfig filterConfig) throws ServletException + { + String tempExcludes = filterConfig.getInitParameter("excludes"); + if (StringUtils.isNotEmpty(tempExcludes)) + { + String[] url = tempExcludes.split(","); + for (int i = 0; url != null && i < url.length; i++) + { + excludes.add(url[i]); + } + } + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException + { + HttpServletRequest req = (HttpServletRequest) request; + HttpServletResponse resp = (HttpServletResponse) response; + if (handleExcludeURL(req, resp)) + { + chain.doFilter(request, response); + return; + } + XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper((HttpServletRequest) request); + chain.doFilter(xssRequest, response); + } + + private boolean handleExcludeURL(HttpServletRequest request, HttpServletResponse response) + { + String url = request.getServletPath(); + String method = request.getMethod(); + // GET DELETE 不过滤 + if (method == null || HttpMethod.GET.matches(method) || HttpMethod.DELETE.matches(method)) + { + return true; + } + return StringUtils.matches(url, excludes); + } + + @Override + public void destroy() + { + + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java new file mode 100644 index 0000000..05149f0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java @@ -0,0 +1,111 @@ +package com.ruoyi.common.filter; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import javax.servlet.ReadListener; +import javax.servlet.ServletInputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import org.apache.commons.io.IOUtils; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.html.EscapeUtil; + +/** + * XSS过滤处理 + * + * @author ruoyi + */ +public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper +{ + /** + * @param request + */ + public XssHttpServletRequestWrapper(HttpServletRequest request) + { + super(request); + } + + @Override + public String[] getParameterValues(String name) + { + String[] values = super.getParameterValues(name); + if (values != null) + { + int length = values.length; + String[] escapesValues = new String[length]; + for (int i = 0; i < length; i++) + { + // 防xss攻击和过滤前后空格 + escapesValues[i] = EscapeUtil.clean(values[i]).trim(); + } + return escapesValues; + } + return super.getParameterValues(name); + } + + @Override + public ServletInputStream getInputStream() throws IOException + { + // 非json类型,直接返回 + if (!isJsonRequest()) + { + return super.getInputStream(); + } + + // 为空,直接返回 + String json = IOUtils.toString(super.getInputStream(), "utf-8"); + if (StringUtils.isEmpty(json)) + { + return super.getInputStream(); + } + + // xss过滤 + json = EscapeUtil.clean(json).trim(); + byte[] jsonBytes = json.getBytes("utf-8"); + final ByteArrayInputStream bis = new ByteArrayInputStream(jsonBytes); + return new ServletInputStream() + { + @Override + public boolean isFinished() + { + return true; + } + + @Override + public boolean isReady() + { + return true; + } + + @Override + public int available() throws IOException + { + return jsonBytes.length; + } + + @Override + public void setReadListener(ReadListener readListener) + { + } + + @Override + public int read() throws IOException + { + return bis.read(); + } + }; + } + + /** + * 是否是Json请求 + * + * @param request + */ + public boolean isJsonRequest() + { + String header = super.getHeader(HttpHeaders.CONTENT_TYPE); + return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java new file mode 100644 index 0000000..b6326c2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java @@ -0,0 +1,114 @@ +package com.ruoyi.common.utils; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * 精确的浮点数运算 + * + * @author ruoyi + */ +public class Arith +{ + + /** 默认除法运算精度 */ + private static final int DEF_DIV_SCALE = 10; + + /** 这个类不能实例化 */ + private Arith() + { + } + + /** + * 提供精确的加法运算。 + * @param v1 被加数 + * @param v2 加数 + * @return 两个参数的和 + */ + public static double add(double v1, double v2) + { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.add(b2).doubleValue(); + } + + /** + * 提供精确的减法运算。 + * @param v1 被减数 + * @param v2 减数 + * @return 两个参数的差 + */ + public static double sub(double v1, double v2) + { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.subtract(b2).doubleValue(); + } + + /** + * 提供精确的乘法运算。 + * @param v1 被乘数 + * @param v2 乘数 + * @return 两个参数的积 + */ + public static double mul(double v1, double v2) + { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.multiply(b2).doubleValue(); + } + + /** + * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 + * 小数点以后10位,以后的数字四舍五入。 + * @param v1 被除数 + * @param v2 除数 + * @return 两个参数的商 + */ + public static double div(double v1, double v2) + { + return div(v1, v2, DEF_DIV_SCALE); + } + + /** + * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 + * 定精度,以后的数字四舍五入。 + * @param v1 被除数 + * @param v2 除数 + * @param scale 表示表示需要精确到小数点以后几位。 + * @return 两个参数的商 + */ + public static double div(double v1, double v2, int scale) + { + if (scale < 0) + { + throw new IllegalArgumentException( + "The scale must be a positive integer or zero"); + } + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + if (b1.compareTo(BigDecimal.ZERO) == 0) + { + return BigDecimal.ZERO.doubleValue(); + } + return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue(); + } + + /** + * 提供精确的小数位四舍五入处理。 + * @param v 需要四舍五入的数字 + * @param scale 小数点后保留几位 + * @return 四舍五入后的结果 + */ + public static double round(double v, int scale) + { + if (scale < 0) + { + throw new IllegalArgumentException( + "The scale must be a positive integer or zero"); + } + BigDecimal b = new BigDecimal(Double.toString(v)); + BigDecimal one = BigDecimal.ONE; + return b.divide(one, scale, RoundingMode.HALF_UP).doubleValue(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java new file mode 100644 index 0000000..27cb193 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -0,0 +1,191 @@ +package com.ruoyi.common.utils; + +import java.lang.management.ManagementFactory; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Date; +import org.apache.commons.lang3.time.DateFormatUtils; + +/** + * 时间工具类 + * + * @author ruoyi + */ +public class DateUtils extends org.apache.commons.lang3.time.DateUtils +{ + public static String YYYY = "yyyy"; + + public static String YYYY_MM = "yyyy-MM"; + + public static String YYYY_MM_DD = "yyyy-MM-dd"; + + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + + public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + + private static String[] parsePatterns = { + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + /** + * 获取当前Date型日期 + * + * @return Date() 当前日期 + */ + public static Date getNowDate() + { + return new Date(); + } + + /** + * 获取当前日期, 默认格式为yyyy-MM-dd + * + * @return String + */ + public static String getDate() + { + return dateTimeNow(YYYY_MM_DD); + } + + public static final String getTime() + { + return dateTimeNow(YYYY_MM_DD_HH_MM_SS); + } + + public static final String dateTimeNow() + { + return dateTimeNow(YYYYMMDDHHMMSS); + } + + public static final String dateTimeNow(final String format) + { + return parseDateToStr(format, new Date()); + } + + public static final String dateTime(final Date date) + { + return parseDateToStr(YYYY_MM_DD, date); + } + + public static final String parseDateToStr(final String format, final Date date) + { + return new SimpleDateFormat(format).format(date); + } + + public static final Date dateTime(final String format, final String ts) + { + try + { + return new SimpleDateFormat(format).parse(ts); + } + catch (ParseException e) + { + throw new RuntimeException(e); + } + } + + /** + * 日期路径 即年/月/日 如2018/08/08 + */ + public static final String datePath() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyy/MM/dd"); + } + + /** + * 日期路径 即年/月/日 如20180808 + */ + public static final String dateTime() + { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyyMMdd"); + } + + /** + * 日期型字符串转化为日期 格式 + */ + public static Date parseDate(Object str) + { + if (str == null) + { + return null; + } + try + { + return parseDate(str.toString(), parsePatterns); + } + catch (ParseException e) + { + return null; + } + } + + /** + * 获取服务器启动时间 + */ + public static Date getServerStartDate() + { + long time = ManagementFactory.getRuntimeMXBean().getStartTime(); + return new Date(time); + } + + /** + * 计算相差天数 + */ + public static int differentDaysByMillisecond(Date date1, Date date2) + { + return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); + } + + /** + * 计算时间差 + * + * @param endTime 最后时间 + * @param startTime 开始时间 + * @return 时间差(天/小时/分钟) + */ + public static String timeDistance(Date endDate, Date startTime) + { + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + // long ns = 1000; + // 获得两个时间的毫秒时间差异 + long diff = endDate.getTime() - startTime.getTime(); + // 计算差多少天 + long day = diff / nd; + // 计算差多少小时 + long hour = diff % nd / nh; + // 计算差多少分钟 + long min = diff % nd % nh / nm; + // 计算差多少秒//输出结果 + // long sec = diff % nd % nh % nm / ns; + return day + "天" + hour + "小时" + min + "分钟"; + } + + /** + * 增加 LocalDateTime ==> Date + */ + public static Date toDate(LocalDateTime temporalAccessor) + { + ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } + + /** + * 增加 LocalDate ==> Date + */ + public static Date toDate(LocalDate temporalAccessor) + { + LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); + ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); + return Date.from(zdt.toInstant()); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java new file mode 100644 index 0000000..cc5eab2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java @@ -0,0 +1,186 @@ +package com.ruoyi.common.utils; + +import java.util.Collection; +import java.util.List; +import com.alibaba.fastjson2.JSONArray; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.spring.SpringUtils; + +/** + * 字典工具类 + * + * @author ruoyi + */ +public class DictUtils +{ + /** + * 分隔符 + */ + public static final String SEPARATOR = ","; + + /** + * 设置字典缓存 + * + * @param key 参数键 + * @param dictDatas 字典数据列表 + */ + public static void setDictCache(String key, List dictDatas) + { + SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); + } + + /** + * 获取字典缓存 + * + * @param key 参数键 + * @return dictDatas 字典数据列表 + */ + public static List getDictCache(String key) + { + JSONArray arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(arrayCache)) + { + return arrayCache.toList(SysDictData.class); + } + return null; + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue) + { + return getDictLabel(dictType, dictValue, SEPARATOR); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel) + { + return getDictValue(dictType, dictLabel, SEPARATOR); + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.isNotNull(datas)) + { + if (StringUtils.containsAny(separator, dictValue)) + { + for (SysDictData dict : datas) + { + for (String value : dictValue.split(separator)) + { + if (value.equals(dict.getDictValue())) + { + propertyString.append(dict.getDictLabel()).append(separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictValue.equals(dict.getDictValue())) + { + return dict.getDictLabel(); + } + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @param separator 分隔符 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas)) + { + for (SysDictData dict : datas) + { + for (String label : dictLabel.split(separator)) + { + if (label.equals(dict.getDictLabel())) + { + propertyString.append(dict.getDictValue()).append(separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictLabel.equals(dict.getDictLabel())) + { + return dict.getDictValue(); + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 删除指定字典缓存 + * + * @param key 字典键 + */ + public static void removeDictCache(String key) + { + SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key)); + } + + /** + * 清空字典缓存 + */ + public static void clearDictCache() + { + Collection keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.SYS_DICT_KEY + "*"); + SpringUtils.getBean(RedisCache.class).deleteObject(keys); + } + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + public static String getCacheKey(String configKey) + { + return CacheConstants.SYS_DICT_KEY + configKey; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java new file mode 100644 index 0000000..214e4a0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java @@ -0,0 +1,39 @@ +package com.ruoyi.common.utils; + +import java.io.PrintWriter; +import java.io.StringWriter; +import org.apache.commons.lang3.exception.ExceptionUtils; + +/** + * 错误信息处理类。 + * + * @author ruoyi + */ +public class ExceptionUtil +{ + /** + * 获取exception的详细错误信息。 + */ + public static String getExceptionMessage(Throwable e) + { + StringWriter sw = new StringWriter(); + e.printStackTrace(new PrintWriter(sw, true)); + return sw.toString(); + } + + public static String getRootErrorMessage(Exception e) + { + Throwable root = ExceptionUtils.getRootCause(e); + root = (root == null ? e : root); + if (root == null) + { + return ""; + } + String msg = root.getMessage(); + if (msg == null) + { + return "null"; + } + return StringUtils.defaultString(msg); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java new file mode 100644 index 0000000..0de30c6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/LogUtils.java @@ -0,0 +1,18 @@ +package com.ruoyi.common.utils; + +/** + * 处理并记录日志文件 + * + * @author ruoyi + */ +public class LogUtils +{ + public static String getBlock(Object msg) + { + if (msg == null) + { + msg = ""; + } + return "[" + msg.toString() + "]"; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java new file mode 100644 index 0000000..7dac75a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java @@ -0,0 +1,26 @@ +package com.ruoyi.common.utils; + +import org.springframework.context.MessageSource; +import org.springframework.context.i18n.LocaleContextHolder; +import com.ruoyi.common.utils.spring.SpringUtils; + +/** + * 获取i18n资源文件 + * + * @author ruoyi + */ +public class MessageUtils +{ + /** + * 根据消息键和参数 获取消息 委托给spring messageSource + * + * @param code 消息键 + * @param args 参数 + * @return 获取国际化翻译值 + */ + public static String message(String code, Object... args) + { + MessageSource messageSource = SpringUtils.getBean(MessageSource.class); + return messageSource.getMessage(code, args, LocaleContextHolder.getLocale()); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java new file mode 100644 index 0000000..70e9b08 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java @@ -0,0 +1,35 @@ +package com.ruoyi.common.utils; + +import com.github.pagehelper.PageHelper; +import com.ruoyi.common.core.page.PageDomain; +import com.ruoyi.common.core.page.TableSupport; +import com.ruoyi.common.utils.sql.SqlUtil; + +/** + * 分页工具类 + * + * @author ruoyi + */ +public class PageUtils extends PageHelper +{ + /** + * 设置请求分页数据 + */ + public static void startPage() + { + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + Boolean reasonable = pageDomain.getReasonable(); + PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); + } + + /** + * 清理分页的线程变量 + */ + public static void clearPage() + { + PageHelper.clearPage(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java new file mode 100644 index 0000000..4b103a0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java @@ -0,0 +1,122 @@ +package com.ruoyi.common.utils; + +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.exception.ServiceException; + +/** + * 安全服务工具类 + * + * @author ruoyi + */ +public class SecurityUtils +{ + /** + * 用户ID + **/ + public static Long getUserId() + { + try + { + return getLoginUser().getUserId(); + } + catch (Exception e) + { + throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED); + } + } + + /** + * 获取部门ID + **/ + public static Long getDeptId() + { + try + { + return getLoginUser().getDeptId(); + } + catch (Exception e) + { + throw new ServiceException("获取部门ID异常", HttpStatus.UNAUTHORIZED); + } + } + + /** + * 获取用户账户 + **/ + public static String getUsername() + { + try + { + return getLoginUser().getUsername(); + } + catch (Exception e) + { + throw new ServiceException("获取用户账户异常", HttpStatus.UNAUTHORIZED); + } + } + + /** + * 获取用户 + **/ + public static LoginUser getLoginUser() + { + try + { + return (LoginUser) getAuthentication().getPrincipal(); + } + catch (Exception e) + { + System.out.println("获取用户信息异常"); + return new LoginUser(); +// throw new ServiceException("获取用户信息异常", HttpStatus.UNAUTHORIZED); + } + } + + /** + * 获取Authentication + */ + public static Authentication getAuthentication() + { + return SecurityContextHolder.getContext().getAuthentication(); + } + + /** + * 生成BCryptPasswordEncoder密码 + * + * @param password 密码 + * @return 加密字符串 + */ + public static String encryptPassword(String password) + { + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + return passwordEncoder.encode(password); + } + + /** + * 判断密码是否相同 + * + * @param rawPassword 真实密码 + * @param encodedPassword 加密后字符 + * @return 结果 + */ + public static boolean matchesPassword(String rawPassword, String encodedPassword) + { + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + return passwordEncoder.matches(rawPassword, encodedPassword); + } + + /** + * 是否为管理员 + * + * @param userId 用户ID + * @return 结果 + */ + public static boolean isAdmin(Long userId) + { + return userId != null && 1L == userId; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java new file mode 100644 index 0000000..febb603 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java @@ -0,0 +1,218 @@ +package com.ruoyi.common.utils; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import javax.servlet.ServletRequest; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.text.Convert; + +/** + * 客户端工具类 + * + * @author ruoyi + */ +public class ServletUtils +{ + /** + * 获取String参数 + */ + public static String getParameter(String name) + { + return getRequest().getParameter(name); + } + + /** + * 获取String参数 + */ + public static String getParameter(String name, String defaultValue) + { + return Convert.toStr(getRequest().getParameter(name), defaultValue); + } + + /** + * 获取Integer参数 + */ + public static Integer getParameterToInt(String name) + { + return Convert.toInt(getRequest().getParameter(name)); + } + + /** + * 获取Integer参数 + */ + public static Integer getParameterToInt(String name, Integer defaultValue) + { + return Convert.toInt(getRequest().getParameter(name), defaultValue); + } + + /** + * 获取Boolean参数 + */ + public static Boolean getParameterToBool(String name) + { + return Convert.toBool(getRequest().getParameter(name)); + } + + /** + * 获取Boolean参数 + */ + public static Boolean getParameterToBool(String name, Boolean defaultValue) + { + return Convert.toBool(getRequest().getParameter(name), defaultValue); + } + + /** + * 获得所有请求参数 + * + * @param request 请求对象{@link ServletRequest} + * @return Map + */ + public static Map getParams(ServletRequest request) + { + final Map map = request.getParameterMap(); + return Collections.unmodifiableMap(map); + } + + /** + * 获得所有请求参数 + * + * @param request 请求对象{@link ServletRequest} + * @return Map + */ + public static Map getParamMap(ServletRequest request) + { + Map params = new HashMap<>(); + for (Map.Entry entry : getParams(request).entrySet()) + { + params.put(entry.getKey(), StringUtils.join(entry.getValue(), ",")); + } + return params; + } + + /** + * 获取request + */ + public static HttpServletRequest getRequest() + { + return getRequestAttributes().getRequest(); + } + + /** + * 获取response + */ + public static HttpServletResponse getResponse() + { + return getRequestAttributes().getResponse(); + } + + /** + * 获取session + */ + public static HttpSession getSession() + { + return getRequest().getSession(); + } + + public static ServletRequestAttributes getRequestAttributes() + { + RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); + return (ServletRequestAttributes) attributes; + } + + /** + * 将字符串渲染到客户端 + * + * @param response 渲染对象 + * @param string 待渲染的字符串 + */ + public static void renderString(HttpServletResponse response, String string) + { + try + { + response.setStatus(200); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().print(string); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + /** + * 是否是Ajax异步请求 + * + * @param request + */ + public static boolean isAjaxRequest(HttpServletRequest request) + { + String accept = request.getHeader("accept"); + if (accept != null && accept.contains("application/json")) + { + return true; + } + + String xRequestedWith = request.getHeader("X-Requested-With"); + if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest")) + { + return true; + } + + String uri = request.getRequestURI(); + if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")) + { + return true; + } + + String ajax = request.getParameter("__ajax"); + return StringUtils.inStringIgnoreCase(ajax, "json", "xml"); + } + + /** + * 内容编码 + * + * @param str 内容 + * @return 编码后的内容 + */ + public static String urlEncode(String str) + { + try + { + return URLEncoder.encode(str, Constants.UTF8); + } + catch (UnsupportedEncodingException e) + { + return StringUtils.EMPTY; + } + } + + /** + * 内容解码 + * + * @param str 内容 + * @return 解码后的内容 + */ + public static String urlDecode(String str) + { + try + { + return URLDecoder.decode(str, Constants.UTF8); + } + catch (UnsupportedEncodingException e) + { + return StringUtils.EMPTY; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java new file mode 100644 index 0000000..e683d54 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java @@ -0,0 +1,614 @@ +package com.ruoyi.common.utils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.springframework.util.AntPathMatcher; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.text.StrFormatter; + +/** + * 字符串工具类 + * + * @author ruoyi + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils +{ + /** 空字符串 */ + private static final String NULLSTR = ""; + + /** 下划线 */ + private static final char SEPARATOR = '_'; + + /** + * 获取参数不为空值 + * + * @param value defaultValue 要判断的value + * @return value 返回值 + */ + public static T nvl(T value, T defaultValue) + { + return value != null ? value : defaultValue; + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) + { + return isNull(coll) || coll.isEmpty(); + } + + /** + * * 判断一个Collection是否非空,包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Collection coll) + { + return !isEmpty(coll); + } + + /** + * * 判断一个对象数组是否为空 + * + * @param objects 要判断的对象数组 + ** @return true:为空 false:非空 + */ + public static boolean isEmpty(Object[] objects) + { + return isNull(objects) || (objects.length == 0); + } + + /** + * * 判断一个对象数组是否非空 + * + * @param objects 要判断的对象数组 + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Object[] objects) + { + return !isEmpty(objects); + } + + /** + * * 判断一个Map是否为空 + * + * @param map 要判断的Map + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Map map) + { + return isNull(map) || map.isEmpty(); + } + + /** + * * 判断一个Map是否为空 + * + * @param map 要判断的Map + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Map map) + { + return !isEmpty(map); + } + + /** + * * 判断一个字符串是否为空串 + * + * @param str String + * @return true:为空 false:非空 + */ + public static boolean isEmpty(String str) + { + return isNull(str) || NULLSTR.equals(str.trim()); + } + + /** + * * 判断一个字符串是否为非空串 + * + * @param str String + * @return true:非空串 false:空串 + */ + public static boolean isNotEmpty(String str) + { + return !isEmpty(str); + } + + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) + { + return object == null; + } + + /** + * * 判断一个对象是否非空 + * + * @param object Object + * @return true:非空 false:空 + */ + public static boolean isNotNull(Object object) + { + return !isNull(object); + } + + /** + * * 判断一个对象是否是数组类型(Java基本型别的数组) + * + * @param object 对象 + * @return true:是数组 false:不是数组 + */ + public static boolean isArray(Object object) + { + return isNotNull(object) && object.getClass().isArray(); + } + + /** + * 去空格 + */ + public static String trim(String str) + { + return (str == null ? "" : str.trim()); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @return 结果 + */ + public static String substring(final String str, int start) + { + if (str == null) + { + return NULLSTR; + } + + if (start < 0) + { + start = str.length() + start; + } + + if (start < 0) + { + start = 0; + } + if (start > str.length()) + { + return NULLSTR; + } + + return str.substring(start); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @param end 结束 + * @return 结果 + */ + public static String substring(final String str, int start, int end) + { + if (str == null) + { + return NULLSTR; + } + + if (end < 0) + { + end = str.length() + end; + } + if (start < 0) + { + start = str.length() + start; + } + + if (end > str.length()) + { + end = str.length(); + } + + if (start > end) + { + return NULLSTR; + } + + if (start < 0) + { + start = 0; + } + if (end < 0) + { + end = 0; + } + + return str.substring(start, end); + } + + /** + * 格式化文本, {} 表示占位符
+ * 此方法只是简单将占位符 {} 按照顺序替换为参数
+ * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
+ * 例:
+ * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
+ * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
+ * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
+ * + * @param template 文本模板,被替换的部分用 {} 表示 + * @param params 参数值 + * @return 格式化后的文本 + */ + public static String format(String template, Object... params) + { + if (isEmpty(params) || isEmpty(template)) + { + return template; + } + return StrFormatter.format(template, params); + } + + /** + * 是否为http(s)://开头 + * + * @param link 链接 + * @return 结果 + */ + public static boolean ishttp(String link) + { + return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS); + } + + /** + * 字符串转set + * + * @param str 字符串 + * @param sep 分隔符 + * @return set集合 + */ + public static final Set str2Set(String str, String sep) + { + return new HashSet(str2List(str, sep, true, false)); + } + + /** + * 字符串转list + * + * @param str 字符串 + * @param sep 分隔符 + * @param filterBlank 过滤纯空白 + * @param trim 去掉首尾空白 + * @return list集合 + */ + public static final List str2List(String str, String sep, boolean filterBlank, boolean trim) + { + List list = new ArrayList(); + if (StringUtils.isEmpty(str)) + { + return list; + } + + // 过滤空白字符串 + if (filterBlank && StringUtils.isBlank(str)) + { + return list; + } + String[] split = str.split(sep); + for (String string : split) + { + if (filterBlank && StringUtils.isBlank(string)) + { + continue; + } + if (trim) + { + string = string.trim(); + } + list.add(string); + } + + return list; + } + + /** + * 判断给定的collection列表中是否包含数组array 判断给定的数组array中是否包含给定的元素value + * + * @param collection 给定的集合 + * @param array 给定的数组 + * @return boolean 结果 + */ + public static boolean containsAny(Collection collection, String... array) + { + if (isEmpty(collection) || isEmpty(array)) + { + return false; + } + else + { + for (String str : array) + { + if (collection.contains(str)) + { + return true; + } + } + return false; + } + } + + /** + * 查找指定字符串是否包含指定字符串列表中的任意一个字符串同时串忽略大小写 + * + * @param cs 指定字符串 + * @param searchCharSequences 需要检查的字符串数组 + * @return 是否包含任意一个字符串 + */ + public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences) + { + if (isEmpty(cs) || isEmpty(searchCharSequences)) + { + return false; + } + for (CharSequence testStr : searchCharSequences) + { + if (containsIgnoreCase(cs, testStr)) + { + return true; + } + } + return false; + } + + /** + * 驼峰转下划线命名 + */ + public static String toUnderScoreCase(String str) + { + if (str == null) + { + return null; + } + StringBuilder sb = new StringBuilder(); + // 前置字符是否大写 + boolean preCharIsUpperCase = true; + // 当前字符是否大写 + boolean curreCharIsUpperCase = true; + // 下一字符是否大写 + boolean nexteCharIsUpperCase = true; + for (int i = 0; i < str.length(); i++) + { + char c = str.charAt(i); + if (i > 0) + { + preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1)); + } + else + { + preCharIsUpperCase = false; + } + + curreCharIsUpperCase = Character.isUpperCase(c); + + if (i < (str.length() - 1)) + { + nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1)); + } + + if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) + { + sb.append(SEPARATOR); + } + else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) + { + sb.append(SEPARATOR); + } + sb.append(Character.toLowerCase(c)); + } + + return sb.toString(); + } + + /** + * 是否包含字符串 + * + * @param str 验证字符串 + * @param strs 字符串组 + * @return 包含返回true + */ + public static boolean inStringIgnoreCase(String str, String... strs) + { + if (str != null && strs != null) + { + for (String s : strs) + { + if (str.equalsIgnoreCase(trim(s))) + { + return true; + } + } + } + return false; + } + + /** + * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld + * + * @param name 转换前的下划线大写方式命名的字符串 + * @return 转换后的驼峰式命名的字符串 + */ + public static String convertToCamelCase(String name) + { + StringBuilder result = new StringBuilder(); + // 快速检查 + if (name == null || name.isEmpty()) + { + // 没必要转换 + return ""; + } + else if (!name.contains("_")) + { + // 不含下划线,仅将首字母大写 + return name.substring(0, 1).toUpperCase() + name.substring(1); + } + // 用下划线将原始字符串分割 + String[] camels = name.split("_"); + for (String camel : camels) + { + // 跳过原始字符串中开头、结尾的下换线或双重下划线 + if (camel.isEmpty()) + { + continue; + } + // 首字母大写 + result.append(camel.substring(0, 1).toUpperCase()); + result.append(camel.substring(1).toLowerCase()); + } + return result.toString(); + } + + /** + * 驼峰式命名法 + * 例如:user_name->userName + */ + public static String toCamelCase(String s) + { + if (s == null) + { + return null; + } + if (s.indexOf(SEPARATOR) == -1) + { + return s; + } + s = s.toLowerCase(); + StringBuilder sb = new StringBuilder(s.length()); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) + { + char c = s.charAt(i); + + if (c == SEPARATOR) + { + upperCase = true; + } + else if (upperCase) + { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } + else + { + sb.append(c); + } + } + return sb.toString(); + } + + /** + * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matches(String str, List strs) + { + if (isEmpty(str) || isEmpty(strs)) + { + return false; + } + for (String pattern : strs) + { + if (isMatch(pattern, str)) + { + return true; + } + } + return false; + } + + /** + * 判断url是否与规则配置: + * ? 表示单个字符; + * * 表示一层路径内的任意字符串,不可跨层级; + * ** 表示任意层路径; + * + * @param pattern 匹配规则 + * @param url 需要匹配的url + * @return + */ + public static boolean isMatch(String pattern, String url) + { + AntPathMatcher matcher = new AntPathMatcher(); + return matcher.match(pattern, url); + } + + @SuppressWarnings("unchecked") + public static T cast(Object obj) + { + return (T) obj; + } + + /** + * 数字左边补齐0,使之达到指定长度。注意,如果数字转换为字符串后,长度大于size,则只保留 最后size个字符。 + * + * @param num 数字对象 + * @param size 字符串指定长度 + * @return 返回数字的字符串格式,该字符串为指定长度。 + */ + public static final String padl(final Number num, final int size) + { + return padl(num.toString(), size, '0'); + } + + /** + * 字符串左补齐。如果原始字符串s长度大于size,则只保留最后size个字符。 + * + * @param s 原始字符串 + * @param size 字符串指定长度 + * @param c 用于补齐的字符 + * @return 返回指定长度的字符串,由原字符串左补齐或截取得到。 + */ + public static final String padl(final String s, final int size, final char c) + { + final StringBuilder sb = new StringBuilder(size); + if (s != null) + { + final int len = s.length(); + if (s.length() <= size) + { + for (int i = size - len; i > 0; i--) + { + sb.append(c); + } + sb.append(s); + } + else + { + return s.substring(len - size, len); + } + } + else + { + for (int i = size; i > 0; i--) + { + sb.append(c); + } + } + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java new file mode 100644 index 0000000..71fe6d5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java @@ -0,0 +1,99 @@ +package com.ruoyi.common.utils; + +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 线程相关工具类. + * + * @author ruoyi + */ +public class Threads +{ + private static final Logger logger = LoggerFactory.getLogger(Threads.class); + + /** + * sleep等待,单位为毫秒 + */ + public static void sleep(long milliseconds) + { + try + { + Thread.sleep(milliseconds); + } + catch (InterruptedException e) + { + return; + } + } + + /** + * 停止线程池 + * 先使用shutdown, 停止接收新任务并尝试完成所有已存在任务. + * 如果超时, 则调用shutdownNow, 取消在workQueue中Pending的任务,并中断所有阻塞函数. + * 如果仍然超時,則強制退出. + * 另对在shutdown时线程本身被调用中断做了处理. + */ + public static void shutdownAndAwaitTermination(ExecutorService pool) + { + if (pool != null && !pool.isShutdown()) + { + pool.shutdown(); + try + { + if (!pool.awaitTermination(120, TimeUnit.SECONDS)) + { + pool.shutdownNow(); + if (!pool.awaitTermination(120, TimeUnit.SECONDS)) + { + logger.info("Pool did not terminate"); + } + } + } + catch (InterruptedException ie) + { + pool.shutdownNow(); + Thread.currentThread().interrupt(); + } + } + } + + /** + * 打印线程异常信息 + */ + public static void printException(Runnable r, Throwable t) + { + if (t == null && r instanceof Future) + { + try + { + Future future = (Future) r; + if (future.isDone()) + { + future.get(); + } + } + catch (CancellationException ce) + { + t = ce; + } + catch (ExecutionException ee) + { + t = ee.getCause(); + } + catch (InterruptedException ie) + { + Thread.currentThread().interrupt(); + } + } + if (t != null) + { + logger.error(t.getMessage(), t); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java new file mode 100644 index 0000000..4463662 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java @@ -0,0 +1,110 @@ +package com.ruoyi.common.utils.bean; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Bean 工具类 + * + * @author ruoyi + */ +public class BeanUtils extends org.springframework.beans.BeanUtils +{ + /** Bean方法名中属性名开始的下标 */ + private static final int BEAN_METHOD_PROP_INDEX = 3; + + /** * 匹配getter方法的正则表达式 */ + private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)"); + + /** * 匹配setter方法的正则表达式 */ + private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)"); + + /** + * Bean属性复制工具方法。 + * + * @param dest 目标对象 + * @param src 源对象 + */ + public static void copyBeanProp(Object dest, Object src) + { + try + { + copyProperties(src, dest); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * 获取对象的setter方法。 + * + * @param obj 对象 + * @return 对象的setter方法列表 + */ + public static List getSetterMethods(Object obj) + { + // setter方法列表 + List setterMethods = new ArrayList(); + + // 获取所有方法 + Method[] methods = obj.getClass().getMethods(); + + // 查找setter方法 + + for (Method method : methods) + { + Matcher m = SET_PATTERN.matcher(method.getName()); + if (m.matches() && (method.getParameterTypes().length == 1)) + { + setterMethods.add(method); + } + } + // 返回setter方法列表 + return setterMethods; + } + + /** + * 获取对象的getter方法。 + * + * @param obj 对象 + * @return 对象的getter方法列表 + */ + + public static List getGetterMethods(Object obj) + { + // getter方法列表 + List getterMethods = new ArrayList(); + // 获取所有方法 + Method[] methods = obj.getClass().getMethods(); + // 查找getter方法 + for (Method method : methods) + { + Matcher m = GET_PATTERN.matcher(method.getName()); + if (m.matches() && (method.getParameterTypes().length == 0)) + { + getterMethods.add(method); + } + } + // 返回getter方法列表 + return getterMethods; + } + + /** + * 检查Bean方法名中的属性名是否相等。
+ * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。 + * + * @param m1 方法名1 + * @param m2 方法名2 + * @return 属性名一样返回true,否则返回false + */ + + public static boolean isMethodPropEquals(String m1, String m2) + { + return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanValidators.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanValidators.java new file mode 100644 index 0000000..80bfed7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/BeanValidators.java @@ -0,0 +1,24 @@ +package com.ruoyi.common.utils.bean; + +import java.util.Set; +import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; +import javax.validation.Validator; + +/** + * bean对象属性验证 + * + * @author ruoyi + */ +public class BeanValidators +{ + public static void validateWithException(Validator validator, Object object, Class... groups) + throws ConstraintViolationException + { + Set> constraintViolations = validator.validate(object, groups); + if (!constraintViolations.isEmpty()) + { + throw new ConstraintViolationException(constraintViolations); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java new file mode 100644 index 0000000..68130b9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileTypeUtils.java @@ -0,0 +1,76 @@ +package com.ruoyi.common.utils.file; + +import java.io.File; +import org.apache.commons.lang3.StringUtils; + +/** + * 文件类型工具类 + * + * @author ruoyi + */ +public class FileTypeUtils +{ + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param file 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(File file) + { + if (null == file) + { + return StringUtils.EMPTY; + } + return getFileType(file.getName()); + } + + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param fileName 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(String fileName) + { + int separatorIndex = fileName.lastIndexOf("."); + if (separatorIndex < 0) + { + return ""; + } + return fileName.substring(separatorIndex + 1).toLowerCase(); + } + + /** + * 获取文件类型 + * + * @param photoByte 文件字节码 + * @return 后缀(不含".") + */ + public static String getFileExtendName(byte[] photoByte) + { + String strFileExtendName = "JPG"; + if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) + && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) + { + strFileExtendName = "GIF"; + } + else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) + { + strFileExtendName = "JPG"; + } + else if ((photoByte[0] == 66) && (photoByte[1] == 77)) + { + strFileExtendName = "BMP"; + } + else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) + { + strFileExtendName = "PNG"; + } + return strFileExtendName; + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java new file mode 100644 index 0000000..d9f2b13 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java @@ -0,0 +1,232 @@ +package com.ruoyi.common.utils.file; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Paths; +import java.util.Objects; +import org.apache.commons.io.FilenameUtils; +import org.springframework.web.multipart.MultipartFile; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.exception.file.FileNameLengthLimitExceededException; +import com.ruoyi.common.exception.file.FileSizeLimitExceededException; +import com.ruoyi.common.exception.file.InvalidExtensionException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.uuid.Seq; + +/** + * 文件上传工具类 + * + * @author ruoyi + */ +public class FileUploadUtils +{ + /** + * 默认大小 50M + */ + public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024; + + /** + * 默认的文件名最大长度 100 + */ + public static final int DEFAULT_FILE_NAME_LENGTH = 100; + + /** + * 默认上传的地址 + */ + private static String defaultBaseDir = RuoYiConfig.getProfile(); + + public static void setDefaultBaseDir(String defaultBaseDir) + { + FileUploadUtils.defaultBaseDir = defaultBaseDir; + } + + public static String getDefaultBaseDir() + { + return defaultBaseDir; + } + + /** + * 以默认配置进行文件上传 + * + * @param file 上传的文件 + * @return 文件名称 + * @throws Exception + */ + public static final String upload(MultipartFile file) throws IOException + { + try + { + return upload(getDefaultBaseDir(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + } + catch (Exception e) + { + throw new IOException(e.getMessage(), e); + } + } + + /** + * 根据文件路径上传 + * + * @param baseDir 相对应用的基目录 + * @param file 上传的文件 + * @return 文件名称 + * @throws IOException + */ + public static final String upload(String baseDir, MultipartFile file) throws IOException + { + try + { + return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION); + } + catch (Exception e) + { + throw new IOException(e.getMessage(), e); + } + } + + /** + * 文件上传 + * + * @param baseDir 相对应用的基目录 + * @param file 上传的文件 + * @param allowedExtension 上传文件类型 + * @return 返回上传成功的文件名 + * @throws FileSizeLimitExceededException 如果超出最大大小 + * @throws FileNameLengthLimitExceededException 文件名太长 + * @throws IOException 比如读写文件出错时 + * @throws InvalidExtensionException 文件校验异常 + */ + public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension) + throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, + InvalidExtensionException + { + int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length(); + if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) + { + throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); + } + + assertAllowed(file, allowedExtension); + + String fileName = extractFilename(file); + + String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath(); + file.transferTo(Paths.get(absPath)); + return getPathFileName(baseDir, fileName); + } + + /** + * 编码文件名 + */ + public static final String extractFilename(MultipartFile file) + { + return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), + FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); + } + + public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException + { + File desc = new File(uploadDir + File.separator + fileName); + + if (!desc.exists()) + { + if (!desc.getParentFile().exists()) + { + desc.getParentFile().mkdirs(); + } + } + return desc; + } + + public static final String getPathFileName(String uploadDir, String fileName) throws IOException + { + int dirLastIndex = RuoYiConfig.getProfile().length() + 1; + String currentDir = StringUtils.substring(uploadDir, dirLastIndex); + return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; + } + + /** + * 文件大小校验 + * + * @param file 上传的文件 + * @return + * @throws FileSizeLimitExceededException 如果超出最大大小 + * @throws InvalidExtensionException + */ + public static final void assertAllowed(MultipartFile file, String[] allowedExtension) + throws FileSizeLimitExceededException, InvalidExtensionException + { + long size = file.getSize(); + if (size > DEFAULT_MAX_SIZE) + { + throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024); + } + + String fileName = file.getOriginalFilename(); + String extension = getExtension(file); + if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension)) + { + if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION) + { + throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension, + fileName); + } + else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION) + { + throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension, + fileName); + } + else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION) + { + throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension, + fileName); + } + else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION) + { + throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension, + fileName); + } + else + { + throw new InvalidExtensionException(allowedExtension, extension, fileName); + } + } + } + + /** + * 判断MIME类型是否是允许的MIME类型 + * + * @param extension + * @param allowedExtension + * @return + */ + public static final boolean isAllowedExtension(String extension, String[] allowedExtension) + { + for (String str : allowedExtension) + { + if (str.equalsIgnoreCase(extension)) + { + return true; + } + } + return false; + } + + /** + * 获取文件名的后缀 + * + * @param file 表单文件 + * @return 后缀名 + */ + public static final String getExtension(MultipartFile file) + { + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + if (StringUtils.isEmpty(extension)) + { + extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType())); + } + return extension; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java new file mode 100644 index 0000000..ed4cbc9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -0,0 +1,291 @@ +package com.ruoyi.common.utils.file; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayUtils; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.uuid.IdUtils; +import org.apache.commons.io.FilenameUtils; + +/** + * 文件处理工具类 + * + * @author ruoyi + */ +public class FileUtils +{ + public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; + + /** + * 输出指定文件的byte数组 + * + * @param filePath 文件路径 + * @param os 输出流 + * @return + */ + public static void writeBytes(String filePath, OutputStream os) throws IOException + { + FileInputStream fis = null; + try + { + File file = new File(filePath); + if (!file.exists()) + { + throw new FileNotFoundException(filePath); + } + fis = new FileInputStream(file); + byte[] b = new byte[1024]; + int length; + while ((length = fis.read(b)) > 0) + { + os.write(b, 0, length); + } + } + catch (IOException e) + { + throw e; + } + finally + { + IOUtils.close(os); + IOUtils.close(fis); + } + } + + /** + * 写数据到文件中 + * + * @param data 数据 + * @return 目标文件 + * @throws IOException IO异常 + */ + public static String writeImportBytes(byte[] data) throws IOException + { + return writeBytes(data, RuoYiConfig.getImportPath()); + } + + /** + * 写数据到文件中 + * + * @param data 数据 + * @param uploadDir 目标文件 + * @return 目标文件 + * @throws IOException IO异常 + */ + public static String writeBytes(byte[] data, String uploadDir) throws IOException + { + FileOutputStream fos = null; + String pathName = ""; + try + { + String extension = getFileExtendName(data); + pathName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension; + File file = FileUploadUtils.getAbsoluteFile(uploadDir, pathName); + fos = new FileOutputStream(file); + fos.write(data); + } + finally + { + IOUtils.close(fos); + } + return FileUploadUtils.getPathFileName(uploadDir, pathName); + } + + /** + * 删除文件 + * + * @param filePath 文件 + * @return + */ + public static boolean deleteFile(String filePath) + { + boolean flag = false; + File file = new File(filePath); + // 路径为文件且不为空则进行删除 + if (file.isFile() && file.exists()) + { + flag = file.delete(); + } + return flag; + } + + /** + * 文件名称验证 + * + * @param filename 文件名称 + * @return true 正常 false 非法 + */ + public static boolean isValidFilename(String filename) + { + return filename.matches(FILENAME_PATTERN); + } + + /** + * 检查文件是否可下载 + * + * @param resource 需要下载的文件 + * @return true 正常 false 非法 + */ + public static boolean checkAllowDownload(String resource) + { + // 禁止目录上跳级别 + if (StringUtils.contains(resource, "..")) + { + return false; + } + + // 检查允许下载的文件规则 + if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) + { + return true; + } + + // 不在允许下载的文件规则 + return false; + } + + /** + * 下载文件名重新编码 + * + * @param request 请求对象 + * @param fileName 文件名 + * @return 编码后的文件名 + */ + public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException + { + final String agent = request.getHeader("USER-AGENT"); + String filename = fileName; + if (agent.contains("MSIE")) + { + // IE浏览器 + filename = URLEncoder.encode(filename, "utf-8"); + filename = filename.replace("+", " "); + } + else if (agent.contains("Firefox")) + { + // 火狐浏览器 + filename = new String(fileName.getBytes(), "ISO8859-1"); + } + else if (agent.contains("Chrome")) + { + // google浏览器 + filename = URLEncoder.encode(filename, "utf-8"); + } + else + { + // 其它浏览器 + filename = URLEncoder.encode(filename, "utf-8"); + } + return filename; + } + + /** + * 下载文件名重新编码 + * + * @param response 响应对象 + * @param realFileName 真实文件名 + */ + public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException + { + String percentEncodedFileName = percentEncode(realFileName); + + StringBuilder contentDispositionValue = new StringBuilder(); + contentDispositionValue.append("attachment; filename=") + .append(percentEncodedFileName) + .append(";") + .append("filename*=") + .append("utf-8''") + .append(percentEncodedFileName); + + response.addHeader("Access-Control-Expose-Headers", "Content-Disposition,download-filename"); + response.setHeader("Content-disposition", contentDispositionValue.toString()); + response.setHeader("download-filename", percentEncodedFileName); + } + + /** + * 百分号编码工具方法 + * + * @param s 需要百分号编码的字符串 + * @return 百分号编码后的字符串 + */ + public static String percentEncode(String s) throws UnsupportedEncodingException + { + String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); + return encode.replaceAll("\\+", "%20"); + } + + /** + * 获取图像后缀 + * + * @param photoByte 图像数据 + * @return 后缀名 + */ + public static String getFileExtendName(byte[] photoByte) + { + String strFileExtendName = "jpg"; + if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) + && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) + { + strFileExtendName = "gif"; + } + else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) + { + strFileExtendName = "jpg"; + } + else if ((photoByte[0] == 66) && (photoByte[1] == 77)) + { + strFileExtendName = "bmp"; + } + else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) + { + strFileExtendName = "png"; + } + return strFileExtendName; + } + + /** + * 获取文件名称 /profile/upload/2022/04/16/ruoyi.png -- ruoyi.png + * + * @param fileName 路径名称 + * @return 没有文件路径的名称 + */ + public static String getName(String fileName) + { + if (fileName == null) + { + return null; + } + int lastUnixPos = fileName.lastIndexOf('/'); + int lastWindowsPos = fileName.lastIndexOf('\\'); + int index = Math.max(lastUnixPos, lastWindowsPos); + return fileName.substring(index + 1); + } + + /** + * 获取不带后缀文件名称 /profile/upload/2022/04/16/ruoyi.png -- ruoyi + * + * @param fileName 路径名称 + * @return 没有文件路径和后缀的名称 + */ + public static String getNameNotSuffix(String fileName) + { + if (fileName == null) + { + return null; + } + String baseName = FilenameUtils.getBaseName(fileName); + return baseName; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java new file mode 100644 index 0000000..432dfda --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java @@ -0,0 +1,98 @@ +package com.ruoyi.common.utils.file; + +import java.io.ByteArrayInputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.Arrays; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.StringUtils; + +/** + * 图片处理工具类 + * + * @author ruoyi + */ +public class ImageUtils +{ + private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); + + public static byte[] getImage(String imagePath) + { + InputStream is = getFile(imagePath); + try + { + return IOUtils.toByteArray(is); + } + catch (Exception e) + { + log.error("图片加载异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(is); + } + } + + public static InputStream getFile(String imagePath) + { + try + { + byte[] result = readFile(imagePath); + result = Arrays.copyOf(result, result.length); + return new ByteArrayInputStream(result); + } + catch (Exception e) + { + log.error("获取图片异常 {}", e); + } + return null; + } + + /** + * 读取文件为字节数据 + * + * @param url 地址 + * @return 字节数据 + */ + public static byte[] readFile(String url) + { + InputStream in = null; + try + { + if (url.startsWith("http")) + { + // 网络地址 + URL urlObj = new URL(url); + URLConnection urlConnection = urlObj.openConnection(); + urlConnection.setConnectTimeout(30 * 1000); + urlConnection.setReadTimeout(60 * 1000); + urlConnection.setDoInput(true); + in = urlConnection.getInputStream(); + } + else + { + // 本机地址 + String localPath = RuoYiConfig.getProfile(); + String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); + in = new FileInputStream(downloadPath); + } + return IOUtils.toByteArray(in); + } + catch (Exception e) + { + log.error("获取文件路径异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(in); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java new file mode 100644 index 0000000..f968f1a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java @@ -0,0 +1,59 @@ +package com.ruoyi.common.utils.file; + +/** + * 媒体类型工具类 + * + * @author ruoyi + */ +public class MimeTypeUtils +{ + public static final String IMAGE_PNG = "image/png"; + + public static final String IMAGE_JPG = "image/jpg"; + + public static final String IMAGE_JPEG = "image/jpeg"; + + public static final String IMAGE_BMP = "image/bmp"; + + public static final String IMAGE_GIF = "image/gif"; + + public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" }; + + public static final String[] FLASH_EXTENSION = { "swf", "flv" }; + + public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg", + "asf", "rm", "rmvb" }; + + public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" }; + + public static final String[] DEFAULT_ALLOWED_EXTENSION = { + // 图片 + "bmp", "gif", "jpg", "jpeg", "png", + // word excel powerpoint + "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt", + // 压缩文件 + "rar", "zip", "gz", "bz2", + // 视频格式 + "mp4", "avi", "rmvb", + // pdf + "pdf" }; + + public static String getExtension(String prefix) + { + switch (prefix) + { + case IMAGE_PNG: + return "png"; + case IMAGE_JPG: + return "jpg"; + case IMAGE_JPEG: + return "jpeg"; + case IMAGE_BMP: + return "bmp"; + case IMAGE_GIF: + return "gif"; + default: + return ""; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java new file mode 100644 index 0000000..f52e83e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java @@ -0,0 +1,167 @@ +package com.ruoyi.common.utils.html; + +import com.ruoyi.common.utils.StringUtils; + +/** + * 转义和反转义工具类 + * + * @author ruoyi + */ +public class EscapeUtil +{ + public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)"; + + private static final char[][] TEXT = new char[64][]; + + static + { + for (int i = 0; i < 64; i++) + { + TEXT[i] = new char[] { (char) i }; + } + + // special HTML characters + TEXT['\''] = "'".toCharArray(); // 单引号 + TEXT['"'] = """.toCharArray(); // 双引号 + TEXT['&'] = "&".toCharArray(); // &符 + TEXT['<'] = "<".toCharArray(); // 小于号 + TEXT['>'] = ">".toCharArray(); // 大于号 + } + + /** + * 转义文本中的HTML字符为安全的字符 + * + * @param text 被转义的文本 + * @return 转义后的文本 + */ + public static String escape(String text) + { + return encode(text); + } + + /** + * 还原被转义的HTML特殊字符 + * + * @param content 包含转义符的HTML内容 + * @return 转换后的字符串 + */ + public static String unescape(String content) + { + return decode(content); + } + + /** + * 清除所有HTML标签,但是不删除标签内的内容 + * + * @param content 文本 + * @return 清除标签后的文本 + */ + public static String clean(String content) + { + return new HTMLFilter().filter(content); + } + + /** + * Escape编码 + * + * @param text 被编码的文本 + * @return 编码后的字符 + */ + private static String encode(String text) + { + if (StringUtils.isEmpty(text)) + { + return StringUtils.EMPTY; + } + + final StringBuilder tmp = new StringBuilder(text.length() * 6); + char c; + for (int i = 0; i < text.length(); i++) + { + c = text.charAt(i); + if (c < 256) + { + tmp.append("%"); + if (c < 16) + { + tmp.append("0"); + } + tmp.append(Integer.toString(c, 16)); + } + else + { + tmp.append("%u"); + if (c <= 0xfff) + { + // issue#I49JU8@Gitee + tmp.append("0"); + } + tmp.append(Integer.toString(c, 16)); + } + } + return tmp.toString(); + } + + /** + * Escape解码 + * + * @param content 被转义的内容 + * @return 解码后的字符串 + */ + public static String decode(String content) + { + if (StringUtils.isEmpty(content)) + { + return content; + } + + StringBuilder tmp = new StringBuilder(content.length()); + int lastPos = 0, pos = 0; + char ch; + while (lastPos < content.length()) + { + pos = content.indexOf("%", lastPos); + if (pos == lastPos) + { + if (content.charAt(pos + 1) == 'u') + { + ch = (char) Integer.parseInt(content.substring(pos + 2, pos + 6), 16); + tmp.append(ch); + lastPos = pos + 6; + } + else + { + ch = (char) Integer.parseInt(content.substring(pos + 1, pos + 3), 16); + tmp.append(ch); + lastPos = pos + 3; + } + } + else + { + if (pos == -1) + { + tmp.append(content.substring(lastPos)); + lastPos = content.length(); + } + else + { + tmp.append(content.substring(lastPos, pos)); + lastPos = pos; + } + } + } + return tmp.toString(); + } + + public static void main(String[] args) + { + String html = ""; + String escape = EscapeUtil.escape(html); + // String html = "ipt>alert(\"XSS\")ipt>"; + // String html = "<123"; + // String html = "123>"; + System.out.println("clean: " + EscapeUtil.clean(html)); + System.out.println("escape: " + escape); + System.out.println("unescape: " + EscapeUtil.unescape(escape)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java new file mode 100644 index 0000000..ebff3fd --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java @@ -0,0 +1,570 @@ +package com.ruoyi.common.utils.html; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * HTML过滤器,用于去除XSS漏洞隐患。 + * + * @author ruoyi + */ +public final class HTMLFilter +{ + /** + * regex flag union representing /si modifiers in php + **/ + private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL; + private static final Pattern P_COMMENTS = Pattern.compile("", Pattern.DOTALL); + private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI); + private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL); + private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI); + private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI); + private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI); + private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI); + private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI); + private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?"); + private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?"); + private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?"); + private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))"); + private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL); + private static final Pattern P_END_ARROW = Pattern.compile("^>"); + private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)"); + private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)"); + private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)"); + private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)"); + private static final Pattern P_AMP = Pattern.compile("&"); + private static final Pattern P_QUOTE = Pattern.compile("\""); + private static final Pattern P_LEFT_ARROW = Pattern.compile("<"); + private static final Pattern P_RIGHT_ARROW = Pattern.compile(">"); + private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>"); + + // @xxx could grow large... maybe use sesat's ReferenceMap + private static final ConcurrentMap P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>(); + private static final ConcurrentMap P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>(); + + /** + * set of allowed html elements, along with allowed attributes for each element + **/ + private final Map> vAllowed; + /** + * counts of open tags for each (allowable) html element + **/ + private final Map vTagCounts = new HashMap<>(); + + /** + * html elements which must always be self-closing (e.g. "") + **/ + private final String[] vSelfClosingTags; + /** + * html elements which must always have separate opening and closing tags (e.g. "") + **/ + private final String[] vNeedClosingTags; + /** + * set of disallowed html elements + **/ + private final String[] vDisallowed; + /** + * attributes which should be checked for valid protocols + **/ + private final String[] vProtocolAtts; + /** + * allowed protocols + **/ + private final String[] vAllowedProtocols; + /** + * tags which should be removed if they contain no content (e.g. "" or "") + **/ + private final String[] vRemoveBlanks; + /** + * entities allowed within html markup + **/ + private final String[] vAllowedEntities; + /** + * flag determining whether comments are allowed in input String. + */ + private final boolean stripComment; + private final boolean encodeQuotes; + /** + * flag determining whether to try to make tags when presented with "unbalanced" angle brackets (e.g. "" + * becomes " text "). If set to false, unbalanced angle brackets will be html escaped. + */ + private final boolean alwaysMakeTags; + + /** + * Default constructor. + */ + public HTMLFilter() + { + vAllowed = new HashMap<>(); + + final ArrayList a_atts = new ArrayList<>(); + a_atts.add("href"); + a_atts.add("target"); + vAllowed.put("a", a_atts); + + final ArrayList img_atts = new ArrayList<>(); + img_atts.add("src"); + img_atts.add("width"); + img_atts.add("height"); + img_atts.add("alt"); + vAllowed.put("img", img_atts); + + final ArrayList no_atts = new ArrayList<>(); + vAllowed.put("b", no_atts); + vAllowed.put("strong", no_atts); + vAllowed.put("i", no_atts); + vAllowed.put("em", no_atts); + + vSelfClosingTags = new String[] { "img" }; + vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" }; + vDisallowed = new String[] {}; + vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp. + vProtocolAtts = new String[] { "src", "href" }; + vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" }; + vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" }; + stripComment = true; + encodeQuotes = true; + alwaysMakeTags = false; + } + + /** + * Map-parameter configurable constructor. + * + * @param conf map containing configuration. keys match field names. + */ + @SuppressWarnings("unchecked") + public HTMLFilter(final Map conf) + { + + assert conf.containsKey("vAllowed") : "configuration requires vAllowed"; + assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags"; + assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags"; + assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed"; + assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols"; + assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts"; + assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks"; + assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities"; + + vAllowed = Collections.unmodifiableMap((HashMap>) conf.get("vAllowed")); + vSelfClosingTags = (String[]) conf.get("vSelfClosingTags"); + vNeedClosingTags = (String[]) conf.get("vNeedClosingTags"); + vDisallowed = (String[]) conf.get("vDisallowed"); + vAllowedProtocols = (String[]) conf.get("vAllowedProtocols"); + vProtocolAtts = (String[]) conf.get("vProtocolAtts"); + vRemoveBlanks = (String[]) conf.get("vRemoveBlanks"); + vAllowedEntities = (String[]) conf.get("vAllowedEntities"); + stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true; + encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true; + alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true; + } + + private void reset() + { + vTagCounts.clear(); + } + + // --------------------------------------------------------------- + // my versions of some PHP library functions + public static String chr(final int decimal) + { + return String.valueOf((char) decimal); + } + + public static String htmlSpecialChars(final String s) + { + String result = s; + result = regexReplace(P_AMP, "&", result); + result = regexReplace(P_QUOTE, """, result); + result = regexReplace(P_LEFT_ARROW, "<", result); + result = regexReplace(P_RIGHT_ARROW, ">", result); + return result; + } + + // --------------------------------------------------------------- + + /** + * given a user submitted input String, filter out any invalid or restricted html. + * + * @param input text (i.e. submitted by a user) than may contain html + * @return "clean" version of input, with only valid, whitelisted html elements allowed + */ + public String filter(final String input) + { + reset(); + String s = input; + + s = escapeComments(s); + + s = balanceHTML(s); + + s = checkTags(s); + + s = processRemoveBlanks(s); + + // s = validateEntities(s); + + return s; + } + + public boolean isAlwaysMakeTags() + { + return alwaysMakeTags; + } + + public boolean isStripComments() + { + return stripComment; + } + + private String escapeComments(final String s) + { + final Matcher m = P_COMMENTS.matcher(s); + final StringBuffer buf = new StringBuffer(); + if (m.find()) + { + final String match = m.group(1); // (.*?) + m.appendReplacement(buf, Matcher.quoteReplacement("")); + } + m.appendTail(buf); + + return buf.toString(); + } + + private String balanceHTML(String s) + { + if (alwaysMakeTags) + { + // + // try and form html + // + s = regexReplace(P_END_ARROW, "", s); + // 不追加结束标签 + s = regexReplace(P_BODY_TO_END, "<$1>", s); + s = regexReplace(P_XML_CONTENT, "$1<$2", s); + + } + else + { + // + // escape stray brackets + // + s = regexReplace(P_STRAY_LEFT_ARROW, "<$1", s); + s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2><", s); + + // + // the last regexp causes '<>' entities to appear + // (we need to do a lookahead assertion so that the last bracket can + // be used in the next pass of the regexp) + // + s = regexReplace(P_BOTH_ARROWS, "", s); + } + + return s; + } + + private String checkTags(String s) + { + Matcher m = P_TAGS.matcher(s); + + final StringBuffer buf = new StringBuffer(); + while (m.find()) + { + String replaceStr = m.group(1); + replaceStr = processTag(replaceStr); + m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr)); + } + m.appendTail(buf); + + // these get tallied in processTag + // (remember to reset before subsequent calls to filter method) + final StringBuilder sBuilder = new StringBuilder(buf.toString()); + for (String key : vTagCounts.keySet()) + { + for (int ii = 0; ii < vTagCounts.get(key); ii++) + { + sBuilder.append(""); + } + } + s = sBuilder.toString(); + + return s; + } + + private String processRemoveBlanks(final String s) + { + String result = s; + for (String tag : vRemoveBlanks) + { + if (!P_REMOVE_PAIR_BLANKS.containsKey(tag)) + { + P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?>")); + } + result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result); + if (!P_REMOVE_SELF_BLANKS.containsKey(tag)) + { + P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>")); + } + result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result); + } + + return result; + } + + private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s) + { + Matcher m = regex_pattern.matcher(s); + return m.replaceAll(replacement); + } + + private String processTag(final String s) + { + // ending tags + Matcher m = P_END_TAG.matcher(s); + if (m.find()) + { + final String name = m.group(1).toLowerCase(); + if (allowed(name)) + { + if (!inArray(name, vSelfClosingTags)) + { + if (vTagCounts.containsKey(name)) + { + vTagCounts.put(name, vTagCounts.get(name) - 1); + return ""; + } + } + } + } + + // starting tags + m = P_START_TAG.matcher(s); + if (m.find()) + { + final String name = m.group(1).toLowerCase(); + final String body = m.group(2); + String ending = m.group(3); + + // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" ); + if (allowed(name)) + { + final StringBuilder params = new StringBuilder(); + + final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body); + final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body); + final List paramNames = new ArrayList<>(); + final List paramValues = new ArrayList<>(); + while (m2.find()) + { + paramNames.add(m2.group(1)); // ([a-z0-9]+) + paramValues.add(m2.group(3)); // (.*?) + } + while (m3.find()) + { + paramNames.add(m3.group(1)); // ([a-z0-9]+) + paramValues.add(m3.group(3)); // ([^\"\\s']+) + } + + String paramName, paramValue; + for (int ii = 0; ii < paramNames.size(); ii++) + { + paramName = paramNames.get(ii).toLowerCase(); + paramValue = paramValues.get(ii); + + // debug( "paramName='" + paramName + "'" ); + // debug( "paramValue='" + paramValue + "'" ); + // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) ); + + if (allowedAttribute(name, paramName)) + { + if (inArray(paramName, vProtocolAtts)) + { + paramValue = processParamProtocol(paramValue); + } + params.append(' ').append(paramName).append("=\\\"").append(paramValue).append("\\\""); + } + } + + if (inArray(name, vSelfClosingTags)) + { + ending = " /"; + } + + if (inArray(name, vNeedClosingTags)) + { + ending = ""; + } + + if (ending == null || ending.length() < 1) + { + if (vTagCounts.containsKey(name)) + { + vTagCounts.put(name, vTagCounts.get(name) + 1); + } + else + { + vTagCounts.put(name, 1); + } + } + else + { + ending = " /"; + } + return "<" + name + params + ending + ">"; + } + else + { + return ""; + } + } + + // comments + m = P_COMMENT.matcher(s); + if (!stripComment && m.find()) + { + return "<" + m.group() + ">"; + } + + return ""; + } + + private String processParamProtocol(String s) + { + s = decodeEntities(s); + final Matcher m = P_PROTOCOL.matcher(s); + if (m.find()) + { + final String protocol = m.group(1); + if (!inArray(protocol, vAllowedProtocols)) + { + // bad protocol, turn into local anchor link instead + s = "#" + s.substring(protocol.length() + 1); + if (s.startsWith("#//")) + { + s = "#" + s.substring(3); + } + } + } + + return s; + } + + private String decodeEntities(String s) + { + StringBuffer buf = new StringBuffer(); + + Matcher m = P_ENTITY.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.decode(match).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + buf = new StringBuffer(); + m = P_ENTITY_UNICODE.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.valueOf(match, 16).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + buf = new StringBuffer(); + m = P_ENCODE.matcher(s); + while (m.find()) + { + final String match = m.group(1); + final int decimal = Integer.valueOf(match, 16).intValue(); + m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal))); + } + m.appendTail(buf); + s = buf.toString(); + + s = validateEntities(s); + return s; + } + + private String validateEntities(final String s) + { + StringBuffer buf = new StringBuffer(); + + // validate entities throughout the string + Matcher m = P_VALID_ENTITIES.matcher(s); + while (m.find()) + { + final String one = m.group(1); // ([^&;]*) + final String two = m.group(2); // (?=(;|&|$)) + m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two))); + } + m.appendTail(buf); + + return encodeQuotes(buf.toString()); + } + + private String encodeQuotes(final String s) + { + if (encodeQuotes) + { + StringBuffer buf = new StringBuffer(); + Matcher m = P_VALID_QUOTES.matcher(s); + while (m.find()) + { + final String one = m.group(1); // (>|^) + final String two = m.group(2); // ([^<]+?) + final String three = m.group(3); // (<|$) + // 不替换双引号为",防止json格式无效 regexReplace(P_QUOTE, """, two) + m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three)); + } + m.appendTail(buf); + return buf.toString(); + } + else + { + return s; + } + } + + private String checkEntity(final String preamble, final String term) + { + + return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&" + preamble; + } + + private boolean isValidEntity(final String entity) + { + return inArray(entity, vAllowedEntities); + } + + private static boolean inArray(final String s, final String[] array) + { + for (String item : array) + { + if (item != null && item.equals(s)) + { + return true; + } + } + return false; + } + + private boolean allowed(final String name) + { + return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed); + } + + private boolean allowedAttribute(final String name, final String paramName) + { + return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName)); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java new file mode 100644 index 0000000..589d123 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java @@ -0,0 +1,55 @@ +package com.ruoyi.common.utils.http; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import javax.servlet.ServletRequest; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 通用http工具封装 + * + * @author ruoyi + */ +public class HttpHelper +{ + private static final Logger LOGGER = LoggerFactory.getLogger(HttpHelper.class); + + public static String getBodyString(ServletRequest request) + { + StringBuilder sb = new StringBuilder(); + BufferedReader reader = null; + try (InputStream inputStream = request.getInputStream()) + { + reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); + String line = ""; + while ((line = reader.readLine()) != null) + { + sb.append(line); + } + } + catch (IOException e) + { + LOGGER.warn("getBodyString出现问题!"); + } + finally + { + if (reader != null) + { + try + { + reader.close(); + } + catch (IOException e) + { + LOGGER.error(ExceptionUtils.getMessage(e)); + } + } + } + return sb.toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java new file mode 100644 index 0000000..f85c82c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java @@ -0,0 +1,274 @@ +package com.ruoyi.common.utils.http; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.ConnectException; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.net.URLConnection; +import java.nio.charset.StandardCharsets; +import java.security.cert.X509Certificate; +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSession; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.StringUtils; + +/** + * 通用http发送方法 + * + * @author ruoyi + */ +public class HttpUtils +{ + private static final Logger log = LoggerFactory.getLogger(HttpUtils.class); + + /** + * 向指定 URL 发送GET方法的请求 + * + * @param url 发送请求的 URL + * @return 所代表远程资源的响应结果 + */ + public static String sendGet(String url) + { + return sendGet(url, StringUtils.EMPTY); + } + + /** + * 向指定 URL 发送GET方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param) + { + return sendGet(url, param, Constants.UTF8); + } + + /** + * 向指定 URL 发送GET方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @param contentType 编码类型 + * @return 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param, String contentType) + { + StringBuilder result = new StringBuilder(); + BufferedReader in = null; + try + { + String urlNameString = StringUtils.isNotBlank(param) ? url + "?" + param : url; + log.info("sendGet - {}", urlNameString); + URL realUrl = new URL(urlNameString); + URLConnection connection = realUrl.openConnection(); + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + connection.connect(); + in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType)); + String line; + while ((line = in.readLine()) != null) + { + result.append(line); + } + log.info("recv - {}", result); + } + catch (ConnectException e) + { + log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e); + } + catch (SocketTimeoutException e) + { + log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e); + } + catch (IOException e) + { + log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e); + } + catch (Exception e) + { + log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e); + } + finally + { + try + { + if (in != null) + { + in.close(); + } + } + catch (Exception ex) + { + log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); + } + } + return result.toString(); + } + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) + { + PrintWriter out = null; + BufferedReader in = null; + StringBuilder result = new StringBuilder(); + try + { + log.info("sendPost - {}", url); + URL realUrl = new URL(url); + URLConnection conn = realUrl.openConnection(); + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("contentType", "utf-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + out = new PrintWriter(conn.getOutputStream()); + out.print(param); + out.flush(); + in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8)); + String line; + while ((line = in.readLine()) != null) + { + result.append(line); + } + log.info("recv - {}", result); + } + catch (ConnectException e) + { + log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); + } + catch (SocketTimeoutException e) + { + log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); + } + catch (IOException e) + { + log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); + } + catch (Exception e) + { + log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); + } + finally + { + try + { + if (out != null) + { + out.close(); + } + if (in != null) + { + in.close(); + } + } + catch (IOException ex) + { + log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); + } + } + return result.toString(); + } + + public static String sendSSLPost(String url, String param) + { + StringBuilder result = new StringBuilder(); + String urlNameString = url + "?" + param; + try + { + log.info("sendSSLPost - {}", urlNameString); + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); + URL console = new URL(urlNameString); + HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("contentType", "utf-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + + conn.setSSLSocketFactory(sc.getSocketFactory()); + conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); + conn.connect(); + InputStream is = conn.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + String ret = ""; + while ((ret = br.readLine()) != null) + { + if (ret != null && !"".equals(ret.trim())) + { + result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8)); + } + } + log.info("recv - {}", result); + conn.disconnect(); + br.close(); + } + catch (ConnectException e) + { + log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e); + } + catch (SocketTimeoutException e) + { + log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e); + } + catch (IOException e) + { + log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e); + } + catch (Exception e) + { + log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e); + } + return result.toString(); + } + + private static class TrustAnyTrustManager implements X509TrustManager + { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public X509Certificate[] getAcceptedIssuers() + { + return new X509Certificate[] {}; + } + } + + private static class TrustAnyHostnameVerifier implements HostnameVerifier + { + @Override + public boolean verify(String hostname, SSLSession session) + { + return true; + } + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java new file mode 100644 index 0000000..edfe419 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java @@ -0,0 +1,56 @@ +package com.ruoyi.common.utils.ip; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.http.HttpUtils; + +/** + * 获取地址类 + * + * @author ruoyi + */ +public class AddressUtils +{ + private static final Logger log = LoggerFactory.getLogger(AddressUtils.class); + + // IP地址查询 + public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp"; + + // 未知地址 + public static final String UNKNOWN = "XX XX"; + + public static String getRealAddressByIP(String ip) + { + // 内网不查询 + if (IpUtils.internalIp(ip)) + { + return "内网IP"; + } + if (RuoYiConfig.isAddressEnabled()) + { + try + { + String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true", Constants.GBK); + if (StringUtils.isEmpty(rspStr)) + { + log.error("获取地理位置异常 {}", ip); + return UNKNOWN; + } + JSONObject obj = JSON.parseObject(rspStr); + String region = obj.getString("pro"); + String city = obj.getString("city"); + return String.format("%s %s", region, city); + } + catch (Exception e) + { + log.error("获取地理位置异常 {}", ip); + } + } + return UNKNOWN; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java new file mode 100644 index 0000000..8e89e30 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java @@ -0,0 +1,382 @@ +package com.ruoyi.common.utils.ip; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import javax.servlet.http.HttpServletRequest; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; + +/** + * 获取IP方法 + * + * @author ruoyi + */ +public class IpUtils +{ + public final static String REGX_0_255 = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)"; + // 匹配 ip + public final static String REGX_IP = "((" + REGX_0_255 + "\\.){3}" + REGX_0_255 + ")"; + public final static String REGX_IP_WILDCARD = "(((\\*\\.){3}\\*)|(" + REGX_0_255 + "(\\.\\*){3})|(" + REGX_0_255 + "\\." + REGX_0_255 + ")(\\.\\*){2}" + "|((" + REGX_0_255 + "\\.){3}\\*))"; + // 匹配网段 + public final static String REGX_IP_SEG = "(" + REGX_IP + "\\-" + REGX_IP + ")"; + + /** + * 获取客户端IP + * + * @return IP地址 + */ + public static String getIpAddr() + { + return getIpAddr(ServletUtils.getRequest()); + } + + /** + * 获取客户端IP + * + * @param request 请求对象 + * @return IP地址 + */ + public static String getIpAddr(HttpServletRequest request) + { + if (request == null) + { + return "unknown"; + } + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) + { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) + { + ip = request.getHeader("X-Forwarded-For"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) + { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) + { + ip = request.getHeader("X-Real-IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) + { + ip = request.getRemoteAddr(); + } + + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip); + } + + /** + * 检查是否为内部IP地址 + * + * @param ip IP地址 + * @return 结果 + */ + public static boolean internalIp(String ip) + { + byte[] addr = textToNumericFormatV4(ip); + return internalIp(addr) || "127.0.0.1".equals(ip); + } + + /** + * 检查是否为内部IP地址 + * + * @param addr byte地址 + * @return 结果 + */ + private static boolean internalIp(byte[] addr) + { + if (StringUtils.isNull(addr) || addr.length < 2) + { + return true; + } + final byte b0 = addr[0]; + final byte b1 = addr[1]; + // 10.x.x.x/8 + final byte SECTION_1 = 0x0A; + // 172.16.x.x/12 + final byte SECTION_2 = (byte) 0xAC; + final byte SECTION_3 = (byte) 0x10; + final byte SECTION_4 = (byte) 0x1F; + // 192.168.x.x/16 + final byte SECTION_5 = (byte) 0xC0; + final byte SECTION_6 = (byte) 0xA8; + switch (b0) + { + case SECTION_1: + return true; + case SECTION_2: + if (b1 >= SECTION_3 && b1 <= SECTION_4) + { + return true; + } + case SECTION_5: + switch (b1) + { + case SECTION_6: + return true; + } + default: + return false; + } + } + + /** + * 将IPv4地址转换成字节 + * + * @param text IPv4地址 + * @return byte 字节 + */ + public static byte[] textToNumericFormatV4(String text) + { + if (text.length() == 0) + { + return null; + } + + byte[] bytes = new byte[4]; + String[] elements = text.split("\\.", -1); + try + { + long l; + int i; + switch (elements.length) + { + case 1: + l = Long.parseLong(elements[0]); + if ((l < 0L) || (l > 4294967295L)) + { + return null; + } + bytes[0] = (byte) (int) (l >> 24 & 0xFF); + bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 2: + l = Integer.parseInt(elements[0]); + if ((l < 0L) || (l > 255L)) + { + return null; + } + bytes[0] = (byte) (int) (l & 0xFF); + l = Integer.parseInt(elements[1]); + if ((l < 0L) || (l > 16777215L)) + { + return null; + } + bytes[1] = (byte) (int) (l >> 16 & 0xFF); + bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 3: + for (i = 0; i < 2; ++i) + { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) + { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + l = Integer.parseInt(elements[2]); + if ((l < 0L) || (l > 65535L)) + { + return null; + } + bytes[2] = (byte) (int) (l >> 8 & 0xFF); + bytes[3] = (byte) (int) (l & 0xFF); + break; + case 4: + for (i = 0; i < 4; ++i) + { + l = Integer.parseInt(elements[i]); + if ((l < 0L) || (l > 255L)) + { + return null; + } + bytes[i] = (byte) (int) (l & 0xFF); + } + break; + default: + return null; + } + } + catch (NumberFormatException e) + { + return null; + } + return bytes; + } + + /** + * 获取IP地址 + * + * @return 本地IP地址 + */ + public static String getHostIp() + { + try + { + return InetAddress.getLocalHost().getHostAddress(); + } + catch (UnknownHostException e) + { + } + return "127.0.0.1"; + } + + /** + * 获取主机名 + * + * @return 本地主机名 + */ + public static String getHostName() + { + try + { + return InetAddress.getLocalHost().getHostName(); + } + catch (UnknownHostException e) + { + } + return "未知"; + } + + /** + * 从多级反向代理中获得第一个非unknown IP地址 + * + * @param ip 获得的IP地址 + * @return 第一个非unknown IP地址 + */ + public static String getMultistageReverseProxyIp(String ip) + { + // 多级反向代理检测 + if (ip != null && ip.indexOf(",") > 0) + { + final String[] ips = ip.trim().split(","); + for (String subIp : ips) + { + if (false == isUnknown(subIp)) + { + ip = subIp; + break; + } + } + } + return StringUtils.substring(ip, 0, 255); + } + + /** + * 检测给定字符串是否为未知,多用于检测HTTP请求相关 + * + * @param checkString 被检测的字符串 + * @return 是否未知 + */ + public static boolean isUnknown(String checkString) + { + return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString); + } + + /** + * 是否为IP + */ + public static boolean isIP(String ip) + { + return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP); + } + + /** + * 是否为IP,或 *为间隔的通配符地址 + */ + public static boolean isIpWildCard(String ip) + { + return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP_WILDCARD); + } + + /** + * 检测参数是否在ip通配符里 + */ + public static boolean ipIsInWildCardNoCheck(String ipWildCard, String ip) + { + String[] s1 = ipWildCard.split("\\."); + String[] s2 = ip.split("\\."); + boolean isMatchedSeg = true; + for (int i = 0; i < s1.length && !s1[i].equals("*"); i++) + { + if (!s1[i].equals(s2[i])) + { + isMatchedSeg = false; + break; + } + } + return isMatchedSeg; + } + + /** + * 是否为特定格式如:“10.10.10.1-10.10.10.99”的ip段字符串 + */ + public static boolean isIPSegment(String ipSeg) + { + return StringUtils.isNotBlank(ipSeg) && ipSeg.matches(REGX_IP_SEG); + } + + /** + * 判断ip是否在指定网段中 + */ + public static boolean ipIsInNetNoCheck(String iparea, String ip) + { + int idx = iparea.indexOf('-'); + String[] sips = iparea.substring(0, idx).split("\\."); + String[] sipe = iparea.substring(idx + 1).split("\\."); + String[] sipt = ip.split("\\."); + long ips = 0L, ipe = 0L, ipt = 0L; + for (int i = 0; i < 4; ++i) + { + ips = ips << 8 | Integer.parseInt(sips[i]); + ipe = ipe << 8 | Integer.parseInt(sipe[i]); + ipt = ipt << 8 | Integer.parseInt(sipt[i]); + } + if (ips > ipe) + { + long t = ips; + ips = ipe; + ipe = t; + } + return ips <= ipt && ipt <= ipe; + } + + /** + * 校验ip是否符合过滤串规则 + * + * @param filter 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99` + * @param ip 校验IP地址 + * @return boolean 结果 + */ + public static boolean isMatchedIp(String filter, String ip) + { + if (StringUtils.isEmpty(filter) || StringUtils.isEmpty(ip)) + { + return false; + } + String[] ips = filter.split(";"); + for (String iStr : ips) + { + if (isIP(iStr) && iStr.equals(ip)) + { + return true; + } + else if (isIpWildCard(iStr) && ipIsInWildCardNoCheck(iStr, ip)) + { + return true; + } + else if (isIPSegment(iStr) && ipIsInNetNoCheck(iStr, ip)) + { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelHandlerAdapter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelHandlerAdapter.java new file mode 100644 index 0000000..5ea74c1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelHandlerAdapter.java @@ -0,0 +1,19 @@ +package com.ruoyi.common.utils.poi; + +/** + * Excel数据格式处理适配器 + * + * @author ruoyi + */ +public interface ExcelHandlerAdapter +{ + /** + * 格式化 + * + * @param value 单元格数据值 + * @param args excel注解args参数组 + * + * @return 处理后的值 + */ + Object format(Object value, String[] args); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java new file mode 100644 index 0000000..12a6368 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -0,0 +1,1745 @@ +package com.ruoyi.common.utils.poi; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.ParameterizedType; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.RegExUtils; +import org.apache.commons.lang3.reflect.FieldUtils; +import org.apache.poi.hssf.usermodel.HSSFClientAnchor; +import org.apache.poi.hssf.usermodel.HSSFPicture; +import org.apache.poi.hssf.usermodel.HSSFPictureData; +import org.apache.poi.hssf.usermodel.HSSFShape; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ooxml.POIXMLDocumentPart; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.DataValidation; +import org.apache.poi.ss.usermodel.DataValidationConstraint; +import org.apache.poi.ss.usermodel.DataValidationHelper; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.Drawing; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Name; +import org.apache.poi.ss.usermodel.PictureData; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import org.apache.poi.xssf.usermodel.XSSFDataValidation; +import org.apache.poi.xssf.usermodel.XSSFDrawing; +import org.apache.poi.xssf.usermodel.XSSFPicture; +import org.apache.poi.xssf.usermodel.XSSFShape; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.annotation.Excel.Type; +import com.ruoyi.common.annotation.Excels; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.exception.UtilException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileTypeUtils; +import com.ruoyi.common.utils.file.FileUtils; +import com.ruoyi.common.utils.file.ImageUtils; +import com.ruoyi.common.utils.reflect.ReflectUtils; + +/** + * Excel相关处理 + * + * @author ruoyi + */ +public class ExcelUtil +{ + private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); + + public static final String FORMULA_REGEX_STR = "=|-|\\+|@"; + + public static final String[] FORMULA_STR = { "=", "-", "+", "@" }; + + /** + * 用于dictType属性数据存储,避免重复查缓存 + */ + public Map sysDictMap = new HashMap(); + + /** + * Excel sheet最大行数,默认65536 + */ + public static final int sheetSize = 65536; + + /** + * 工作表名称 + */ + private String sheetName; + + /** + * 导出类型(EXPORT:导出数据;IMPORT:导入模板) + */ + private Type type; + + /** + * 工作薄对象 + */ + private Workbook wb; + + /** + * 工作表对象 + */ + private Sheet sheet; + + /** + * 样式列表 + */ + private Map styles; + + /** + * 导入导出数据列表 + */ + private List list; + + /** + * 注解列表 + */ + private List fields; + + /** + * 当前行号 + */ + private int rownum; + + /** + * 标题 + */ + private String title; + + /** + * 最大高度 + */ + private short maxHeight; + + /** + * 合并后最后行数 + */ + private int subMergedLastRowNum = 0; + + /** + * 合并后开始行数 + */ + private int subMergedFirstRowNum = 1; + + /** + * 对象的子列表方法 + */ + private Method subMethod; + + /** + * 对象的子列表属性 + */ + private List subFields; + + /** + * 统计列表 + */ + private Map statistics = new HashMap(); + + /** + * 数字格式 + */ + private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00"); + + /** + * 实体对象 + */ + public Class clazz; + + /** + * 需要排除列属性 + */ + public String[] excludeFields; + + public ExcelUtil(Class clazz) + { + this.clazz = clazz; + } + + /** + * 隐藏Excel中列属性 + * + * @param fields 列属性名 示例[单个"name"/多个"id","name"] + * @throws Exception + */ + public void hideColumn(String... fields) + { + this.excludeFields = fields; + } + + public void init(List list, String sheetName, String title, Type type) + { + if (list == null) + { + list = new ArrayList(); + } + this.list = list; + this.sheetName = sheetName; + this.type = type; + this.title = title; + createExcelField(); + createWorkbook(); + createTitle(); + createSubHead(); + } + + /** + * 创建excel第一行标题 + */ + public void createTitle() + { + if (StringUtils.isNotEmpty(title)) + { + subMergedFirstRowNum++; + subMergedLastRowNum++; + int titleLastCol = this.fields.size() - 1; + if (isSubList()) + { + titleLastCol = titleLastCol + subFields.size() - 1; + } + Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0); + titleRow.setHeightInPoints(30); + Cell titleCell = titleRow.createCell(0); + titleCell.setCellStyle(styles.get("title")); + titleCell.setCellValue(title); + sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(), titleLastCol)); + } + } + + /** + * 创建对象的子列表名称 + */ + public void createSubHead() + { + if (isSubList()) + { + subMergedFirstRowNum++; + subMergedLastRowNum++; + Row subRow = sheet.createRow(rownum); + int excelNum = 0; + for (Object[] objects : fields) + { + Excel attr = (Excel) objects[1]; + Cell headCell1 = subRow.createCell(excelNum); + headCell1.setCellValue(attr.name()); + headCell1.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor()))); + excelNum++; + } + int headFirstRow = excelNum - 1; + int headLastRow = headFirstRow + subFields.size() - 1; + if (headLastRow > headFirstRow) + { + sheet.addMergedRegion(new CellRangeAddress(rownum, rownum, headFirstRow, headLastRow)); + } + rownum++; + } + } + + /** + * 对excel表单默认第一个索引名转换成list + * + * @param is 输入流 + * @return 转换后集合 + */ + public List importExcel(InputStream is) throws Exception + { + return importExcel(is, 0); + } + + /** + * 对excel表单默认第一个索引名转换成list + * + * @param is 输入流 + * @param titleNum 标题占用行数 + * @return 转换后集合 + */ + public List importExcel(InputStream is, int titleNum) throws Exception + { + return importExcel(StringUtils.EMPTY, is, titleNum); + } + + /** + * 对excel表单指定表格索引名转换成list + * + * @param sheetName 表格索引名 + * @param titleNum 标题占用行数 + * @param is 输入流 + * @return 转换后集合 + */ + public List importExcel(String sheetName, InputStream is, int titleNum) throws Exception + { + this.type = Type.IMPORT; + this.wb = WorkbookFactory.create(is); + List list = new ArrayList(); + // 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet + Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0); + if (sheet == null) + { + throw new IOException("文件sheet不存在"); + } + boolean isXSSFWorkbook = !(wb instanceof HSSFWorkbook); + Map pictures; + if (isXSSFWorkbook) + { + pictures = getSheetPictures07((XSSFSheet) sheet, (XSSFWorkbook) wb); + } + else + { + pictures = getSheetPictures03((HSSFSheet) sheet, (HSSFWorkbook) wb); + } + // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1 + int rows = sheet.getLastRowNum(); + + if (rows > 0) + { + // 定义一个map用于存放excel列的序号和field. + Map cellMap = new HashMap(); + // 获取表头 + Row heard = sheet.getRow(titleNum); + for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) + { + Cell cell = heard.getCell(i); + if (StringUtils.isNotNull(cell)) + { + String value = this.getCellValue(heard, i).toString(); + cellMap.put(value, i); + } + else + { + cellMap.put(null, i); + } + } + // 有数据时才处理 得到类的所有field. + List fields = this.getFields(); + Map fieldsMap = new HashMap(); + for (Object[] objects : fields) + { + Excel attr = (Excel) objects[1]; + Integer column = cellMap.get(attr.name()); + if (column != null) + { + fieldsMap.put(column, objects); + } + } + for (int i = titleNum + 1; i <= rows; i++) + { + // 从第2行开始取数据,默认第一行是表头. + Row row = sheet.getRow(i); + // 判断当前行是否是空行 + if (isRowEmpty(row)) + { + continue; + } + T entity = null; + for (Map.Entry entry : fieldsMap.entrySet()) + { + Object val = this.getCellValue(row, entry.getKey()); + + // 如果不存在实例则新建. + entity = (entity == null ? clazz.newInstance() : entity); + // 从map中得到对应列的field. + Field field = (Field) entry.getValue()[0]; + Excel attr = (Excel) entry.getValue()[1]; + // 取得类型,并根据对象类型设置值. + Class fieldType = field.getType(); + if (String.class == fieldType) + { + String s = Convert.toStr(val); + if (StringUtils.endsWith(s, ".0")) + { + val = StringUtils.substringBefore(s, ".0"); + } + else + { + String dateFormat = field.getAnnotation(Excel.class).dateFormat(); + if (StringUtils.isNotEmpty(dateFormat)) + { + val = parseDateToStr(dateFormat, val); + } + else + { + val = Convert.toStr(val); + } + } + } + else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) + { + val = Convert.toInt(val); + } + else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) + { + val = Convert.toLong(val); + } + else if (Double.TYPE == fieldType || Double.class == fieldType) + { + val = Convert.toDouble(val); + } + else if (Float.TYPE == fieldType || Float.class == fieldType) + { + val = Convert.toFloat(val); + } + else if (BigDecimal.class == fieldType) + { + val = Convert.toBigDecimal(val); + } + else if (Date.class == fieldType) + { + if (val instanceof String) + { + val = DateUtils.parseDate(val); + } + else if (val instanceof Double) + { + val = DateUtil.getJavaDate((Double) val); + } + } + else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) + { + val = Convert.toBool(val, false); + } + if (StringUtils.isNotNull(fieldType)) + { + String propertyName = field.getName(); + if (StringUtils.isNotEmpty(attr.targetAttr())) + { + propertyName = field.getName() + "." + attr.targetAttr(); + } + else if (StringUtils.isNotEmpty(attr.readConverterExp())) + { + val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); + } + else if (StringUtils.isNotEmpty(attr.dictType())) + { + val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator()); + } + else if (!attr.handler().equals(ExcelHandlerAdapter.class)) + { + val = dataFormatHandlerAdapter(val, attr); + } + else if (ColumnType.IMAGE == attr.cellType() && StringUtils.isNotEmpty(pictures)) + { + PictureData image = pictures.get(row.getRowNum() + "_" + entry.getKey()); + if (image == null) + { + val = ""; + } + else + { + byte[] data = image.getData(); + val = FileUtils.writeImportBytes(data); + } + } + ReflectUtils.invokeSetter(entity, propertyName, val); + } + } + list.add(entity); + } + } + return list; + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult exportExcel(List list, String sheetName) + { + return exportExcel(list, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public AjaxResult exportExcel(List list, String sheetName, String title) + { + this.init(list, sheetName, title, Type.EXPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param response 返回数据 + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public void exportExcel(HttpServletResponse response, List list, String sheetName) + { + exportExcel(response, list, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param response 返回数据 + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public void exportExcel(HttpServletResponse response, List list, String sheetName, String title) + { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + this.init(list, sheetName, title, Type.EXPORT); + exportExcel(response); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult importTemplateExcel(String sheetName) + { + return importTemplateExcel(sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public AjaxResult importTemplateExcel(String sheetName, String title) + { + this.init(null, sheetName, title, Type.IMPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ + public void importTemplateExcel(HttpServletResponse response, String sheetName) + { + importTemplateExcel(response, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) + { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + this.init(null, sheetName, title, Type.IMPORT); + exportExcel(response); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public void exportExcel(HttpServletResponse response) + { + try + { + writeSheet(); + wb.write(response.getOutputStream()); + } + catch (Exception e) + { + log.error("导出Excel异常{}", e.getMessage()); + } + finally + { + IOUtils.closeQuietly(wb); + } + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public AjaxResult exportExcel() + { + OutputStream out = null; + try + { + writeSheet(); + String filename = encodingFilename(sheetName); + out = new FileOutputStream(getAbsoluteFile(filename)); + wb.write(out); + return AjaxResult.success(filename); + } + catch (Exception e) + { + log.error("导出Excel异常{}", e.getMessage()); + throw new UtilException("导出Excel失败,请联系网站管理员!"); + } + finally + { + IOUtils.closeQuietly(wb); + IOUtils.closeQuietly(out); + } + } + + /** + * 创建写入数据到Sheet + */ + public void writeSheet() + { + // 取出一共有多少个sheet. + int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize)); + for (int index = 0; index < sheetNo; index++) + { + createSheet(sheetNo, index); + + // 产生一行 + Row row = sheet.createRow(rownum); + int column = 0; + // 写入各个字段的列头名称 + for (Object[] os : fields) + { + Field field = (Field) os[0]; + Excel excel = (Excel) os[1]; + if (Collection.class.isAssignableFrom(field.getType())) + { + for (Field subField : subFields) + { + Excel subExcel = subField.getAnnotation(Excel.class); + this.createHeadCell(subExcel, row, column++); + } + } + else + { + this.createHeadCell(excel, row, column++); + } + } + if (Type.EXPORT.equals(type)) + { + fillExcelData(index, row); + addStatisticsRow(); + } + } + } + + /** + * 填充excel数据 + * + * @param index 序号 + * @param row 单元格行 + */ + @SuppressWarnings("unchecked") + public void fillExcelData(int index, Row row) + { + int startNo = index * sheetSize; + int endNo = Math.min(startNo + sheetSize, list.size()); + int rowNo = (1 + rownum) - startNo; + for (int i = startNo; i < endNo; i++) + { + rowNo = isSubList() ? (i > 1 ? rowNo + 1 : rowNo + i) : i + 1 + rownum - startNo; + row = sheet.createRow(rowNo); + // 得到导出对象. + T vo = (T) list.get(i); + Collection subList = null; + if (isSubList()) + { + if (isSubListValue(vo)) + { + subList = getListCellValue(vo); + subMergedLastRowNum = subMergedLastRowNum + subList.size(); + } + else + { + subMergedFirstRowNum++; + subMergedLastRowNum++; + } + } + int column = 0; + for (Object[] os : fields) + { + Field field = (Field) os[0]; + Excel excel = (Excel) os[1]; + if (Collection.class.isAssignableFrom(field.getType()) && StringUtils.isNotNull(subList)) + { + boolean subFirst = false; + for (Object obj : subList) + { + if (subFirst) + { + rowNo++; + row = sheet.createRow(rowNo); + } + List subFields = FieldUtils.getFieldsListWithAnnotation(obj.getClass(), Excel.class); + int subIndex = 0; + for (Field subField : subFields) + { + if (subField.isAnnotationPresent(Excel.class)) + { + subField.setAccessible(true); + Excel attr = subField.getAnnotation(Excel.class); + this.addCell(attr, row, (T) obj, subField, column + subIndex); + } + subIndex++; + } + subFirst = true; + } + this.subMergedFirstRowNum = this.subMergedFirstRowNum + subList.size(); + } + else + { + this.addCell(excel, row, vo, field, column++); + } + } + } + } + + /** + * 创建表格样式 + * + * @param wb 工作薄对象 + * @return 样式列表 + */ + private Map createStyles(Workbook wb) + { + // 写入各条记录,每条记录对应excel表中的一行 + Map styles = new HashMap(); + CellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + Font titleFont = wb.createFont(); + titleFont.setFontName("Arial"); + titleFont.setFontHeightInPoints((short) 16); + titleFont.setBold(true); + style.setFont(titleFont); + styles.put("title", style); + + style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + style.setFont(dataFont); + styles.put("data", style); + + style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + Font totalFont = wb.createFont(); + totalFont.setFontName("Arial"); + totalFont.setFontHeightInPoints((short) 10); + style.setFont(totalFont); + styles.put("total", style); + + styles.putAll(annotationHeaderStyles(wb, styles)); + + styles.putAll(annotationDataStyles(wb)); + + return styles; + } + + /** + * 根据Excel注解创建表格头样式 + * + * @param wb 工作薄对象 + * @return 自定义样式列表 + */ + private Map annotationHeaderStyles(Workbook wb, Map styles) + { + Map headerStyles = new HashMap(); + for (Object[] os : fields) + { + Excel excel = (Excel) os[1]; + String key = StringUtils.format("header_{}_{}", excel.headerColor(), excel.headerBackgroundColor()); + if (!headerStyles.containsKey(key)) + { + CellStyle style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setFillForegroundColor(excel.headerBackgroundColor().index); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + Font headerFont = wb.createFont(); + headerFont.setFontName("Arial"); + headerFont.setFontHeightInPoints((short) 10); + headerFont.setBold(true); + headerFont.setColor(excel.headerColor().index); + style.setFont(headerFont); + headerStyles.put(key, style); + } + } + return headerStyles; + } + + /** + * 根据Excel注解创建表格列样式 + * + * @param wb 工作薄对象 + * @return 自定义样式列表 + */ + private Map annotationDataStyles(Workbook wb) + { + Map styles = new HashMap(); + for (Object[] os : fields) + { + Excel excel = (Excel) os[1]; + String key = StringUtils.format("data_{}_{}_{}", excel.align(), excel.color(), excel.backgroundColor()); + if (!styles.containsKey(key)) + { + CellStyle style = wb.createCellStyle(); + style.setAlignment(excel.align()); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + style.setFillForegroundColor(excel.backgroundColor().getIndex()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + dataFont.setColor(excel.color().index); + style.setFont(dataFont); + styles.put(key, style); + } + } + return styles; + } + + /** + * 创建单元格 + */ + public Cell createHeadCell(Excel attr, Row row, int column) + { + // 创建列 + Cell cell = row.createCell(column); + // 写入列信息 + cell.setCellValue(attr.name()); + setDataValidation(attr, row, column); + cell.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor()))); + if (isSubList()) + { + // 填充默认样式,防止合并单元格样式失效 + sheet.setDefaultColumnStyle(column, styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor()))); + if (attr.needMerge()) + { + sheet.addMergedRegion(new CellRangeAddress(rownum - 1, rownum, column, column)); + } + } + return cell; + } + + /** + * 设置单元格信息 + * + * @param value 单元格值 + * @param attr 注解相关 + * @param cell 单元格信息 + */ + public void setCellVo(Object value, Excel attr, Cell cell) + { + if (ColumnType.STRING == attr.cellType()) + { + String cellValue = Convert.toStr(value); + // 对于任何以表达式触发字符 =-+@开头的单元格,直接使用tab字符作为前缀,防止CSV注入。 + if (StringUtils.startsWithAny(cellValue, FORMULA_STR)) + { + cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0"); + } + if (value instanceof Collection && StringUtils.equals("[]", cellValue)) + { + cellValue = StringUtils.EMPTY; + } + cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix()); + } + else if (ColumnType.NUMERIC == attr.cellType()) + { + if (StringUtils.isNotNull(value)) + { + cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); + } + } + else if (ColumnType.IMAGE == attr.cellType()) + { + ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1); + String imagePath = Convert.toStr(value); + if (StringUtils.isNotEmpty(imagePath)) + { + byte[] data = ImageUtils.getImage(imagePath); + getDrawingPatriarch(cell.getSheet()).createPicture(anchor, + cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); + } + } + } + + /** + * 获取画布 + */ + public static Drawing getDrawingPatriarch(Sheet sheet) + { + if (sheet.getDrawingPatriarch() == null) + { + sheet.createDrawingPatriarch(); + } + return sheet.getDrawingPatriarch(); + } + + /** + * 获取图片类型,设置图片插入类型 + */ + public int getImageType(byte[] value) + { + String type = FileTypeUtils.getFileExtendName(value); + if ("JPG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_JPEG; + } + else if ("PNG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_PNG; + } + return Workbook.PICTURE_TYPE_JPEG; + } + + /** + * 创建表格样式 + */ + public void setDataValidation(Excel attr, Row row, int column) + { + if (attr.name().indexOf("注:") >= 0) + { + sheet.setColumnWidth(column, 6000); + } + else + { + // 设置列宽 + sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); + } + if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0) + { + if (attr.combo().length > 15 || StringUtils.join(attr.combo()).length() > 255) + { + // 如果下拉数大于15或字符串长度大于255,则使用一个新sheet存储,避免生成的模板下拉值获取不到 + setXSSFValidationWithHidden(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); + } + else + { + // 提示信息或只能选择不能输入的列内容. + setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); + } + } + } + + /** + * 添加单元格 + */ + public Cell addCell(Excel attr, Row row, T vo, Field field, int column) + { + Cell cell = null; + try + { + // 设置行高 + row.setHeight(maxHeight); + // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. + if (attr.isExport()) + { + // 创建cell + cell = row.createCell(column); + if (isSubListValue(vo) && getListCellValue(vo).size() > 1 && attr.needMerge()) + { + CellRangeAddress cellAddress = new CellRangeAddress(subMergedFirstRowNum, subMergedLastRowNum, column, column); + sheet.addMergedRegion(cellAddress); + } + cell.setCellStyle(styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor()))); + + // 用于读取对象中的属性 + Object value = getTargetValue(vo, field, attr); + String dateFormat = attr.dateFormat(); + String readConverterExp = attr.readConverterExp(); + String separator = attr.separator(); + String dictType = attr.dictType(); + if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) + { + cell.setCellValue(parseDateToStr(dateFormat, value)); + } + else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) + { + cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); + } + else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value)) + { + if (!sysDictMap.containsKey(dictType + value)) + { + String lable = convertDictByExp(Convert.toStr(value), dictType, separator); + sysDictMap.put(dictType + value, lable); + } + cell.setCellValue(sysDictMap.get(dictType + value)); + } + else if (value instanceof BigDecimal && -1 != attr.scale()) + { + cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).doubleValue()); + } + else if (!attr.handler().equals(ExcelHandlerAdapter.class)) + { + cell.setCellValue(dataFormatHandlerAdapter(value, attr)); + } + else + { + // 设置列类型 + setCellVo(value, attr, cell); + } + addStatisticsData(column, Convert.toStr(value), attr); + } + } + catch (Exception e) + { + log.error("导出Excel失败{}", e); + } + return cell; + } + + /** + * 设置 POI XSSFSheet 单元格提示或选择框 + * + * @param sheet 表单 + * @param textlist 下拉框显示的内容 + * @param promptContent 提示内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + */ + public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, + int firstCol, int endCol) + { + DataValidationHelper helper = sheet.getDataValidationHelper(); + DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1"); + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + DataValidation dataValidation = helper.createValidation(constraint, regions); + if (StringUtils.isNotEmpty(promptContent)) + { + // 如果设置了提示信息则鼠标放上去提示 + dataValidation.createPromptBox("", promptContent); + dataValidation.setShowPromptBox(true); + } + // 处理Excel兼容性问题 + if (dataValidation instanceof XSSFDataValidation) + { + dataValidation.setSuppressDropDownArrow(true); + dataValidation.setShowErrorBox(true); + } + else + { + dataValidation.setSuppressDropDownArrow(false); + } + sheet.addValidationData(dataValidation); + } + + /** + * 设置某些列的值只能输入预制的数据,显示下拉框(兼容超出一定数量的下拉框). + * + * @param sheet 要设置的sheet. + * @param textlist 下拉框显示的内容 + * @param promptContent 提示内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + */ + public void setXSSFValidationWithHidden(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, int firstCol, int endCol) + { + String hideSheetName = "combo_" + firstCol + "_" + endCol; + Sheet hideSheet = wb.createSheet(hideSheetName); // 用于存储 下拉菜单数据 + for (int i = 0; i < textlist.length; i++) + { + hideSheet.createRow(i).createCell(0).setCellValue(textlist[i]); + } + // 创建名称,可被其他单元格引用 + Name name = wb.createName(); + name.setNameName(hideSheetName + "_data"); + name.setRefersToFormula(hideSheetName + "!$A$1:$A$" + textlist.length); + DataValidationHelper helper = sheet.getDataValidationHelper(); + // 加载下拉列表内容 + DataValidationConstraint constraint = helper.createFormulaListConstraint(hideSheetName + "_data"); + // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + // 数据有效性对象 + DataValidation dataValidation = helper.createValidation(constraint, regions); + if (StringUtils.isNotEmpty(promptContent)) + { + // 如果设置了提示信息则鼠标放上去提示 + dataValidation.createPromptBox("", promptContent); + dataValidation.setShowPromptBox(true); + } + // 处理Excel兼容性问题 + if (dataValidation instanceof XSSFDataValidation) + { + dataValidation.setSuppressDropDownArrow(true); + dataValidation.setShowErrorBox(true); + } + else + { + dataValidation.setSuppressDropDownArrow(false); + } + + sheet.addValidationData(dataValidation); + // 设置hiddenSheet隐藏 + wb.setSheetHidden(wb.getSheetIndex(hideSheet), true); + } + + /** + * 解析导出值 0=男,1=女,2=未知 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String convertByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(propertyValue, separator)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[0].equals(value)) + { + propertyString.append(itemArray[1] + separator); + break; + } + } + } + else + { + if (itemArray[0].equals(propertyValue)) + { + return itemArray[1]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 反向解析值 男=0,女=1,未知=2 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String reverseByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(propertyValue, separator)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[1].equals(value)) + { + propertyString.append(itemArray[0] + separator); + break; + } + } + } + else + { + if (itemArray[1].equals(propertyValue)) + { + return itemArray[0]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 解析字典值 + * + * @param dictValue 字典值 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String convertDictByExp(String dictValue, String dictType, String separator) + { + return DictUtils.getDictLabel(dictType, dictValue, separator); + } + + /** + * 反向解析值字典值 + * + * @param dictLabel 字典标签 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典值 + */ + public static String reverseDictByExp(String dictLabel, String dictType, String separator) + { + return DictUtils.getDictValue(dictType, dictLabel, separator); + } + + /** + * 数据处理器 + * + * @param value 数据值 + * @param excel 数据注解 + * @return + */ + public String dataFormatHandlerAdapter(Object value, Excel excel) + { + try + { + Object instance = excel.handler().newInstance(); + Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class }); + value = formatMethod.invoke(instance, value, excel.args()); + } + catch (Exception e) + { + log.error("不能格式化数据 " + excel.handler(), e.getMessage()); + } + return Convert.toStr(value); + } + + /** + * 合计统计信息 + */ + private void addStatisticsData(Integer index, String text, Excel entity) + { + if (entity != null && entity.isStatistics()) + { + Double temp = 0D; + if (!statistics.containsKey(index)) + { + statistics.put(index, temp); + } + try + { + temp = Double.valueOf(text); + } + catch (NumberFormatException e) + { + } + statistics.put(index, statistics.get(index) + temp); + } + } + + /** + * 创建统计行 + */ + public void addStatisticsRow() + { + if (statistics.size() > 0) + { + Row row = sheet.createRow(sheet.getLastRowNum() + 1); + Set keys = statistics.keySet(); + Cell cell = row.createCell(0); + cell.setCellStyle(styles.get("total")); + cell.setCellValue("合计"); + + for (Integer key : keys) + { + cell = row.createCell(key); + cell.setCellStyle(styles.get("total")); + cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); + } + statistics.clear(); + } + } + + /** + * 编码文件名 + */ + public String encodingFilename(String filename) + { + filename = UUID.randomUUID() + "_" + filename + ".xlsx"; + return filename; + } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ + public String getAbsoluteFile(String filename) + { + String downloadPath = RuoYiConfig.getDownloadPath() + filename; + File desc = new File(downloadPath); + if (!desc.getParentFile().exists()) + { + desc.getParentFile().mkdirs(); + } + return downloadPath; + } + + /** + * 获取bean中的属性值 + * + * @param vo 实体对象 + * @param field 字段 + * @param excel 注解 + * @return 最终的属性值 + * @throws Exception + */ + private Object getTargetValue(T vo, Field field, Excel excel) throws Exception + { + Object o = field.get(vo); + if (StringUtils.isNotEmpty(excel.targetAttr())) + { + String target = excel.targetAttr(); + if (target.contains(".")) + { + String[] targets = target.split("[.]"); + for (String name : targets) + { + o = getValue(o, name); + } + } + else + { + o = getValue(o, target); + } + } + return o; + } + + /** + * 以类的属性的get方法方法形式获取值 + * + * @param o + * @param name + * @return value + * @throws Exception + */ + private Object getValue(Object o, String name) throws Exception + { + if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) + { + Class clazz = o.getClass(); + Field field = clazz.getDeclaredField(name); + field.setAccessible(true); + o = field.get(o); + } + return o; + } + + /** + * 得到所有定义字段 + */ + private void createExcelField() + { + this.fields = getFields(); + this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); + this.maxHeight = getRowHeight(); + } + + /** + * 获取字段注解信息 + */ + public List getFields() + { + List fields = new ArrayList(); + List tempFields = new ArrayList<>(); + tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); + tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); + for (Field field : tempFields) + { + if (!ArrayUtils.contains(this.excludeFields, field.getName())) + { + // 单注解 + if (field.isAnnotationPresent(Excel.class)) + { + Excel attr = field.getAnnotation(Excel.class); + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) + { + field.setAccessible(true); + fields.add(new Object[] { field, attr }); + } + if (Collection.class.isAssignableFrom(field.getType())) + { + subMethod = getSubMethod(field.getName(), clazz); + ParameterizedType pt = (ParameterizedType) field.getGenericType(); + Class subClass = (Class) pt.getActualTypeArguments()[0]; + this.subFields = FieldUtils.getFieldsListWithAnnotation(subClass, Excel.class); + } + } + + // 多注解 + if (field.isAnnotationPresent(Excels.class)) + { + Excels attrs = field.getAnnotation(Excels.class); + Excel[] excels = attrs.value(); + for (Excel attr : excels) + { + if (!ArrayUtils.contains(this.excludeFields, field.getName() + "." + attr.targetAttr()) + && (attr != null && (attr.type() == Type.ALL || attr.type() == type))) + { + field.setAccessible(true); + fields.add(new Object[] { field, attr }); + } + } + } + } + } + return fields; + } + + /** + * 根据注解获取最大行高 + */ + public short getRowHeight() + { + double maxHeight = 0; + for (Object[] os : this.fields) + { + Excel excel = (Excel) os[1]; + maxHeight = Math.max(maxHeight, excel.height()); + } + return (short) (maxHeight * 20); + } + + /** + * 创建一个工作簿 + */ + public void createWorkbook() + { + this.wb = new SXSSFWorkbook(500); + this.sheet = wb.createSheet(); + wb.setSheetName(0, sheetName); + this.styles = createStyles(wb); + } + + /** + * 创建工作表 + * + * @param sheetNo sheet数量 + * @param index 序号 + */ + public void createSheet(int sheetNo, int index) + { + // 设置工作表的名称. + if (sheetNo > 1 && index > 0) + { + this.sheet = wb.createSheet(); + this.createTitle(); + wb.setSheetName(index, sheetName + index); + } + } + + /** + * 获取单元格值 + * + * @param row 获取的行 + * @param column 获取单元格列号 + * @return 单元格值 + */ + public Object getCellValue(Row row, int column) + { + if (row == null) + { + return row; + } + Object val = ""; + try + { + Cell cell = row.getCell(column); + if (StringUtils.isNotNull(cell)) + { + if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) + { + val = cell.getNumericCellValue(); + if (DateUtil.isCellDateFormatted(cell)) + { + val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 + } + else + { + if ((Double) val % 1 != 0) + { + val = new BigDecimal(val.toString()); + } + else + { + val = new DecimalFormat("0").format(val); + } + } + } + else if (cell.getCellType() == CellType.STRING) + { + val = cell.getStringCellValue(); + } + else if (cell.getCellType() == CellType.BOOLEAN) + { + val = cell.getBooleanCellValue(); + } + else if (cell.getCellType() == CellType.ERROR) + { + val = cell.getErrorCellValue(); + } + + } + } + catch (Exception e) + { + return val; + } + return val; + } + + /** + * 判断是否是空行 + * + * @param row 判断的行 + * @return + */ + private boolean isRowEmpty(Row row) + { + if (row == null) + { + return true; + } + for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) + { + Cell cell = row.getCell(i); + if (cell != null && cell.getCellType() != CellType.BLANK) + { + return false; + } + } + return true; + } + + /** + * 获取Excel2003图片 + * + * @param sheet 当前sheet对象 + * @param workbook 工作簿对象 + * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData + */ + public static Map getSheetPictures03(HSSFSheet sheet, HSSFWorkbook workbook) + { + Map sheetIndexPicMap = new HashMap(); + List pictures = workbook.getAllPictures(); + if (!pictures.isEmpty()) + { + for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) + { + HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor(); + if (shape instanceof HSSFPicture) + { + HSSFPicture pic = (HSSFPicture) shape; + int pictureIndex = pic.getPictureIndex() - 1; + HSSFPictureData picData = pictures.get(pictureIndex); + String picIndex = anchor.getRow1() + "_" + anchor.getCol1(); + sheetIndexPicMap.put(picIndex, picData); + } + } + return sheetIndexPicMap; + } + else + { + return sheetIndexPicMap; + } + } + + /** + * 获取Excel2007图片 + * + * @param sheet 当前sheet对象 + * @param workbook 工作簿对象 + * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData + */ + public static Map getSheetPictures07(XSSFSheet sheet, XSSFWorkbook workbook) + { + Map sheetIndexPicMap = new HashMap(); + for (POIXMLDocumentPart dr : sheet.getRelations()) + { + if (dr instanceof XSSFDrawing) + { + XSSFDrawing drawing = (XSSFDrawing) dr; + List shapes = drawing.getShapes(); + for (XSSFShape shape : shapes) + { + if (shape instanceof XSSFPicture) + { + XSSFPicture pic = (XSSFPicture) shape; + XSSFClientAnchor anchor = pic.getPreferredSize(); + CTMarker ctMarker = anchor.getFrom(); + String picIndex = ctMarker.getRow() + "_" + ctMarker.getCol(); + sheetIndexPicMap.put(picIndex, pic.getPictureData()); + } + } + } + } + return sheetIndexPicMap; + } + + /** + * 格式化不同类型的日期对象 + * + * @param dateFormat 日期格式 + * @param val 被格式化的日期对象 + * @return 格式化后的日期字符 + */ + public String parseDateToStr(String dateFormat, Object val) + { + if (val == null) + { + return ""; + } + String str; + if (val instanceof Date) + { + str = DateUtils.parseDateToStr(dateFormat, (Date) val); + } + else if (val instanceof LocalDateTime) + { + str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val)); + } + else if (val instanceof LocalDate) + { + str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val)); + } + else + { + str = val.toString(); + } + return str; + } + + /** + * 是否有对象的子列表 + */ + public boolean isSubList() + { + return StringUtils.isNotNull(subFields) && subFields.size() > 0; + } + + /** + * 是否有对象的子列表,集合不为空 + */ + public boolean isSubListValue(T vo) + { + return StringUtils.isNotNull(subFields) && subFields.size() > 0 && StringUtils.isNotNull(getListCellValue(vo)) && getListCellValue(vo).size() > 0; + } + + /** + * 获取集合的值 + */ + public Collection getListCellValue(Object obj) + { + Object value; + try + { + value = subMethod.invoke(obj, new Object[] {}); + } + catch (Exception e) + { + return new ArrayList(); + } + return (Collection) value; + } + + /** + * 获取对象的子列表方法 + * + * @param name 名称 + * @param pojoClass 类对象 + * @return 子列表方法 + */ + public Method getSubMethod(String name, Class pojoClass) + { + StringBuffer getMethodName = new StringBuffer("get"); + getMethodName.append(name.substring(0, 1).toUpperCase()); + getMethodName.append(name.substring(1)); + Method method = null; + try + { + method = pojoClass.getMethod(getMethodName.toString(), new Class[] {}); + } + catch (Exception e) + { + log.error("获取对象异常{}", e.getMessage()); + } + return method; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java new file mode 100644 index 0000000..b19953e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java @@ -0,0 +1,410 @@ +package com.ruoyi.common.utils.reflect; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.Date; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.Validate; +import org.apache.poi.ss.usermodel.DateUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.DateUtils; + +/** + * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. + * + * @author ruoyi + */ +@SuppressWarnings("rawtypes") +public class ReflectUtils +{ + private static final String SETTER_PREFIX = "set"; + + private static final String GETTER_PREFIX = "get"; + + private static final String CGLIB_CLASS_SEPARATOR = "$$"; + + private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class); + + /** + * 调用Getter方法. + * 支持多级,如:对象名.对象名.方法 + */ + @SuppressWarnings("unchecked") + public static E invokeGetter(Object obj, String propertyName) + { + Object object = obj; + for (String name : StringUtils.split(propertyName, ".")) + { + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); + object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); + } + return (E) object; + } + + /** + * 调用Setter方法, 仅匹配方法名。 + * 支持多级,如:对象名.对象名.方法 + */ + public static void invokeSetter(Object obj, String propertyName, E value) + { + Object object = obj; + String[] names = StringUtils.split(propertyName, "."); + for (int i = 0; i < names.length; i++) + { + if (i < names.length - 1) + { + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); + object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {}); + } + else + { + String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); + invokeMethodByName(object, setterMethodName, new Object[] { value }); + } + } + } + + /** + * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数. + */ + @SuppressWarnings("unchecked") + public static E getFieldValue(final Object obj, final String fieldName) + { + Field field = getAccessibleField(obj, fieldName); + if (field == null) + { + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + return null; + } + E result = null; + try + { + result = (E) field.get(obj); + } + catch (IllegalAccessException e) + { + logger.error("不可能抛出的异常{}", e.getMessage()); + } + return result; + } + + /** + * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数. + */ + public static void setFieldValue(final Object obj, final String fieldName, final E value) + { + Field field = getAccessibleField(obj, fieldName); + if (field == null) + { + // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 "); + return; + } + try + { + field.set(obj, value); + } + catch (IllegalAccessException e) + { + logger.error("不可能抛出的异常: {}", e.getMessage()); + } + } + + /** + * 直接调用对象方法, 无视private/protected修饰符. + * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用. + * 同时匹配方法名+参数类型, + */ + @SuppressWarnings("unchecked") + public static E invokeMethod(final Object obj, final String methodName, final Class[] parameterTypes, + final Object[] args) + { + if (obj == null || methodName == null) + { + return null; + } + Method method = getAccessibleMethod(obj, methodName, parameterTypes); + if (method == null) + { + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); + return null; + } + try + { + return (E) method.invoke(obj, args); + } + catch (Exception e) + { + String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; + throw convertReflectionExceptionToUnchecked(msg, e); + } + } + + /** + * 直接调用对象方法, 无视private/protected修饰符, + * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用. + * 只匹配函数名,如果有多个同名函数调用第一个。 + */ + @SuppressWarnings("unchecked") + public static E invokeMethodByName(final Object obj, final String methodName, final Object[] args) + { + Method method = getAccessibleMethodByName(obj, methodName, args.length); + if (method == null) + { + // 如果为空不报错,直接返回空。 + logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 "); + return null; + } + try + { + // 类型转换(将参数数据类型转换为目标方法参数类型) + Class[] cs = method.getParameterTypes(); + for (int i = 0; i < cs.length; i++) + { + if (args[i] != null && !args[i].getClass().equals(cs[i])) + { + if (cs[i] == String.class) + { + args[i] = Convert.toStr(args[i]); + if (StringUtils.endsWith((String) args[i], ".0")) + { + args[i] = StringUtils.substringBefore((String) args[i], ".0"); + } + } + else if (cs[i] == Integer.class) + { + args[i] = Convert.toInt(args[i]); + } + else if (cs[i] == Long.class) + { + args[i] = Convert.toLong(args[i]); + } + else if (cs[i] == Double.class) + { + args[i] = Convert.toDouble(args[i]); + } + else if (cs[i] == Float.class) + { + args[i] = Convert.toFloat(args[i]); + } + else if (cs[i] == Date.class) + { + if (args[i] instanceof String) + { + args[i] = DateUtils.parseDate(args[i]); + } + else + { + args[i] = DateUtil.getJavaDate((Double) args[i]); + } + } + else if (cs[i] == boolean.class || cs[i] == Boolean.class) + { + args[i] = Convert.toBool(args[i]); + } + } + } + return (E) method.invoke(obj, args); + } + catch (Exception e) + { + String msg = "method: " + method + ", obj: " + obj + ", args: " + args + ""; + throw convertReflectionExceptionToUnchecked(msg, e); + } + } + + /** + * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + */ + public static Field getAccessibleField(final Object obj, final String fieldName) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(fieldName, "fieldName can't be blank"); + for (Class superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) + { + try + { + Field field = superClass.getDeclaredField(fieldName); + makeAccessible(field); + return field; + } + catch (NoSuchFieldException e) + { + continue; + } + } + return null; + } + + /** + * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + * 匹配函数名+参数类型。 + * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) + */ + public static Method getAccessibleMethod(final Object obj, final String methodName, + final Class... parameterTypes) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(methodName, "methodName can't be blank"); + for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) + { + try + { + Method method = searchType.getDeclaredMethod(methodName, parameterTypes); + makeAccessible(method); + return method; + } + catch (NoSuchMethodException e) + { + continue; + } + } + return null; + } + + /** + * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问. + * 如向上转型到Object仍无法找到, 返回null. + * 只匹配函数名。 + * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args) + */ + public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum) + { + // 为空不报错。直接返回 null + if (obj == null) + { + return null; + } + Validate.notBlank(methodName, "methodName can't be blank"); + for (Class searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass()) + { + Method[] methods = searchType.getDeclaredMethods(); + for (Method method : methods) + { + if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum) + { + makeAccessible(method); + return method; + } + } + } + return null; + } + + /** + * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 + */ + public static void makeAccessible(Method method) + { + if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) + && !method.isAccessible()) + { + method.setAccessible(true); + } + } + + /** + * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。 + */ + public static void makeAccessible(Field field) + { + if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers()) + || Modifier.isFinal(field.getModifiers())) && !field.isAccessible()) + { + field.setAccessible(true); + } + } + + /** + * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处 + * 如无法找到, 返回Object.class. + */ + @SuppressWarnings("unchecked") + public static Class getClassGenricType(final Class clazz) + { + return getClassGenricType(clazz, 0); + } + + /** + * 通过反射, 获得Class定义中声明的父类的泛型参数的类型. + * 如无法找到, 返回Object.class. + */ + public static Class getClassGenricType(final Class clazz, final int index) + { + Type genType = clazz.getGenericSuperclass(); + + if (!(genType instanceof ParameterizedType)) + { + logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType"); + return Object.class; + } + + Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); + + if (index >= params.length || index < 0) + { + logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: " + + params.length); + return Object.class; + } + if (!(params[index] instanceof Class)) + { + logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter"); + return Object.class; + } + + return (Class) params[index]; + } + + public static Class getUserClass(Object instance) + { + if (instance == null) + { + throw new RuntimeException("Instance must not be null"); + } + Class clazz = instance.getClass(); + if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR)) + { + Class superClass = clazz.getSuperclass(); + if (superClass != null && !Object.class.equals(superClass)) + { + return superClass; + } + } + return clazz; + + } + + /** + * 将反射时的checked exception转换为unchecked exception. + */ + public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e) + { + if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException + || e instanceof NoSuchMethodException) + { + return new IllegalArgumentException(msg, e); + } + else if (e instanceof InvocationTargetException) + { + return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException()); + } + return new RuntimeException(msg, e); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java new file mode 100644 index 0000000..ca1cd92 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Base64.java @@ -0,0 +1,291 @@ +package com.ruoyi.common.utils.sign; + +/** + * Base64工具类 + * + * @author ruoyi + */ +public final class Base64 +{ + static private final int BASELENGTH = 128; + static private final int LOOKUPLENGTH = 64; + static private final int TWENTYFOURBITGROUP = 24; + static private final int EIGHTBIT = 8; + static private final int SIXTEENBIT = 16; + static private final int FOURBYTE = 4; + static private final int SIGN = -128; + static private final char PAD = '='; + static final private byte[] base64Alphabet = new byte[BASELENGTH]; + static final private char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH]; + + static + { + for (int i = 0; i < BASELENGTH; ++i) + { + base64Alphabet[i] = -1; + } + for (int i = 'Z'; i >= 'A'; i--) + { + base64Alphabet[i] = (byte) (i - 'A'); + } + for (int i = 'z'; i >= 'a'; i--) + { + base64Alphabet[i] = (byte) (i - 'a' + 26); + } + + for (int i = '9'; i >= '0'; i--) + { + base64Alphabet[i] = (byte) (i - '0' + 52); + } + + base64Alphabet['+'] = 62; + base64Alphabet['/'] = 63; + + for (int i = 0; i <= 25; i++) + { + lookUpBase64Alphabet[i] = (char) ('A' + i); + } + + for (int i = 26, j = 0; i <= 51; i++, j++) + { + lookUpBase64Alphabet[i] = (char) ('a' + j); + } + + for (int i = 52, j = 0; i <= 61; i++, j++) + { + lookUpBase64Alphabet[i] = (char) ('0' + j); + } + lookUpBase64Alphabet[62] = (char) '+'; + lookUpBase64Alphabet[63] = (char) '/'; + } + + private static boolean isWhiteSpace(char octect) + { + return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9); + } + + private static boolean isPad(char octect) + { + return (octect == PAD); + } + + private static boolean isData(char octect) + { + return (octect < BASELENGTH && base64Alphabet[octect] != -1); + } + + /** + * Encodes hex octects into Base64 + * + * @param binaryData Array containing binaryData + * @return Encoded Base64 array + */ + public static String encode(byte[] binaryData) + { + if (binaryData == null) + { + return null; + } + + int lengthDataBits = binaryData.length * EIGHTBIT; + if (lengthDataBits == 0) + { + return ""; + } + + int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP; + int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP; + int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1 : numberTriplets; + char encodedData[] = null; + + encodedData = new char[numberQuartet * 4]; + + byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0; + + int encodedIndex = 0; + int dataIndex = 0; + + for (int i = 0; i < numberTriplets; i++) + { + b1 = binaryData[dataIndex++]; + b2 = binaryData[dataIndex++]; + b3 = binaryData[dataIndex++]; + + l = (byte) (b2 & 0x0f); + k = (byte) (b1 & 0x03); + + byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); + byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); + byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc); + + encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f]; + } + + // form integral number of 6-bit groups + if (fewerThan24bits == EIGHTBIT) + { + b1 = binaryData[dataIndex]; + k = (byte) (b1 & 0x03); + byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); + encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4]; + encodedData[encodedIndex++] = PAD; + encodedData[encodedIndex++] = PAD; + } + else if (fewerThan24bits == SIXTEENBIT) + { + b1 = binaryData[dataIndex]; + b2 = binaryData[dataIndex + 1]; + l = (byte) (b2 & 0x0f); + k = (byte) (b1 & 0x03); + + byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0); + byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0); + + encodedData[encodedIndex++] = lookUpBase64Alphabet[val1]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)]; + encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2]; + encodedData[encodedIndex++] = PAD; + } + return new String(encodedData); + } + + /** + * Decodes Base64 data into octects + * + * @param encoded string containing Base64 data + * @return Array containind decoded data. + */ + public static byte[] decode(String encoded) + { + if (encoded == null) + { + return null; + } + + char[] base64Data = encoded.toCharArray(); + // remove white spaces + int len = removeWhiteSpace(base64Data); + + if (len % FOURBYTE != 0) + { + return null;// should be divisible by four + } + + int numberQuadruple = (len / FOURBYTE); + + if (numberQuadruple == 0) + { + return new byte[0]; + } + + byte decodedData[] = null; + byte b1 = 0, b2 = 0, b3 = 0, b4 = 0; + char d1 = 0, d2 = 0, d3 = 0, d4 = 0; + + int i = 0; + int encodedIndex = 0; + int dataIndex = 0; + decodedData = new byte[(numberQuadruple) * 3]; + + for (; i < numberQuadruple - 1; i++) + { + + if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++])) + || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++]))) + { + return null; + } // if found "no data" just return null + + b1 = base64Alphabet[d1]; + b2 = base64Alphabet[d2]; + b3 = base64Alphabet[d3]; + b4 = base64Alphabet[d4]; + + decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); + decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); + decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); + } + + if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))) + { + return null;// if found "no data" just return null + } + + b1 = base64Alphabet[d1]; + b2 = base64Alphabet[d2]; + + d3 = base64Data[dataIndex++]; + d4 = base64Data[dataIndex++]; + if (!isData((d3)) || !isData((d4))) + {// Check if they are PAD characters + if (isPad(d3) && isPad(d4)) + { + if ((b2 & 0xf) != 0)// last 4 bits should be zero + { + return null; + } + byte[] tmp = new byte[i * 3 + 1]; + System.arraycopy(decodedData, 0, tmp, 0, i * 3); + tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4); + return tmp; + } + else if (!isPad(d3) && isPad(d4)) + { + b3 = base64Alphabet[d3]; + if ((b3 & 0x3) != 0)// last 2 bits should be zero + { + return null; + } + byte[] tmp = new byte[i * 3 + 2]; + System.arraycopy(decodedData, 0, tmp, 0, i * 3); + tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); + tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); + return tmp; + } + else + { + return null; + } + } + else + { // No PAD e.g 3cQl + b3 = base64Alphabet[d3]; + b4 = base64Alphabet[d4]; + decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4); + decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf)); + decodedData[encodedIndex++] = (byte) (b3 << 6 | b4); + + } + return decodedData; + } + + /** + * remove WhiteSpace from MIME containing encoded Base64 data. + * + * @param data the byte array of base64 data (with WS) + * @return the new length + */ + private static int removeWhiteSpace(char[] data) + { + if (data == null) + { + return 0; + } + + // count characters that's not whitespace + int newSize = 0; + int len = data.length; + for (int i = 0; i < len; i++) + { + if (!isWhiteSpace(data[i])) + { + data[newSize++] = data[i]; + } + } + return newSize; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java new file mode 100644 index 0000000..c1c58db --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java @@ -0,0 +1,67 @@ +package com.ruoyi.common.utils.sign; + +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Md5加密方法 + * + * @author ruoyi + */ +public class Md5Utils +{ + private static final Logger log = LoggerFactory.getLogger(Md5Utils.class); + + private static byte[] md5(String s) + { + MessageDigest algorithm; + try + { + algorithm = MessageDigest.getInstance("MD5"); + algorithm.reset(); + algorithm.update(s.getBytes("UTF-8")); + byte[] messageDigest = algorithm.digest(); + return messageDigest; + } + catch (Exception e) + { + log.error("MD5 Error...", e); + } + return null; + } + + private static final String toHex(byte hash[]) + { + if (hash == null) + { + return null; + } + StringBuffer buf = new StringBuffer(hash.length * 2); + int i; + + for (i = 0; i < hash.length; i++) + { + if ((hash[i] & 0xff) < 0x10) + { + buf.append("0"); + } + buf.append(Long.toString(hash[i] & 0xff, 16)); + } + return buf.toString(); + } + + public static String hash(String s) + { + try + { + return new String(toHex(md5(s)).getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8); + } + catch (Exception e) + { + log.error("not supported charset...{}", e); + return s; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java new file mode 100644 index 0000000..f290ec3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java @@ -0,0 +1,158 @@ +package com.ruoyi.common.utils.spring; + +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; +import com.ruoyi.common.utils.StringUtils; + +/** + * spring工具类 方便在非spring管理环境中获取bean + * + * @author ruoyi + */ +@Component +public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware +{ + /** Spring应用上下文环境 */ + private static ConfigurableListableBeanFactory beanFactory; + + private static ApplicationContext applicationContext; + + @Override + public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException + { + SpringUtils.beanFactory = beanFactory; + } + + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException + { + SpringUtils.applicationContext = applicationContext; + } + + /** + * 获取对象 + * + * @param name + * @return Object 一个以所给名字注册的bean的实例 + * @throws org.springframework.beans.BeansException + * + */ + @SuppressWarnings("unchecked") + public static T getBean(String name) throws BeansException + { + return (T) beanFactory.getBean(name); + } + + /** + * 获取类型为requiredType的对象 + * + * @param clz + * @return + * @throws org.springframework.beans.BeansException + * + */ + public static T getBean(Class clz) throws BeansException + { + T result = (T) beanFactory.getBean(clz); + return result; + } + + /** + * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true + * + * @param name + * @return boolean + */ + public static boolean containsBean(String name) + { + return beanFactory.containsBean(name); + } + + /** + * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) + * + * @param name + * @return boolean + * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException + * + */ + public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException + { + return beanFactory.isSingleton(name); + } + + /** + * @param name + * @return Class 注册对象的类型 + * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException + * + */ + public static Class getType(String name) throws NoSuchBeanDefinitionException + { + return beanFactory.getType(name); + } + + /** + * 如果给定的bean名字在bean定义中有别名,则返回这些别名 + * + * @param name + * @return + * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException + * + */ + public static String[] getAliases(String name) throws NoSuchBeanDefinitionException + { + return beanFactory.getAliases(name); + } + + /** + * 获取aop代理对象 + * + * @param invoker + * @return + */ + @SuppressWarnings("unchecked") + public static T getAopProxy(T invoker) + { + return (T) AopContext.currentProxy(); + } + + /** + * 获取当前的环境配置,无配置返回null + * + * @return 当前的环境配置 + */ + public static String[] getActiveProfiles() + { + return applicationContext.getEnvironment().getActiveProfiles(); + } + + /** + * 获取当前的环境配置,当有多个环境配置时,只获取第一个 + * + * @return 当前的环境配置 + */ + public static String getActiveProfile() + { + final String[] activeProfiles = getActiveProfiles(); + return StringUtils.isNotEmpty(activeProfiles) ? activeProfiles[0] : null; + } + + /** + * 获取配置文件中的值 + * + * @param key 配置文件的key + * @return 当前的配置文件的值 + * + */ + public static String getRequiredProperty(String key) + { + return applicationContext.getEnvironment().getRequiredProperty(key); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java new file mode 100644 index 0000000..51e1f92 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java @@ -0,0 +1,61 @@ +package com.ruoyi.common.utils.sql; + +import com.ruoyi.common.exception.UtilException; +import com.ruoyi.common.utils.StringUtils; + +/** + * sql操作工具类 + * + * @author ruoyi + */ +public class SqlUtil +{ + /** + * 定义常用的 sql关键字 + */ + public static String SQL_REGEX = "and |extractvalue|updatexml|exec |insert |select |delete |update |drop |count |chr |mid |master |truncate |char |declare |or |+|user()"; + + /** + * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序) + */ + public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; + + /** + * 检查字符,防止注入绕过 + */ + public static String escapeOrderBySql(String value) + { + if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) + { + throw new UtilException("参数不符合规范,不能进行查询"); + } + return value; + } + + /** + * 验证 order by 语法是否符合规范 + */ + public static boolean isValidOrderBySql(String value) + { + return value.matches(SQL_PATTERN); + } + + /** + * SQL关键字检查 + */ + public static void filterKeyword(String value) + { + if (StringUtils.isEmpty(value)) + { + return; + } + String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|"); + for (String sqlKeyword : sqlKeywords) + { + if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1) + { + throw new UtilException("参数存在SQL注入风险"); + } + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java new file mode 100644 index 0000000..2c84427 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java @@ -0,0 +1,49 @@ +package com.ruoyi.common.utils.uuid; + +/** + * ID生成器工具类 + * + * @author ruoyi + */ +public class IdUtils +{ + /** + * 获取随机UUID + * + * @return 随机UUID + */ + public static String randomUUID() + { + return UUID.randomUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线 + * + * @return 简化的UUID,去掉了横线 + */ + public static String simpleUUID() + { + return UUID.randomUUID().toString(true); + } + + /** + * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 随机UUID + */ + public static String fastUUID() + { + return UUID.fastUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 简化的UUID,去掉了横线 + */ + public static String fastSimpleUUID() + { + return UUID.fastUUID().toString(true); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/Seq.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/Seq.java new file mode 100644 index 0000000..bf99611 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/Seq.java @@ -0,0 +1,86 @@ +package com.ruoyi.common.utils.uuid; + +import java.util.concurrent.atomic.AtomicInteger; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; + +/** + * @author ruoyi 序列生成类 + */ +public class Seq +{ + // 通用序列类型 + public static final String commSeqType = "COMMON"; + + // 上传序列类型 + public static final String uploadSeqType = "UPLOAD"; + + // 通用接口序列数 + private static AtomicInteger commSeq = new AtomicInteger(1); + + // 上传接口序列数 + private static AtomicInteger uploadSeq = new AtomicInteger(1); + + // 机器标识 + private static final String machineCode = "A"; + + /** + * 获取通用序列号 + * + * @return 序列值 + */ + public static String getId() + { + return getId(commSeqType); + } + + /** + * 默认16位序列号 yyMMddHHmmss + 一位机器标识 + 3长度循环递增字符串 + * + * @return 序列值 + */ + public static String getId(String type) + { + AtomicInteger atomicInt = commSeq; + if (uploadSeqType.equals(type)) + { + atomicInt = uploadSeq; + } + return getId(atomicInt, 3); + } + + /** + * 通用接口序列号 yyMMddHHmmss + 一位机器标识 + length长度循环递增字符串 + * + * @param atomicInt 序列数 + * @param length 数值长度 + * @return 序列值 + */ + public static String getId(AtomicInteger atomicInt, int length) + { + String result = DateUtils.dateTimeNow(); + result += machineCode; + result += getSeq(atomicInt, length); + return result; + } + + /** + * 序列循环递增字符串[1, 10 的 (length)幂次方), 用0左补齐length位数 + * + * @return 序列值 + */ + private synchronized static String getSeq(AtomicInteger atomicInt, int length) + { + // 先取值再+1 + int value = atomicInt.getAndIncrement(); + + // 如果更新后值>=10 的 (length)幂次方则重置为1 + int maxSeq = (int) Math.pow(10, length); + if (atomicInt.get() >= maxSeq) + { + atomicInt.set(1); + } + // 转字符串,用0左补齐 + return StringUtils.padl(value, length); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java new file mode 100644 index 0000000..dfda46c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java @@ -0,0 +1,484 @@ +package com.ruoyi.common.utils.uuid; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.Random; +import java.util.concurrent.ThreadLocalRandom; +import com.ruoyi.common.exception.UtilException; + +/** + * 提供通用唯一识别码(universally unique identifier)(UUID)实现 + * + * @author ruoyi + */ +public final class UUID implements java.io.Serializable, Comparable +{ + private static final long serialVersionUID = -1185015143654744140L; + + /** + * SecureRandom 的单例 + * + */ + private static class Holder + { + static final SecureRandom numberGenerator = getSecureRandom(); + } + + /** 此UUID的最高64有效位 */ + private final long mostSigBits; + + /** 此UUID的最低64有效位 */ + private final long leastSigBits; + + /** + * 私有构造 + * + * @param data 数据 + */ + private UUID(byte[] data) + { + long msb = 0; + long lsb = 0; + assert data.length == 16 : "data must be 16 bytes in length"; + for (int i = 0; i < 8; i++) + { + msb = (msb << 8) | (data[i] & 0xff); + } + for (int i = 8; i < 16; i++) + { + lsb = (lsb << 8) | (data[i] & 0xff); + } + this.mostSigBits = msb; + this.leastSigBits = lsb; + } + + /** + * 使用指定的数据构造新的 UUID。 + * + * @param mostSigBits 用于 {@code UUID} 的最高有效 64 位 + * @param leastSigBits 用于 {@code UUID} 的最低有效 64 位 + */ + public UUID(long mostSigBits, long leastSigBits) + { + this.mostSigBits = mostSigBits; + this.leastSigBits = leastSigBits; + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 + * + * @return 随机生成的 {@code UUID} + */ + public static UUID fastUUID() + { + return randomUUID(false); + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * + * @return 随机生成的 {@code UUID} + */ + public static UUID randomUUID() + { + return randomUUID(true); + } + + /** + * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * + * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能 + * @return 随机生成的 {@code UUID} + */ + public static UUID randomUUID(boolean isSecure) + { + final Random ng = isSecure ? Holder.numberGenerator : getRandom(); + + byte[] randomBytes = new byte[16]; + ng.nextBytes(randomBytes); + randomBytes[6] &= 0x0f; /* clear version */ + randomBytes[6] |= 0x40; /* set to version 4 */ + randomBytes[8] &= 0x3f; /* clear variant */ + randomBytes[8] |= 0x80; /* set to IETF variant */ + return new UUID(randomBytes); + } + + /** + * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。 + * + * @param name 用于构造 UUID 的字节数组。 + * + * @return 根据指定数组生成的 {@code UUID} + */ + public static UUID nameUUIDFromBytes(byte[] name) + { + MessageDigest md; + try + { + md = MessageDigest.getInstance("MD5"); + } + catch (NoSuchAlgorithmException nsae) + { + throw new InternalError("MD5 not supported"); + } + byte[] md5Bytes = md.digest(name); + md5Bytes[6] &= 0x0f; /* clear version */ + md5Bytes[6] |= 0x30; /* set to version 3 */ + md5Bytes[8] &= 0x3f; /* clear variant */ + md5Bytes[8] |= 0x80; /* set to IETF variant */ + return new UUID(md5Bytes); + } + + /** + * 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。 + * + * @param name 指定 {@code UUID} 字符串 + * @return 具有指定值的 {@code UUID} + * @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常 + * + */ + public static UUID fromString(String name) + { + String[] components = name.split("-"); + if (components.length != 5) + { + throw new IllegalArgumentException("Invalid UUID string: " + name); + } + for (int i = 0; i < 5; i++) + { + components[i] = "0x" + components[i]; + } + + long mostSigBits = Long.decode(components[0]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[1]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[2]).longValue(); + + long leastSigBits = Long.decode(components[3]).longValue(); + leastSigBits <<= 48; + leastSigBits |= Long.decode(components[4]).longValue(); + + return new UUID(mostSigBits, leastSigBits); + } + + /** + * 返回此 UUID 的 128 位值中的最低有效 64 位。 + * + * @return 此 UUID 的 128 位值中的最低有效 64 位。 + */ + public long getLeastSignificantBits() + { + return leastSigBits; + } + + /** + * 返回此 UUID 的 128 位值中的最高有效 64 位。 + * + * @return 此 UUID 的 128 位值中最高有效 64 位。 + */ + public long getMostSignificantBits() + { + return mostSigBits; + } + + /** + * 与此 {@code UUID} 相关联的版本号. 版本号描述此 {@code UUID} 是如何生成的。 + *

+ * 版本号具有以下含意: + *

    + *
  • 1 基于时间的 UUID + *
  • 2 DCE 安全 UUID + *
  • 3 基于名称的 UUID + *
  • 4 随机生成的 UUID + *
+ * + * @return 此 {@code UUID} 的版本号 + */ + public int version() + { + // Version is bits masked by 0x000000000000F000 in MS long + return (int) ((mostSigBits >> 12) & 0x0f); + } + + /** + * 与此 {@code UUID} 相关联的变体号。变体号描述 {@code UUID} 的布局。 + *

+ * 变体号具有以下含意: + *

    + *
  • 0 为 NCS 向后兼容保留 + *
  • 2 IETF RFC 4122(Leach-Salz), 用于此类 + *
  • 6 保留,微软向后兼容 + *
  • 7 保留供以后定义使用 + *
+ * + * @return 此 {@code UUID} 相关联的变体号 + */ + public int variant() + { + // This field is composed of a varying number of bits. + // 0 - - Reserved for NCS backward compatibility + // 1 0 - The IETF aka Leach-Salz variant (used by this class) + // 1 1 0 Reserved, Microsoft backward compatibility + // 1 1 1 Reserved for future definition. + return (int) ((leastSigBits >>> (64 - (leastSigBits >>> 62))) & (leastSigBits >> 63)); + } + + /** + * 与此 UUID 相关联的时间戳值。 + * + *

+ * 60 位的时间戳值根据此 {@code UUID} 的 time_low、time_mid 和 time_hi 字段构造。
+ * 所得到的时间戳以 100 毫微秒为单位,从 UTC(通用协调时间) 1582 年 10 月 15 日零时开始。 + * + *

+ * 时间戳值仅在在基于时间的 UUID(其 version 类型为 1)中才有意义。
+ * 如果此 {@code UUID} 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 + * + * @throws UnsupportedOperationException 如果此 {@code UUID} 不是 version 为 1 的 UUID。 + */ + public long timestamp() throws UnsupportedOperationException + { + checkTimeBase(); + return (mostSigBits & 0x0FFFL) << 48// + | ((mostSigBits >> 16) & 0x0FFFFL) << 32// + | mostSigBits >>> 32; + } + + /** + * 与此 UUID 相关联的时钟序列值。 + * + *

+ * 14 位的时钟序列值根据此 UUID 的 clock_seq 字段构造。clock_seq 字段用于保证在基于时间的 UUID 中的时间唯一性。 + *

+ * {@code clockSequence} 值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。 如果此 UUID 不是基于时间的 UUID,则此方法抛出 + * UnsupportedOperationException。 + * + * @return 此 {@code UUID} 的时钟序列 + * + * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 + */ + public int clockSequence() throws UnsupportedOperationException + { + checkTimeBase(); + return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48); + } + + /** + * 与此 UUID 相关的节点值。 + * + *

+ * 48 位的节点值根据此 UUID 的 node 字段构造。此字段旨在用于保存机器的 IEEE 802 地址,该地址用于生成此 UUID 以保证空间唯一性。 + *

+ * 节点值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。
+ * 如果此 UUID 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。 + * + * @return 此 {@code UUID} 的节点值 + * + * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1 + */ + public long node() throws UnsupportedOperationException + { + checkTimeBase(); + return leastSigBits & 0x0000FFFFFFFFFFFFL; + } + + /** + * 返回此{@code UUID} 的字符串表现形式。 + * + *

+ * UUID 的字符串表示形式由此 BNF 描述: + * + *

+     * {@code
+     * UUID                   = ----
+     * time_low               = 4*
+     * time_mid               = 2*
+     * time_high_and_version  = 2*
+     * variant_and_sequence   = 2*
+     * node                   = 6*
+     * hexOctet               = 
+     * hexDigit               = [0-9a-fA-F]
+     * }
+     * 
+ * + * + * + * @return 此{@code UUID} 的字符串表现形式 + * @see #toString(boolean) + */ + @Override + public String toString() + { + return toString(false); + } + + /** + * 返回此{@code UUID} 的字符串表现形式。 + * + *

+ * UUID 的字符串表示形式由此 BNF 描述: + * + *

+     * {@code
+     * UUID                   = ----
+     * time_low               = 4*
+     * time_mid               = 2*
+     * time_high_and_version  = 2*
+     * variant_and_sequence   = 2*
+     * node                   = 6*
+     * hexOctet               = 
+     * hexDigit               = [0-9a-fA-F]
+     * }
+     * 
+ * + * + * + * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串 + * @return 此{@code UUID} 的字符串表现形式 + */ + public String toString(boolean isSimple) + { + final StringBuilder builder = new StringBuilder(isSimple ? 32 : 36); + // time_low + builder.append(digits(mostSigBits >> 32, 8)); + if (!isSimple) + { + builder.append('-'); + } + // time_mid + builder.append(digits(mostSigBits >> 16, 4)); + if (!isSimple) + { + builder.append('-'); + } + // time_high_and_version + builder.append(digits(mostSigBits, 4)); + if (!isSimple) + { + builder.append('-'); + } + // variant_and_sequence + builder.append(digits(leastSigBits >> 48, 4)); + if (!isSimple) + { + builder.append('-'); + } + // node + builder.append(digits(leastSigBits, 12)); + + return builder.toString(); + } + + /** + * 返回此 UUID 的哈希码。 + * + * @return UUID 的哈希码值。 + */ + @Override + public int hashCode() + { + long hilo = mostSigBits ^ leastSigBits; + return ((int) (hilo >> 32)) ^ (int) hilo; + } + + /** + * 将此对象与指定对象比较。 + *

+ * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。 + * + * @param obj 要与之比较的对象 + * + * @return 如果对象相同,则返回 {@code true};否则返回 {@code false} + */ + @Override + public boolean equals(Object obj) + { + if ((null == obj) || (obj.getClass() != UUID.class)) + { + return false; + } + UUID id = (UUID) obj; + return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits); + } + + // Comparison Operations + + /** + * 将此 UUID 与指定的 UUID 比较。 + * + *

+ * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。 + * + * @param val 与此 UUID 比较的 UUID + * + * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。 + * + */ + @Override + public int compareTo(UUID val) + { + // The ordering is intentionally set up so that the UUIDs + // can simply be numerically compared as two numbers + return (this.mostSigBits < val.mostSigBits ? -1 : // + (this.mostSigBits > val.mostSigBits ? 1 : // + (this.leastSigBits < val.leastSigBits ? -1 : // + (this.leastSigBits > val.leastSigBits ? 1 : // + 0)))); + } + + // ------------------------------------------------------------------------------------------------------------------- + // Private method start + /** + * 返回指定数字对应的hex值 + * + * @param val 值 + * @param digits 位 + * @return 值 + */ + private static String digits(long val, int digits) + { + long hi = 1L << (digits * 4); + return Long.toHexString(hi | (val & (hi - 1))).substring(1); + } + + /** + * 检查是否为time-based版本UUID + */ + private void checkTimeBase() + { + if (version() != 1) + { + throw new UnsupportedOperationException("Not a time-based UUID"); + } + } + + /** + * 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG) + * + * @return {@link SecureRandom} + */ + public static SecureRandom getSecureRandom() + { + try + { + return SecureRandom.getInstance("SHA1PRNG"); + } + catch (NoSuchAlgorithmException e) + { + throw new UtilException(e); + } + } + + /** + * 获取随机数生成器对象
+ * ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。 + * + * @return {@link ThreadLocalRandom} + */ + public static ThreadLocalRandom getRandom() + { + return ThreadLocalRandom.current(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/Xss.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/Xss.java new file mode 100644 index 0000000..7bfdf04 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/Xss.java @@ -0,0 +1,27 @@ +package com.ruoyi.common.xss; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 自定义xss校验注解 + * + * @author ruoyi + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER }) +@Constraint(validatedBy = { XssValidator.class }) +public @interface Xss +{ + String message() + + default "不允许任何脚本运行"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java new file mode 100644 index 0000000..ed9ec1f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java @@ -0,0 +1,34 @@ +package com.ruoyi.common.xss; + +import com.ruoyi.common.utils.StringUtils; +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 自定义xss校验注解实现 + * + * @author ruoyi + */ +public class XssValidator implements ConstraintValidator +{ + private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />"; + + @Override + public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) + { + if (StringUtils.isBlank(value)) + { + return true; + } + return !containsHtml(value); + } + + public static boolean containsHtml(String value) + { + Pattern pattern = Pattern.compile(HTML_PATTERN); + Matcher matcher = pattern.matcher(value); + return matcher.matches(); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/pom.xml new file mode 100644 index 0000000..96dcb0f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/pom.xml @@ -0,0 +1,64 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + + ruoyi-framework + + + framework框架核心 + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-aop + + + + + com.alibaba + druid-spring-boot-starter + + + + + pro.fessional + kaptcha + + + javax.servlet-api + javax.servlet + + + + + + + com.github.oshi + oshi-core + + + + + com.ruoyi + ruoyi-system + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java new file mode 100644 index 0000000..1bc2f69 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java @@ -0,0 +1,174 @@ +package com.ruoyi.framework.aspectj; + +import java.util.ArrayList; +import java.util.List; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.springframework.stereotype.Component; +import com.ruoyi.common.annotation.DataScope; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.security.context.PermissionContextHolder; + +/** + * 数据过滤处理 + * + * @author ruoyi + */ +@Aspect +@Component +public class DataScopeAspect +{ + /** + * 全部数据权限 + */ + public static final String DATA_SCOPE_ALL = "1"; + + /** + * 自定数据权限 + */ + public static final String DATA_SCOPE_CUSTOM = "2"; + + /** + * 部门数据权限 + */ + public static final String DATA_SCOPE_DEPT = "3"; + + /** + * 部门及以下数据权限 + */ + public static final String DATA_SCOPE_DEPT_AND_CHILD = "4"; + + /** + * 仅本人数据权限 + */ + public static final String DATA_SCOPE_SELF = "5"; + + /** + * 数据权限过滤关键字 + */ + public static final String DATA_SCOPE = "dataScope"; + + @Before("@annotation(controllerDataScope)") + public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable + { + clearDataScope(point); + handleDataScope(point, controllerDataScope); + } + + protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope) + { + // 获取当前的用户 + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (StringUtils.isNotNull(loginUser)) + { + SysUser currentUser = loginUser.getUser(); + // 如果是超级管理员,则不过滤数据 + if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) + { + String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext()); + dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), + controllerDataScope.userAlias(), permission); + } + } + } + + /** + * 数据范围过滤 + * + * @param joinPoint 切点 + * @param user 用户 + * @param deptAlias 部门别名 + * @param userAlias 用户别名 + * @param permission 权限字符 + */ + public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, String permission) + { + StringBuilder sqlString = new StringBuilder(); + List conditions = new ArrayList(); + + for (SysRole role : user.getRoles()) + { + String dataScope = role.getDataScope(); + if (!DATA_SCOPE_CUSTOM.equals(dataScope) && conditions.contains(dataScope)) + { + continue; + } + if (StringUtils.isNotEmpty(permission) && StringUtils.isNotEmpty(role.getPermissions()) + && !StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission))) + { + continue; + } + if (DATA_SCOPE_ALL.equals(dataScope)) + { + sqlString = new StringBuilder(); + conditions.add(dataScope); + break; + } + else if (DATA_SCOPE_CUSTOM.equals(dataScope)) + { + sqlString.append(StringUtils.format( + " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, + role.getRoleId())); + } + else if (DATA_SCOPE_DEPT.equals(dataScope)) + { + sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId())); + } + else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) + { + sqlString.append(StringUtils.format( + " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )", + deptAlias, user.getDeptId(), user.getDeptId())); + } + else if (DATA_SCOPE_SELF.equals(dataScope)) + { + if (StringUtils.isNotBlank(userAlias)) + { + sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId())); + } + else + { + // 数据权限为仅本人且没有userAlias别名不查询任何数据 + sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias)); + } + } + conditions.add(dataScope); + } + + // 多角色情况下,所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,所以要限制一下,不查询任何数据 + if (StringUtils.isEmpty(conditions)) + { + sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias)); + } + + if (StringUtils.isNotBlank(sqlString.toString())) + { + Object params = joinPoint.getArgs()[0]; + if (StringUtils.isNotNull(params) && params instanceof BaseEntity) + { + BaseEntity baseEntity = (BaseEntity) params; + baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")"); + } + } + } + + /** + * 拼接权限sql前先清空params.dataScope参数防止注入 + */ + private void clearDataScope(final JoinPoint joinPoint) + { + Object params = joinPoint.getArgs()[0]; + if (StringUtils.isNotNull(params) && params instanceof BaseEntity) + { + BaseEntity baseEntity = (BaseEntity) params; + baseEntity.getParams().put(DATA_SCOPE, ""); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java new file mode 100644 index 0000000..8c2c9f4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java @@ -0,0 +1,72 @@ +package com.ruoyi.framework.aspectj; + +import java.util.Objects; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.datasource.DynamicDataSourceContextHolder; + +/** + * 多数据源处理 + * + * @author ruoyi + */ +@Aspect +@Order(1) +@Component +public class DataSourceAspect +{ + protected Logger logger = LoggerFactory.getLogger(getClass()); + + @Pointcut("@annotation(com.ruoyi.common.annotation.DataSource)" + + "|| @within(com.ruoyi.common.annotation.DataSource)") + public void dsPointCut() + { + + } + + @Around("dsPointCut()") + public Object around(ProceedingJoinPoint point) throws Throwable + { + DataSource dataSource = getDataSource(point); + + if (StringUtils.isNotNull(dataSource)) + { + DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name()); + } + + try + { + return point.proceed(); + } + finally + { + // 销毁数据源 在执行方法之后 + DynamicDataSourceContextHolder.clearDataSourceType(); + } + } + + /** + * 获取需要切换的数据源 + */ + public DataSource getDataSource(ProceedingJoinPoint point) + { + MethodSignature signature = (MethodSignature) point.getSignature(); + DataSource dataSource = AnnotationUtils.findAnnotation(signature.getMethod(), DataSource.class); + if (Objects.nonNull(dataSource)) + { + return dataSource; + } + + return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java new file mode 100644 index 0000000..5980eb7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java @@ -0,0 +1,249 @@ +package com.ruoyi.framework.aspectj; + +import java.util.Collection; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.ArrayUtils; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.AfterReturning; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.core.NamedThreadLocal; +import org.springframework.stereotype.Component; +import org.springframework.validation.BindingResult; +import org.springframework.web.multipart.MultipartFile; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.enums.BusinessStatus; +import com.ruoyi.common.enums.HttpMethod; +import com.ruoyi.common.filter.PropertyPreExcludeFilter; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.ip.IpUtils; +import com.ruoyi.framework.manager.AsyncManager; +import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.system.domain.SysOperLog; + +/** + * 操作日志记录处理 + * + * @author ruoyi + */ +@Aspect +@Component +public class LogAspect +{ + private static final Logger log = LoggerFactory.getLogger(LogAspect.class); + + /** 排除敏感属性字段 */ + public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" }; + + /** 计算操作消耗时间 */ + private static final ThreadLocal TIME_THREADLOCAL = new NamedThreadLocal("Cost Time"); + + /** + * 处理请求前执行 + */ + @Before(value = "@annotation(controllerLog)") + public void boBefore(JoinPoint joinPoint, Log controllerLog) + { + TIME_THREADLOCAL.set(System.currentTimeMillis()); + } + + /** + * 处理完请求后执行 + * + * @param joinPoint 切点 + */ + @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult") + public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult) + { + handleLog(joinPoint, controllerLog, null, jsonResult); + } + + /** + * 拦截异常操作 + * + * @param joinPoint 切点 + * @param e 异常 + */ + @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e") + public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) + { + handleLog(joinPoint, controllerLog, e, null); + } + + protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) + { + try + { + // 获取当前的用户 + LoginUser loginUser = SecurityUtils.getLoginUser(); + + // *========数据库日志=========*// + SysOperLog operLog = new SysOperLog(); + operLog.setStatus(BusinessStatus.SUCCESS.ordinal()); + // 请求的地址 + String ip = IpUtils.getIpAddr(); + operLog.setOperIp(ip); + operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); + if (loginUser != null) + { + operLog.setOperName(loginUser.getUsername()); + } + + if (e != null) + { + operLog.setStatus(BusinessStatus.FAIL.ordinal()); + operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000)); + } + // 设置方法名称 + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + operLog.setMethod(className + "." + methodName + "()"); + // 设置请求方式 + operLog.setRequestMethod(ServletUtils.getRequest().getMethod()); + // 处理设置注解上的参数 + getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); + // 设置消耗时间 + operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get()); + // 保存数据库 + AsyncManager.me().execute(AsyncFactory.recordOper(operLog)); + } + catch (Exception exp) + { + // 记录本地异常日志 + log.error("异常信息:{}", exp.getMessage()); + exp.printStackTrace(); + } + finally + { + TIME_THREADLOCAL.remove(); + } + } + + /** + * 获取注解中对方法的描述信息 用于Controller层注解 + * + * @param log 日志 + * @param operLog 操作日志 + * @throws Exception + */ + public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception + { + // 设置action动作 + operLog.setBusinessType(log.businessType().ordinal()); + // 设置标题 + operLog.setTitle(log.title()); + // 设置操作人类别 + operLog.setOperatorType(log.operatorType().ordinal()); + // 是否需要保存request,参数和值 + if (log.isSaveRequestData()) + { + // 获取参数的信息,传入到数据库中。 + setRequestValue(joinPoint, operLog, log.excludeParamNames()); + } + // 是否需要保存response,参数和值 + if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) + { + operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000)); + } + } + + /** + * 获取请求的参数,放到log中 + * + * @param operLog 操作日志 + * @throws Exception 异常 + */ + private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception + { + Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); + String requestMethod = operLog.getRequestMethod(); + if (StringUtils.isEmpty(paramsMap) + && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) + { + String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); + operLog.setOperParam(StringUtils.substring(params, 0, 2000)); + } + else + { + operLog.setOperParam(StringUtils.substring(JSON.toJSONString(paramsMap, excludePropertyPreFilter(excludeParamNames)), 0, 2000)); + } + } + + /** + * 参数拼装 + */ + private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) + { + String params = ""; + if (paramsArray != null && paramsArray.length > 0) + { + for (Object o : paramsArray) + { + if (StringUtils.isNotNull(o) && !isFilterObject(o)) + { + try + { + String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); + params += jsonObj.toString() + " "; + } + catch (Exception e) + { + } + } + } + } + return params.trim(); + } + + /** + * 忽略敏感属性 + */ + public PropertyPreExcludeFilter excludePropertyPreFilter(String[] excludeParamNames) + { + return new PropertyPreExcludeFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames)); + } + + /** + * 判断是否需要过滤的对象。 + * + * @param o 对象信息。 + * @return 如果是需要过滤的对象,则返回true;否则返回false。 + */ + @SuppressWarnings("rawtypes") + public boolean isFilterObject(final Object o) + { + Class clazz = o.getClass(); + if (clazz.isArray()) + { + return clazz.getComponentType().isAssignableFrom(MultipartFile.class); + } + else if (Collection.class.isAssignableFrom(clazz)) + { + Collection collection = (Collection) o; + for (Object value : collection) + { + return value instanceof MultipartFile; + } + } + else if (Map.class.isAssignableFrom(clazz)) + { + Map map = (Map) o; + for (Object value : map.entrySet()) + { + Map.Entry entry = (Map.Entry) value; + return entry.getValue() instanceof MultipartFile; + } + } + return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse + || o instanceof BindingResult; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java new file mode 100644 index 0000000..b720bc1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java @@ -0,0 +1,89 @@ +package com.ruoyi.framework.aspectj; + +import java.lang.reflect.Method; +import java.util.Collections; +import java.util.List; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.reflect.MethodSignature; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.script.RedisScript; +import org.springframework.stereotype.Component; +import com.ruoyi.common.annotation.RateLimiter; +import com.ruoyi.common.enums.LimitType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.ip.IpUtils; + +/** + * 限流处理 + * + * @author ruoyi + */ +@Aspect +@Component +public class RateLimiterAspect +{ + private static final Logger log = LoggerFactory.getLogger(RateLimiterAspect.class); + + private RedisTemplate redisTemplate; + + private RedisScript limitScript; + + @Autowired + public void setRedisTemplate1(RedisTemplate redisTemplate) + { + this.redisTemplate = redisTemplate; + } + + @Autowired + public void setLimitScript(RedisScript limitScript) + { + this.limitScript = limitScript; + } + + @Before("@annotation(rateLimiter)") + public void doBefore(JoinPoint point, RateLimiter rateLimiter) throws Throwable + { + int time = rateLimiter.time(); + int count = rateLimiter.count(); + + String combineKey = getCombineKey(rateLimiter, point); + List keys = Collections.singletonList(combineKey); + try + { + Long number = redisTemplate.execute(limitScript, keys, count, time); + if (StringUtils.isNull(number) || number.intValue() > count) + { + throw new ServiceException("访问过于频繁,请稍候再试"); + } + log.info("限制请求'{}',当前请求'{}',缓存key'{}'", count, number.intValue(), combineKey); + } + catch (ServiceException e) + { + throw e; + } + catch (Exception e) + { + throw new RuntimeException("服务器限流异常,请稍候再试"); + } + } + + public String getCombineKey(RateLimiter rateLimiter, JoinPoint point) + { + StringBuffer stringBuffer = new StringBuffer(rateLimiter.key()); + if (rateLimiter.limitType() == LimitType.IP) + { + stringBuffer.append(IpUtils.getIpAddr()).append("-"); + } + MethodSignature signature = (MethodSignature) point.getSignature(); + Method method = signature.getMethod(); + Class targetClass = method.getDeclaringClass(); + stringBuffer.append(targetClass.getName()).append("-").append(method.getName()); + return stringBuffer.toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java new file mode 100644 index 0000000..1d4dc1f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java @@ -0,0 +1,30 @@ +package com.ruoyi.framework.config; + +import java.util.TimeZone; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.EnableAspectJAutoProxy; + +/** + * 程序注解配置 + * + * @author ruoyi + */ +@Configuration +// 表示通过aop框架暴露该代理对象,AopContext能够访问 +@EnableAspectJAutoProxy(exposeProxy = true) +// 指定要扫描的Mapper类的包的路径 +@MapperScan("com.ruoyi.**.mapper") +public class ApplicationConfig +{ + /** + * 时区配置 + */ + @Bean + public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() + { + return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java new file mode 100644 index 0000000..43e78ae --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/CaptchaConfig.java @@ -0,0 +1,83 @@ +package com.ruoyi.framework.config; + +import java.util.Properties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import com.google.code.kaptcha.impl.DefaultKaptcha; +import com.google.code.kaptcha.util.Config; +import static com.google.code.kaptcha.Constants.*; + +/** + * 验证码配置 + * + * @author ruoyi + */ +@Configuration +public class CaptchaConfig +{ + @Bean(name = "captchaProducer") + public DefaultKaptcha getKaptchaBean() + { + DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); + Properties properties = new Properties(); + // 是否有边框 默认为true 我们可以自己设置yes,no + properties.setProperty(KAPTCHA_BORDER, "yes"); + // 验证码文本字符颜色 默认为Color.BLACK + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "black"); + // 验证码图片宽度 默认为200 + properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160"); + // 验证码图片高度 默认为50 + properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60"); + // 验证码文本字符大小 默认为40 + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "38"); + // KAPTCHA_SESSION_KEY + properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCode"); + // 验证码文本字符长度 默认为5 + properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4"); + // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize) + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier"); + // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy + properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy"); + Config config = new Config(properties); + defaultKaptcha.setConfig(config); + return defaultKaptcha; + } + + @Bean(name = "captchaProducerMath") + public DefaultKaptcha getKaptchaBeanMath() + { + DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); + Properties properties = new Properties(); + // 是否有边框 默认为true 我们可以自己设置yes,no + properties.setProperty(KAPTCHA_BORDER, "yes"); + // 边框颜色 默认为Color.BLACK + properties.setProperty(KAPTCHA_BORDER_COLOR, "105,179,90"); + // 验证码文本字符颜色 默认为Color.BLACK + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "blue"); + // 验证码图片宽度 默认为200 + properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160"); + // 验证码图片高度 默认为50 + properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60"); + // 验证码文本字符大小 默认为40 + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "35"); + // KAPTCHA_SESSION_KEY + properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCodeMath"); + // 验证码文本生成器 + properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.ruoyi.framework.config.KaptchaTextCreator"); + // 验证码文本字符间距 默认为2 + properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, "3"); + // 验证码文本字符长度 默认为5 + properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "6"); + // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize) + properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier"); + // 验证码噪点颜色 默认为Color.BLACK + properties.setProperty(KAPTCHA_NOISE_COLOR, "white"); + // 干扰实现类 + properties.setProperty(KAPTCHA_NOISE_IMPL, "com.google.code.kaptcha.impl.NoNoise"); + // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy + properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy"); + Config config = new Config(properties); + defaultKaptcha.setConfig(config); + return defaultKaptcha; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java new file mode 100644 index 0000000..f6abac1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/DruidConfig.java @@ -0,0 +1,126 @@ +package com.ruoyi.framework.config; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.sql.DataSource; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; +import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; +import com.alibaba.druid.util.Utils; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.framework.config.properties.DruidProperties; +import com.ruoyi.framework.datasource.DynamicDataSource; + +/** + * druid 配置多数据源 + * + * @author ruoyi + */ +@Configuration +public class DruidConfig +{ + @Bean + @ConfigurationProperties("spring.datasource.druid.master") + public DataSource masterDataSource(DruidProperties druidProperties) + { + DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); + return druidProperties.dataSource(dataSource); + } + + @Bean + @ConfigurationProperties("spring.datasource.druid.slave") + @ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true") + public DataSource slaveDataSource(DruidProperties druidProperties) + { + DruidDataSource dataSource = DruidDataSourceBuilder.create().build(); + return druidProperties.dataSource(dataSource); + } + + @Bean(name = "dynamicDataSource") + @Primary + public DynamicDataSource dataSource(DataSource masterDataSource) + { + Map targetDataSources = new HashMap<>(); + targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource); + setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource"); + return new DynamicDataSource(masterDataSource, targetDataSources); + } + + /** + * 设置数据源 + * + * @param targetDataSources 备选数据源集合 + * @param sourceName 数据源名称 + * @param beanName bean名称 + */ + public void setDataSource(Map targetDataSources, String sourceName, String beanName) + { + try + { + DataSource dataSource = SpringUtils.getBean(beanName); + targetDataSources.put(sourceName, dataSource); + } + catch (Exception e) + { + } + } + + /** + * 去除监控页面底部的广告 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Bean + @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true") + public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) + { + // 获取web监控页面的参数 + DruidStatProperties.StatViewServlet config = properties.getStatViewServlet(); + // 提取common.js的配置路径 + String pattern = config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*"; + String commonJsPattern = pattern.replaceAll("\\*", "js/common.js"); + final String filePath = "support/http/resources/js/common.js"; + // 创建filter进行过滤 + Filter filter = new Filter() + { + @Override + public void init(javax.servlet.FilterConfig filterConfig) throws ServletException + { + } + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException + { + chain.doFilter(request, response); + // 重置缓冲区,响应头不会被重置 + response.resetBuffer(); + // 获取common.js + String text = Utils.readFromResource(filePath); + // 正则替换banner, 除去底部的广告信息 + text = text.replaceAll("
", ""); + text = text.replaceAll("powered.*?shrek.wang", ""); + response.getWriter().write(text); + } + @Override + public void destroy() + { + } + }; + FilterRegistrationBean registrationBean = new FilterRegistrationBean(); + registrationBean.setFilter(filter); + registrationBean.addUrlPatterns(commonJsPattern); + return registrationBean; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java new file mode 100644 index 0000000..b6d6110 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java @@ -0,0 +1,48 @@ +package com.ruoyi.framework.config; + +import java.nio.charset.Charset; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.SerializationException; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONReader; +import com.alibaba.fastjson2.JSONWriter; + +/** + * Redis使用FastJson序列化 + * + * @author ruoyi + */ +public class FastJson2JsonRedisSerializer implements RedisSerializer +{ + public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); + + private Class clazz; + + public FastJson2JsonRedisSerializer(Class clazz) + { + super(); + this.clazz = clazz; + } + + @Override + public byte[] serialize(T t) throws SerializationException + { + if (t == null) + { + return new byte[0]; + } + return JSON.toJSONString(t, JSONWriter.Feature.WriteClassName).getBytes(DEFAULT_CHARSET); + } + + @Override + public T deserialize(byte[] bytes) throws SerializationException + { + if (bytes == null || bytes.length <= 0) + { + return null; + } + String str = new String(bytes, DEFAULT_CHARSET); + + return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java new file mode 100644 index 0000000..bb14c04 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java @@ -0,0 +1,58 @@ +package com.ruoyi.framework.config; + +import java.util.HashMap; +import java.util.Map; +import javax.servlet.DispatcherType; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import com.ruoyi.common.filter.RepeatableFilter; +import com.ruoyi.common.filter.XssFilter; +import com.ruoyi.common.utils.StringUtils; + +/** + * Filter配置 + * + * @author ruoyi + */ +@Configuration +public class FilterConfig +{ + @Value("${xss.excludes}") + private String excludes; + + @Value("${xss.urlPatterns}") + private String urlPatterns; + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Bean + @ConditionalOnProperty(value = "xss.enabled", havingValue = "true") + public FilterRegistrationBean xssFilterRegistration() + { + FilterRegistrationBean registration = new FilterRegistrationBean(); + registration.setDispatcherTypes(DispatcherType.REQUEST); + registration.setFilter(new XssFilter()); + registration.addUrlPatterns(StringUtils.split(urlPatterns, ",")); + registration.setName("xssFilter"); + registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE); + Map initParameters = new HashMap(); + initParameters.put("excludes", excludes); + registration.setInitParameters(initParameters); + return registration; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Bean + public FilterRegistrationBean someFilterRegistration() + { + FilterRegistrationBean registration = new FilterRegistrationBean(); + registration.setFilter(new RepeatableFilter()); + registration.addUrlPatterns("/*"); + registration.setName("repeatableFilter"); + registration.setOrder(FilterRegistrationBean.LOWEST_PRECEDENCE); + return registration; + } + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java new file mode 100644 index 0000000..7f8e1d5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java @@ -0,0 +1,68 @@ +package com.ruoyi.framework.config; + +import java.util.Random; +import com.google.code.kaptcha.text.impl.DefaultTextCreator; + +/** + * 验证码文本生成器 + * + * @author ruoyi + */ +public class KaptchaTextCreator extends DefaultTextCreator +{ + private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(","); + + @Override + public String getText() + { + Integer result = 0; + Random random = new Random(); + int x = random.nextInt(10); + int y = random.nextInt(10); + StringBuilder suChinese = new StringBuilder(); + int randomoperands = random.nextInt(3); + if (randomoperands == 0) + { + result = x * y; + suChinese.append(CNUMBERS[x]); + suChinese.append("*"); + suChinese.append(CNUMBERS[y]); + } + else if (randomoperands == 1) + { + if ((x != 0) && y % x == 0) + { + result = y / x; + suChinese.append(CNUMBERS[y]); + suChinese.append("/"); + suChinese.append(CNUMBERS[x]); + } + else + { + result = x + y; + suChinese.append(CNUMBERS[x]); + suChinese.append("+"); + suChinese.append(CNUMBERS[y]); + } + } + else + { + if (x >= y) + { + result = x - y; + suChinese.append(CNUMBERS[x]); + suChinese.append("-"); + suChinese.append(CNUMBERS[y]); + } + else + { + result = y - x; + suChinese.append(CNUMBERS[y]); + suChinese.append("-"); + suChinese.append(CNUMBERS[x]); + } + } + suChinese.append("=?@" + result); + return suChinese.toString(); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java new file mode 100644 index 0000000..057c941 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java @@ -0,0 +1,132 @@ +package com.ruoyi.framework.config; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import javax.sql.DataSource; +import org.apache.ibatis.io.VFS; +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.Resource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.core.io.support.ResourcePatternResolver; +import org.springframework.core.type.classreading.CachingMetadataReaderFactory; +import org.springframework.core.type.classreading.MetadataReader; +import org.springframework.core.type.classreading.MetadataReaderFactory; +import org.springframework.util.ClassUtils; +import com.ruoyi.common.utils.StringUtils; + +/** + * Mybatis支持*匹配扫描包 + * + * @author ruoyi + */ +@Configuration +public class MyBatisConfig +{ + @Autowired + private Environment env; + + static final String DEFAULT_RESOURCE_PATTERN = "**/*.class"; + + public static String setTypeAliasesPackage(String typeAliasesPackage) + { + ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver(); + MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver); + List allResult = new ArrayList(); + try + { + for (String aliasesPackage : typeAliasesPackage.split(",")) + { + List result = new ArrayList(); + aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN; + Resource[] resources = resolver.getResources(aliasesPackage); + if (resources != null && resources.length > 0) + { + MetadataReader metadataReader = null; + for (Resource resource : resources) + { + if (resource.isReadable()) + { + metadataReader = metadataReaderFactory.getMetadataReader(resource); + try + { + result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName()); + } + catch (ClassNotFoundException e) + { + e.printStackTrace(); + } + } + } + } + if (result.size() > 0) + { + HashSet hashResult = new HashSet(result); + allResult.addAll(hashResult); + } + } + if (allResult.size() > 0) + { + typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0])); + } + else + { + throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包"); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + return typeAliasesPackage; + } + + public Resource[] resolveMapperLocations(String[] mapperLocations) + { + ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver(); + List resources = new ArrayList(); + if (mapperLocations != null) + { + for (String mapperLocation : mapperLocations) + { + try + { + Resource[] mappers = resourceResolver.getResources(mapperLocation); + resources.addAll(Arrays.asList(mappers)); + } + catch (IOException e) + { + // ignore + } + } + } + return resources.toArray(new Resource[resources.size()]); + } + + @Bean + public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception + { + String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); + String mapperLocations = env.getProperty("mybatis.mapperLocations"); + String configLocation = env.getProperty("mybatis.configLocation"); + typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); + VFS.addImplClass(SpringBootVFS.class); + + final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + sessionFactory.setTypeAliasesPackage(typeAliasesPackage); + sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); + sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); + return sessionFactory.getObject(); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java new file mode 100644 index 0000000..3f4f485 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java @@ -0,0 +1,69 @@ +package com.ruoyi.framework.config; + +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.script.DefaultRedisScript; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * redis配置 + * + * @author ruoyi + */ +@Configuration +@EnableCaching +public class RedisConfig extends CachingConfigurerSupport +{ + @Bean + @SuppressWarnings(value = { "unchecked", "rawtypes" }) + public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) + { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(connectionFactory); + + FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class); + + // 使用StringRedisSerializer来序列化和反序列化redis的key值 + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(serializer); + + // Hash的key也采用StringRedisSerializer的序列化方式 + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(serializer); + + template.afterPropertiesSet(); + return template; + } + + @Bean + public DefaultRedisScript limitScript() + { + DefaultRedisScript redisScript = new DefaultRedisScript<>(); + redisScript.setScriptText(limitScriptText()); + redisScript.setResultType(Long.class); + return redisScript; + } + + /** + * 限流脚本 + */ + private String limitScriptText() + { + return "local key = KEYS[1]\n" + + "local count = tonumber(ARGV[1])\n" + + "local time = tonumber(ARGV[2])\n" + + "local current = redis.call('get', key);\n" + + "if current and tonumber(current) > count then\n" + + " return tonumber(current);\n" + + "end\n" + + "current = redis.call('incr', key)\n" + + "if tonumber(current) == 1 then\n" + + " redis.call('expire', key, time)\n" + + "end\n" + + "return tonumber(current);"; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java new file mode 100644 index 0000000..74fb93e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -0,0 +1,73 @@ +package com.ruoyi.framework.config; + +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.CacheControl; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; + +/** + * 通用配置 + * + * @author ruoyi + */ +@Configuration +public class ResourcesConfig implements WebMvcConfigurer +{ + @Autowired + private RepeatSubmitInterceptor repeatSubmitInterceptor; + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) + { + /** 本地文件上传路径 */ + registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**") + .addResourceLocations("file:" + RuoYiConfig.getProfile() + "/"); + + /** swagger配置 */ + registry.addResourceHandler("/swagger-ui/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/") + .setCacheControl(CacheControl.maxAge(5, TimeUnit.HOURS).cachePublic());; + } + + /** + * 自定义拦截规则 + */ + @Override + public void addInterceptors(InterceptorRegistry registry) + { + registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); + } + + /** + * 跨域配置 + */ + @Bean + public CorsFilter corsFilter() + { + CorsConfiguration config = new CorsConfiguration(); + config.setAllowCredentials(true); + // 设置访问源地址 + config.addAllowedOriginPattern("*"); + // 设置访问源请求头 + config.addAllowedHeader("*"); + // 设置访问源请求方法 + config.addAllowedMethod("*"); + // 有效期 1800秒 + config.setMaxAge(1800L); + // 添加映射路径,拦截一切请求 + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", config); + // 返回新的CorsFilter + return new CorsFilter(source); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java new file mode 100644 index 0000000..4b6f3fd --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -0,0 +1,149 @@ +package com.ruoyi.framework.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.http.HttpMethod; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.authentication.logout.LogoutFilter; +import org.springframework.web.filter.CorsFilter; +import com.ruoyi.framework.config.properties.PermitAllUrlProperties; +import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter; +import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl; +import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; + +/** + * spring security配置 + * + * @author ruoyi + */ +@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) +public class SecurityConfig extends WebSecurityConfigurerAdapter +{ + /** + * 自定义用户认证逻辑 + */ + @Autowired + private UserDetailsService userDetailsService; + + /** + * 认证失败处理类 + */ + @Autowired + private AuthenticationEntryPointImpl unauthorizedHandler; + + /** + * 退出处理类 + */ + @Autowired + private LogoutSuccessHandlerImpl logoutSuccessHandler; + + /** + * token认证过滤器 + */ + @Autowired + private JwtAuthenticationTokenFilter authenticationTokenFilter; + + /** + * 跨域过滤器 + */ + @Autowired + private CorsFilter corsFilter; + + /** + * 允许匿名访问的地址 + */ + @Autowired + private PermitAllUrlProperties permitAllUrl; + + /** + * 解决 无法直接注入 AuthenticationManager + * + * @return + * @throws Exception + */ + @Bean + @Override + public AuthenticationManager authenticationManagerBean() throws Exception + { + return super.authenticationManagerBean(); + } + + /** + * anyRequest | 匹配所有请求路径 + * access | SpringEl表达式结果为true时可以访问 + * anonymous | 匿名可以访问 + * denyAll | 用户不能访问 + * fullyAuthenticated | 用户完全认证可以访问(非remember-me下自动登录) + * hasAnyAuthority | 如果有参数,参数表示权限,则其中任何一个权限可以访问 + * hasAnyRole | 如果有参数,参数表示角色,则其中任何一个角色可以访问 + * hasAuthority | 如果有参数,参数表示权限,则其权限可以访问 + * hasIpAddress | 如果有参数,参数表示IP地址,如果用户IP和参数匹配,则可以访问 + * hasRole | 如果有参数,参数表示角色,则其角色可以访问 + * permitAll | 用户可以任意访问 + * rememberMe | 允许通过remember-me登录的用户访问 + * authenticated | 用户登录后可访问 + */ + @Override + protected void configure(HttpSecurity httpSecurity) throws Exception + { + // 注解标记允许匿名访问的url + ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry registry = httpSecurity.authorizeRequests(); + permitAllUrl.getUrls().forEach(url -> registry.antMatchers(url).permitAll()); + + httpSecurity + // CSRF禁用,因为不使用session + .csrf().disable() + // 禁用HTTP响应标头 + .headers().cacheControl().disable().and() + // 认证失败处理类 + .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() + // 基于token,所以不需要session + .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() + // 过滤请求 + .authorizeRequests() + // 对于登录login 注册register 验证码captchaImage 允许匿名访问 + .antMatchers("/login", "/register", "/captchaImage").permitAll() + .antMatchers("/bohe/*","/common/*").permitAll() + // 静态资源,可匿名访问 + .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() + .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() + // 除上面外的所有请求全部需要鉴权认证 + .anyRequest().authenticated() + .and() + .headers().frameOptions().disable(); + // 添加Logout filter + httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler); + // 添加JWT filter + httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); + // 添加CORS filter + httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class); + httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class); + } + + /** + * 强散列哈希加密实现 + */ + @Bean + public BCryptPasswordEncoder bCryptPasswordEncoder() + { + return new BCryptPasswordEncoder(); + } + + /** + * 身份认证接口 + */ + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception + { + auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder()); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java new file mode 100644 index 0000000..b5b7de3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ServerConfig.java @@ -0,0 +1,32 @@ +package com.ruoyi.framework.config; + +import javax.servlet.http.HttpServletRequest; +import org.springframework.stereotype.Component; +import com.ruoyi.common.utils.ServletUtils; + +/** + * 服务相关配置 + * + * @author ruoyi + */ +@Component +public class ServerConfig +{ + /** + * 获取完整的请求路径,包括:域名,端口,上下文访问路径 + * + * @return 服务地址 + */ + public String getUrl() + { + HttpServletRequest request = ServletUtils.getRequest(); + return getDomain(request); + } + + public static String getDomain(HttpServletRequest request) + { + StringBuffer url = request.getRequestURL(); + String contextPath = request.getServletContext().getContextPath(); + return url.delete(url.length() - request.getRequestURI().length(), url.length()).append(contextPath).toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java new file mode 100644 index 0000000..7840141 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java @@ -0,0 +1,63 @@ +package com.ruoyi.framework.config; + +import com.ruoyi.common.utils.Threads; +import org.apache.commons.lang3.concurrent.BasicThreadFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 线程池配置 + * + * @author ruoyi + **/ +@Configuration +public class ThreadPoolConfig +{ + // 核心线程池大小 + private int corePoolSize = 50; + + // 最大可创建的线程数 + private int maxPoolSize = 200; + + // 队列最大长度 + private int queueCapacity = 1000; + + // 线程池维护线程所允许的空闲时间 + private int keepAliveSeconds = 300; + + @Bean(name = "threadPoolTaskExecutor") + public ThreadPoolTaskExecutor threadPoolTaskExecutor() + { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setMaxPoolSize(maxPoolSize); + executor.setCorePoolSize(corePoolSize); + executor.setQueueCapacity(queueCapacity); + executor.setKeepAliveSeconds(keepAliveSeconds); + // 线程池对拒绝任务(无线程可用)的处理策略 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + return executor; + } + + /** + * 执行周期性或定时任务 + */ + @Bean(name = "scheduledExecutorService") + protected ScheduledExecutorService scheduledExecutorService() + { + return new ScheduledThreadPoolExecutor(corePoolSize, + new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build(), + new ThreadPoolExecutor.CallerRunsPolicy()) + { + @Override + protected void afterExecute(Runnable r, Throwable t) + { + super.afterExecute(r, t); + Threads.printException(r, t); + } + }; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java new file mode 100644 index 0000000..c8a5c8a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java @@ -0,0 +1,89 @@ +package com.ruoyi.framework.config.properties; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import com.alibaba.druid.pool.DruidDataSource; + +/** + * druid 配置属性 + * + * @author ruoyi + */ +@Configuration +public class DruidProperties +{ + @Value("${spring.datasource.druid.initialSize}") + private int initialSize; + + @Value("${spring.datasource.druid.minIdle}") + private int minIdle; + + @Value("${spring.datasource.druid.maxActive}") + private int maxActive; + + @Value("${spring.datasource.druid.maxWait}") + private int maxWait; + + @Value("${spring.datasource.druid.connectTimeout}") + private int connectTimeout; + + @Value("${spring.datasource.druid.socketTimeout}") + private int socketTimeout; + + @Value("${spring.datasource.druid.timeBetweenEvictionRunsMillis}") + private int timeBetweenEvictionRunsMillis; + + @Value("${spring.datasource.druid.minEvictableIdleTimeMillis}") + private int minEvictableIdleTimeMillis; + + @Value("${spring.datasource.druid.maxEvictableIdleTimeMillis}") + private int maxEvictableIdleTimeMillis; + + @Value("${spring.datasource.druid.validationQuery}") + private String validationQuery; + + @Value("${spring.datasource.druid.testWhileIdle}") + private boolean testWhileIdle; + + @Value("${spring.datasource.druid.testOnBorrow}") + private boolean testOnBorrow; + + @Value("${spring.datasource.druid.testOnReturn}") + private boolean testOnReturn; + + public DruidDataSource dataSource(DruidDataSource datasource) + { + /** 配置初始化大小、最小、最大 */ + datasource.setInitialSize(initialSize); + datasource.setMaxActive(maxActive); + datasource.setMinIdle(minIdle); + + /** 配置获取连接等待超时的时间 */ + datasource.setMaxWait(maxWait); + + /** 配置驱动连接超时时间,检测数据库建立连接的超时时间,单位是毫秒 */ + datasource.setConnectTimeout(connectTimeout); + + /** 配置网络超时时间,等待数据库操作完成的网络超时时间,单位是毫秒 */ + datasource.setSocketTimeout(socketTimeout); + + /** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */ + datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); + + /** 配置一个连接在池中最小、最大生存的时间,单位是毫秒 */ + datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); + datasource.setMaxEvictableIdleTimeMillis(maxEvictableIdleTimeMillis); + + /** + * 用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。 + */ + datasource.setValidationQuery(validationQuery); + /** 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 */ + datasource.setTestWhileIdle(testWhileIdle); + /** 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */ + datasource.setTestOnBorrow(testOnBorrow); + /** 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 */ + datasource.setTestOnReturn(testOnReturn); + return datasource; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java new file mode 100644 index 0000000..29118fa --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java @@ -0,0 +1,73 @@ +package com.ruoyi.framework.config.properties; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.regex.Pattern; +import org.apache.commons.lang3.RegExUtils; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.mvc.method.RequestMappingInfo; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +import com.ruoyi.common.annotation.Anonymous; + +/** + * 设置Anonymous注解允许匿名访问的url + * + * @author ruoyi + */ +@Configuration +public class PermitAllUrlProperties implements InitializingBean, ApplicationContextAware +{ + private static final Pattern PATTERN = Pattern.compile("\\{(.*?)\\}"); + + private ApplicationContext applicationContext; + + private List urls = new ArrayList<>(); + + public String ASTERISK = "*"; + + @Override + public void afterPropertiesSet() + { + RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class); + Map map = mapping.getHandlerMethods(); + + map.keySet().forEach(info -> { + HandlerMethod handlerMethod = map.get(info); + + // 获取方法上边的注解 替代path variable 为 * + Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class); + Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns()) + .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); + + // 获取类上边的注解, 替代path variable 为 * + Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class); + Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns()) + .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK)))); + }); + } + + @Override + public void setApplicationContext(ApplicationContext context) throws BeansException + { + this.applicationContext = context; + } + + public List getUrls() + { + return urls; + } + + public void setUrls(List urls) + { + this.urls = urls; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java new file mode 100644 index 0000000..e70b8cf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java @@ -0,0 +1,26 @@ +package com.ruoyi.framework.datasource; + +import java.util.Map; +import javax.sql.DataSource; +import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; + +/** + * 动态数据源 + * + * @author ruoyi + */ +public class DynamicDataSource extends AbstractRoutingDataSource +{ + public DynamicDataSource(DataSource defaultTargetDataSource, Map targetDataSources) + { + super.setDefaultTargetDataSource(defaultTargetDataSource); + super.setTargetDataSources(targetDataSources); + super.afterPropertiesSet(); + } + + @Override + protected Object determineCurrentLookupKey() + { + return DynamicDataSourceContextHolder.getDataSourceType(); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java new file mode 100644 index 0000000..3572db9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java @@ -0,0 +1,45 @@ +package com.ruoyi.framework.datasource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 数据源切换处理 + * + * @author ruoyi + */ +public class DynamicDataSourceContextHolder +{ + public static final Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class); + + /** + * 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本, + * 所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 + */ + private static final ThreadLocal CONTEXT_HOLDER = new ThreadLocal<>(); + + /** + * 设置数据源的变量 + */ + public static void setDataSourceType(String dsType) + { + log.info("切换到{}数据源", dsType); + CONTEXT_HOLDER.set(dsType); + } + + /** + * 获得数据源的变量 + */ + public static String getDataSourceType() + { + return CONTEXT_HOLDER.get(); + } + + /** + * 清空数据源变量 + */ + public static void clearDataSourceType() + { + CONTEXT_HOLDER.remove(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java new file mode 100644 index 0000000..4ddacae --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java @@ -0,0 +1,55 @@ +package com.ruoyi.framework.interceptor; + +import java.lang.reflect.Method; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.ServletUtils; + +/** + * 防止重复提交拦截器 + * + * @author ruoyi + */ +@Component +public abstract class RepeatSubmitInterceptor implements HandlerInterceptor +{ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception + { + if (handler instanceof HandlerMethod) + { + HandlerMethod handlerMethod = (HandlerMethod) handler; + Method method = handlerMethod.getMethod(); + RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class); + if (annotation != null) + { + if (this.isRepeatSubmit(request, annotation)) + { + AjaxResult ajaxResult = AjaxResult.error(annotation.message()); + ServletUtils.renderString(response, JSON.toJSONString(ajaxResult)); + return false; + } + } + return true; + } + else + { + return true; + } + } + + /** + * 验证是否重复提交由子类实现具体的防重复提交的规则 + * + * @param request + * @return + * @throws Exception + */ + public abstract boolean isRepeatSubmit(HttpServletRequest request, RepeatSubmit annotation); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java new file mode 100644 index 0000000..9dc9511 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java @@ -0,0 +1,110 @@ +package com.ruoyi.framework.interceptor.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.filter.RepeatedlyRequestWrapper; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.http.HttpHelper; +import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; + +/** + * 判断请求url和数据是否和上一次相同, + * 如果和上次相同,则是重复提交表单。 有效时间为10秒内。 + * + * @author ruoyi + */ +@Component +public class SameUrlDataInterceptor extends RepeatSubmitInterceptor +{ + public final String REPEAT_PARAMS = "repeatParams"; + + public final String REPEAT_TIME = "repeatTime"; + + // 令牌自定义标识 + @Value("${token.header}") + private String header; + + @Autowired + private RedisCache redisCache; + + @SuppressWarnings("unchecked") + @Override + public boolean isRepeatSubmit(HttpServletRequest request, RepeatSubmit annotation) + { + String nowParams = ""; + if (request instanceof RepeatedlyRequestWrapper) + { + RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request; + nowParams = HttpHelper.getBodyString(repeatedlyRequest); + } + + // body参数为空,获取Parameter的数据 + if (StringUtils.isEmpty(nowParams)) + { + nowParams = JSON.toJSONString(request.getParameterMap()); + } + Map nowDataMap = new HashMap(); + nowDataMap.put(REPEAT_PARAMS, nowParams); + nowDataMap.put(REPEAT_TIME, System.currentTimeMillis()); + + // 请求地址(作为存放cache的key值) + String url = request.getRequestURI(); + + // 唯一值(没有消息头则使用请求地址) + String submitKey = StringUtils.trimToEmpty(request.getHeader(header)); + + // 唯一标识(指定key + url + 消息头) + String cacheRepeatKey = CacheConstants.REPEAT_SUBMIT_KEY + url + submitKey; + + Object sessionObj = redisCache.getCacheObject(cacheRepeatKey); + if (sessionObj != null) + { + Map sessionMap = (Map) sessionObj; + if (sessionMap.containsKey(url)) + { + Map preDataMap = (Map) sessionMap.get(url); + if (compareParams(nowDataMap, preDataMap) && compareTime(nowDataMap, preDataMap, annotation.interval())) + { + return true; + } + } + } + Map cacheMap = new HashMap(); + cacheMap.put(url, nowDataMap); + redisCache.setCacheObject(cacheRepeatKey, cacheMap, annotation.interval(), TimeUnit.MILLISECONDS); + return false; + } + + /** + * 判断参数是否相同 + */ + private boolean compareParams(Map nowMap, Map preMap) + { + String nowParams = (String) nowMap.get(REPEAT_PARAMS); + String preParams = (String) preMap.get(REPEAT_PARAMS); + return nowParams.equals(preParams); + } + + /** + * 判断两次间隔时间 + */ + private boolean compareTime(Map nowMap, Map preMap, int interval) + { + long time1 = (Long) nowMap.get(REPEAT_TIME); + long time2 = (Long) preMap.get(REPEAT_TIME); + if ((time1 - time2) < interval) + { + return true; + } + return false; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java new file mode 100644 index 0000000..7387a02 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/AsyncManager.java @@ -0,0 +1,55 @@ +package com.ruoyi.framework.manager; + +import java.util.TimerTask; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import com.ruoyi.common.utils.Threads; +import com.ruoyi.common.utils.spring.SpringUtils; + +/** + * 异步任务管理器 + * + * @author ruoyi + */ +public class AsyncManager +{ + /** + * 操作延迟10毫秒 + */ + private final int OPERATE_DELAY_TIME = 10; + + /** + * 异步操作任务调度线程池 + */ + private ScheduledExecutorService executor = SpringUtils.getBean("scheduledExecutorService"); + + /** + * 单例模式 + */ + private AsyncManager(){} + + private static AsyncManager me = new AsyncManager(); + + public static AsyncManager me() + { + return me; + } + + /** + * 执行任务 + * + * @param task 任务 + */ + public void execute(TimerTask task) + { + executor.schedule(task, OPERATE_DELAY_TIME, TimeUnit.MILLISECONDS); + } + + /** + * 停止任务线程池 + */ + public void shutdown() + { + Threads.shutdownAndAwaitTermination(executor); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java new file mode 100644 index 0000000..e36ca3c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/ShutdownManager.java @@ -0,0 +1,39 @@ +package com.ruoyi.framework.manager; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import javax.annotation.PreDestroy; + +/** + * 确保应用退出时能关闭后台线程 + * + * @author ruoyi + */ +@Component +public class ShutdownManager +{ + private static final Logger logger = LoggerFactory.getLogger("sys-user"); + + @PreDestroy + public void destroy() + { + shutdownAsyncManager(); + } + + /** + * 停止异步执行任务 + */ + private void shutdownAsyncManager() + { + try + { + logger.info("====关闭后台任务任务线程池===="); + AsyncManager.me().shutdown(); + } + catch (Exception e) + { + logger.error(e.getMessage(), e); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java new file mode 100644 index 0000000..267e305 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java @@ -0,0 +1,102 @@ +package com.ruoyi.framework.manager.factory; + +import java.util.TimerTask; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.LogUtils; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.ip.AddressUtils; +import com.ruoyi.common.utils.ip.IpUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.system.domain.SysLogininfor; +import com.ruoyi.system.domain.SysOperLog; +import com.ruoyi.system.service.ISysLogininforService; +import com.ruoyi.system.service.ISysOperLogService; +import eu.bitwalker.useragentutils.UserAgent; + +/** + * 异步工厂(产生任务用) + * + * @author ruoyi + */ +public class AsyncFactory +{ + private static final Logger sys_user_logger = LoggerFactory.getLogger("sys-user"); + + /** + * 记录登录信息 + * + * @param username 用户名 + * @param status 状态 + * @param message 消息 + * @param args 列表 + * @return 任务task + */ + public static TimerTask recordLogininfor(final String username, final String status, final String message, + final Object... args) + { + final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent")); + final String ip = IpUtils.getIpAddr(); + return new TimerTask() + { + @Override + public void run() + { + String address = AddressUtils.getRealAddressByIP(ip); + StringBuilder s = new StringBuilder(); + s.append(LogUtils.getBlock(ip)); + s.append(address); + s.append(LogUtils.getBlock(username)); + s.append(LogUtils.getBlock(status)); + s.append(LogUtils.getBlock(message)); + // 打印信息到日志 + sys_user_logger.info(s.toString(), args); + // 获取客户端操作系统 + String os = userAgent.getOperatingSystem().getName(); + // 获取客户端浏览器 + String browser = userAgent.getBrowser().getName(); + // 封装对象 + SysLogininfor logininfor = new SysLogininfor(); + logininfor.setUserName(username); + logininfor.setIpaddr(ip); + logininfor.setLoginLocation(address); + logininfor.setBrowser(browser); + logininfor.setOs(os); + logininfor.setMsg(message); + // 日志状态 + if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) + { + logininfor.setStatus(Constants.SUCCESS); + } + else if (Constants.LOGIN_FAIL.equals(status)) + { + logininfor.setStatus(Constants.FAIL); + } + // 插入数据 + SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor); + } + }; + } + + /** + * 操作日志记录 + * + * @param operLog 操作日志信息 + * @return 任务task + */ + public static TimerTask recordOper(final SysOperLog operLog) + { + return new TimerTask() + { + @Override + public void run() + { + // 远程查询操作地点 + operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp())); + SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog); + } + }; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/AuthenticationContextHolder.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/AuthenticationContextHolder.java new file mode 100644 index 0000000..6c776ce --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/AuthenticationContextHolder.java @@ -0,0 +1,28 @@ +package com.ruoyi.framework.security.context; + +import org.springframework.security.core.Authentication; + +/** + * 身份验证信息 + * + * @author ruoyi + */ +public class AuthenticationContextHolder +{ + private static final ThreadLocal contextHolder = new ThreadLocal<>(); + + public static Authentication getContext() + { + return contextHolder.get(); + } + + public static void setContext(Authentication context) + { + contextHolder.set(context); + } + + public static void clearContext() + { + contextHolder.remove(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/PermissionContextHolder.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/PermissionContextHolder.java new file mode 100644 index 0000000..5472f3d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/context/PermissionContextHolder.java @@ -0,0 +1,27 @@ +package com.ruoyi.framework.security.context; + +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import com.ruoyi.common.core.text.Convert; + +/** + * 权限信息 + * + * @author ruoyi + */ +public class PermissionContextHolder +{ + private static final String PERMISSION_CONTEXT_ATTRIBUTES = "PERMISSION_CONTEXT"; + + public static void setContext(String permission) + { + RequestContextHolder.currentRequestAttributes().setAttribute(PERMISSION_CONTEXT_ATTRIBUTES, permission, + RequestAttributes.SCOPE_REQUEST); + } + + public static String getContext() + { + return Convert.toStr(RequestContextHolder.currentRequestAttributes().getAttribute(PERMISSION_CONTEXT_ATTRIBUTES, + RequestAttributes.SCOPE_REQUEST)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java new file mode 100644 index 0000000..3eb2495 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java @@ -0,0 +1,44 @@ +package com.ruoyi.framework.security.filter; + +import java.io.IOException; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +import org.springframework.stereotype.Component; +import org.springframework.web.filter.OncePerRequestFilter; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.web.service.TokenService; + +/** + * token过滤器 验证token有效性 + * + * @author ruoyi + */ +@Component +public class JwtAuthenticationTokenFilter extends OncePerRequestFilter +{ + @Autowired + private TokenService tokenService; + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) + throws ServletException, IOException + { + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) + { + tokenService.verifyToken(loginUser); + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities()); + authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + SecurityContextHolder.getContext().setAuthentication(authenticationToken); + } + chain.doFilter(request, response); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java new file mode 100644 index 0000000..93b7032 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java @@ -0,0 +1,34 @@ +package com.ruoyi.framework.security.handle; + +import java.io.IOException; +import java.io.Serializable; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.stereotype.Component; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; + +/** + * 认证失败处理类 返回未授权 + * + * @author ruoyi + */ +@Component +public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint, Serializable +{ + private static final long serialVersionUID = -8970718410437077606L; + + @Override + public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) + throws IOException + { + int code = HttpStatus.UNAUTHORIZED; + String msg = StringUtils.format("请求访问:{},认证失败,无法访问系统资源", request.getRequestURI()); + ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.error(code, msg))); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java new file mode 100644 index 0000000..c01f691 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.framework.security.handle; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.core.Authentication; +import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.manager.AsyncManager; +import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.framework.web.service.TokenService; + +/** + * 自定义退出处理类 返回成功 + * + * @author ruoyi + */ +@Configuration +public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler +{ + @Autowired + private TokenService tokenService; + + /** + * 退出处理 + * + * @return + */ + @Override + public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) + throws IOException, ServletException + { + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser)) + { + String userName = loginUser.getUsername(); + // 删除用户缓存记录 + tokenService.delLoginUser(loginUser.getToken()); + // 记录用户退出日志 + AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "退出成功")); + } + ServletUtils.renderString(response, JSON.toJSONString(AjaxResult.success("退出成功"))); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java new file mode 100644 index 0000000..63b03da --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java @@ -0,0 +1,240 @@ +package com.ruoyi.framework.web.domain; + +import java.net.UnknownHostException; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; +import com.ruoyi.common.utils.Arith; +import com.ruoyi.common.utils.ip.IpUtils; +import com.ruoyi.framework.web.domain.server.Cpu; +import com.ruoyi.framework.web.domain.server.Jvm; +import com.ruoyi.framework.web.domain.server.Mem; +import com.ruoyi.framework.web.domain.server.Sys; +import com.ruoyi.framework.web.domain.server.SysFile; +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.CentralProcessor.TickType; +import oshi.hardware.GlobalMemory; +import oshi.hardware.HardwareAbstractionLayer; +import oshi.software.os.FileSystem; +import oshi.software.os.OSFileStore; +import oshi.software.os.OperatingSystem; +import oshi.util.Util; + +/** + * 服务器相关信息 + * + * @author ruoyi + */ +public class Server +{ + private static final int OSHI_WAIT_SECOND = 1000; + + /** + * CPU相关信息 + */ + private Cpu cpu = new Cpu(); + + /** + * 內存相关信息 + */ + private Mem mem = new Mem(); + + /** + * JVM相关信息 + */ + private Jvm jvm = new Jvm(); + + /** + * 服务器相关信息 + */ + private Sys sys = new Sys(); + + /** + * 磁盘相关信息 + */ + private List sysFiles = new LinkedList(); + + public Cpu getCpu() + { + return cpu; + } + + public void setCpu(Cpu cpu) + { + this.cpu = cpu; + } + + public Mem getMem() + { + return mem; + } + + public void setMem(Mem mem) + { + this.mem = mem; + } + + public Jvm getJvm() + { + return jvm; + } + + public void setJvm(Jvm jvm) + { + this.jvm = jvm; + } + + public Sys getSys() + { + return sys; + } + + public void setSys(Sys sys) + { + this.sys = sys; + } + + public List getSysFiles() + { + return sysFiles; + } + + public void setSysFiles(List sysFiles) + { + this.sysFiles = sysFiles; + } + + public void copyTo() throws Exception + { + SystemInfo si = new SystemInfo(); + HardwareAbstractionLayer hal = si.getHardware(); + + setCpuInfo(hal.getProcessor()); + + setMemInfo(hal.getMemory()); + + setSysInfo(); + + setJvmInfo(); + + setSysFiles(si.getOperatingSystem()); + } + + /** + * 设置CPU信息 + */ + private void setCpuInfo(CentralProcessor processor) + { + // CPU信息 + long[] prevTicks = processor.getSystemCpuLoadTicks(); + Util.sleep(OSHI_WAIT_SECOND); + long[] ticks = processor.getSystemCpuLoadTicks(); + long nice = ticks[TickType.NICE.getIndex()] - prevTicks[TickType.NICE.getIndex()]; + long irq = ticks[TickType.IRQ.getIndex()] - prevTicks[TickType.IRQ.getIndex()]; + long softirq = ticks[TickType.SOFTIRQ.getIndex()] - prevTicks[TickType.SOFTIRQ.getIndex()]; + long steal = ticks[TickType.STEAL.getIndex()] - prevTicks[TickType.STEAL.getIndex()]; + long cSys = ticks[TickType.SYSTEM.getIndex()] - prevTicks[TickType.SYSTEM.getIndex()]; + long user = ticks[TickType.USER.getIndex()] - prevTicks[TickType.USER.getIndex()]; + long iowait = ticks[TickType.IOWAIT.getIndex()] - prevTicks[TickType.IOWAIT.getIndex()]; + long idle = ticks[TickType.IDLE.getIndex()] - prevTicks[TickType.IDLE.getIndex()]; + long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal; + cpu.setCpuNum(processor.getLogicalProcessorCount()); + cpu.setTotal(totalCpu); + cpu.setSys(cSys); + cpu.setUsed(user); + cpu.setWait(iowait); + cpu.setFree(idle); + } + + /** + * 设置内存信息 + */ + private void setMemInfo(GlobalMemory memory) + { + mem.setTotal(memory.getTotal()); + mem.setUsed(memory.getTotal() - memory.getAvailable()); + mem.setFree(memory.getAvailable()); + } + + /** + * 设置服务器信息 + */ + private void setSysInfo() + { + Properties props = System.getProperties(); + sys.setComputerName(IpUtils.getHostName()); + sys.setComputerIp(IpUtils.getHostIp()); + sys.setOsName(props.getProperty("os.name")); + sys.setOsArch(props.getProperty("os.arch")); + sys.setUserDir(props.getProperty("user.dir")); + } + + /** + * 设置Java虚拟机 + */ + private void setJvmInfo() throws UnknownHostException + { + Properties props = System.getProperties(); + jvm.setTotal(Runtime.getRuntime().totalMemory()); + jvm.setMax(Runtime.getRuntime().maxMemory()); + jvm.setFree(Runtime.getRuntime().freeMemory()); + jvm.setVersion(props.getProperty("java.version")); + jvm.setHome(props.getProperty("java.home")); + } + + /** + * 设置磁盘信息 + */ + private void setSysFiles(OperatingSystem os) + { + FileSystem fileSystem = os.getFileSystem(); + List fsArray = fileSystem.getFileStores(); + for (OSFileStore fs : fsArray) + { + long free = fs.getUsableSpace(); + long total = fs.getTotalSpace(); + long used = total - free; + SysFile sysFile = new SysFile(); + sysFile.setDirName(fs.getMount()); + sysFile.setSysTypeName(fs.getType()); + sysFile.setTypeName(fs.getName()); + sysFile.setTotal(convertFileSize(total)); + sysFile.setFree(convertFileSize(free)); + sysFile.setUsed(convertFileSize(used)); + sysFile.setUsage(Arith.mul(Arith.div(used, total, 4), 100)); + sysFiles.add(sysFile); + } + } + + /** + * 字节转换 + * + * @param size 字节大小 + * @return 转换后值 + */ + public String convertFileSize(long size) + { + long kb = 1024; + long mb = kb * 1024; + long gb = mb * 1024; + if (size >= gb) + { + return String.format("%.1f GB", (float) size / gb); + } + else if (size >= mb) + { + float f = (float) size / mb; + return String.format(f > 100 ? "%.0f MB" : "%.1f MB", f); + } + else if (size >= kb) + { + float f = (float) size / kb; + return String.format(f > 100 ? "%.0f KB" : "%.1f KB", f); + } + else + { + return String.format("%d B", size); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java new file mode 100644 index 0000000..a13a66c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Cpu.java @@ -0,0 +1,101 @@ +package com.ruoyi.framework.web.domain.server; + +import com.ruoyi.common.utils.Arith; + +/** + * CPU相关信息 + * + * @author ruoyi + */ +public class Cpu +{ + /** + * 核心数 + */ + private int cpuNum; + + /** + * CPU总的使用率 + */ + private double total; + + /** + * CPU系统使用率 + */ + private double sys; + + /** + * CPU用户使用率 + */ + private double used; + + /** + * CPU当前等待率 + */ + private double wait; + + /** + * CPU当前空闲率 + */ + private double free; + + public int getCpuNum() + { + return cpuNum; + } + + public void setCpuNum(int cpuNum) + { + this.cpuNum = cpuNum; + } + + public double getTotal() + { + return Arith.round(Arith.mul(total, 100), 2); + } + + public void setTotal(double total) + { + this.total = total; + } + + public double getSys() + { + return Arith.round(Arith.mul(sys / total, 100), 2); + } + + public void setSys(double sys) + { + this.sys = sys; + } + + public double getUsed() + { + return Arith.round(Arith.mul(used / total, 100), 2); + } + + public void setUsed(double used) + { + this.used = used; + } + + public double getWait() + { + return Arith.round(Arith.mul(wait / total, 100), 2); + } + + public void setWait(double wait) + { + this.wait = wait; + } + + public double getFree() + { + return Arith.round(Arith.mul(free / total, 100), 2); + } + + public void setFree(double free) + { + this.free = free; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java new file mode 100644 index 0000000..1fdc6ac --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java @@ -0,0 +1,130 @@ +package com.ruoyi.framework.web.domain.server; + +import java.lang.management.ManagementFactory; +import com.ruoyi.common.utils.Arith; +import com.ruoyi.common.utils.DateUtils; + +/** + * JVM相关信息 + * + * @author ruoyi + */ +public class Jvm +{ + /** + * 当前JVM占用的内存总数(M) + */ + private double total; + + /** + * JVM最大可用内存总数(M) + */ + private double max; + + /** + * JVM空闲内存(M) + */ + private double free; + + /** + * JDK版本 + */ + private String version; + + /** + * JDK路径 + */ + private String home; + + public double getTotal() + { + return Arith.div(total, (1024 * 1024), 2); + } + + public void setTotal(double total) + { + this.total = total; + } + + public double getMax() + { + return Arith.div(max, (1024 * 1024), 2); + } + + public void setMax(double max) + { + this.max = max; + } + + public double getFree() + { + return Arith.div(free, (1024 * 1024), 2); + } + + public void setFree(double free) + { + this.free = free; + } + + public double getUsed() + { + return Arith.div(total - free, (1024 * 1024), 2); + } + + public double getUsage() + { + return Arith.mul(Arith.div(total - free, total, 4), 100); + } + + /** + * 获取JDK名称 + */ + public String getName() + { + return ManagementFactory.getRuntimeMXBean().getVmName(); + } + + public String getVersion() + { + return version; + } + + public void setVersion(String version) + { + this.version = version; + } + + public String getHome() + { + return home; + } + + public void setHome(String home) + { + this.home = home; + } + + /** + * JDK启动时间 + */ + public String getStartTime() + { + return DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.getServerStartDate()); + } + + /** + * JDK运行时间 + */ + public String getRunTime() + { + return DateUtils.timeDistance(DateUtils.getNowDate(), DateUtils.getServerStartDate()); + } + + /** + * 运行参数 + */ + public String getInputArgs() + { + return ManagementFactory.getRuntimeMXBean().getInputArguments().toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java new file mode 100644 index 0000000..13eec52 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Mem.java @@ -0,0 +1,61 @@ +package com.ruoyi.framework.web.domain.server; + +import com.ruoyi.common.utils.Arith; + +/** + * 內存相关信息 + * + * @author ruoyi + */ +public class Mem +{ + /** + * 内存总量 + */ + private double total; + + /** + * 已用内存 + */ + private double used; + + /** + * 剩余内存 + */ + private double free; + + public double getTotal() + { + return Arith.div(total, (1024 * 1024 * 1024), 2); + } + + public void setTotal(long total) + { + this.total = total; + } + + public double getUsed() + { + return Arith.div(used, (1024 * 1024 * 1024), 2); + } + + public void setUsed(long used) + { + this.used = used; + } + + public double getFree() + { + return Arith.div(free, (1024 * 1024 * 1024), 2); + } + + public void setFree(long free) + { + this.free = free; + } + + public double getUsage() + { + return Arith.mul(Arith.div(used, total, 4), 100); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java new file mode 100644 index 0000000..45d64d9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Sys.java @@ -0,0 +1,84 @@ +package com.ruoyi.framework.web.domain.server; + +/** + * 系统相关信息 + * + * @author ruoyi + */ +public class Sys +{ + /** + * 服务器名称 + */ + private String computerName; + + /** + * 服务器Ip + */ + private String computerIp; + + /** + * 项目路径 + */ + private String userDir; + + /** + * 操作系统 + */ + private String osName; + + /** + * 系统架构 + */ + private String osArch; + + public String getComputerName() + { + return computerName; + } + + public void setComputerName(String computerName) + { + this.computerName = computerName; + } + + public String getComputerIp() + { + return computerIp; + } + + public void setComputerIp(String computerIp) + { + this.computerIp = computerIp; + } + + public String getUserDir() + { + return userDir; + } + + public void setUserDir(String userDir) + { + this.userDir = userDir; + } + + public String getOsName() + { + return osName; + } + + public void setOsName(String osName) + { + this.osName = osName; + } + + public String getOsArch() + { + return osArch; + } + + public void setOsArch(String osArch) + { + this.osArch = osArch; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java new file mode 100644 index 0000000..1320cde --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/SysFile.java @@ -0,0 +1,114 @@ +package com.ruoyi.framework.web.domain.server; + +/** + * 系统文件相关信息 + * + * @author ruoyi + */ +public class SysFile +{ + /** + * 盘符路径 + */ + private String dirName; + + /** + * 盘符类型 + */ + private String sysTypeName; + + /** + * 文件类型 + */ + private String typeName; + + /** + * 总大小 + */ + private String total; + + /** + * 剩余大小 + */ + private String free; + + /** + * 已经使用量 + */ + private String used; + + /** + * 资源的使用率 + */ + private double usage; + + public String getDirName() + { + return dirName; + } + + public void setDirName(String dirName) + { + this.dirName = dirName; + } + + public String getSysTypeName() + { + return sysTypeName; + } + + public void setSysTypeName(String sysTypeName) + { + this.sysTypeName = sysTypeName; + } + + public String getTypeName() + { + return typeName; + } + + public void setTypeName(String typeName) + { + this.typeName = typeName; + } + + public String getTotal() + { + return total; + } + + public void setTotal(String total) + { + this.total = total; + } + + public String getFree() + { + return free; + } + + public void setFree(String free) + { + this.free = free; + } + + public String getUsed() + { + return used; + } + + public void setUsed(String used) + { + this.used = used; + } + + public double getUsage() + { + return usage; + } + + public void setUsage(double usage) + { + this.usage = usage; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..51dd8c5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java @@ -0,0 +1,114 @@ +package com.ruoyi.framework.web.exception; + +import javax.servlet.http.HttpServletRequest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.validation.BindException; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import com.ruoyi.common.constant.HttpStatus; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.exception.DemoModeException; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; + +/** + * 全局异常处理器 + * + * @author ruoyi + */ +@RestControllerAdvice +public class GlobalExceptionHandler +{ + private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); + + /** + * 权限校验异常 + */ + @ExceptionHandler(AccessDeniedException.class) + public AjaxResult handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request) + { + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage()); + return AjaxResult.error(HttpStatus.FORBIDDEN, "没有权限,请联系管理员授权"); + } + + /** + * 请求方式不支持 + */ + @ExceptionHandler(HttpRequestMethodNotSupportedException.class) + public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, + HttpServletRequest request) + { + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod()); + return AjaxResult.error(e.getMessage()); + } + + /** + * 业务异常 + */ + @ExceptionHandler(ServiceException.class) + public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request) + { + log.error(e.getMessage(), e); + Integer code = e.getCode(); + return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage()); + } + + /** + * 拦截未知的运行时异常 + */ + @ExceptionHandler(RuntimeException.class) + public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) + { + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',发生未知异常.", requestURI, e); + return AjaxResult.error(e.getMessage()); + } + + /** + * 系统异常 + */ + @ExceptionHandler(Exception.class) + public AjaxResult handleException(Exception e, HttpServletRequest request) + { + String requestURI = request.getRequestURI(); + log.error("请求地址'{}',发生系统异常.", requestURI, e); + return AjaxResult.error(e.getMessage()); + } + + /** + * 自定义验证异常 + */ + @ExceptionHandler(BindException.class) + public AjaxResult handleBindException(BindException e) + { + log.error(e.getMessage(), e); + String message = e.getAllErrors().get(0).getDefaultMessage(); + return AjaxResult.error(message); + } + + /** + * 自定义验证异常 + */ + @ExceptionHandler(MethodArgumentNotValidException.class) + public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) + { + log.error(e.getMessage(), e); + String message = e.getBindingResult().getFieldError().getDefaultMessage(); + return AjaxResult.error(message); + } + + /** + * 演示模式异常 + */ + @ExceptionHandler(DemoModeException.class) + public AjaxResult handleDemoModeException(DemoModeException e) + { + return AjaxResult.error("演示模式,不允许操作"); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java new file mode 100644 index 0000000..c2f97a1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java @@ -0,0 +1,168 @@ +package com.ruoyi.framework.web.service; + +import java.util.Set; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.security.context.PermissionContextHolder; + +/** + * RuoYi首创 自定义权限实现,ss取自SpringSecurity首字母 + * + * @author ruoyi + */ +@Service("ss") +public class PermissionService +{ + /** 所有权限标识 */ + private static final String ALL_PERMISSION = "*:*:*"; + + /** 管理员角色权限标识 */ + private static final String SUPER_ADMIN = "admin"; + + private static final String ROLE_DELIMETER = ","; + + private static final String PERMISSION_DELIMETER = ","; + + /** + * 验证用户是否具备某权限 + * + * @param permission 权限字符串 + * @return 用户是否具备某权限 + */ + public boolean hasPermi(String permission) + { + if (StringUtils.isEmpty(permission)) + { + return false; + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) + { + return false; + } + PermissionContextHolder.setContext(permission); + return hasPermissions(loginUser.getPermissions(), permission); + } + + /** + * 验证用户是否不具备某权限,与 hasPermi逻辑相反 + * + * @param permission 权限字符串 + * @return 用户是否不具备某权限 + */ + public boolean lacksPermi(String permission) + { + return hasPermi(permission) != true; + } + + /** + * 验证用户是否具有以下任意一个权限 + * + * @param permissions 以 PERMISSION_NAMES_DELIMETER 为分隔符的权限列表 + * @return 用户是否具有以下任意一个权限 + */ + public boolean hasAnyPermi(String permissions) + { + if (StringUtils.isEmpty(permissions)) + { + return false; + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) + { + return false; + } + PermissionContextHolder.setContext(permissions); + Set authorities = loginUser.getPermissions(); + for (String permission : permissions.split(PERMISSION_DELIMETER)) + { + if (permission != null && hasPermissions(authorities, permission)) + { + return true; + } + } + return false; + } + + /** + * 判断用户是否拥有某个角色 + * + * @param role 角色字符串 + * @return 用户是否具备某角色 + */ + public boolean hasRole(String role) + { + if (StringUtils.isEmpty(role)) + { + return false; + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) + { + return false; + } + for (SysRole sysRole : loginUser.getUser().getRoles()) + { + String roleKey = sysRole.getRoleKey(); + if (SUPER_ADMIN.equals(roleKey) || roleKey.equals(StringUtils.trim(role))) + { + return true; + } + } + return false; + } + + /** + * 验证用户是否不具备某角色,与 isRole逻辑相反。 + * + * @param role 角色名称 + * @return 用户是否不具备某角色 + */ + public boolean lacksRole(String role) + { + return hasRole(role) != true; + } + + /** + * 验证用户是否具有以下任意一个角色 + * + * @param roles 以 ROLE_NAMES_DELIMETER 为分隔符的角色列表 + * @return 用户是否具有以下任意一个角色 + */ + public boolean hasAnyRoles(String roles) + { + if (StringUtils.isEmpty(roles)) + { + return false; + } + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) + { + return false; + } + for (String role : roles.split(ROLE_DELIMETER)) + { + if (hasRole(role)) + { + return true; + } + } + return false; + } + + /** + * 判断是否包含权限 + * + * @param permissions 权限列表 + * @param permission 权限字符串 + * @return 用户是否具备某权限 + */ + private boolean hasPermissions(Set permissions, String permission) + { + return permissions.contains(ALL_PERMISSION) || permissions.contains(StringUtils.trim(permission)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java new file mode 100644 index 0000000..67267b7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -0,0 +1,181 @@ +package com.ruoyi.framework.web.service; + +import javax.annotation.Resource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.BadCredentialsException; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Component; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.exception.user.BlackListException; +import com.ruoyi.common.exception.user.CaptchaException; +import com.ruoyi.common.exception.user.CaptchaExpireException; +import com.ruoyi.common.exception.user.UserNotExistsException; +import com.ruoyi.common.exception.user.UserPasswordNotMatchException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.ip.IpUtils; +import com.ruoyi.framework.manager.AsyncManager; +import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.framework.security.context.AuthenticationContextHolder; +import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 登录校验方法 + * + * @author ruoyi + */ +@Component +public class SysLoginService +{ + @Autowired + private TokenService tokenService; + + @Resource + private AuthenticationManager authenticationManager; + + @Autowired + private RedisCache redisCache; + + @Autowired + private ISysUserService userService; + + @Autowired + private ISysConfigService configService; + + /** + * 登录验证 + * + * @param username 用户名 + * @param password 密码 + * @param code 验证码 + * @param uuid 唯一标识 + * @return 结果 + */ + public String login(String username, String password, String code, String uuid) + { + // 验证码校验 + validateCaptcha(username, code, uuid); + // 登录前置校验 + loginPreCheck(username, password); + // 用户验证 + Authentication authentication = null; + try + { + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password); + AuthenticationContextHolder.setContext(authenticationToken); + // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername + authentication = authenticationManager.authenticate(authenticationToken); + } + catch (Exception e) + { + if (e instanceof BadCredentialsException) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + else + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage())); + throw new ServiceException(e.getMessage()); + } + } + finally + { + AuthenticationContextHolder.clearContext(); + } + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); + LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + recordLoginInfo(loginUser.getUserId()); + // 生成token + return tokenService.createToken(loginUser); + } + + /** + * 校验验证码 + * + * @param username 用户名 + * @param code 验证码 + * @param uuid 唯一标识 + * @return 结果 + */ + public void validateCaptcha(String username, String code, String uuid) + { + boolean captchaEnabled = configService.selectCaptchaEnabled(); + if (captchaEnabled) + { + String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, ""); + String captcha = redisCache.getCacheObject(verifyKey); + redisCache.deleteObject(verifyKey); + if (captcha == null) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"))); + throw new CaptchaExpireException(); + } + if (!code.equalsIgnoreCase(captcha)) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); + throw new CaptchaException(); + } + } + } + + /** + * 登录前置校验 + * @param username 用户名 + * @param password 用户密码 + */ + public void loginPreCheck(String username, String password) + { + // 用户名或密码为空 错误 + if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null"))); + throw new UserNotExistsException(); + } + // 密码如果不在指定范围内 错误 + if (password.length() < UserConstants.PASSWORD_MIN_LENGTH + || password.length() > UserConstants.PASSWORD_MAX_LENGTH) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + // 用户名不在指定范围内 错误 + if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + // IP黑名单校验 + String blackStr = configService.selectConfigByKey("sys.login.blackIPList"); + if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr())) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("login.blocked"))); + throw new BlackListException(); + } + } + + /** + * 记录登录信息 + * + * @param userId 用户ID + */ + public void recordLoginInfo(Long userId) + { + SysUser sysUser = new SysUser(); + sysUser.setUserId(userId); + sysUser.setLoginIp(IpUtils.getIpAddr()); + sysUser.setLoginDate(DateUtils.getNowDate()); + userService.updateUserProfile(sysUser); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPasswordService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPasswordService.java new file mode 100644 index 0000000..6ad91b0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPasswordService.java @@ -0,0 +1,94 @@ +package com.ruoyi.framework.web.service; + +import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Component; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.user.UserPasswordNotMatchException; +import com.ruoyi.common.exception.user.UserPasswordRetryLimitExceedException; +import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.framework.manager.AsyncManager; +import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.framework.security.context.AuthenticationContextHolder; + +/** + * 登录密码方法 + * + * @author ruoyi + */ +@Component +public class SysPasswordService +{ + @Autowired + private RedisCache redisCache; + + @Value(value = "${user.password.maxRetryCount}") + private int maxRetryCount; + + @Value(value = "${user.password.lockTime}") + private int lockTime; + + /** + * 登录账户密码错误次数缓存键名 + * + * @param username 用户名 + * @return 缓存键key + */ + private String getCacheKey(String username) + { + return CacheConstants.PWD_ERR_CNT_KEY + username; + } + + public void validate(SysUser user) + { + Authentication usernamePasswordAuthenticationToken = AuthenticationContextHolder.getContext(); + String username = usernamePasswordAuthenticationToken.getName(); + String password = usernamePasswordAuthenticationToken.getCredentials().toString(); + + Integer retryCount = redisCache.getCacheObject(getCacheKey(username)); + + if (retryCount == null) + { + retryCount = 0; + } + + if (retryCount >= Integer.valueOf(maxRetryCount).intValue()) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, + MessageUtils.message("user.password.retry.limit.exceed", maxRetryCount, lockTime))); + throw new UserPasswordRetryLimitExceedException(maxRetryCount, lockTime); + } + + if (!matches(user, password)) + { + retryCount = retryCount + 1; + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, + MessageUtils.message("user.password.retry.limit.count", retryCount))); + redisCache.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES); + throw new UserPasswordNotMatchException(); + } + else + { + clearLoginRecordCache(username); + } + } + + public boolean matches(SysUser user, String rawPassword) + { + return SecurityUtils.matchesPassword(rawPassword, user.getPassword()); + } + + public void clearLoginRecordCache(String loginName) + { + if (redisCache.hasKey(getCacheKey(loginName))) + { + redisCache.deleteObject(getCacheKey(loginName)); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java new file mode 100644 index 0000000..402f25b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysPermissionService.java @@ -0,0 +1,82 @@ +package com.ruoyi.framework.web.service; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.service.ISysMenuService; +import com.ruoyi.system.service.ISysRoleService; + +/** + * 用户权限处理 + * + * @author ruoyi + */ +@Component +public class SysPermissionService +{ + @Autowired + private ISysRoleService roleService; + + @Autowired + private ISysMenuService menuService; + + /** + * 获取角色数据权限 + * + * @param user 用户信息 + * @return 角色权限信息 + */ + public Set getRolePermission(SysUser user) + { + Set roles = new HashSet(); + // 管理员拥有所有权限 + if (user.isAdmin()) + { + roles.add("admin"); + } + else + { + roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); + } + return roles; + } + + /** + * 获取菜单数据权限 + * + * @param user 用户信息 + * @return 菜单权限信息 + */ + public Set getMenuPermission(SysUser user) + { + Set perms = new HashSet(); + // 管理员拥有所有权限 + if (user.isAdmin()) + { + perms.add("*:*:*"); + } + else + { + List roles = user.getRoles(); + if (!roles.isEmpty() && roles.size() > 1) + { + // 多角色设置permissions属性,以便数据权限匹配权限 + for (SysRole role : roles) + { + Set rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); + role.setPermissions(rolePerms); + perms.addAll(rolePerms); + } + } + else + { + perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + } + } + return perms; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java new file mode 100644 index 0000000..f2afe31 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java @@ -0,0 +1,115 @@ +package com.ruoyi.framework.web.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.RegisterBody; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.user.CaptchaException; +import com.ruoyi.common.exception.user.CaptchaExpireException; +import com.ruoyi.common.utils.MessageUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.manager.AsyncManager; +import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 注册校验方法 + * + * @author ruoyi + */ +@Component +public class SysRegisterService +{ + @Autowired + private ISysUserService userService; + + @Autowired + private ISysConfigService configService; + + @Autowired + private RedisCache redisCache; + + /** + * 注册 + */ + public String register(RegisterBody registerBody) + { + String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword(); + SysUser sysUser = new SysUser(); + sysUser.setUserName(username); + + // 验证码开关 + boolean captchaEnabled = configService.selectCaptchaEnabled(); + if (captchaEnabled) + { + validateCaptcha(username, registerBody.getCode(), registerBody.getUuid()); + } + + if (StringUtils.isEmpty(username)) + { + msg = "用户名不能为空"; + } + else if (StringUtils.isEmpty(password)) + { + msg = "用户密码不能为空"; + } + else if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) + { + msg = "账户长度必须在2到20个字符之间"; + } + else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH + || password.length() > UserConstants.PASSWORD_MAX_LENGTH) + { + msg = "密码长度必须在5到20个字符之间"; + } + else if (!userService.checkUserNameUnique(sysUser)) + { + msg = "保存用户'" + username + "'失败,注册账号已存在"; + } + else + { + sysUser.setNickName(username); + sysUser.setPassword(SecurityUtils.encryptPassword(password)); + boolean regFlag = userService.registerUser(sysUser); + if (!regFlag) + { + msg = "注册失败,请联系系统管理人员"; + } + else + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.REGISTER, MessageUtils.message("user.register.success"))); + } + } + return msg; + } + + /** + * 校验验证码 + * + * @param username 用户名 + * @param code 验证码 + * @param uuid 唯一标识 + * @return 结果 + */ + public void validateCaptcha(String username, String code, String uuid) + { + String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + StringUtils.nvl(uuid, ""); + String captcha = redisCache.getCacheObject(verifyKey); + redisCache.deleteObject(verifyKey); + if (captcha == null) + { + throw new CaptchaExpireException(); + } + if (!code.equalsIgnoreCase(captcha)) + { + throw new CaptchaException(); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java new file mode 100644 index 0000000..de79e43 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java @@ -0,0 +1,226 @@ +package com.ruoyi.framework.web.service; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.ip.AddressUtils; +import com.ruoyi.common.utils.ip.IpUtils; +import com.ruoyi.common.utils.uuid.IdUtils; +import eu.bitwalker.useragentutils.UserAgent; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +/** + * token验证处理 + * + * @author ruoyi + */ +@Component +public class TokenService +{ + // 令牌自定义标识 + @Value("${token.header}") + private String header; + + // 令牌秘钥 + @Value("${token.secret}") + private String secret; + + // 令牌有效期(默认30分钟) + @Value("${token.expireTime}") + private int expireTime; + + protected static final long MILLIS_SECOND = 1000; + + protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; + + private static final Long MILLIS_MINUTE_TEN = 20 * 60 * 1000L; + + @Autowired + private RedisCache redisCache; + + /** + * 获取用户身份信息 + * + * @return 用户信息 + */ + public LoginUser getLoginUser(HttpServletRequest request) + { + // 获取请求携带的令牌 + String token = getToken(request); + if (StringUtils.isNotEmpty(token)) + { + try + { + Claims claims = parseToken(token); + // 解析对应的权限以及用户信息 + String uuid = (String) claims.get(Constants.LOGIN_USER_KEY); + String userKey = getTokenKey(uuid); + LoginUser user = redisCache.getCacheObject(userKey); + return user; + } + catch (Exception e) + { + } + } + return null; + } + + /** + * 设置用户身份信息 + */ + public void setLoginUser(LoginUser loginUser) + { + if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) + { + refreshToken(loginUser); + } + } + + /** + * 删除用户身份信息 + */ + public void delLoginUser(String token) + { + if (StringUtils.isNotEmpty(token)) + { + String userKey = getTokenKey(token); + redisCache.deleteObject(userKey); + } + } + + /** + * 创建令牌 + * + * @param loginUser 用户信息 + * @return 令牌 + */ + public String createToken(LoginUser loginUser) + { + String token = IdUtils.fastUUID(); + loginUser.setToken(token); + setUserAgent(loginUser); + refreshToken(loginUser); + + Map claims = new HashMap<>(); + claims.put(Constants.LOGIN_USER_KEY, token); + return createToken(claims); + } + + /** + * 验证令牌有效期,相差不足20分钟,自动刷新缓存 + * + * @param loginUser + * @return 令牌 + */ + public void verifyToken(LoginUser loginUser) + { + long expireTime = loginUser.getExpireTime(); + long currentTime = System.currentTimeMillis(); + if (expireTime - currentTime <= MILLIS_MINUTE_TEN) + { + refreshToken(loginUser); + } + } + + /** + * 刷新令牌有效期 + * + * @param loginUser 登录信息 + */ + public void refreshToken(LoginUser loginUser) + { + loginUser.setLoginTime(System.currentTimeMillis()); + loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); + // 根据uuid将loginUser缓存 + String userKey = getTokenKey(loginUser.getToken()); + redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + } + + /** + * 设置用户代理信息 + * + * @param loginUser 登录信息 + */ + public void setUserAgent(LoginUser loginUser) + { + UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent")); + String ip = IpUtils.getIpAddr(); + loginUser.setIpaddr(ip); + loginUser.setLoginLocation(AddressUtils.getRealAddressByIP(ip)); + loginUser.setBrowser(userAgent.getBrowser().getName()); + loginUser.setOs(userAgent.getOperatingSystem().getName()); + } + + /** + * 从数据声明生成令牌 + * + * @param claims 数据声明 + * @return 令牌 + */ + private String createToken(Map claims) + { + String token = Jwts.builder() + .setClaims(claims) + .signWith(SignatureAlgorithm.HS512, secret).compact(); + return token; + } + + /** + * 从令牌中获取数据声明 + * + * @param token 令牌 + * @return 数据声明 + */ + private Claims parseToken(String token) + { + return Jwts.parser() + .setSigningKey(secret) + .parseClaimsJws(token) + .getBody(); + } + + /** + * 从令牌中获取用户名 + * + * @param token 令牌 + * @return 用户名 + */ + public String getUsernameFromToken(String token) + { + Claims claims = parseToken(token); + return claims.getSubject(); + } + + /** + * 获取请求token + * + * @param request + * @return token + */ + private String getToken(HttpServletRequest request) + { + String token = request.getHeader(header); + if (StringUtils.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)) + { + token = token.replace(Constants.TOKEN_PREFIX, ""); + } + return token; + } + + private String getTokenKey(String uuid) + { + return CacheConstants.LOGIN_TOKEN_KEY + uuid; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java new file mode 100644 index 0000000..1950cb7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java @@ -0,0 +1,65 @@ +package com.ruoyi.framework.web.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.enums.UserStatus; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysUserService; + +/** + * 用户验证处理 + * + * @author ruoyi + */ +@Service +public class UserDetailsServiceImpl implements UserDetailsService +{ + private static final Logger log = LoggerFactory.getLogger(UserDetailsServiceImpl.class); + + @Autowired + private ISysUserService userService; + + @Autowired + private SysPasswordService passwordService; + + @Autowired + private SysPermissionService permissionService; + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException + { + SysUser user = userService.selectUserByUserName(username); + if (StringUtils.isNull(user)) + { + log.info("登录用户:{} 不存在.", username); + throw new ServiceException("登录用户:" + username + " 不存在"); + } + else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) + { + log.info("登录用户:{} 已被删除.", username); + throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); + } + else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) + { + log.info("登录用户:{} 已被停用.", username); + throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + } + + passwordService.validate(user); + + return createLoginUser(user); + } + + public UserDetails createLoginUser(SysUser user) + { + return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/pom.xml new file mode 100644 index 0000000..10bda90 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/pom.xml @@ -0,0 +1,40 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + + ruoyi-generator + + + generator代码生成 + + + + + + + org.apache.velocity + velocity-engine-core + + + + + commons-collections + commons-collections + + + + + com.ruoyi + ruoyi-common + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java new file mode 100644 index 0000000..cc4cd14 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java @@ -0,0 +1,73 @@ +package com.ruoyi.generator.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; + +/** + * 读取代码生成相关配置 + * + * @author ruoyi + */ +@Component +@ConfigurationProperties(prefix = "gen") +@PropertySource(value = { "classpath:generator.yml" }) +public class GenConfig +{ + /** 作者 */ + public static String author; + + /** 生成包路径 */ + public static String packageName; + + /** 自动去除表前缀,默认是false */ + public static boolean autoRemovePre; + + /** 表前缀(类名不会包含表前缀) */ + public static String tablePrefix; + + public static String getAuthor() + { + return author; + } + + @Value("${author}") + public void setAuthor(String author) + { + GenConfig.author = author; + } + + public static String getPackageName() + { + return packageName; + } + + @Value("${packageName}") + public void setPackageName(String packageName) + { + GenConfig.packageName = packageName; + } + + public static boolean getAutoRemovePre() + { + return autoRemovePre; + } + + @Value("${autoRemovePre}") + public void setAutoRemovePre(boolean autoRemovePre) + { + GenConfig.autoRemovePre = autoRemovePre; + } + + public static String getTablePrefix() + { + return tablePrefix; + } + + @Value("${tablePrefix}") + public void setTablePrefix(String tablePrefix) + { + GenConfig.tablePrefix = tablePrefix; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java new file mode 100644 index 0000000..2aed686 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java @@ -0,0 +1,214 @@ +package com.ruoyi.generator.controller; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.generator.domain.GenTable; +import com.ruoyi.generator.domain.GenTableColumn; +import com.ruoyi.generator.service.IGenTableColumnService; +import com.ruoyi.generator.service.IGenTableService; + +/** + * 代码生成 操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/tool/gen") +public class GenController extends BaseController +{ + @Autowired + private IGenTableService genTableService; + + @Autowired + private IGenTableColumnService genTableColumnService; + + /** + * 查询代码生成列表 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:list')") + @GetMapping("/list") + public TableDataInfo genList(GenTable genTable) + { + startPage(); + List list = genTableService.selectGenTableList(genTable); + return getDataTable(list); + } + + /** + * 修改代码生成业务 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:query')") + @GetMapping(value = "/{tableId}") + public AjaxResult getInfo(@PathVariable Long tableId) + { + GenTable table = genTableService.selectGenTableById(tableId); + List tables = genTableService.selectGenTableAll(); + List list = genTableColumnService.selectGenTableColumnListByTableId(tableId); + Map map = new HashMap(); + map.put("info", table); + map.put("rows", list); + map.put("tables", tables); + return success(map); + } + + /** + * 查询数据库列表 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:list')") + @GetMapping("/db/list") + public TableDataInfo dataList(GenTable genTable) + { + startPage(); + List list = genTableService.selectDbTableList(genTable); + return getDataTable(list); + } + + /** + * 查询数据表字段列表 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:list')") + @GetMapping(value = "/column/{tableId}") + public TableDataInfo columnList(Long tableId) + { + TableDataInfo dataInfo = new TableDataInfo(); + List list = genTableColumnService.selectGenTableColumnListByTableId(tableId); + dataInfo.setRows(list); + dataInfo.setTotal(list.size()); + return dataInfo; + } + + /** + * 导入表结构(保存) + */ + @PreAuthorize("@ss.hasPermi('tool:gen:import')") + @Log(title = "代码生成", businessType = BusinessType.IMPORT) + @PostMapping("/importTable") + public AjaxResult importTableSave(String tables) + { + String[] tableNames = Convert.toStrArray(tables); + // 查询表信息 + List tableList = genTableService.selectDbTableListByNames(tableNames); + genTableService.importGenTable(tableList); + return success(); + } + + /** + * 修改保存代码生成业务 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:edit')") + @Log(title = "代码生成", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult editSave(@Validated @RequestBody GenTable genTable) + { + genTableService.validateEdit(genTable); + genTableService.updateGenTable(genTable); + return success(); + } + + /** + * 删除代码生成 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:remove')") + @Log(title = "代码生成", businessType = BusinessType.DELETE) + @DeleteMapping("/{tableIds}") + public AjaxResult remove(@PathVariable Long[] tableIds) + { + genTableService.deleteGenTableByIds(tableIds); + return success(); + } + + /** + * 预览代码 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:preview')") + @GetMapping("/preview/{tableId}") + public AjaxResult preview(@PathVariable("tableId") Long tableId) throws IOException + { + Map dataMap = genTableService.previewCode(tableId); + return success(dataMap); + } + + /** + * 生成代码(下载方式) + */ + @PreAuthorize("@ss.hasPermi('tool:gen:code')") + @Log(title = "代码生成", businessType = BusinessType.GENCODE) + @GetMapping("/download/{tableName}") + public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException + { + byte[] data = genTableService.downloadCode(tableName); + genCode(response, data); + } + + /** + * 生成代码(自定义路径) + */ + @PreAuthorize("@ss.hasPermi('tool:gen:code')") + @Log(title = "代码生成", businessType = BusinessType.GENCODE) + @GetMapping("/genCode/{tableName}") + public AjaxResult genCode(@PathVariable("tableName") String tableName) + { + genTableService.generatorCode(tableName); + return success(); + } + + /** + * 同步数据库 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:edit')") + @Log(title = "代码生成", businessType = BusinessType.UPDATE) + @GetMapping("/synchDb/{tableName}") + public AjaxResult synchDb(@PathVariable("tableName") String tableName) + { + genTableService.synchDb(tableName); + return success(); + } + + /** + * 批量生成代码 + */ + @PreAuthorize("@ss.hasPermi('tool:gen:code')") + @Log(title = "代码生成", businessType = BusinessType.GENCODE) + @GetMapping("/batchGenCode") + public void batchGenCode(HttpServletResponse response, String tables) throws IOException + { + String[] tableNames = Convert.toStrArray(tables); + byte[] data = genTableService.downloadCode(tableNames); + genCode(response, data); + } + + /** + * 生成zip文件 + */ + private void genCode(HttpServletResponse response, byte[] data) throws IOException + { + response.reset(); + response.addHeader("Access-Control-Allow-Origin", "*"); + response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); + response.setHeader("Content-Disposition", "attachment; filename=\"ruoyi.zip\""); + response.addHeader("Content-Length", "" + data.length); + response.setContentType("application/octet-stream; charset=UTF-8"); + IOUtils.write(data, response.getOutputStream()); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java new file mode 100644 index 0000000..269779c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java @@ -0,0 +1,372 @@ +package com.ruoyi.generator.domain; + +import java.util.List; +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import org.apache.commons.lang3.ArrayUtils; +import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.utils.StringUtils; + +/** + * 业务表 gen_table + * + * @author ruoyi + */ +public class GenTable extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 编号 */ + private Long tableId; + + /** 表名称 */ + @NotBlank(message = "表名称不能为空") + private String tableName; + + /** 表描述 */ + @NotBlank(message = "表描述不能为空") + private String tableComment; + + /** 关联父表的表名 */ + private String subTableName; + + /** 本表关联父表的外键名 */ + private String subTableFkName; + + /** 实体类名称(首字母大写) */ + @NotBlank(message = "实体类名称不能为空") + private String className; + + /** 使用的模板(crud单表操作 tree树表操作 sub主子表操作) */ + private String tplCategory; + + /** 生成包路径 */ + @NotBlank(message = "生成包路径不能为空") + private String packageName; + + /** 生成模块名 */ + @NotBlank(message = "生成模块名不能为空") + private String moduleName; + + /** 生成业务名 */ + @NotBlank(message = "生成业务名不能为空") + private String businessName; + + /** 生成功能名 */ + @NotBlank(message = "生成功能名不能为空") + private String functionName; + + /** 生成作者 */ + @NotBlank(message = "作者不能为空") + private String functionAuthor; + + /** 生成代码方式(0zip压缩包 1自定义路径) */ + private String genType; + + /** 生成路径(不填默认项目路径) */ + private String genPath; + + /** 主键信息 */ + private GenTableColumn pkColumn; + + /** 子表信息 */ + private GenTable subTable; + + /** 表列信息 */ + @Valid + private List columns; + + /** 其它生成选项 */ + private String options; + + /** 树编码字段 */ + private String treeCode; + + /** 树父编码字段 */ + private String treeParentCode; + + /** 树名称字段 */ + private String treeName; + + /** 上级菜单ID字段 */ + private String parentMenuId; + + /** 上级菜单名称字段 */ + private String parentMenuName; + + public Long getTableId() + { + return tableId; + } + + public void setTableId(Long tableId) + { + this.tableId = tableId; + } + + public String getTableName() + { + return tableName; + } + + public void setTableName(String tableName) + { + this.tableName = tableName; + } + + public String getTableComment() + { + return tableComment; + } + + public void setTableComment(String tableComment) + { + this.tableComment = tableComment; + } + + public String getSubTableName() + { + return subTableName; + } + + public void setSubTableName(String subTableName) + { + this.subTableName = subTableName; + } + + public String getSubTableFkName() + { + return subTableFkName; + } + + public void setSubTableFkName(String subTableFkName) + { + this.subTableFkName = subTableFkName; + } + + public String getClassName() + { + return className; + } + + public void setClassName(String className) + { + this.className = className; + } + + public String getTplCategory() + { + return tplCategory; + } + + public void setTplCategory(String tplCategory) + { + this.tplCategory = tplCategory; + } + + public String getPackageName() + { + return packageName; + } + + public void setPackageName(String packageName) + { + this.packageName = packageName; + } + + public String getModuleName() + { + return moduleName; + } + + public void setModuleName(String moduleName) + { + this.moduleName = moduleName; + } + + public String getBusinessName() + { + return businessName; + } + + public void setBusinessName(String businessName) + { + this.businessName = businessName; + } + + public String getFunctionName() + { + return functionName; + } + + public void setFunctionName(String functionName) + { + this.functionName = functionName; + } + + public String getFunctionAuthor() + { + return functionAuthor; + } + + public void setFunctionAuthor(String functionAuthor) + { + this.functionAuthor = functionAuthor; + } + + public String getGenType() + { + return genType; + } + + public void setGenType(String genType) + { + this.genType = genType; + } + + public String getGenPath() + { + return genPath; + } + + public void setGenPath(String genPath) + { + this.genPath = genPath; + } + + public GenTableColumn getPkColumn() + { + return pkColumn; + } + + public void setPkColumn(GenTableColumn pkColumn) + { + this.pkColumn = pkColumn; + } + + public GenTable getSubTable() + { + return subTable; + } + + public void setSubTable(GenTable subTable) + { + this.subTable = subTable; + } + + public List getColumns() + { + return columns; + } + + public void setColumns(List columns) + { + this.columns = columns; + } + + public String getOptions() + { + return options; + } + + public void setOptions(String options) + { + this.options = options; + } + + public String getTreeCode() + { + return treeCode; + } + + public void setTreeCode(String treeCode) + { + this.treeCode = treeCode; + } + + public String getTreeParentCode() + { + return treeParentCode; + } + + public void setTreeParentCode(String treeParentCode) + { + this.treeParentCode = treeParentCode; + } + + public String getTreeName() + { + return treeName; + } + + public void setTreeName(String treeName) + { + this.treeName = treeName; + } + + public String getParentMenuId() + { + return parentMenuId; + } + + public void setParentMenuId(String parentMenuId) + { + this.parentMenuId = parentMenuId; + } + + public String getParentMenuName() + { + return parentMenuName; + } + + public void setParentMenuName(String parentMenuName) + { + this.parentMenuName = parentMenuName; + } + + public boolean isSub() + { + return isSub(this.tplCategory); + } + + public static boolean isSub(String tplCategory) + { + return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory); + } + + public boolean isTree() + { + return isTree(this.tplCategory); + } + + public static boolean isTree(String tplCategory) + { + return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory); + } + + public boolean isCrud() + { + return isCrud(this.tplCategory); + } + + public static boolean isCrud(String tplCategory) + { + return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory); + } + + public boolean isSuperColumn(String javaField) + { + return isSuperColumn(this.tplCategory, javaField); + } + + public static boolean isSuperColumn(String tplCategory, String javaField) + { + if (isTree(tplCategory)) + { + return StringUtils.equalsAnyIgnoreCase(javaField, + ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); + } + return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java new file mode 100644 index 0000000..d1733b6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java @@ -0,0 +1,373 @@ +package com.ruoyi.generator.domain; + +import javax.validation.constraints.NotBlank; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.utils.StringUtils; + +/** + * 代码生成业务字段表 gen_table_column + * + * @author ruoyi + */ +public class GenTableColumn extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 编号 */ + private Long columnId; + + /** 归属表编号 */ + private Long tableId; + + /** 列名称 */ + private String columnName; + + /** 列描述 */ + private String columnComment; + + /** 列类型 */ + private String columnType; + + /** JAVA类型 */ + private String javaType; + + /** JAVA字段名 */ + @NotBlank(message = "Java属性不能为空") + private String javaField; + + /** 是否主键(1是) */ + private String isPk; + + /** 是否自增(1是) */ + private String isIncrement; + + /** 是否必填(1是) */ + private String isRequired; + + /** 是否为插入字段(1是) */ + private String isInsert; + + /** 是否编辑字段(1是) */ + private String isEdit; + + /** 是否列表字段(1是) */ + private String isList; + + /** 是否查询字段(1是) */ + private String isQuery; + + /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */ + private String queryType; + + /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、image图片上传控件、upload文件上传控件、editor富文本控件) */ + private String htmlType; + + /** 字典类型 */ + private String dictType; + + /** 排序 */ + private Integer sort; + + public void setColumnId(Long columnId) + { + this.columnId = columnId; + } + + public Long getColumnId() + { + return columnId; + } + + public void setTableId(Long tableId) + { + this.tableId = tableId; + } + + public Long getTableId() + { + return tableId; + } + + public void setColumnName(String columnName) + { + this.columnName = columnName; + } + + public String getColumnName() + { + return columnName; + } + + public void setColumnComment(String columnComment) + { + this.columnComment = columnComment; + } + + public String getColumnComment() + { + return columnComment; + } + + public void setColumnType(String columnType) + { + this.columnType = columnType; + } + + public String getColumnType() + { + return columnType; + } + + public void setJavaType(String javaType) + { + this.javaType = javaType; + } + + public String getJavaType() + { + return javaType; + } + + public void setJavaField(String javaField) + { + this.javaField = javaField; + } + + public String getJavaField() + { + return javaField; + } + + public String getCapJavaField() + { + return StringUtils.capitalize(javaField); + } + + public void setIsPk(String isPk) + { + this.isPk = isPk; + } + + public String getIsPk() + { + return isPk; + } + + public boolean isPk() + { + return isPk(this.isPk); + } + + public boolean isPk(String isPk) + { + return isPk != null && StringUtils.equals("1", isPk); + } + + public String getIsIncrement() + { + return isIncrement; + } + + public void setIsIncrement(String isIncrement) + { + this.isIncrement = isIncrement; + } + + public boolean isIncrement() + { + return isIncrement(this.isIncrement); + } + + public boolean isIncrement(String isIncrement) + { + return isIncrement != null && StringUtils.equals("1", isIncrement); + } + + public void setIsRequired(String isRequired) + { + this.isRequired = isRequired; + } + + public String getIsRequired() + { + return isRequired; + } + + public boolean isRequired() + { + return isRequired(this.isRequired); + } + + public boolean isRequired(String isRequired) + { + return isRequired != null && StringUtils.equals("1", isRequired); + } + + public void setIsInsert(String isInsert) + { + this.isInsert = isInsert; + } + + public String getIsInsert() + { + return isInsert; + } + + public boolean isInsert() + { + return isInsert(this.isInsert); + } + + public boolean isInsert(String isInsert) + { + return isInsert != null && StringUtils.equals("1", isInsert); + } + + public void setIsEdit(String isEdit) + { + this.isEdit = isEdit; + } + + public String getIsEdit() + { + return isEdit; + } + + public boolean isEdit() + { + return isInsert(this.isEdit); + } + + public boolean isEdit(String isEdit) + { + return isEdit != null && StringUtils.equals("1", isEdit); + } + + public void setIsList(String isList) + { + this.isList = isList; + } + + public String getIsList() + { + return isList; + } + + public boolean isList() + { + return isList(this.isList); + } + + public boolean isList(String isList) + { + return isList != null && StringUtils.equals("1", isList); + } + + public void setIsQuery(String isQuery) + { + this.isQuery = isQuery; + } + + public String getIsQuery() + { + return isQuery; + } + + public boolean isQuery() + { + return isQuery(this.isQuery); + } + + public boolean isQuery(String isQuery) + { + return isQuery != null && StringUtils.equals("1", isQuery); + } + + public void setQueryType(String queryType) + { + this.queryType = queryType; + } + + public String getQueryType() + { + return queryType; + } + + public String getHtmlType() + { + return htmlType; + } + + public void setHtmlType(String htmlType) + { + this.htmlType = htmlType; + } + + public void setDictType(String dictType) + { + this.dictType = dictType; + } + + public String getDictType() + { + return dictType; + } + + public void setSort(Integer sort) + { + this.sort = sort; + } + + public Integer getSort() + { + return sort; + } + + public boolean isSuperColumn() + { + return isSuperColumn(this.javaField); + } + + public static boolean isSuperColumn(String javaField) + { + return StringUtils.equalsAnyIgnoreCase(javaField, + // BaseEntity + "createBy", "createTime", "updateBy", "updateTime", "remark", + // TreeEntity + "parentName", "parentId", "orderNum", "ancestors"); + } + + public boolean isUsableColumn() + { + return isUsableColumn(javaField); + } + + public static boolean isUsableColumn(String javaField) + { + // isSuperColumn()中的名单用于避免生成多余Domain属性,若某些属性在生成页面时需要用到不能忽略,则放在此处白名单 + return StringUtils.equalsAnyIgnoreCase(javaField, "parentId", "orderNum", "remark"); + } + + public String readConverterExp() + { + String remarks = StringUtils.substringBetween(this.columnComment, "(", ")"); + StringBuffer sb = new StringBuffer(); + if (StringUtils.isNotEmpty(remarks)) + { + for (String value : remarks.split(" ")) + { + if (StringUtils.isNotEmpty(value)) + { + Object startStr = value.subSequence(0, 1); + String endStr = value.substring(1); + sb.append("").append(startStr).append("=").append(endStr).append(","); + } + } + return sb.deleteCharAt(sb.length() - 1).toString(); + } + else + { + return this.columnComment; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java new file mode 100644 index 0000000..951e166 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java @@ -0,0 +1,60 @@ +package com.ruoyi.generator.mapper; + +import java.util.List; +import com.ruoyi.generator.domain.GenTableColumn; + +/** + * 业务字段 数据层 + * + * @author ruoyi + */ +public interface GenTableColumnMapper +{ + /** + * 根据表名称查询列信息 + * + * @param tableName 表名称 + * @return 列信息 + */ + public List selectDbTableColumnsByName(String tableName); + + /** + * 查询业务字段列表 + * + * @param tableId 业务字段编号 + * @return 业务字段集合 + */ + public List selectGenTableColumnListByTableId(Long tableId); + + /** + * 新增业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + public int insertGenTableColumn(GenTableColumn genTableColumn); + + /** + * 修改业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + public int updateGenTableColumn(GenTableColumn genTableColumn); + + /** + * 删除业务字段 + * + * @param genTableColumns 列数据 + * @return 结果 + */ + public int deleteGenTableColumns(List genTableColumns); + + /** + * 批量删除业务字段 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteGenTableColumnByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java new file mode 100644 index 0000000..9b330df --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java @@ -0,0 +1,83 @@ +package com.ruoyi.generator.mapper; + +import java.util.List; +import com.ruoyi.generator.domain.GenTable; + +/** + * 业务 数据层 + * + * @author ruoyi + */ +public interface GenTableMapper +{ + /** + * 查询业务列表 + * + * @param genTable 业务信息 + * @return 业务集合 + */ + public List selectGenTableList(GenTable genTable); + + /** + * 查询据库列表 + * + * @param genTable 业务信息 + * @return 数据库表集合 + */ + public List selectDbTableList(GenTable genTable); + + /** + * 查询据库列表 + * + * @param tableNames 表名称组 + * @return 数据库表集合 + */ + public List selectDbTableListByNames(String[] tableNames); + + /** + * 查询所有表信息 + * + * @return 表信息集合 + */ + public List selectGenTableAll(); + + /** + * 查询表ID业务信息 + * + * @param id 业务ID + * @return 业务信息 + */ + public GenTable selectGenTableById(Long id); + + /** + * 查询表名称业务信息 + * + * @param tableName 表名称 + * @return 业务信息 + */ + public GenTable selectGenTableByName(String tableName); + + /** + * 新增业务 + * + * @param genTable 业务信息 + * @return 结果 + */ + public int insertGenTable(GenTable genTable); + + /** + * 修改业务 + * + * @param genTable 业务信息 + * @return 结果 + */ + public int updateGenTable(GenTable genTable); + + /** + * 批量删除业务 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteGenTableByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java new file mode 100644 index 0000000..0679689 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableColumnServiceImpl.java @@ -0,0 +1,68 @@ +package com.ruoyi.generator.service; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.generator.domain.GenTableColumn; +import com.ruoyi.generator.mapper.GenTableColumnMapper; + +/** + * 业务字段 服务层实现 + * + * @author ruoyi + */ +@Service +public class GenTableColumnServiceImpl implements IGenTableColumnService +{ + @Autowired + private GenTableColumnMapper genTableColumnMapper; + + /** + * 查询业务字段列表 + * + * @param tableId 业务字段编号 + * @return 业务字段集合 + */ + @Override + public List selectGenTableColumnListByTableId(Long tableId) + { + return genTableColumnMapper.selectGenTableColumnListByTableId(tableId); + } + + /** + * 新增业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + @Override + public int insertGenTableColumn(GenTableColumn genTableColumn) + { + return genTableColumnMapper.insertGenTableColumn(genTableColumn); + } + + /** + * 修改业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + @Override + public int updateGenTableColumn(GenTableColumn genTableColumn) + { + return genTableColumnMapper.updateGenTableColumn(genTableColumn); + } + + /** + * 删除业务字段对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteGenTableColumnByIds(String ids) + { + return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java new file mode 100644 index 0000000..4889f81 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -0,0 +1,521 @@ +package com.ruoyi.generator.service; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.StringWriter; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.core.text.CharsetKit; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.generator.domain.GenTable; +import com.ruoyi.generator.domain.GenTableColumn; +import com.ruoyi.generator.mapper.GenTableColumnMapper; +import com.ruoyi.generator.mapper.GenTableMapper; +import com.ruoyi.generator.util.GenUtils; +import com.ruoyi.generator.util.VelocityInitializer; +import com.ruoyi.generator.util.VelocityUtils; + +/** + * 业务 服务层实现 + * + * @author ruoyi + */ +@Service +public class GenTableServiceImpl implements IGenTableService +{ + private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class); + + @Autowired + private GenTableMapper genTableMapper; + + @Autowired + private GenTableColumnMapper genTableColumnMapper; + + /** + * 查询业务信息 + * + * @param id 业务ID + * @return 业务信息 + */ + @Override + public GenTable selectGenTableById(Long id) + { + GenTable genTable = genTableMapper.selectGenTableById(id); + setTableFromOptions(genTable); + return genTable; + } + + /** + * 查询业务列表 + * + * @param genTable 业务信息 + * @return 业务集合 + */ + @Override + public List selectGenTableList(GenTable genTable) + { + return genTableMapper.selectGenTableList(genTable); + } + + /** + * 查询据库列表 + * + * @param genTable 业务信息 + * @return 数据库表集合 + */ + @Override + public List selectDbTableList(GenTable genTable) + { + return genTableMapper.selectDbTableList(genTable); + } + + /** + * 查询据库列表 + * + * @param tableNames 表名称组 + * @return 数据库表集合 + */ + @Override + public List selectDbTableListByNames(String[] tableNames) + { + return genTableMapper.selectDbTableListByNames(tableNames); + } + + /** + * 查询所有表信息 + * + * @return 表信息集合 + */ + @Override + public List selectGenTableAll() + { + return genTableMapper.selectGenTableAll(); + } + + /** + * 修改业务 + * + * @param genTable 业务信息 + * @return 结果 + */ + @Override + @Transactional + public void updateGenTable(GenTable genTable) + { + String options = JSON.toJSONString(genTable.getParams()); + genTable.setOptions(options); + int row = genTableMapper.updateGenTable(genTable); + if (row > 0) + { + for (GenTableColumn cenTableColumn : genTable.getColumns()) + { + genTableColumnMapper.updateGenTableColumn(cenTableColumn); + } + } + } + + /** + * 删除业务对象 + * + * @param tableIds 需要删除的数据ID + * @return 结果 + */ + @Override + @Transactional + public void deleteGenTableByIds(Long[] tableIds) + { + genTableMapper.deleteGenTableByIds(tableIds); + genTableColumnMapper.deleteGenTableColumnByIds(tableIds); + } + + /** + * 导入表结构 + * + * @param tableList 导入表列表 + */ + @Override + @Transactional + public void importGenTable(List tableList) + { + String operName = SecurityUtils.getUsername(); + try + { + for (GenTable table : tableList) + { + String tableName = table.getTableName(); + GenUtils.initTable(table, operName); + int row = genTableMapper.insertGenTable(table); + if (row > 0) + { + // 保存列信息 + List genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); + for (GenTableColumn column : genTableColumns) + { + GenUtils.initColumnField(column, table); + genTableColumnMapper.insertGenTableColumn(column); + } + } + } + } + catch (Exception e) + { + throw new ServiceException("导入失败:" + e.getMessage()); + } + } + + /** + * 预览代码 + * + * @param tableId 表编号 + * @return 预览数据列表 + */ + @Override + public Map previewCode(Long tableId) + { + Map dataMap = new LinkedHashMap<>(); + // 查询表信息 + GenTable table = genTableMapper.selectGenTableById(tableId); + // 设置主子表信息 + setSubTable(table); + // 设置主键列信息 + setPkColumn(table); + VelocityInitializer.initVelocity(); + + VelocityContext context = VelocityUtils.prepareContext(table); + + // 获取模板列表 + List templates = VelocityUtils.getTemplateList(table.getTplCategory()); + for (String template : templates) + { + // 渲染模板 + StringWriter sw = new StringWriter(); + Template tpl = Velocity.getTemplate(template, Constants.UTF8); + tpl.merge(context, sw); + dataMap.put(template, sw.toString()); + } + return dataMap; + } + + /** + * 生成代码(下载方式) + * + * @param tableName 表名称 + * @return 数据 + */ + @Override + public byte[] downloadCode(String tableName) + { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + ZipOutputStream zip = new ZipOutputStream(outputStream); + generatorCode(tableName, zip); + IOUtils.closeQuietly(zip); + return outputStream.toByteArray(); + } + + /** + * 生成代码(自定义路径) + * + * @param tableName 表名称 + */ + @Override + public void generatorCode(String tableName) + { + // 查询表信息 + GenTable table = genTableMapper.selectGenTableByName(tableName); + // 设置主子表信息 + setSubTable(table); + // 设置主键列信息 + setPkColumn(table); + + VelocityInitializer.initVelocity(); + + VelocityContext context = VelocityUtils.prepareContext(table); + + // 获取模板列表 + List templates = VelocityUtils.getTemplateList(table.getTplCategory()); + for (String template : templates) + { + if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) + { + // 渲染模板 + StringWriter sw = new StringWriter(); + Template tpl = Velocity.getTemplate(template, Constants.UTF8); + tpl.merge(context, sw); + try + { + String path = getGenPath(table, template); + FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8); + } + catch (IOException e) + { + throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); + } + } + } + } + + /** + * 同步数据库 + * + * @param tableName 表名称 + */ + @Override + @Transactional + public void synchDb(String tableName) + { + GenTable table = genTableMapper.selectGenTableByName(tableName); + List tableColumns = table.getColumns(); + Map tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity())); + + List dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); + if (StringUtils.isEmpty(dbTableColumns)) + { + throw new ServiceException("同步数据失败,原表结构不存在"); + } + List dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); + + dbTableColumns.forEach(column -> { + GenUtils.initColumnField(column, table); + if (tableColumnMap.containsKey(column.getColumnName())) + { + GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName()); + column.setColumnId(prevColumn.getColumnId()); + if (column.isList()) + { + // 如果是列表,继续保留查询方式/字典类型选项 + column.setDictType(prevColumn.getDictType()); + column.setQueryType(prevColumn.getQueryType()); + } + if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk() + && (column.isInsert() || column.isEdit()) + && ((column.isUsableColumn()) || (!column.isSuperColumn()))) + { + // 如果是(新增/修改&非主键/非忽略及父属性),继续保留必填/显示类型选项 + column.setIsRequired(prevColumn.getIsRequired()); + column.setHtmlType(prevColumn.getHtmlType()); + } + genTableColumnMapper.updateGenTableColumn(column); + } + else + { + genTableColumnMapper.insertGenTableColumn(column); + } + }); + + List delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); + if (StringUtils.isNotEmpty(delColumns)) + { + genTableColumnMapper.deleteGenTableColumns(delColumns); + } + } + + /** + * 批量生成代码(下载方式) + * + * @param tableNames 表数组 + * @return 数据 + */ + @Override + public byte[] downloadCode(String[] tableNames) + { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + ZipOutputStream zip = new ZipOutputStream(outputStream); + for (String tableName : tableNames) + { + generatorCode(tableName, zip); + } + IOUtils.closeQuietly(zip); + return outputStream.toByteArray(); + } + + /** + * 查询表信息并生成代码 + */ + private void generatorCode(String tableName, ZipOutputStream zip) + { + // 查询表信息 + GenTable table = genTableMapper.selectGenTableByName(tableName); + // 设置主子表信息 + setSubTable(table); + // 设置主键列信息 + setPkColumn(table); + + VelocityInitializer.initVelocity(); + + VelocityContext context = VelocityUtils.prepareContext(table); + + // 获取模板列表 + List templates = VelocityUtils.getTemplateList(table.getTplCategory()); + for (String template : templates) + { + // 渲染模板 + StringWriter sw = new StringWriter(); + Template tpl = Velocity.getTemplate(template, Constants.UTF8); + tpl.merge(context, sw); + try + { + // 添加到zip + zip.putNextEntry(new ZipEntry(VelocityUtils.getFileName(template, table))); + IOUtils.write(sw.toString(), zip, Constants.UTF8); + IOUtils.closeQuietly(sw); + zip.flush(); + zip.closeEntry(); + } + catch (IOException e) + { + log.error("渲染模板失败,表名:" + table.getTableName(), e); + } + } + } + + /** + * 修改保存参数校验 + * + * @param genTable 业务信息 + */ + @Override + public void validateEdit(GenTable genTable) + { + if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) + { + String options = JSON.toJSONString(genTable.getParams()); + JSONObject paramsObj = JSON.parseObject(options); + if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))) + { + throw new ServiceException("树编码字段不能为空"); + } + else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))) + { + throw new ServiceException("树父编码字段不能为空"); + } + else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))) + { + throw new ServiceException("树名称字段不能为空"); + } + else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) + { + if (StringUtils.isEmpty(genTable.getSubTableName())) + { + throw new ServiceException("关联子表的表名不能为空"); + } + else if (StringUtils.isEmpty(genTable.getSubTableFkName())) + { + throw new ServiceException("子表关联的外键名不能为空"); + } + } + } + } + + /** + * 设置主键列信息 + * + * @param table 业务表信息 + */ + public void setPkColumn(GenTable table) + { + for (GenTableColumn column : table.getColumns()) + { + if (column.isPk()) + { + table.setPkColumn(column); + break; + } + } + if (StringUtils.isNull(table.getPkColumn())) + { + table.setPkColumn(table.getColumns().get(0)); + } + if (GenConstants.TPL_SUB.equals(table.getTplCategory())) + { + for (GenTableColumn column : table.getSubTable().getColumns()) + { + if (column.isPk()) + { + table.getSubTable().setPkColumn(column); + break; + } + } + if (StringUtils.isNull(table.getSubTable().getPkColumn())) + { + table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0)); + } + } + } + + /** + * 设置主子表信息 + * + * @param table 业务表信息 + */ + public void setSubTable(GenTable table) + { + String subTableName = table.getSubTableName(); + if (StringUtils.isNotEmpty(subTableName)) + { + table.setSubTable(genTableMapper.selectGenTableByName(subTableName)); + } + } + + /** + * 设置代码生成其他选项值 + * + * @param genTable 设置后的生成对象 + */ + public void setTableFromOptions(GenTable genTable) + { + JSONObject paramsObj = JSON.parseObject(genTable.getOptions()); + if (StringUtils.isNotNull(paramsObj)) + { + String treeCode = paramsObj.getString(GenConstants.TREE_CODE); + String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE); + String treeName = paramsObj.getString(GenConstants.TREE_NAME); + String parentMenuId = paramsObj.getString(GenConstants.PARENT_MENU_ID); + String parentMenuName = paramsObj.getString(GenConstants.PARENT_MENU_NAME); + + genTable.setTreeCode(treeCode); + genTable.setTreeParentCode(treeParentCode); + genTable.setTreeName(treeName); + genTable.setParentMenuId(parentMenuId); + genTable.setParentMenuName(parentMenuName); + } + } + + /** + * 获取代码生成地址 + * + * @param table 业务表信息 + * @param template 模板文件路径 + * @return 生成地址 + */ + public static String getGenPath(GenTable table, String template) + { + String genPath = table.getGenPath(); + if (StringUtils.equals(genPath, "/")) + { + return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table); + } + return genPath + File.separator + VelocityUtils.getFileName(template, table); + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java new file mode 100644 index 0000000..3037f70 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java @@ -0,0 +1,44 @@ +package com.ruoyi.generator.service; + +import java.util.List; +import com.ruoyi.generator.domain.GenTableColumn; + +/** + * 业务字段 服务层 + * + * @author ruoyi + */ +public interface IGenTableColumnService +{ + /** + * 查询业务字段列表 + * + * @param tableId 业务字段编号 + * @return 业务字段集合 + */ + public List selectGenTableColumnListByTableId(Long tableId); + + /** + * 新增业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + public int insertGenTableColumn(GenTableColumn genTableColumn); + + /** + * 修改业务字段 + * + * @param genTableColumn 业务字段信息 + * @return 结果 + */ + public int updateGenTableColumn(GenTableColumn genTableColumn); + + /** + * 删除业务字段信息 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteGenTableColumnByIds(String ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java new file mode 100644 index 0000000..9d53f95 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java @@ -0,0 +1,121 @@ +package com.ruoyi.generator.service; + +import java.util.List; +import java.util.Map; +import com.ruoyi.generator.domain.GenTable; + +/** + * 业务 服务层 + * + * @author ruoyi + */ +public interface IGenTableService +{ + /** + * 查询业务列表 + * + * @param genTable 业务信息 + * @return 业务集合 + */ + public List selectGenTableList(GenTable genTable); + + /** + * 查询据库列表 + * + * @param genTable 业务信息 + * @return 数据库表集合 + */ + public List selectDbTableList(GenTable genTable); + + /** + * 查询据库列表 + * + * @param tableNames 表名称组 + * @return 数据库表集合 + */ + public List selectDbTableListByNames(String[] tableNames); + + /** + * 查询所有表信息 + * + * @return 表信息集合 + */ + public List selectGenTableAll(); + + /** + * 查询业务信息 + * + * @param id 业务ID + * @return 业务信息 + */ + public GenTable selectGenTableById(Long id); + + /** + * 修改业务 + * + * @param genTable 业务信息 + * @return 结果 + */ + public void updateGenTable(GenTable genTable); + + /** + * 删除业务信息 + * + * @param tableIds 需要删除的表数据ID + * @return 结果 + */ + public void deleteGenTableByIds(Long[] tableIds); + + /** + * 导入表结构 + * + * @param tableList 导入表列表 + */ + public void importGenTable(List tableList); + + /** + * 预览代码 + * + * @param tableId 表编号 + * @return 预览数据列表 + */ + public Map previewCode(Long tableId); + + /** + * 生成代码(下载方式) + * + * @param tableName 表名称 + * @return 数据 + */ + public byte[] downloadCode(String tableName); + + /** + * 生成代码(自定义路径) + * + * @param tableName 表名称 + * @return 数据 + */ + public void generatorCode(String tableName); + + /** + * 同步数据库 + * + * @param tableName 表名称 + */ + public void synchDb(String tableName); + + /** + * 批量生成代码(下载方式) + * + * @param tableNames 表数组 + * @return 数据 + */ + public byte[] downloadCode(String[] tableNames); + + /** + * 修改保存参数校验 + * + * @param genTable 业务信息 + */ + public void validateEdit(GenTable genTable); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java new file mode 100644 index 0000000..e7ebc20 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java @@ -0,0 +1,257 @@ +package com.ruoyi.generator.util; + +import java.util.Arrays; +import org.apache.commons.lang3.RegExUtils; +import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.generator.config.GenConfig; +import com.ruoyi.generator.domain.GenTable; +import com.ruoyi.generator.domain.GenTableColumn; + +/** + * 代码生成器 工具类 + * + * @author ruoyi + */ +public class GenUtils +{ + /** + * 初始化表信息 + */ + public static void initTable(GenTable genTable, String operName) + { + genTable.setClassName(convertClassName(genTable.getTableName())); + genTable.setPackageName(GenConfig.getPackageName()); + genTable.setModuleName(getModuleName(GenConfig.getPackageName())); + genTable.setBusinessName(getBusinessName(genTable.getTableName())); + genTable.setFunctionName(replaceText(genTable.getTableComment())); + genTable.setFunctionAuthor(GenConfig.getAuthor()); + genTable.setCreateBy(operName); + } + + /** + * 初始化列属性字段 + */ + public static void initColumnField(GenTableColumn column, GenTable table) + { + String dataType = getDbType(column.getColumnType()); + String columnName = column.getColumnName(); + column.setTableId(table.getTableId()); + column.setCreateBy(table.getCreateBy()); + // 设置java字段名 + column.setJavaField(StringUtils.toCamelCase(columnName)); + // 设置默认类型 + column.setJavaType(GenConstants.TYPE_STRING); + column.setQueryType(GenConstants.QUERY_EQ); + + if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) + { + // 字符串长度超过500设置为文本域 + Integer columnLength = getColumnLength(column.getColumnType()); + String htmlType = columnLength >= 500 || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType) ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT; + column.setHtmlType(htmlType); + } + else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType)) + { + column.setJavaType(GenConstants.TYPE_DATE); + column.setHtmlType(GenConstants.HTML_DATETIME); + } + else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType)) + { + column.setHtmlType(GenConstants.HTML_INPUT); + + // 如果是浮点型 统一用BigDecimal + String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ","); + if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) + { + column.setJavaType(GenConstants.TYPE_BIGDECIMAL); + } + // 如果是整形 + else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10) + { + column.setJavaType(GenConstants.TYPE_INTEGER); + } + // 长整形 + else + { + column.setJavaType(GenConstants.TYPE_LONG); + } + } + + // 插入字段(默认所有字段都需要插入) + column.setIsInsert(GenConstants.REQUIRE); + + // 编辑字段 + if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk()) + { + column.setIsEdit(GenConstants.REQUIRE); + } + // 列表字段 + if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk()) + { + column.setIsList(GenConstants.REQUIRE); + } + // 查询字段 + if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) + { + column.setIsQuery(GenConstants.REQUIRE); + } + + // 查询字段类型 + if (StringUtils.endsWithIgnoreCase(columnName, "name")) + { + column.setQueryType(GenConstants.QUERY_LIKE); + } + // 状态字段设置单选框 + if (StringUtils.endsWithIgnoreCase(columnName, "status")) + { + column.setHtmlType(GenConstants.HTML_RADIO); + } + // 类型&性别字段设置下拉框 + else if (StringUtils.endsWithIgnoreCase(columnName, "type") + || StringUtils.endsWithIgnoreCase(columnName, "sex")) + { + column.setHtmlType(GenConstants.HTML_SELECT); + } + // 图片字段设置图片上传控件 + else if (StringUtils.endsWithIgnoreCase(columnName, "image")) + { + column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD); + } + // 文件字段设置文件上传控件 + else if (StringUtils.endsWithIgnoreCase(columnName, "file")) + { + column.setHtmlType(GenConstants.HTML_FILE_UPLOAD); + } + // 内容字段设置富文本控件 + else if (StringUtils.endsWithIgnoreCase(columnName, "content")) + { + column.setHtmlType(GenConstants.HTML_EDITOR); + } + } + + /** + * 校验数组是否包含指定值 + * + * @param arr 数组 + * @param targetValue 值 + * @return 是否包含 + */ + public static boolean arraysContains(String[] arr, String targetValue) + { + return Arrays.asList(arr).contains(targetValue); + } + + /** + * 获取模块名 + * + * @param packageName 包名 + * @return 模块名 + */ + public static String getModuleName(String packageName) + { + int lastIndex = packageName.lastIndexOf("."); + int nameLength = packageName.length(); + return StringUtils.substring(packageName, lastIndex + 1, nameLength); + } + + /** + * 获取业务名 + * + * @param tableName 表名 + * @return 业务名 + */ + public static String getBusinessName(String tableName) + { + int lastIndex = tableName.lastIndexOf("_"); + int nameLength = tableName.length(); + return StringUtils.substring(tableName, lastIndex + 1, nameLength); + } + + /** + * 表名转换成Java类名 + * + * @param tableName 表名称 + * @return 类名 + */ + public static String convertClassName(String tableName) + { + boolean autoRemovePre = GenConfig.getAutoRemovePre(); + String tablePrefix = GenConfig.getTablePrefix(); + if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) + { + String[] searchList = StringUtils.split(tablePrefix, ","); + tableName = replaceFirst(tableName, searchList); + } + return StringUtils.convertToCamelCase(tableName); + } + + /** + * 批量替换前缀 + * + * @param replacementm 替换值 + * @param searchList 替换列表 + * @return + */ + public static String replaceFirst(String replacementm, String[] searchList) + { + String text = replacementm; + for (String searchString : searchList) + { + if (replacementm.startsWith(searchString)) + { + text = replacementm.replaceFirst(searchString, ""); + break; + } + } + return text; + } + + /** + * 关键字替换 + * + * @param text 需要被替换的名字 + * @return 替换后的名字 + */ + public static String replaceText(String text) + { + return RegExUtils.replaceAll(text, "(?:表|若依)", ""); + } + + /** + * 获取数据库类型字段 + * + * @param columnType 列类型 + * @return 截取后的列类型 + */ + public static String getDbType(String columnType) + { + if (StringUtils.indexOf(columnType, "(") > 0) + { + return StringUtils.substringBefore(columnType, "("); + } + else + { + return columnType; + } + } + + /** + * 获取字段长度 + * + * @param columnType 列类型 + * @return 截取后的列类型 + */ + public static Integer getColumnLength(String columnType) + { + if (StringUtils.indexOf(columnType, "(") > 0) + { + String length = StringUtils.substringBetween(columnType, "(", ")"); + return Integer.valueOf(length); + } + else + { + return 0; + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java new file mode 100644 index 0000000..9f69403 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java @@ -0,0 +1,34 @@ +package com.ruoyi.generator.util; + +import java.util.Properties; +import org.apache.velocity.app.Velocity; +import com.ruoyi.common.constant.Constants; + +/** + * VelocityEngine工厂 + * + * @author ruoyi + */ +public class VelocityInitializer +{ + /** + * 初始化vm方法 + */ + public static void initVelocity() + { + Properties p = new Properties(); + try + { + // 加载classpath目录下的vm文件 + p.setProperty("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + // 定义字符集 + p.setProperty(Velocity.INPUT_ENCODING, Constants.UTF8); + // 初始化Velocity引擎,指定配置Properties + Velocity.init(p); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java new file mode 100644 index 0000000..7ede02d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -0,0 +1,402 @@ +package com.ruoyi.generator.util; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.apache.velocity.VelocityContext; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.generator.domain.GenTable; +import com.ruoyi.generator.domain.GenTableColumn; + +/** + * 模板处理工具类 + * + * @author ruoyi + */ +public class VelocityUtils +{ + /** 项目空间路径 */ + private static final String PROJECT_PATH = "main/java"; + + /** mybatis空间路径 */ + private static final String MYBATIS_PATH = "main/resources/mapper"; + + /** 默认上级菜单,系统工具 */ + private static final String DEFAULT_PARENT_MENU_ID = "3"; + + /** + * 设置模板变量信息 + * + * @return 模板列表 + */ + public static VelocityContext prepareContext(GenTable genTable) + { + String moduleName = genTable.getModuleName(); + String businessName = genTable.getBusinessName(); + String packageName = genTable.getPackageName(); + String tplCategory = genTable.getTplCategory(); + String functionName = genTable.getFunctionName(); + + VelocityContext velocityContext = new VelocityContext(); + velocityContext.put("tplCategory", genTable.getTplCategory()); + velocityContext.put("tableName", genTable.getTableName()); + velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】"); + velocityContext.put("ClassName", genTable.getClassName()); + velocityContext.put("className", StringUtils.uncapitalize(genTable.getClassName())); + velocityContext.put("moduleName", genTable.getModuleName()); + velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName())); + velocityContext.put("businessName", genTable.getBusinessName()); + velocityContext.put("basePackage", getPackagePrefix(packageName)); + velocityContext.put("packageName", packageName); + velocityContext.put("author", genTable.getFunctionAuthor()); + velocityContext.put("datetime", DateUtils.getDate()); + velocityContext.put("pkColumn", genTable.getPkColumn()); + velocityContext.put("importList", getImportList(genTable)); + velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName)); + velocityContext.put("columns", genTable.getColumns()); + velocityContext.put("table", genTable); + velocityContext.put("dicts", getDicts(genTable)); + setMenuVelocityContext(velocityContext, genTable); + if (GenConstants.TPL_TREE.equals(tplCategory)) + { + setTreeVelocityContext(velocityContext, genTable); + } + if (GenConstants.TPL_SUB.equals(tplCategory)) + { + setSubVelocityContext(velocityContext, genTable); + } + return velocityContext; + } + + public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) + { + String options = genTable.getOptions(); + JSONObject paramsObj = JSON.parseObject(options); + String parentMenuId = getParentMenuId(paramsObj); + context.put("parentMenuId", parentMenuId); + } + + public static void setTreeVelocityContext(VelocityContext context, GenTable genTable) + { + String options = genTable.getOptions(); + JSONObject paramsObj = JSON.parseObject(options); + String treeCode = getTreecode(paramsObj); + String treeParentCode = getTreeParentCode(paramsObj); + String treeName = getTreeName(paramsObj); + + context.put("treeCode", treeCode); + context.put("treeParentCode", treeParentCode); + context.put("treeName", treeName); + context.put("expandColumn", getExpandColumn(genTable)); + if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) + { + context.put("tree_parent_code", paramsObj.getString(GenConstants.TREE_PARENT_CODE)); + } + if (paramsObj.containsKey(GenConstants.TREE_NAME)) + { + context.put("tree_name", paramsObj.getString(GenConstants.TREE_NAME)); + } + } + + public static void setSubVelocityContext(VelocityContext context, GenTable genTable) + { + GenTable subTable = genTable.getSubTable(); + String subTableName = genTable.getSubTableName(); + String subTableFkName = genTable.getSubTableFkName(); + String subClassName = genTable.getSubTable().getClassName(); + String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName); + + context.put("subTable", subTable); + context.put("subTableName", subTableName); + context.put("subTableFkName", subTableFkName); + context.put("subTableFkClassName", subTableFkClassName); + context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName)); + context.put("subClassName", subClassName); + context.put("subclassName", StringUtils.uncapitalize(subClassName)); + context.put("subImportList", getImportList(genTable.getSubTable())); + } + + /** + * 获取模板信息 + * + * @return 模板列表 + */ + public static List getTemplateList(String tplCategory) + { + List templates = new ArrayList(); + templates.add("vm/java/domain.java.vm"); + templates.add("vm/java/mapper.java.vm"); + templates.add("vm/java/service.java.vm"); + templates.add("vm/java/serviceImpl.java.vm"); + templates.add("vm/java/controller.java.vm"); + templates.add("vm/xml/mapper.xml.vm"); + templates.add("vm/sql/sql.vm"); + templates.add("vm/js/api.js.vm"); + if (GenConstants.TPL_CRUD.equals(tplCategory)) + { + templates.add("vm/vue/index.vue.vm"); + } + else if (GenConstants.TPL_TREE.equals(tplCategory)) + { + templates.add("vm/vue/index-tree.vue.vm"); + } + else if (GenConstants.TPL_SUB.equals(tplCategory)) + { + templates.add("vm/vue/index.vue.vm"); + templates.add("vm/java/sub-domain.java.vm"); + } + return templates; + } + + /** + * 获取文件名 + */ + public static String getFileName(String template, GenTable genTable) + { + // 文件名称 + String fileName = ""; + // 包路径 + String packageName = genTable.getPackageName(); + // 模块名 + String moduleName = genTable.getModuleName(); + // 大写类名 + String className = genTable.getClassName(); + // 业务名称 + String businessName = genTable.getBusinessName(); + + String javaPath = PROJECT_PATH + "/" + StringUtils.replace(packageName, ".", "/"); + String mybatisPath = MYBATIS_PATH + "/" + moduleName; + String vuePath = "vue"; + + if (template.contains("domain.java.vm")) + { + fileName = StringUtils.format("{}/domain/{}.java", javaPath, className); + } + if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) + { + fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName()); + } + else if (template.contains("mapper.java.vm")) + { + fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className); + } + else if (template.contains("service.java.vm")) + { + fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className); + } + else if (template.contains("serviceImpl.java.vm")) + { + fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className); + } + else if (template.contains("controller.java.vm")) + { + fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className); + } + else if (template.contains("mapper.xml.vm")) + { + fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className); + } + else if (template.contains("sql.vm")) + { + fileName = businessName + "Menu.sql"; + } + else if (template.contains("api.js.vm")) + { + fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName); + } + else if (template.contains("index.vue.vm")) + { + fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); + } + else if (template.contains("index-tree.vue.vm")) + { + fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); + } + return fileName; + } + + /** + * 获取包前缀 + * + * @param packageName 包名称 + * @return 包前缀名称 + */ + public static String getPackagePrefix(String packageName) + { + int lastIndex = packageName.lastIndexOf("."); + return StringUtils.substring(packageName, 0, lastIndex); + } + + /** + * 根据列类型获取导入包 + * + * @param genTable 业务表对象 + * @return 返回需要导入的包列表 + */ + public static HashSet getImportList(GenTable genTable) + { + List columns = genTable.getColumns(); + GenTable subGenTable = genTable.getSubTable(); + HashSet importList = new HashSet(); + if (StringUtils.isNotNull(subGenTable)) + { + importList.add("java.util.List"); + } + for (GenTableColumn column : columns) + { + if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType())) + { + importList.add("java.util.Date"); + importList.add("com.fasterxml.jackson.annotation.JsonFormat"); + } + else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType())) + { + importList.add("java.math.BigDecimal"); + } + } + return importList; + } + + /** + * 根据列类型获取字典组 + * + * @param genTable 业务表对象 + * @return 返回字典组 + */ + public static String getDicts(GenTable genTable) + { + List columns = genTable.getColumns(); + Set dicts = new HashSet(); + addDicts(dicts, columns); + if (StringUtils.isNotNull(genTable.getSubTable())) + { + List subColumns = genTable.getSubTable().getColumns(); + addDicts(dicts, subColumns); + } + return StringUtils.join(dicts, ", "); + } + + /** + * 添加字典列表 + * + * @param dicts 字典列表 + * @param columns 列集合 + */ + public static void addDicts(Set dicts, List columns) + { + for (GenTableColumn column : columns) + { + if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( + column.getHtmlType(), + new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) + { + dicts.add("'" + column.getDictType() + "'"); + } + } + } + + /** + * 获取权限前缀 + * + * @param moduleName 模块名称 + * @param businessName 业务名称 + * @return 返回权限前缀 + */ + public static String getPermissionPrefix(String moduleName, String businessName) + { + return StringUtils.format("{}:{}", moduleName, businessName); + } + + /** + * 获取上级菜单ID字段 + * + * @param paramsObj 生成其他选项 + * @return 上级菜单ID字段 + */ + public static String getParentMenuId(JSONObject paramsObj) + { + if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) + && StringUtils.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID))) + { + return paramsObj.getString(GenConstants.PARENT_MENU_ID); + } + return DEFAULT_PARENT_MENU_ID; + } + + /** + * 获取树编码 + * + * @param paramsObj 生成其他选项 + * @return 树编码 + */ + public static String getTreecode(JSONObject paramsObj) + { + if (paramsObj.containsKey(GenConstants.TREE_CODE)) + { + return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE)); + } + return StringUtils.EMPTY; + } + + /** + * 获取树父编码 + * + * @param paramsObj 生成其他选项 + * @return 树父编码 + */ + public static String getTreeParentCode(JSONObject paramsObj) + { + if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) + { + return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE)); + } + return StringUtils.EMPTY; + } + + /** + * 获取树名称 + * + * @param paramsObj 生成其他选项 + * @return 树名称 + */ + public static String getTreeName(JSONObject paramsObj) + { + if (paramsObj.containsKey(GenConstants.TREE_NAME)) + { + return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME)); + } + return StringUtils.EMPTY; + } + + /** + * 获取需要在哪一列上面显示展开按钮 + * + * @param genTable 业务表对象 + * @return 展开按钮列序号 + */ + public static int getExpandColumn(GenTable genTable) + { + String options = genTable.getOptions(); + JSONObject paramsObj = JSON.parseObject(options); + String treeName = paramsObj.getString(GenConstants.TREE_NAME); + int num = 0; + for (GenTableColumn column : genTable.getColumns()) + { + if (column.isList()) + { + num++; + String columnName = column.getColumnName(); + if (columnName.equals(treeName)) + { + break; + } + } + } + return num; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/generator.yml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/generator.yml new file mode 100644 index 0000000..5bd3dd6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/generator.yml @@ -0,0 +1,10 @@ +# 代码生成 +gen: + # 作者 + author: ruoyi + # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool + packageName: com.ruoyi.system + # 自动去除表前缀,默认是false + autoRemovePre: false + # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) + tablePrefix: sys_ \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml new file mode 100644 index 0000000..66109de --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column + + + + + + + + insert into gen_table_column ( + table_id, + column_name, + column_comment, + column_type, + java_type, + java_field, + is_pk, + is_increment, + is_required, + is_insert, + is_edit, + is_list, + is_query, + query_type, + html_type, + dict_type, + sort, + create_by, + create_time + )values( + #{tableId}, + #{columnName}, + #{columnComment}, + #{columnType}, + #{javaType}, + #{javaField}, + #{isPk}, + #{isIncrement}, + #{isRequired}, + #{isInsert}, + #{isEdit}, + #{isList}, + #{isQuery}, + #{queryType}, + #{htmlType}, + #{dictType}, + #{sort}, + #{createBy}, + sysdate() + ) + + + + update gen_table_column + + column_comment = #{columnComment}, + java_type = #{javaType}, + java_field = #{javaField}, + is_insert = #{isInsert}, + is_edit = #{isEdit}, + is_list = #{isList}, + is_query = #{isQuery}, + is_required = #{isRequired}, + query_type = #{queryType}, + html_type = #{htmlType}, + dict_type = #{dictType}, + sort = #{sort}, + update_by = #{updateBy}, + update_time = sysdate() + + where column_id = #{columnId} + + + + delete from gen_table_column where table_id in + + #{tableId} + + + + + delete from gen_table_column where column_id in + + #{item.columnId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml new file mode 100644 index 0000000..b605e90 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table + + + + + + + + + + + + + + + + + + insert into gen_table ( + table_name, + table_comment, + class_name, + tpl_category, + package_name, + module_name, + business_name, + function_name, + function_author, + gen_type, + gen_path, + remark, + create_by, + create_time + )values( + #{tableName}, + #{tableComment}, + #{className}, + #{tplCategory}, + #{packageName}, + #{moduleName}, + #{businessName}, + #{functionName}, + #{functionAuthor}, + #{genType}, + #{genPath}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + update gen_table + + table_name = #{tableName}, + table_comment = #{tableComment}, + sub_table_name = #{subTableName}, + sub_table_fk_name = #{subTableFkName}, + class_name = #{className}, + function_author = #{functionAuthor}, + gen_type = #{genType}, + gen_path = #{genPath}, + tpl_category = #{tplCategory}, + package_name = #{packageName}, + module_name = #{moduleName}, + business_name = #{businessName}, + function_name = #{functionName}, + options = #{options}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = sysdate() + + where table_id = #{tableId} + + + + delete from gen_table where table_id in + + #{tableId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/controller.java.vm new file mode 100644 index 0000000..bf88988 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/controller.java.vm @@ -0,0 +1,115 @@ +package ${packageName}.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import ${packageName}.domain.${ClassName}; +import ${packageName}.service.I${ClassName}Service; +import com.ruoyi.common.utils.poi.ExcelUtil; +#if($table.crud || $table.sub) +import com.ruoyi.common.core.page.TableDataInfo; +#elseif($table.tree) +#end + +/** + * ${functionName}Controller + * + * @author ${author} + * @date ${datetime} + */ +@RestController +@RequestMapping("/${moduleName}/${businessName}") +public class ${ClassName}Controller extends BaseController +{ + @Autowired + private I${ClassName}Service ${className}Service; + + /** + * 查询${functionName}列表 + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") + @GetMapping("/list") +#if($table.crud || $table.sub) + public TableDataInfo list(${ClassName} ${className}) + { + startPage(); + List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); + return getDataTable(list); + } +#elseif($table.tree) + public AjaxResult list(${ClassName} ${className}) + { + List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); + return success(list); + } +#end + + /** + * 导出${functionName}列表 + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") + @Log(title = "${functionName}", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ${ClassName} ${className}) + { + List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); + ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); + util.exportExcel(response, list, "${functionName}数据"); + } + + /** + * 获取${functionName}详细信息 + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") + @GetMapping(value = "/{${pkColumn.javaField}}") + public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) + { + return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField})); + } + + /** + * 新增${functionName} + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") + @Log(title = "${functionName}", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ${ClassName} ${className}) + { + return toAjax(${className}Service.insert${ClassName}(${className})); + } + + /** + * 修改${functionName} + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") + @Log(title = "${functionName}", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ${ClassName} ${className}) + { + return toAjax(${className}Service.update${ClassName}(${className})); + } + + /** + * 删除${functionName} + */ + @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") + @Log(title = "${functionName}", businessType = BusinessType.DELETE) + @DeleteMapping("/{${pkColumn.javaField}s}") + public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) + { + return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s)); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/domain.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/domain.java.vm new file mode 100644 index 0000000..bd51c17 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/domain.java.vm @@ -0,0 +1,105 @@ +package ${packageName}.domain; + +#foreach ($import in $importList) +import ${import}; +#end +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +#if($table.crud || $table.sub) +import com.ruoyi.common.core.domain.BaseEntity; +#elseif($table.tree) +import com.ruoyi.common.core.domain.TreeEntity; +#end + +/** + * ${functionName}对象 ${tableName} + * + * @author ${author} + * @date ${datetime} + */ +#if($table.crud || $table.sub) +#set($Entity="BaseEntity") +#elseif($table.tree) +#set($Entity="TreeEntity") +#end +public class ${ClassName} extends ${Entity} +{ + private static final long serialVersionUID = 1L; + +#foreach ($column in $columns) +#if(!$table.isSuperColumn($column.javaField)) + /** $column.columnComment */ +#if($column.list) +#set($parentheseIndex=$column.columnComment.indexOf("(")) +#if($parentheseIndex != -1) +#set($comment=$column.columnComment.substring(0, $parentheseIndex)) +#else +#set($comment=$column.columnComment) +#end +#if($parentheseIndex != -1) + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") +#elseif($column.javaType == 'Date') + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") +#else + @Excel(name = "${comment}") +#end +#end + private $column.javaType $column.javaField; + +#end +#end +#if($table.sub) + /** $table.subTable.functionName信息 */ + private List<${subClassName}> ${subclassName}List; + +#end +#foreach ($column in $columns) +#if(!$table.isSuperColumn($column.javaField)) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + public void set${AttrName}($column.javaType $column.javaField) + { + this.$column.javaField = $column.javaField; + } + + public $column.javaType get${AttrName}() + { + return $column.javaField; + } +#end +#end + +#if($table.sub) + public List<${subClassName}> get${subClassName}List() + { + return ${subclassName}List; + } + + public void set${subClassName}List(List<${subClassName}> ${subclassName}List) + { + this.${subclassName}List = ${subclassName}List; + } + +#end + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +#foreach ($column in $columns) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + .append("${column.javaField}", get${AttrName}()) +#end +#if($table.sub) + .append("${subclassName}List", get${subClassName}List()) +#end + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm new file mode 100644 index 0000000..7e7d7c2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm @@ -0,0 +1,91 @@ +package ${packageName}.mapper; + +import java.util.List; +import ${packageName}.domain.${ClassName}; +#if($table.sub) +import ${packageName}.domain.${subClassName}; +#end + +/** + * ${functionName}Mapper接口 + * + * @author ${author} + * @date ${datetime} + */ +public interface ${ClassName}Mapper +{ + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return ${functionName} + */ + public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); + + /** + * 查询${functionName}列表 + * + * @param ${className} ${functionName} + * @return ${functionName}集合 + */ + public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); + + /** + * 新增${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ + public int insert${ClassName}(${ClassName} ${className}); + + /** + * 修改${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ + public int update${ClassName}(${ClassName} ${className}); + + /** + * 删除${functionName} + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return 结果 + */ + public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); + + /** + * 批量删除${functionName} + * + * @param ${pkColumn.javaField}s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); +#if($table.sub) + + /** + * 批量删除${subTable.functionName} + * + * @param ${pkColumn.javaField}s 需要删除的数据主键集合 + * @return 结果 + */ + public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); + + /** + * 批量新增${subTable.functionName} + * + * @param ${subclassName}List ${subTable.functionName}列表 + * @return 结果 + */ + public int batch${subClassName}(List<${subClassName}> ${subclassName}List); + + + /** + * 通过${functionName}主键删除${subTable.functionName}信息 + * + * @param ${pkColumn.javaField} ${functionName}ID + * @return 结果 + */ + public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField}); +#end +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/service.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/service.java.vm new file mode 100644 index 0000000..264882b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/service.java.vm @@ -0,0 +1,61 @@ +package ${packageName}.service; + +import java.util.List; +import ${packageName}.domain.${ClassName}; + +/** + * ${functionName}Service接口 + * + * @author ${author} + * @date ${datetime} + */ +public interface I${ClassName}Service +{ + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return ${functionName} + */ + public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); + + /** + * 查询${functionName}列表 + * + * @param ${className} ${functionName} + * @return ${functionName}集合 + */ + public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); + + /** + * 新增${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ + public int insert${ClassName}(${ClassName} ${className}); + + /** + * 修改${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ + public int update${ClassName}(${ClassName} ${className}); + + /** + * 批量删除${functionName} + * + * @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合 + * @return 结果 + */ + public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); + + /** + * 删除${functionName}信息 + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return 结果 + */ + public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm new file mode 100644 index 0000000..14746e1 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm @@ -0,0 +1,169 @@ +package ${packageName}.service.impl; + +import java.util.List; +#foreach ($column in $columns) +#if($column.javaField == 'createTime' || $column.javaField == 'updateTime') +import com.ruoyi.common.utils.DateUtils; +#break +#end +#end +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +#if($table.sub) +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import ${packageName}.domain.${subClassName}; +#end +import ${packageName}.mapper.${ClassName}Mapper; +import ${packageName}.domain.${ClassName}; +import ${packageName}.service.I${ClassName}Service; + +/** + * ${functionName}Service业务层处理 + * + * @author ${author} + * @date ${datetime} + */ +@Service +public class ${ClassName}ServiceImpl implements I${ClassName}Service +{ + @Autowired + private ${ClassName}Mapper ${className}Mapper; + + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return ${functionName} + */ + @Override + public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) + { + return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}); + } + + /** + * 查询${functionName}列表 + * + * @param ${className} ${functionName} + * @return ${functionName} + */ + @Override + public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) + { + return ${className}Mapper.select${ClassName}List(${className}); + } + + /** + * 新增${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ +#if($table.sub) + @Transactional +#end + @Override + public int insert${ClassName}(${ClassName} ${className}) + { +#foreach ($column in $columns) +#if($column.javaField == 'createTime') + ${className}.setCreateTime(DateUtils.getNowDate()); +#end +#end +#if($table.sub) + int rows = ${className}Mapper.insert${ClassName}(${className}); + insert${subClassName}(${className}); + return rows; +#else + return ${className}Mapper.insert${ClassName}(${className}); +#end + } + + /** + * 修改${functionName} + * + * @param ${className} ${functionName} + * @return 结果 + */ +#if($table.sub) + @Transactional +#end + @Override + public int update${ClassName}(${ClassName} ${className}) + { +#foreach ($column in $columns) +#if($column.javaField == 'updateTime') + ${className}.setUpdateTime(DateUtils.getNowDate()); +#end +#end +#if($table.sub) + ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}()); + insert${subClassName}(${className}); +#end + return ${className}Mapper.update${ClassName}(${className}); + } + + /** + * 批量删除${functionName} + * + * @param ${pkColumn.javaField}s 需要删除的${functionName}主键 + * @return 结果 + */ +#if($table.sub) + @Transactional +#end + @Override + public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) + { +#if($table.sub) + ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s); +#end + return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s); + } + + /** + * 删除${functionName}信息 + * + * @param ${pkColumn.javaField} ${functionName}主键 + * @return 结果 + */ +#if($table.sub) + @Transactional +#end + @Override + public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) + { +#if($table.sub) + ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField}); +#end + return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}); + } +#if($table.sub) + + /** + * 新增${subTable.functionName}信息 + * + * @param ${className} ${functionName}对象 + */ + public void insert${subClassName}(${ClassName} ${className}) + { + List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List(); + ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}(); + if (StringUtils.isNotNull(${subclassName}List)) + { + List<${subClassName}> list = new ArrayList<${subClassName}>(); + for (${subClassName} ${subclassName} : ${subclassName}List) + { + ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField}); + list.add(${subclassName}); + } + if (list.size() > 0) + { + ${className}Mapper.batch${subClassName}(list); + } + } + } +#end +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm new file mode 100644 index 0000000..a3f53eb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/java/sub-domain.java.vm @@ -0,0 +1,76 @@ +package ${packageName}.domain; + +#foreach ($import in $subImportList) +import ${import}; +#end +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * ${subTable.functionName}对象 ${subTableName} + * + * @author ${author} + * @date ${datetime} + */ +public class ${subClassName} extends BaseEntity +{ + private static final long serialVersionUID = 1L; + +#foreach ($column in $subTable.columns) +#if(!$table.isSuperColumn($column.javaField)) + /** $column.columnComment */ +#if($column.list) +#set($parentheseIndex=$column.columnComment.indexOf("(")) +#if($parentheseIndex != -1) +#set($comment=$column.columnComment.substring(0, $parentheseIndex)) +#else +#set($comment=$column.columnComment) +#end +#if($parentheseIndex != -1) + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") +#elseif($column.javaType == 'Date') + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") +#else + @Excel(name = "${comment}") +#end +#end + private $column.javaType $column.javaField; + +#end +#end +#foreach ($column in $subTable.columns) +#if(!$table.isSuperColumn($column.javaField)) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + public void set${AttrName}($column.javaType $column.javaField) + { + this.$column.javaField = $column.javaField; + } + + public $column.javaType get${AttrName}() + { + return $column.javaField; + } +#end +#end + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +#foreach ($column in $subTable.columns) +#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) +#set($AttrName=$column.javaField) +#else +#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) +#end + .append("${column.javaField}", get${AttrName}()) +#end + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/js/api.js.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/js/api.js.vm new file mode 100644 index 0000000..9295524 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/js/api.js.vm @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询${functionName}列表 +export function list${BusinessName}(query) { + return request({ + url: '/${moduleName}/${businessName}/list', + method: 'get', + params: query + }) +} + +// 查询${functionName}详细 +export function get${BusinessName}(${pkColumn.javaField}) { + return request({ + url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, + method: 'get' + }) +} + +// 新增${functionName} +export function add${BusinessName}(data) { + return request({ + url: '/${moduleName}/${businessName}', + method: 'post', + data: data + }) +} + +// 修改${functionName} +export function update${BusinessName}(data) { + return request({ + url: '/${moduleName}/${businessName}', + method: 'put', + data: data + }) +} + +// 删除${functionName} +export function del${BusinessName}(${pkColumn.javaField}) { + return request({ + url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, + method: 'delete' + }) +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/sql/sql.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/sql/sql.vm new file mode 100644 index 0000000..0575583 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/sql/sql.vm @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('${functionName}导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm new file mode 100644 index 0000000..a4c64a0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm @@ -0,0 +1,505 @@ + + + diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm new file mode 100644 index 0000000..6296014 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -0,0 +1,602 @@ + + + diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm new file mode 100644 index 0000000..7bbd2fc --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm @@ -0,0 +1,474 @@ + + + diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm new file mode 100644 index 0000000..8b25665 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm @@ -0,0 +1,590 @@ + + + diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/readme.txt b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/readme.txt new file mode 100644 index 0000000..99239bb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/vue/v3/readme.txt @@ -0,0 +1 @@ +ʹõRuoYi-Vue3ǰˣôҪһ´Ŀ¼ģindex.vue.vmindex-tree.vue.vmļϼvueĿ¼ \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm new file mode 100644 index 0000000..0ceb3d8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm @@ -0,0 +1,135 @@ + + + + + +#foreach ($column in $columns) + +#end + +#if($table.sub) + + + + + + +#foreach ($column in $subTable.columns) + +#end + +#end + + + select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName} + + + + + + + + insert into ${tableName} + +#foreach($column in $columns) +#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) + $column.columnName, +#end +#end + + +#foreach($column in $columns) +#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) + #{$column.javaField}, +#end +#end + + + + + update ${tableName} + +#foreach($column in $columns) +#if($column.columnName != $pkColumn.columnName) + $column.columnName = #{$column.javaField}, +#end +#end + + where ${pkColumn.columnName} = #{${pkColumn.javaField}} + + + + delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}} + + + + delete from ${tableName} where ${pkColumn.columnName} in + + #{${pkColumn.javaField}} + + +#if($table.sub) + + + delete from ${subTableName} where ${subTableFkName} in + + #{${subTableFkclassName}} + + + + + delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}} + + + + insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values + + (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end) + + +#end + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/pom.xml new file mode 100644 index 0000000..1922bcf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/pom.xml @@ -0,0 +1,40 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + + ruoyi-quartz + + + quartz定时任务 + + + + + + + org.quartz-scheduler + quartz + + + com.mchange + c3p0 + + + + + + + com.ruoyi + ruoyi-common + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java new file mode 100644 index 0000000..a558170 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java @@ -0,0 +1,57 @@ +//package com.ruoyi.quartz.config; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.scheduling.quartz.SchedulerFactoryBean; +//import javax.sql.DataSource; +//import java.util.Properties; +// +///** +// * 定时任务配置(单机部署建议删除此类和qrtz数据库表,默认走内存会最高效) +// * +// * @author ruoyi +// */ +//@Configuration +//public class ScheduleConfig +//{ +// @Bean +// public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) +// { +// SchedulerFactoryBean factory = new SchedulerFactoryBean(); +// factory.setDataSource(dataSource); +// +// // quartz参数 +// Properties prop = new Properties(); +// prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); +// prop.put("org.quartz.scheduler.instanceId", "AUTO"); +// // 线程池配置 +// prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); +// prop.put("org.quartz.threadPool.threadCount", "20"); +// prop.put("org.quartz.threadPool.threadPriority", "5"); +// // JobStore配置 +// prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore"); +// // 集群配置 +// prop.put("org.quartz.jobStore.isClustered", "true"); +// prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); +// prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); +// prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); +// +// // sqlserver 启用 +// // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); +// prop.put("org.quartz.jobStore.misfireThreshold", "12000"); +// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); +// factory.setQuartzProperties(prop); +// +// factory.setSchedulerName("RuoyiScheduler"); +// // 延时启动 +// factory.setStartupDelay(1); +// factory.setApplicationContextSchedulerContextKey("applicationContextKey"); +// // 可选,QuartzScheduler +// // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 +// factory.setOverwriteExistingJobs(true); +// // 设置自动启动,默认为true +// factory.setAutoStartup(true); +// +// return factory; +// } +//} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java new file mode 100644 index 0000000..139361b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java @@ -0,0 +1,185 @@ +package com.ruoyi.quartz.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.job.TaskException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.quartz.domain.SysJob; +import com.ruoyi.quartz.service.ISysJobService; +import com.ruoyi.quartz.util.CronUtils; +import com.ruoyi.quartz.util.ScheduleUtils; + +/** + * 调度任务信息操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/job") +public class SysJobController extends BaseController +{ + @Autowired + private ISysJobService jobService; + + /** + * 查询定时任务列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:list')") + @GetMapping("/list") + public TableDataInfo list(SysJob sysJob) + { + startPage(); + List list = jobService.selectJobList(sysJob); + return getDataTable(list); + } + + /** + * 导出定时任务列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:export')") + @Log(title = "定时任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SysJob sysJob) + { + List list = jobService.selectJobList(sysJob); + ExcelUtil util = new ExcelUtil(SysJob.class); + util.exportExcel(response, list, "定时任务"); + } + + /** + * 获取定时任务详细信息 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:query')") + @GetMapping(value = "/{jobId}") + public AjaxResult getInfo(@PathVariable("jobId") Long jobId) + { + return success(jobService.selectJobById(jobId)); + } + + /** + * 新增定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:add')") + @Log(title = "定时任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException + { + if (!CronUtils.isValid(job.getCronExpression())) + { + return error("新增任务'" + job.getJobName() + "'失败,Cron表达式不正确"); + } + else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) + { + return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS })) + { + return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) + { + return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) + { + return error("新增任务'" + job.getJobName() + "'失败,目标字符串存在违规"); + } + else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) + { + return error("新增任务'" + job.getJobName() + "'失败,目标字符串不在白名单内"); + } + job.setCreateBy(getUsername()); + return toAjax(jobService.insertJob(job)); + } + + /** + * 修改定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:edit')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException + { + if (!CronUtils.isValid(job.getCronExpression())) + { + return error("修改任务'" + job.getJobName() + "'失败,Cron表达式不正确"); + } + else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI)) + { + return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS })) + { + return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS })) + { + return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用"); + } + else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR)) + { + return error("修改任务'" + job.getJobName() + "'失败,目标字符串存在违规"); + } + else if (!ScheduleUtils.whiteList(job.getInvokeTarget())) + { + return error("修改任务'" + job.getJobName() + "'失败,目标字符串不在白名单内"); + } + job.setUpdateBy(getUsername()); + return toAjax(jobService.updateJob(job)); + } + + /** + * 定时任务状态修改 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException + { + SysJob newJob = jobService.selectJobById(job.getJobId()); + newJob.setStatus(job.getStatus()); + return toAjax(jobService.changeStatus(newJob)); + } + + /** + * 定时任务立即执行一次 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:changeStatus')") + @Log(title = "定时任务", businessType = BusinessType.UPDATE) + @PutMapping("/run") + public AjaxResult run(@RequestBody SysJob job) throws SchedulerException + { + boolean result = jobService.run(job); + return result ? success() : error("任务不存在或已过期!"); + } + + /** + * 删除定时任务 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "定时任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{jobIds}") + public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException + { + jobService.deleteJobByIds(jobIds); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java new file mode 100644 index 0000000..62ecbab --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java @@ -0,0 +1,92 @@ +package com.ruoyi.quartz.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.quartz.domain.SysJobLog; +import com.ruoyi.quartz.service.ISysJobLogService; + +/** + * 调度日志操作处理 + * + * @author ruoyi + */ +@RestController +@RequestMapping("/monitor/jobLog") +public class SysJobLogController extends BaseController +{ + @Autowired + private ISysJobLogService jobLogService; + + /** + * 查询定时任务调度日志列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:list')") + @GetMapping("/list") + public TableDataInfo list(SysJobLog sysJobLog) + { + startPage(); + List list = jobLogService.selectJobLogList(sysJobLog); + return getDataTable(list); + } + + /** + * 导出定时任务调度日志列表 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:export')") + @Log(title = "任务调度日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SysJobLog sysJobLog) + { + List list = jobLogService.selectJobLogList(sysJobLog); + ExcelUtil util = new ExcelUtil(SysJobLog.class); + util.exportExcel(response, list, "调度日志"); + } + + /** + * 根据调度编号获取详细信息 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:query')") + @GetMapping(value = "/{jobLogId}") + public AjaxResult getInfo(@PathVariable Long jobLogId) + { + return success(jobLogService.selectJobLogById(jobLogId)); + } + + + /** + * 删除定时任务调度日志 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE) + @DeleteMapping("/{jobLogIds}") + public AjaxResult remove(@PathVariable Long[] jobLogIds) + { + return toAjax(jobLogService.deleteJobLogByIds(jobLogIds)); + } + + /** + * 清空定时任务调度日志 + */ + @PreAuthorize("@ss.hasPermi('monitor:job:remove')") + @Log(title = "调度日志", businessType = BusinessType.CLEAN) + @DeleteMapping("/clean") + public AjaxResult clean() + { + jobLogService.cleanJobLog(); + return success(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java new file mode 100644 index 0000000..1f49695 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java @@ -0,0 +1,171 @@ +package com.ruoyi.quartz.domain; + +import java.util.Date; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.constant.ScheduleConstants; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.quartz.util.CronUtils; + +/** + * 定时任务调度表 sys_job + * + * @author ruoyi + */ +public class SysJob extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 任务ID */ + @Excel(name = "任务序号", cellType = ColumnType.NUMERIC) + private Long jobId; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String jobName; + + /** 任务组名 */ + @Excel(name = "任务组名") + private String jobGroup; + + /** 调用目标字符串 */ + @Excel(name = "调用目标字符串") + private String invokeTarget; + + /** cron执行表达式 */ + @Excel(name = "执行表达式 ") + private String cronExpression; + + /** cron计划策略 */ + @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行") + private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; + + /** 是否并发执行(0允许 1禁止) */ + @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止") + private String concurrent; + + /** 任务状态(0正常 1暂停) */ + @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停") + private String status; + + public Long getJobId() + { + return jobId; + } + + public void setJobId(Long jobId) + { + this.jobId = jobId; + } + + @NotBlank(message = "任务名称不能为空") + @Size(min = 0, max = 64, message = "任务名称不能超过64个字符") + public String getJobName() + { + return jobName; + } + + public void setJobName(String jobName) + { + this.jobName = jobName; + } + + public String getJobGroup() + { + return jobGroup; + } + + public void setJobGroup(String jobGroup) + { + this.jobGroup = jobGroup; + } + + @NotBlank(message = "调用目标字符串不能为空") + @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符") + public String getInvokeTarget() + { + return invokeTarget; + } + + public void setInvokeTarget(String invokeTarget) + { + this.invokeTarget = invokeTarget; + } + + @NotBlank(message = "Cron执行表达式不能为空") + @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符") + public String getCronExpression() + { + return cronExpression; + } + + public void setCronExpression(String cronExpression) + { + this.cronExpression = cronExpression; + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date getNextValidTime() + { + if (StringUtils.isNotEmpty(cronExpression)) + { + return CronUtils.getNextExecution(cronExpression); + } + return null; + } + + public String getMisfirePolicy() + { + return misfirePolicy; + } + + public void setMisfirePolicy(String misfirePolicy) + { + this.misfirePolicy = misfirePolicy; + } + + public String getConcurrent() + { + return concurrent; + } + + public void setConcurrent(String concurrent) + { + this.concurrent = concurrent; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("jobId", getJobId()) + .append("jobName", getJobName()) + .append("jobGroup", getJobGroup()) + .append("cronExpression", getCronExpression()) + .append("nextValidTime", getNextValidTime()) + .append("misfirePolicy", getMisfirePolicy()) + .append("concurrent", getConcurrent()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java new file mode 100644 index 0000000..121c035 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJobLog.java @@ -0,0 +1,155 @@ +package com.ruoyi.quartz.domain; + +import java.util.Date; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 定时任务调度日志表 sys_job_log + * + * @author ruoyi + */ +public class SysJobLog extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + @Excel(name = "日志序号") + private Long jobLogId; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String jobName; + + /** 任务组名 */ + @Excel(name = "任务组名") + private String jobGroup; + + /** 调用目标字符串 */ + @Excel(name = "调用目标字符串") + private String invokeTarget; + + /** 日志信息 */ + @Excel(name = "日志信息") + private String jobMessage; + + /** 执行状态(0正常 1失败) */ + @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败") + private String status; + + /** 异常信息 */ + @Excel(name = "异常信息") + private String exceptionInfo; + + /** 开始时间 */ + private Date startTime; + + /** 停止时间 */ + private Date stopTime; + + public Long getJobLogId() + { + return jobLogId; + } + + public void setJobLogId(Long jobLogId) + { + this.jobLogId = jobLogId; + } + + public String getJobName() + { + return jobName; + } + + public void setJobName(String jobName) + { + this.jobName = jobName; + } + + public String getJobGroup() + { + return jobGroup; + } + + public void setJobGroup(String jobGroup) + { + this.jobGroup = jobGroup; + } + + public String getInvokeTarget() + { + return invokeTarget; + } + + public void setInvokeTarget(String invokeTarget) + { + this.invokeTarget = invokeTarget; + } + + public String getJobMessage() + { + return jobMessage; + } + + public void setJobMessage(String jobMessage) + { + this.jobMessage = jobMessage; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getExceptionInfo() + { + return exceptionInfo; + } + + public void setExceptionInfo(String exceptionInfo) + { + this.exceptionInfo = exceptionInfo; + } + + public Date getStartTime() + { + return startTime; + } + + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStopTime() + { + return stopTime; + } + + public void setStopTime(Date stopTime) + { + this.stopTime = stopTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("jobLogId", getJobLogId()) + .append("jobName", getJobName()) + .append("jobGroup", getJobGroup()) + .append("jobMessage", getJobMessage()) + .append("status", getStatus()) + .append("exceptionInfo", getExceptionInfo()) + .append("startTime", getStartTime()) + .append("stopTime", getStopTime()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java new file mode 100644 index 0000000..727d916 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.quartz.mapper; + +import java.util.List; +import com.ruoyi.quartz.domain.SysJobLog; + +/** + * 调度任务日志信息 数据层 + * + * @author ruoyi + */ +public interface SysJobLogMapper +{ + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + public List selectJobLogList(SysJobLog jobLog); + + /** + * 查询所有调度任务日志 + * + * @return 调度任务日志列表 + */ + public List selectJobLogAll(); + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + public SysJobLog selectJobLogById(Long jobLogId); + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + * @return 结果 + */ + public int insertJobLog(SysJobLog jobLog); + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的数据ID + * @return 结果 + */ + public int deleteJobLogByIds(Long[] logIds); + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + * @return 结果 + */ + public int deleteJobLogById(Long jobId); + + /** + * 清空任务日志 + */ + public void cleanJobLog(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java new file mode 100644 index 0000000..20f45db --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java @@ -0,0 +1,67 @@ +package com.ruoyi.quartz.mapper; + +import java.util.List; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 调度任务信息 数据层 + * + * @author ruoyi + */ +public interface SysJobMapper +{ + /** + * 查询调度任务日志集合 + * + * @param job 调度信息 + * @return 操作日志集合 + */ + public List selectJobList(SysJob job); + + /** + * 查询所有调度任务 + * + * @return 调度任务列表 + */ + public List selectJobAll(); + + /** + * 通过调度ID查询调度任务信息 + * + * @param jobId 调度ID + * @return 角色对象信息 + */ + public SysJob selectJobById(Long jobId); + + /** + * 通过调度ID删除调度任务信息 + * + * @param jobId 调度ID + * @return 结果 + */ + public int deleteJobById(Long jobId); + + /** + * 批量删除调度任务信息 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteJobByIds(Long[] ids); + + /** + * 修改调度任务信息 + * + * @param job 调度任务信息 + * @return 结果 + */ + public int updateJob(SysJob job); + + /** + * 新增调度任务信息 + * + * @param job 调度任务信息 + * @return 结果 + */ + public int insertJob(SysJob job); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java new file mode 100644 index 0000000..8546792 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java @@ -0,0 +1,56 @@ +package com.ruoyi.quartz.service; + +import java.util.List; +import com.ruoyi.quartz.domain.SysJobLog; + +/** + * 定时任务调度日志信息信息 服务层 + * + * @author ruoyi + */ +public interface ISysJobLogService +{ + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + public List selectJobLogList(SysJobLog jobLog); + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + public SysJobLog selectJobLogById(Long jobLogId); + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + */ + public void addJobLog(SysJobLog jobLog); + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的日志ID + * @return 结果 + */ + public int deleteJobLogByIds(Long[] logIds); + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + * @return 结果 + */ + public int deleteJobLogById(Long jobId); + + /** + * 清空任务日志 + */ + public void cleanJobLog(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java new file mode 100644 index 0000000..437ade8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java @@ -0,0 +1,102 @@ +package com.ruoyi.quartz.service; + +import java.util.List; +import org.quartz.SchedulerException; +import com.ruoyi.common.exception.job.TaskException; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 定时任务调度信息信息 服务层 + * + * @author ruoyi + */ +public interface ISysJobService +{ + /** + * 获取quartz调度器的计划任务 + * + * @param job 调度信息 + * @return 调度任务集合 + */ + public List selectJobList(SysJob job); + + /** + * 通过调度任务ID查询调度信息 + * + * @param jobId 调度任务ID + * @return 调度任务对象信息 + */ + public SysJob selectJobById(Long jobId); + + /** + * 暂停任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int pauseJob(SysJob job) throws SchedulerException; + + /** + * 恢复任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int resumeJob(SysJob job) throws SchedulerException; + + /** + * 删除任务后,所对应的trigger也将被删除 + * + * @param job 调度信息 + * @return 结果 + */ + public int deleteJob(SysJob job) throws SchedulerException; + + /** + * 批量删除调度信息 + * + * @param jobIds 需要删除的任务ID + * @return 结果 + */ + public void deleteJobByIds(Long[] jobIds) throws SchedulerException; + + /** + * 任务调度状态修改 + * + * @param job 调度信息 + * @return 结果 + */ + public int changeStatus(SysJob job) throws SchedulerException; + + /** + * 立即运行任务 + * + * @param job 调度信息 + * @return 结果 + */ + public boolean run(SysJob job) throws SchedulerException; + + /** + * 新增任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int insertJob(SysJob job) throws SchedulerException, TaskException; + + /** + * 更新任务 + * + * @param job 调度信息 + * @return 结果 + */ + public int updateJob(SysJob job) throws SchedulerException, TaskException; + + /** + * 校验cron表达式是否有效 + * + * @param cronExpression 表达式 + * @return 结果 + */ + public boolean checkCronExpressionIsValid(String cronExpression); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java new file mode 100644 index 0000000..812eed7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java @@ -0,0 +1,87 @@ +package com.ruoyi.quartz.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.quartz.domain.SysJobLog; +import com.ruoyi.quartz.mapper.SysJobLogMapper; +import com.ruoyi.quartz.service.ISysJobLogService; + +/** + * 定时任务调度日志信息 服务层 + * + * @author ruoyi + */ +@Service +public class SysJobLogServiceImpl implements ISysJobLogService +{ + @Autowired + private SysJobLogMapper jobLogMapper; + + /** + * 获取quartz调度器日志的计划任务 + * + * @param jobLog 调度日志信息 + * @return 调度任务日志集合 + */ + @Override + public List selectJobLogList(SysJobLog jobLog) + { + return jobLogMapper.selectJobLogList(jobLog); + } + + /** + * 通过调度任务日志ID查询调度信息 + * + * @param jobLogId 调度任务日志ID + * @return 调度任务日志对象信息 + */ + @Override + public SysJobLog selectJobLogById(Long jobLogId) + { + return jobLogMapper.selectJobLogById(jobLogId); + } + + /** + * 新增任务日志 + * + * @param jobLog 调度日志信息 + */ + @Override + public void addJobLog(SysJobLog jobLog) + { + jobLogMapper.insertJobLog(jobLog); + } + + /** + * 批量删除调度日志信息 + * + * @param logIds 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteJobLogByIds(Long[] logIds) + { + return jobLogMapper.deleteJobLogByIds(logIds); + } + + /** + * 删除任务日志 + * + * @param jobId 调度日志ID + */ + @Override + public int deleteJobLogById(Long jobId) + { + return jobLogMapper.deleteJobLogById(jobId); + } + + /** + * 清空任务日志 + */ + @Override + public void cleanJobLog() + { + jobLogMapper.cleanJobLog(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java new file mode 100644 index 0000000..77fdbb5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java @@ -0,0 +1,261 @@ +package com.ruoyi.quartz.service.impl; + +import java.util.List; +import javax.annotation.PostConstruct; +import org.quartz.JobDataMap; +import org.quartz.JobKey; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.ruoyi.common.constant.ScheduleConstants; +import com.ruoyi.common.exception.job.TaskException; +import com.ruoyi.quartz.domain.SysJob; +import com.ruoyi.quartz.mapper.SysJobMapper; +import com.ruoyi.quartz.service.ISysJobService; +import com.ruoyi.quartz.util.CronUtils; +import com.ruoyi.quartz.util.ScheduleUtils; + +/** + * 定时任务调度信息 服务层 + * + * @author ruoyi + */ +@Service +public class SysJobServiceImpl implements ISysJobService +{ + @Autowired + private Scheduler scheduler; + + @Autowired + private SysJobMapper jobMapper; + + /** + * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据) + */ + @PostConstruct + public void init() throws SchedulerException, TaskException + { + scheduler.clear(); + List jobList = jobMapper.selectJobAll(); + for (SysJob job : jobList) + { + ScheduleUtils.createScheduleJob(scheduler, job); + } + } + + /** + * 获取quartz调度器的计划任务列表 + * + * @param job 调度信息 + * @return + */ + @Override + public List selectJobList(SysJob job) + { + return jobMapper.selectJobList(job); + } + + /** + * 通过调度任务ID查询调度信息 + * + * @param jobId 调度任务ID + * @return 调度任务对象信息 + */ + @Override + public SysJob selectJobById(Long jobId) + { + return jobMapper.selectJobById(jobId); + } + + /** + * 暂停任务 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int pauseJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 恢复任务 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int resumeJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + job.setStatus(ScheduleConstants.Status.NORMAL.getValue()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 删除任务后,所对应的trigger也将被删除 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int deleteJob(SysJob job) throws SchedulerException + { + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + int rows = jobMapper.deleteJobById(jobId); + if (rows > 0) + { + scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + return rows; + } + + /** + * 批量删除调度信息 + * + * @param jobIds 需要删除的任务ID + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteJobByIds(Long[] jobIds) throws SchedulerException + { + for (Long jobId : jobIds) + { + SysJob job = jobMapper.selectJobById(jobId); + deleteJob(job); + } + } + + /** + * 任务调度状态修改 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(SysJob job) throws SchedulerException + { + int rows = 0; + String status = job.getStatus(); + if (ScheduleConstants.Status.NORMAL.getValue().equals(status)) + { + rows = resumeJob(job); + } + else if (ScheduleConstants.Status.PAUSE.getValue().equals(status)) + { + rows = pauseJob(job); + } + return rows; + } + + /** + * 立即运行任务 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean run(SysJob job) throws SchedulerException + { + boolean result = false; + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + SysJob properties = selectJobById(job.getJobId()); + // 参数 + JobDataMap dataMap = new JobDataMap(); + dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties); + JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); + if (scheduler.checkExists(jobKey)) + { + result = true; + scheduler.triggerJob(jobKey, dataMap); + } + return result; + } + + /** + * 新增任务 + * + * @param job 调度信息 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int insertJob(SysJob job) throws SchedulerException, TaskException + { + job.setStatus(ScheduleConstants.Status.PAUSE.getValue()); + int rows = jobMapper.insertJob(job); + if (rows > 0) + { + ScheduleUtils.createScheduleJob(scheduler, job); + } + return rows; + } + + /** + * 更新任务的时间表达式 + * + * @param job 调度信息 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int updateJob(SysJob job) throws SchedulerException, TaskException + { + SysJob properties = selectJobById(job.getJobId()); + int rows = jobMapper.updateJob(job); + if (rows > 0) + { + updateSchedulerJob(job, properties.getJobGroup()); + } + return rows; + } + + /** + * 更新任务 + * + * @param job 任务对象 + * @param jobGroup 任务组名 + */ + public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException + { + Long jobId = job.getJobId(); + // 判断是否存在 + JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup); + if (scheduler.checkExists(jobKey)) + { + // 防止创建时存在数据问题 先移除,然后在执行创建操作 + scheduler.deleteJob(jobKey); + } + ScheduleUtils.createScheduleJob(scheduler, job); + } + + /** + * 校验cron表达式是否有效 + * + * @param cronExpression 表达式 + * @return 结果 + */ + @Override + public boolean checkCronExpressionIsValid(String cronExpression) + { + return CronUtils.isValid(cronExpression); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java new file mode 100644 index 0000000..853243b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -0,0 +1,28 @@ +package com.ruoyi.quartz.task; + +import org.springframework.stereotype.Component; +import com.ruoyi.common.utils.StringUtils; + +/** + * 定时任务调度测试 + * + * @author ruoyi + */ +@Component("ryTask") +public class RyTask +{ + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) + { + System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); + } + + public void ryParams(String params) + { + System.out.println("执行有参方法:" + params); + } + + public void ryNoParams() + { + System.out.println("执行无参方法"); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java new file mode 100644 index 0000000..731a5eb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java @@ -0,0 +1,107 @@ +package com.ruoyi.quartz.util; + +import java.util.Date; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.ScheduleConstants; +import com.ruoyi.common.utils.ExceptionUtil; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.quartz.domain.SysJob; +import com.ruoyi.quartz.domain.SysJobLog; +import com.ruoyi.quartz.service.ISysJobLogService; + +/** + * 抽象quartz调用 + * + * @author ruoyi + */ +public abstract class AbstractQuartzJob implements Job +{ + private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); + + /** + * 线程本地变量 + */ + private static ThreadLocal threadLocal = new ThreadLocal<>(); + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException + { + SysJob sysJob = new SysJob(); + BeanUtils.copyBeanProp(sysJob, context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES)); + try + { + before(context, sysJob); + if (sysJob != null) + { + doExecute(context, sysJob); + } + after(context, sysJob, null); + } + catch (Exception e) + { + log.error("任务执行异常 - :", e); + after(context, sysJob, e); + } + } + + /** + * 执行前 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + */ + protected void before(JobExecutionContext context, SysJob sysJob) + { + threadLocal.set(new Date()); + } + + /** + * 执行后 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + */ + protected void after(JobExecutionContext context, SysJob sysJob, Exception e) + { + Date startTime = threadLocal.get(); + threadLocal.remove(); + + final SysJobLog sysJobLog = new SysJobLog(); + sysJobLog.setJobName(sysJob.getJobName()); + sysJobLog.setJobGroup(sysJob.getJobGroup()); + sysJobLog.setInvokeTarget(sysJob.getInvokeTarget()); + sysJobLog.setStartTime(startTime); + sysJobLog.setStopTime(new Date()); + long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime(); + sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); + if (e != null) + { + sysJobLog.setStatus(Constants.FAIL); + String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000); + sysJobLog.setExceptionInfo(errorMsg); + } + else + { + sysJobLog.setStatus(Constants.SUCCESS); + } + + // 写入数据库当中 + SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog); + } + + /** + * 执行方法,由子类重载 + * + * @param context 工作执行上下文对象 + * @param sysJob 系统计划任务 + * @throws Exception 执行过程中的异常 + */ + protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception; +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java new file mode 100644 index 0000000..dd53839 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/CronUtils.java @@ -0,0 +1,63 @@ +package com.ruoyi.quartz.util; + +import java.text.ParseException; +import java.util.Date; +import org.quartz.CronExpression; + +/** + * cron表达式工具类 + * + * @author ruoyi + * + */ +public class CronUtils +{ + /** + * 返回一个布尔值代表一个给定的Cron表达式的有效性 + * + * @param cronExpression Cron表达式 + * @return boolean 表达式是否有效 + */ + public static boolean isValid(String cronExpression) + { + return CronExpression.isValidExpression(cronExpression); + } + + /** + * 返回一个字符串值,表示该消息无效Cron表达式给出有效性 + * + * @param cronExpression Cron表达式 + * @return String 无效时返回表达式错误描述,如果有效返回null + */ + public static String getInvalidMessage(String cronExpression) + { + try + { + new CronExpression(cronExpression); + return null; + } + catch (ParseException pe) + { + return pe.getMessage(); + } + } + + /** + * 返回下一个执行时间根据给定的Cron表达式 + * + * @param cronExpression Cron表达式 + * @return Date 下次Cron表达式执行时间 + */ + public static Date getNextExecution(String cronExpression) + { + try + { + CronExpression cron = new CronExpression(cronExpression); + return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis())); + } + catch (ParseException e) + { + throw new IllegalArgumentException(e.getMessage()); + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java new file mode 100644 index 0000000..e3dc62c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java @@ -0,0 +1,182 @@ +package com.ruoyi.quartz.util; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.LinkedList; +import java.util.List; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 任务执行工具 + * + * @author ruoyi + */ +public class JobInvokeUtil +{ + /** + * 执行方法 + * + * @param sysJob 系统任务 + */ + public static void invokeMethod(SysJob sysJob) throws Exception + { + String invokeTarget = sysJob.getInvokeTarget(); + String beanName = getBeanName(invokeTarget); + String methodName = getMethodName(invokeTarget); + List methodParams = getMethodParams(invokeTarget); + + if (!isValidClassName(beanName)) + { + Object bean = SpringUtils.getBean(beanName); + invokeMethod(bean, methodName, methodParams); + } + else + { + Object bean = Class.forName(beanName).getDeclaredConstructor().newInstance(); + invokeMethod(bean, methodName, methodParams); + } + } + + /** + * 调用任务方法 + * + * @param bean 目标对象 + * @param methodName 方法名称 + * @param methodParams 方法参数 + */ + private static void invokeMethod(Object bean, String methodName, List methodParams) + throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, + InvocationTargetException + { + if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) + { + Method method = bean.getClass().getMethod(methodName, getMethodParamsType(methodParams)); + method.invoke(bean, getMethodParamsValue(methodParams)); + } + else + { + Method method = bean.getClass().getMethod(methodName); + method.invoke(bean); + } + } + + /** + * 校验是否为为class包名 + * + * @param invokeTarget 名称 + * @return true是 false否 + */ + public static boolean isValidClassName(String invokeTarget) + { + return StringUtils.countMatches(invokeTarget, ".") > 1; + } + + /** + * 获取bean名称 + * + * @param invokeTarget 目标字符串 + * @return bean名称 + */ + public static String getBeanName(String invokeTarget) + { + String beanName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringBeforeLast(beanName, "."); + } + + /** + * 获取bean方法 + * + * @param invokeTarget 目标字符串 + * @return method方法 + */ + public static String getMethodName(String invokeTarget) + { + String methodName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringAfterLast(methodName, "."); + } + + /** + * 获取method方法参数相关列表 + * + * @param invokeTarget 目标字符串 + * @return method方法相关参数列表 + */ + public static List getMethodParams(String invokeTarget) + { + String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); + if (StringUtils.isEmpty(methodStr)) + { + return null; + } + String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)"); + List classs = new LinkedList<>(); + for (int i = 0; i < methodParams.length; i++) + { + String str = StringUtils.trimToEmpty(methodParams[i]); + // String字符串类型,以'或"开头 + if (StringUtils.startsWithAny(str, "'", "\"")) + { + classs.add(new Object[] { StringUtils.substring(str, 1, str.length() - 1), String.class }); + } + // boolean布尔类型,等于true或者false + else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) + { + classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); + } + // long长整形,以L结尾 + else if (StringUtils.endsWith(str, "L")) + { + classs.add(new Object[] { Long.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Long.class }); + } + // double浮点类型,以D结尾 + else if (StringUtils.endsWith(str, "D")) + { + classs.add(new Object[] { Double.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Double.class }); + } + // 其他类型归类为整形 + else + { + classs.add(new Object[] { Integer.valueOf(str), Integer.class }); + } + } + return classs; + } + + /** + * 获取参数类型 + * + * @param methodParams 参数相关列表 + * @return 参数类型列表 + */ + public static Class[] getMethodParamsType(List methodParams) + { + Class[] classs = new Class[methodParams.size()]; + int index = 0; + for (Object[] os : methodParams) + { + classs[index] = (Class) os[1]; + index++; + } + return classs; + } + + /** + * 获取参数值 + * + * @param methodParams 参数相关列表 + * @return 参数值列表 + */ + public static Object[] getMethodParamsValue(List methodParams) + { + Object[] classs = new Object[methodParams.size()]; + int index = 0; + for (Object[] os : methodParams) + { + classs[index] = (Object) os[0]; + index++; + } + return classs; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java new file mode 100644 index 0000000..5e13558 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzDisallowConcurrentExecution.java @@ -0,0 +1,21 @@ +package com.ruoyi.quartz.util; + +import org.quartz.DisallowConcurrentExecution; +import org.quartz.JobExecutionContext; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 定时任务处理(禁止并发执行) + * + * @author ruoyi + * + */ +@DisallowConcurrentExecution +public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob +{ + @Override + protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception + { + JobInvokeUtil.invokeMethod(sysJob); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java new file mode 100644 index 0000000..e975326 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/QuartzJobExecution.java @@ -0,0 +1,19 @@ +package com.ruoyi.quartz.util; + +import org.quartz.JobExecutionContext; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 定时任务处理(允许并发执行) + * + * @author ruoyi + * + */ +public class QuartzJobExecution extends AbstractQuartzJob +{ + @Override + protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception + { + JobInvokeUtil.invokeMethod(sysJob); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java new file mode 100644 index 0000000..21fedae --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java @@ -0,0 +1,141 @@ +package com.ruoyi.quartz.util; + +import org.quartz.CronScheduleBuilder; +import org.quartz.CronTrigger; +import org.quartz.Job; +import org.quartz.JobBuilder; +import org.quartz.JobDetail; +import org.quartz.JobKey; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.quartz.TriggerBuilder; +import org.quartz.TriggerKey; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.ScheduleConstants; +import com.ruoyi.common.exception.job.TaskException; +import com.ruoyi.common.exception.job.TaskException.Code; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.quartz.domain.SysJob; + +/** + * 定时任务工具类 + * + * @author ruoyi + * + */ +public class ScheduleUtils +{ + /** + * 得到quartz任务类 + * + * @param sysJob 执行计划 + * @return 具体执行任务类 + */ + private static Class getQuartzJobClass(SysJob sysJob) + { + boolean isConcurrent = "0".equals(sysJob.getConcurrent()); + return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class; + } + + /** + * 构建任务触发对象 + */ + public static TriggerKey getTriggerKey(Long jobId, String jobGroup) + { + return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); + } + + /** + * 构建任务键对象 + */ + public static JobKey getJobKey(Long jobId, String jobGroup) + { + return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup); + } + + /** + * 创建定时任务 + */ + public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException + { + Class jobClass = getQuartzJobClass(job); + // 构建job信息 + Long jobId = job.getJobId(); + String jobGroup = job.getJobGroup(); + JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build(); + + // 表达式调度构建器 + CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression()); + cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder); + + // 按新的cronExpression表达式构建一个新的trigger + CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) + .withSchedule(cronScheduleBuilder).build(); + + // 放入参数,运行时的方法可以获取 + jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job); + + // 判断是否存在 + if (scheduler.checkExists(getJobKey(jobId, jobGroup))) + { + // 防止创建时存在数据问题 先移除,然后在执行创建操作 + scheduler.deleteJob(getJobKey(jobId, jobGroup)); + } + + // 判断任务是否过期 + if (StringUtils.isNotNull(CronUtils.getNextExecution(job.getCronExpression()))) + { + // 执行调度任务 + scheduler.scheduleJob(jobDetail, trigger); + } + + // 暂停任务 + if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue())) + { + scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup)); + } + } + + /** + * 设置定时任务策略 + */ + public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb) + throws TaskException + { + switch (job.getMisfirePolicy()) + { + case ScheduleConstants.MISFIRE_DEFAULT: + return cb; + case ScheduleConstants.MISFIRE_IGNORE_MISFIRES: + return cb.withMisfireHandlingInstructionIgnoreMisfires(); + case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED: + return cb.withMisfireHandlingInstructionFireAndProceed(); + case ScheduleConstants.MISFIRE_DO_NOTHING: + return cb.withMisfireHandlingInstructionDoNothing(); + default: + throw new TaskException("The task misfire policy '" + job.getMisfirePolicy() + + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR); + } + } + + /** + * 检查包名是否为白名单配置 + * + * @param invokeTarget 目标字符串 + * @return 结果 + */ + public static boolean whiteList(String invokeTarget) + { + String packageName = StringUtils.substringBefore(invokeTarget, "("); + int count = StringUtils.countMatches(packageName, "."); + if (count > 1) + { + return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR); + } + Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]); + String beanPackageName = obj.getClass().getPackage().getName(); + return StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_WHITELIST_STR) + && !StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_ERROR_STR); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml new file mode 100644 index 0000000..e608e42 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + select job_log_id, job_name, job_group, invoke_target, job_message, status, exception_info, create_time + from sys_job_log + + + + + + + + + + delete from sys_job_log where job_log_id = #{jobLogId} + + + + delete from sys_job_log where job_log_id in + + #{jobLogId} + + + + + truncate table sys_job_log + + + + insert into sys_job_log( + job_log_id, + job_name, + job_group, + invoke_target, + job_message, + status, + exception_info, + create_time + )values( + #{jobLogId}, + #{jobName}, + #{jobGroup}, + #{invokeTarget}, + #{jobMessage}, + #{status}, + #{exceptionInfo}, + sysdate() + ) + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml new file mode 100644 index 0000000..5605c44 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark + from sys_job + + + + + + + + + + delete from sys_job where job_id = #{jobId} + + + + delete from sys_job where job_id in + + #{jobId} + + + + + update sys_job + + job_name = #{jobName}, + job_group = #{jobGroup}, + invoke_target = #{invokeTarget}, + cron_expression = #{cronExpression}, + misfire_policy = #{misfirePolicy}, + concurrent = #{concurrent}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where job_id = #{jobId} + + + + insert into sys_job( + job_id, + job_name, + job_group, + invoke_target, + cron_expression, + misfire_policy, + concurrent, + status, + remark, + create_by, + create_time + )values( + #{jobId}, + #{jobName}, + #{jobGroup}, + #{invokeTarget}, + #{cronExpression}, + #{misfirePolicy}, + #{concurrent}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/.DS_Store new file mode 100644 index 0000000..7628748 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/pom.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/pom.xml new file mode 100644 index 0000000..aa268bd --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/pom.xml @@ -0,0 +1,28 @@ + + + + ruoyi + com.ruoyi + 3.8.5 + + 4.0.0 + + ruoyi-system + + + system系统模块 + + + + + + + com.ruoyi + ruoyi-common + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/.DS_Store new file mode 100644 index 0000000..6f62752 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/.DS_Store new file mode 100644 index 0000000..543657e Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/.DS_Store new file mode 100644 index 0000000..0f4781d Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/.DS_Store new file mode 100644 index 0000000..e6d1d59 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/.DS_Store new file mode 100644 index 0000000..36269f2 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/.DS_Store new file mode 100644 index 0000000..96014d5 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/.DS_Store new file mode 100644 index 0000000..3aa565e Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhALove.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhALove.java new file mode 100644 index 0000000..86673a6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhALove.java @@ -0,0 +1,52 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 点赞记录对象 bh_a_love + * + * @author MrYuan + * @date 2023-05-31 + */ +public class BhALove extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 点赞用户ID */ + @Excel(name = "点赞用户ID") + private Long uid; + + /** 点赞文章 */ + @Excel(name = "点赞文章") + private Long aid; + + public void setUid(Long uid) + { + this.uid = uid; + } + + public Long getUid() + { + return uid; + } + public void setAid(Long aid) + { + this.aid = aid; + } + + public Long getAid() + { + return aid; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("uid", getUid()) + .append("aid", getAid()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhArtice.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhArtice.java new file mode 100644 index 0000000..a9f1125 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhArtice.java @@ -0,0 +1,113 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 社区对象 bh_artice + * + * @author Mr Yuan + * @date 2023-05-31 + */ +public class BhArtice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long userid; + private Boolean status; + + public Boolean getStatus() { + return status; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + public Long getUserid() { + return userid; + } + + public void setUserid(Long userid) { + this.userid = userid; + } + + /** ID */ + private Long id; + + /** 姓名 */ + @Excel(name = "姓名") + private String name; + + /** 用户ID */ + @Excel(name = "用户ID") + private Long uid; + + /** 内容 */ + @Excel(name = "内容") + private String content; + + /** 点赞数 */ + @Excel(name = "点赞数") + private Long count; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setUid(Long uid) + { + this.uid = uid; + } + + public Long getUid() + { + return uid; + } + public void setContent(String content) + { + this.content = content; + } + + public String getContent() + { + return content; + } + public void setCount(Long count) + { + this.count = count; + } + + public Long getCount() + { + return count; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("uid", getUid()) + .append("content", getContent()) + .append("createTime", getCreateTime()) + .append("count", getCount()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCalories.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCalories.java new file mode 100644 index 0000000..1d8c3b7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCalories.java @@ -0,0 +1,155 @@ +package com.ruoyi.system.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +import java.util.Date; + +/** + * 燃烧我的卡路里对象 bh_calories + * + * @author MrYuan + * @date 2023-05-17 + */ +public class BhCalories extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 用户id */ + @Excel(name = "用户id") + private Long uid; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String cName; + + /** 项目id */ + @Excel(name = "项目id") + private Long cId; + + /** 项目类型 */ + @Excel(name = "项目类型") + private Long cType; + + /** 项目图片 */ + @Excel(name = "项目图片") + private String cImg; + + /** 重量或时间 */ + @Excel(name = "重量或时间") + private Long cNum; + + /** 计量单位 */ + @Excel(name = "计量单位") + private Long cWeight; + + /** 消耗卡路里 */ + @Excel(name = "消耗卡路里") + private Long cValue; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createTime; + + @Override + public Date getCreateTime() { + return createTime; + } + + @Override + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public void setUid(Long uid) + { + this.uid = uid; + } + + public Long getUid() + { + return uid; + } + public void setcName(String cName) + { + this.cName = cName; + } + + public String getcName() + { + return cName; + } + public void setcId(Long cId) + { + this.cId = cId; + } + + public Long getcId() + { + return cId; + } + public void setcType(Long cType) + { + this.cType = cType; + } + + public Long getcType() + { + return cType; + } + public void setcImg(String cImg) + { + this.cImg = cImg; + } + + public String getcImg() + { + return cImg; + } + public void setcNum(Long cNum) + { + this.cNum = cNum; + } + + public Long getcNum() + { + return cNum; + } + public void setcWeight(Long cWeight) + { + this.cWeight = cWeight; + } + + public Long getcWeight() + { + return cWeight; + } + public void setcValue(Long cValue) + { + this.cValue = cValue; + } + + public Long getcValue() + { + return cValue; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("uid", getUid()) + .append("cName", getcName()) + .append("cId", getcId()) + .append("cType", getcType()) + .append("cImg", getcImg()) + .append("cNum", getcNum()) + .append("cWeight", getcWeight()) + .append("cValue", getcValue()) + .append("createTime", getCreateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCategories.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCategories.java new file mode 100644 index 0000000..ae46fdb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhCategories.java @@ -0,0 +1,140 @@ +package com.ruoyi.system.domain; + +import java.util.List; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 分类管理对象 bh_categories + * + * @author ruoyi + * @date 2023-05-15 + */ +public class BhCategories extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + private Long id; + + /** 分类名称 */ + @Excel(name = "分类名称") + private String name; + + /** 图标 */ + @Excel(name = "图标") + private String imageUrl; + + /** 二级分类数量 */ + private String subCategoryCount; + + /** 二级分类 */ + private String subCategories; + + /** 描述 */ + @Excel(name = "描述") + private String description; + + private List products; + + public List getProducts() { + return products; + } + + public void setProducts(List products) { + this.products = products; + } + + /** 食物管理信息 */ + private List bhFoodList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setImageUrl(String imageUrl) + { + this.imageUrl = imageUrl; + } + + public String getImageUrl() + { + try{ + if(imageUrl.contains("http")){ + return imageUrl; + } + }catch (Exception e){ + return imageUrl; + } + + + String url = "http://localhost:8081"; + return url + imageUrl; + } + public void setSubCategoryCount(String subCategoryCount) + { + this.subCategoryCount = subCategoryCount; + } + + public String getSubCategoryCount() + { + return subCategoryCount; + } + public void setSubCategories(String subCategories) + { + this.subCategories = subCategories; + } + + public String getSubCategories() + { + return subCategories; + } + public void setDescription(String description) + { + this.description = description; + } + + public String getDescription() + { + return description; + } + + public List getBhFoodList() + { + return bhFoodList; + } + + public void setBhFoodList(List bhFoodList) + { + this.bhFoodList = bhFoodList; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("imageUrl", getImageUrl()) + .append("subCategoryCount", getSubCategoryCount()) + .append("subCategories", getSubCategories()) + .append("description", getDescription()) + .append("bhFoodList", getBhFoodList()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhFood.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhFood.java new file mode 100644 index 0000000..2e1643c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhFood.java @@ -0,0 +1,608 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 食物管理对象 bh_food + * + * @author ruoyi + * @date 2023-05-15 + */ +public class BhFood extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + private Long id; + + /** 编码 */ + @Excel(name = "编码") + private String code; + + /** 食物名称 */ + @Excel(name = "食物名称") + private String name; + + /** 缩略图 */ + @Excel(name = "缩略图") + private String thumbImageUrl; + + /** 是否是液体 */ + @Excel(name = "是否是液体") + private String isLiquid; + + /** 健康度/推荐食用等级 */ + @Excel(name = "健康度/推荐食用等级") + private Long healthLight; + + /** 重量/每100g */ + @Excel(name = "重量/每100g") + private String weight; + + /** 卡路里 */ + @Excel(name = "卡路里") + private String calory; + + /** 脂肪 */ + @Excel(name = "脂肪") + private String fat; + + /** 蛋白质 */ + @Excel(name = "蛋白质") + private String protein; + + /** 膳食纤维 */ + @Excel(name = "膳食纤维") + private String fiberDietary; + + /** 碳水化合物 */ + @Excel(name = "碳水化合物") + private String carbohydrate; + + /** 维生素A */ + @Excel(name = "维生素A") + private String vitaminA; + + /** 维生素B1 */ + @Excel(name = "维生素B1") + private String thiamine; + + /** 维生素B2 */ + @Excel(name = "维生素B2") + private String lactoflavin; + + /** 维生素C */ + @Excel(name = "维生素C") + private String vitaminC; + + /** 维生素E */ + @Excel(name = "维生素E") + private String vitaminE; + + /** 烟酸 */ + @Excel(name = "烟酸") + private String niacin; + + /** 钠 */ + @Excel(name = "钠") + private String natrium; + + /** 钙 */ + @Excel(name = "钙") + private String calcium; + + /** 铁 */ + @Excel(name = "铁") + private String iron; + + /** 钾 */ + @Excel(name = "钾") + private String kalium; + + /** 碘 */ + @Excel(name = "碘") + private String iodine; + + /** 锌 */ + @Excel(name = "锌") + private String zinc; + + /** 硒 */ + @Excel(name = "硒") + private String selenium; + + /** 镁 + */ + @Excel(name = "镁") + private String magnesium; + + /** 铜 */ + @Excel(name = "铜") + private String copper; + + /** 锰 */ + @Excel(name = "锰") + private String manganese; + + /** 胆固醇 */ + @Excel(name = "胆固醇") + private String cholesterol; + + /** 叶酸 */ + @Excel(name = "叶酸") + private String folacin; + + /** 饱和脂肪 */ + @Excel(name = "饱和脂肪") + private String saturatedFat; + + /** 糖 */ + @Excel(name = "糖") + private String sugar; + + /** 维生素B6 */ + @Excel(name = "维生素B6") + private String vitaminB6; + + /** 磷 */ + @Excel(name = "磷") + private String phosphor; + + /** GI */ + @Excel(name = "GI") + private String gi; + + /** GL */ + @Excel(name = "GL") + private String gl; + + /** 分类id */ + @Excel(name = "分类id") + private Long pid; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setCode(String code) + { + this.code = code; + } + + public String getCode() + { + return code; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setThumbImageUrl(String thumbImageUrl) + { + this.thumbImageUrl = thumbImageUrl; + } + + public String getThumbImageUrl() + { + + String url = "http://localhost:8081"; + try{ + if(thumbImageUrl.contains("http")){ + return thumbImageUrl; + } + }catch (Exception e){ + + return thumbImageUrl; + } + return url + thumbImageUrl; + + } + public void setIsLiquid(String isLiquid) + { + this.isLiquid = isLiquid; + } + + public String getIsLiquid() + { + return isLiquid; + } + public void setHealthLight(Long healthLight) + { + this.healthLight = healthLight; + } + + public Long getHealthLight() + { + return healthLight; + } + public void setWeight(String weight) + { + this.weight = weight; + } + + public String getWeight() + { + return weight; + } + public void setCalory(String calory) + { + this.calory = calory; + } + + public String getCalory() + { + return calory; + } + public void setFat(String fat) + { + this.fat = fat; + } + + public String getFat() + { + return fat; + } + public void setProtein(String protein) + { + this.protein = protein; + } + + public String getProtein() + { + return protein; + } + public void setFiberDietary(String fiberDietary) + { + this.fiberDietary = fiberDietary; + } + + public String getFiberDietary() + { + return fiberDietary; + } + public void setCarbohydrate(String carbohydrate) + { + this.carbohydrate = carbohydrate; + } + + public String getCarbohydrate() + { + return carbohydrate; + } + public void setVitaminA(String vitaminA) + { + this.vitaminA = vitaminA; + } + + public String getVitaminA() + { + return vitaminA; + } + public void setThiamine(String thiamine) + { + this.thiamine = thiamine; + } + + public String getThiamine() + { + return thiamine; + } + public void setLactoflavin(String lactoflavin) + { + this.lactoflavin = lactoflavin; + } + + public String getLactoflavin() + { + return lactoflavin; + } + public void setVitaminC(String vitaminC) + { + this.vitaminC = vitaminC; + } + + public String getVitaminC() + { + return vitaminC; + } + public void setVitaminE(String vitaminE) + { + this.vitaminE = vitaminE; + } + + public String getVitaminE() + { + return vitaminE; + } + public void setNiacin(String niacin) + { + this.niacin = niacin; + } + + public String getNiacin() + { + return niacin; + } + public void setNatrium(String natrium) + { + this.natrium = natrium; + } + + public String getNatrium() + { + return natrium; + } + public void setCalcium(String calcium) + { + this.calcium = calcium; + } + + public String getCalcium() + { + return calcium; + } + public void setIron(String iron) + { + this.iron = iron; + } + + public String getIron() + { + return iron; + } + public void setKalium(String kalium) + { + this.kalium = kalium; + } + + public String getKalium() + { + return kalium; + } + public void setIodine(String iodine) + { + this.iodine = iodine; + } + + public String getIodine() + { + return iodine; + } + public void setZinc(String zinc) + { + this.zinc = zinc; + } + + public String getZinc() + { + return zinc; + } + public void setSelenium(String selenium) + { + this.selenium = selenium; + } + + public String getSelenium() + { + return selenium; + } + public void setMagnesium(String magnesium) + { + this.magnesium = magnesium; + } + + public String getMagnesium() + { + return magnesium; + } + public void setCopper(String copper) + { + this.copper = copper; + } + + public String getCopper() + { + return copper; + } + public void setManganese(String manganese) + { + this.manganese = manganese; + } + + public String getManganese() + { + return manganese; + } + public void setCholesterol(String cholesterol) + { + this.cholesterol = cholesterol; + } + + public String getCholesterol() + { + return cholesterol; + } + public void setFolacin(String folacin) + { + this.folacin = folacin; + } + + public String getFolacin() + { + return folacin; + } + public void setSaturatedFat(String saturatedFat) + { + this.saturatedFat = saturatedFat; + } + + public String getSaturatedFat() + { + return saturatedFat; + } + public void setSugar(String sugar) + { + this.sugar = sugar; + } + + public String getSugar() + { + return sugar; + } + public void setVitaminB6(String vitaminB6) + { + this.vitaminB6 = vitaminB6; + } + + public String getVitaminB6() + { + return vitaminB6; + } + public void setPhosphor(String phosphor) + { + this.phosphor = phosphor; + } + + public String getPhosphor() + { + return phosphor; + } + public void setGi(String gi) + { + this.gi = gi; + } + + public String getGi() + { + return gi; + } + public void setGl(String gl) + { + this.gl = gl; + } + + public String getGl() + { + return gl; + } + public void setPid(Long pid) + { + this.pid = pid; + } + + public Long getPid() + { + return pid; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("code", getCode()) + .append("name", getName()) + .append("thumbImageUrl", getThumbImageUrl()) + .append("isLiquid", getIsLiquid()) + .append("healthLight", getHealthLight()) + .append("weight", getWeight()) + .append("calory", getCalory()) + .append("fat", getFat()) + .append("protein", getProtein()) + .append("fiberDietary", getFiberDietary()) + .append("carbohydrate", getCarbohydrate()) + .append("vitaminA", getVitaminA()) + .append("thiamine", getThiamine()) + .append("lactoflavin", getLactoflavin()) + .append("vitaminC", getVitaminC()) + .append("vitaminE", getVitaminE()) + .append("niacin", getNiacin()) + .append("natrium", getNatrium()) + .append("calcium", getCalcium()) + .append("iron", getIron()) + .append("kalium", getKalium()) + .append("iodine", getIodine()) + .append("zinc", getZinc()) + .append("selenium", getSelenium()) + .append("magnesium", getMagnesium()) + .append("copper", getCopper()) + .append("manganese", getManganese()) + .append("cholesterol", getCholesterol()) + .append("folacin", getFolacin()) + .append("saturatedFat", getSaturatedFat()) + .append("sugar", getSugar()) + .append("vitaminB6", getVitaminB6()) + .append("phosphor", getPhosphor()) + .append("gi", getGi()) + .append("gl", getGl()) + .append("pid", getPid()) + .toString(); + } + + private String thumb_image_url; + private String is_liquid; + private Long health_light; + private String fiber_dietary; + private String vitamin_a; + private String vitamin_c; + private String vitamin_e; + private String saturated_fat; + private String vitamin_b6; + + public void setIs_liquid(String is_liquid) { + this.is_liquid = is_liquid; + this.isLiquid = is_liquid; + } + + public void setHealth_light(Long health_light) { + this.health_light = health_light; + this.healthLight = health_light; + } + + public void setFiber_dietary(String fiber_dietary) { + this.fiber_dietary = fiber_dietary; + this.fiberDietary = fiber_dietary; + } + + public void setVitamin_a(String vitamin_a) { + this.vitamin_a = vitamin_a; + this.vitaminA = vitamin_a; + } + + public void setVitamin_c(String vitamin_c) { + this.vitamin_c = vitamin_c; + this.vitaminC = vitamin_c; + } + + public void setVitamin_e(String vitamin_e) { + this.vitamin_e = vitamin_e; + this.vitaminE = vitamin_e; + } + + public void setSaturated_fat(String saturated_fat) { + this.saturated_fat = saturated_fat; + this.saturatedFat = saturated_fat; + } + + public void setVitamin_b6(String vitamin_b6) { + this.vitamin_b6 = vitamin_b6; + this.vitaminB6 = vitamin_b6; + } + + public void setThumb_image_url(String thumb_image_url) { + this.thumb_image_url = thumb_image_url; + this.thumbImageUrl = thumb_image_url; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhLoveFood.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhLoveFood.java new file mode 100644 index 0000000..8637d43 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhLoveFood.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 收藏食物对象 bh_love_food + * + * @author MrYuan + * @date 2023-05-18 + */ +public class BhLoveFood extends BhFood +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long uid; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long fid; + + private BhFood food; + + public BhFood getFood() { + return food; + } + + public void setFood(BhFood food) { + this.food = food; + } + + public void setUid(Long uid) + { + this.uid = uid; + } + + public Long getUid() + { + return uid; + } + public void setFid(Long fid) + { + this.fid = fid; + } + + public Long getFid() + { + return fid; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("uid", getUid()) + .append("fid", getFid()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhMove.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhMove.java new file mode 100644 index 0000000..c96579e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BhMove.java @@ -0,0 +1,116 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 运动项目管理对象 bh_move + * + * @author MrYuan + * @date 2023-05-16 + */ +public class BhMove extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 缩略图 */ + @Excel(name = "缩略图") + private String img; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String name; + + /** 卡路里 */ + @Excel(name = "卡路里") + private Long calory; + + /** 计算单位 分钟 */ + @Excel(name = "计算单位 分钟") + private Long weight; + + /** $column.columnComment */ + private Long type; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setImg(String img) + { + this.img = img; + } + + public String getImg() + { + try{ + if(img.contains("http")){ + return img; + } + }catch (Exception e){ + return img; + } + String url = "http://localhost:8081"; + return url + img; + + + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setCalory(Long calory) + { + this.calory = calory; + } + + public Long getCalory() + { + return calory; + } + public void setWeight(Long weight) + { + this.weight = weight; + } + + public Long getWeight() + { + return weight; + } + public void setType(Long type) + { + this.type = type; + } + + public Long getType() + { + return type; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("img", getImg()) + .append("name", getName()) + .append("calory", getCalory()) + .append("weight", getWeight()) + .append("type", getType()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BoheUser.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BoheUser.java new file mode 100644 index 0000000..e9353b0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/BoheUser.java @@ -0,0 +1,149 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 薄荷用户管理对象 bohe_user + * + * @author MrYuan + * @date 2023-05-16 + */ +public class BoheUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 用户编号 */ + private Long id; + + /** 账号 */ + @Excel(name = "账号") + private String username; + + /** 密码 */ + @Excel(name = "密码") + private String password; + + /** 姓名 */ + @Excel(name = "姓名") + private String name; + + /** 性别 */ + @Excel(name = "性别") + private String sex; + + /** 年龄 */ + @Excel(name = "年龄") + private Long age; + + /** 体重 */ + @Excel(name = "体重") + private Long weight; + + /** 身高 */ + @Excel(name = "身高") + private Long height; + + /** 每日应摄入卡路里 */ + @Excel(name = "每日应摄入卡路里") + private Long calory; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setUsername(String username) + { + this.username = username; + } + + public String getUsername() + { + return username; + } + public void setPassword(String password) + { + this.password = password; + } + + public String getPassword() + { + return password; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setSex(String sex) + { + this.sex = sex; + } + + public String getSex() + { + return sex; + } + public void setAge(Long age) + { + this.age = age; + } + + public Long getAge() + { + return age; + } + public void setWeight(Long weight) + { + this.weight = weight; + } + + public Long getWeight() + { + return weight; + } + public void setHeight(Long height) + { + this.height = height; + } + + public Long getHeight() + { + return height; + } + public void setCalory(Long calory) + { + this.calory = calory; + } + + public Long getCalory() + { + return calory; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("username", getUsername()) + .append("password", getPassword()) + .append("name", getName()) + .append("sex", getSex()) + .append("age", getAge()) + .append("weight", getWeight()) + .append("height", getHeight()) + .append("calory", getCalory()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysCache.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysCache.java new file mode 100644 index 0000000..83f0703 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysCache.java @@ -0,0 +1,81 @@ +package com.ruoyi.system.domain; + +import com.ruoyi.common.utils.StringUtils; + +/** + * 缓存信息 + * + * @author ruoyi + */ +public class SysCache +{ + /** 缓存名称 */ + private String cacheName = ""; + + /** 缓存键名 */ + private String cacheKey = ""; + + /** 缓存内容 */ + private String cacheValue = ""; + + /** 备注 */ + private String remark = ""; + + public SysCache() + { + + } + + public SysCache(String cacheName, String remark) + { + this.cacheName = cacheName; + this.remark = remark; + } + + public SysCache(String cacheName, String cacheKey, String cacheValue) + { + this.cacheName = StringUtils.replace(cacheName, ":", ""); + this.cacheKey = StringUtils.replace(cacheKey, cacheName, ""); + this.cacheValue = cacheValue; + } + + public String getCacheName() + { + return cacheName; + } + + public void setCacheName(String cacheName) + { + this.cacheName = cacheName; + } + + public String getCacheKey() + { + return cacheKey; + } + + public void setCacheKey(String cacheKey) + { + this.cacheKey = cacheKey; + } + + public String getCacheValue() + { + return cacheValue; + } + + public void setCacheValue(String cacheValue) + { + this.cacheValue = cacheValue; + } + + public String getRemark() + { + return remark; + } + + public void setRemark(String remark) + { + this.remark = remark; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java new file mode 100644 index 0000000..c54678c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysConfig.java @@ -0,0 +1,111 @@ +package com.ruoyi.system.domain; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 参数配置表 sys_config + * + * @author ruoyi + */ +public class SysConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 参数主键 */ + @Excel(name = "参数主键", cellType = ColumnType.NUMERIC) + private Long configId; + + /** 参数名称 */ + @Excel(name = "参数名称") + private String configName; + + /** 参数键名 */ + @Excel(name = "参数键名") + private String configKey; + + /** 参数键值 */ + @Excel(name = "参数键值") + private String configValue; + + /** 系统内置(Y是 N否) */ + @Excel(name = "系统内置", readConverterExp = "Y=是,N=否") + private String configType; + + public Long getConfigId() + { + return configId; + } + + public void setConfigId(Long configId) + { + this.configId = configId; + } + + @NotBlank(message = "参数名称不能为空") + @Size(min = 0, max = 100, message = "参数名称不能超过100个字符") + public String getConfigName() + { + return configName; + } + + public void setConfigName(String configName) + { + this.configName = configName; + } + + @NotBlank(message = "参数键名长度不能为空") + @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符") + public String getConfigKey() + { + return configKey; + } + + public void setConfigKey(String configKey) + { + this.configKey = configKey; + } + + @NotBlank(message = "参数键值不能为空") + @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符") + public String getConfigValue() + { + return configValue; + } + + public void setConfigValue(String configValue) + { + this.configValue = configValue; + } + + public String getConfigType() + { + return configType; + } + + public void setConfigType(String configType) + { + this.configType = configType; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("configId", getConfigId()) + .append("configName", getConfigName()) + .append("configKey", getConfigKey()) + .append("configValue", getConfigValue()) + .append("configType", getConfigType()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java new file mode 100644 index 0000000..7fdea30 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysLogininfor.java @@ -0,0 +1,144 @@ +package com.ruoyi.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 系统访问记录表 sys_logininfor + * + * @author ruoyi + */ +public class SysLogininfor extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + @Excel(name = "序号", cellType = ColumnType.NUMERIC) + private Long infoId; + + /** 用户账号 */ + @Excel(name = "用户账号") + private String userName; + + /** 登录状态 0成功 1失败 */ + @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败") + private String status; + + /** 登录IP地址 */ + @Excel(name = "登录地址") + private String ipaddr; + + /** 登录地点 */ + @Excel(name = "登录地点") + private String loginLocation; + + /** 浏览器类型 */ + @Excel(name = "浏览器") + private String browser; + + /** 操作系统 */ + @Excel(name = "操作系统") + private String os; + + /** 提示消息 */ + @Excel(name = "提示消息") + private String msg; + + /** 访问时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date loginTime; + + public Long getInfoId() + { + return infoId; + } + + public void setInfoId(Long infoId) + { + this.infoId = infoId; + } + + public String getUserName() + { + return userName; + } + + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getIpaddr() + { + return ipaddr; + } + + public void setIpaddr(String ipaddr) + { + this.ipaddr = ipaddr; + } + + public String getLoginLocation() + { + return loginLocation; + } + + public void setLoginLocation(String loginLocation) + { + this.loginLocation = loginLocation; + } + + public String getBrowser() + { + return browser; + } + + public void setBrowser(String browser) + { + this.browser = browser; + } + + public String getOs() + { + return os; + } + + public void setOs(String os) + { + this.os = os; + } + + public String getMsg() + { + return msg; + } + + public void setMsg(String msg) + { + this.msg = msg; + } + + public Date getLoginTime() + { + return loginTime; + } + + public void setLoginTime(Date loginTime) + { + this.loginTime = loginTime; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java new file mode 100644 index 0000000..8c07a54 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java @@ -0,0 +1,102 @@ +package com.ruoyi.system.domain; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.xss.Xss; + +/** + * 通知公告表 sys_notice + * + * @author ruoyi + */ +public class SysNotice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 公告ID */ + private Long noticeId; + + /** 公告标题 */ + private String noticeTitle; + + /** 公告类型(1通知 2公告) */ + private String noticeType; + + /** 公告内容 */ + private String noticeContent; + + /** 公告状态(0正常 1关闭) */ + private String status; + + public Long getNoticeId() + { + return noticeId; + } + + public void setNoticeId(Long noticeId) + { + this.noticeId = noticeId; + } + + public void setNoticeTitle(String noticeTitle) + { + this.noticeTitle = noticeTitle; + } + + @Xss(message = "公告标题不能包含脚本字符") + @NotBlank(message = "公告标题不能为空") + @Size(min = 0, max = 50, message = "公告标题不能超过50个字符") + public String getNoticeTitle() + { + return noticeTitle; + } + + public void setNoticeType(String noticeType) + { + this.noticeType = noticeType; + } + + public String getNoticeType() + { + return noticeType; + } + + public void setNoticeContent(String noticeContent) + { + this.noticeContent = noticeContent; + } + + public String getNoticeContent() + { + return noticeContent; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("noticeId", getNoticeId()) + .append("noticeTitle", getNoticeTitle()) + .append("noticeType", getNoticeType()) + .append("noticeContent", getNoticeContent()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java new file mode 100644 index 0000000..f6761df --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java @@ -0,0 +1,269 @@ +package com.ruoyi.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 操作日志记录表 oper_log + * + * @author ruoyi + */ +public class SysOperLog extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 日志主键 */ + @Excel(name = "操作序号", cellType = ColumnType.NUMERIC) + private Long operId; + + /** 操作模块 */ + @Excel(name = "操作模块") + private String title; + + /** 业务类型(0其它 1新增 2修改 3删除) */ + @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据") + private Integer businessType; + + /** 业务类型数组 */ + private Integer[] businessTypes; + + /** 请求方法 */ + @Excel(name = "请求方法") + private String method; + + /** 请求方式 */ + @Excel(name = "请求方式") + private String requestMethod; + + /** 操作类别(0其它 1后台用户 2手机端用户) */ + @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户") + private Integer operatorType; + + /** 操作人员 */ + @Excel(name = "操作人员") + private String operName; + + /** 部门名称 */ + @Excel(name = "部门名称") + private String deptName; + + /** 请求url */ + @Excel(name = "请求地址") + private String operUrl; + + /** 操作地址 */ + @Excel(name = "操作地址") + private String operIp; + + /** 操作地点 */ + @Excel(name = "操作地点") + private String operLocation; + + /** 请求参数 */ + @Excel(name = "请求参数") + private String operParam; + + /** 返回参数 */ + @Excel(name = "返回参数") + private String jsonResult; + + /** 操作状态(0正常 1异常) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=异常") + private Integer status; + + /** 错误消息 */ + @Excel(name = "错误消息") + private String errorMsg; + + /** 操作时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date operTime; + + /** 消耗时间 */ + @Excel(name = "消耗时间", suffix = "毫秒") + private Long costTime; + + public Long getOperId() + { + return operId; + } + + public void setOperId(Long operId) + { + this.operId = operId; + } + + public String getTitle() + { + return title; + } + + public void setTitle(String title) + { + this.title = title; + } + + public Integer getBusinessType() + { + return businessType; + } + + public void setBusinessType(Integer businessType) + { + this.businessType = businessType; + } + + public Integer[] getBusinessTypes() + { + return businessTypes; + } + + public void setBusinessTypes(Integer[] businessTypes) + { + this.businessTypes = businessTypes; + } + + public String getMethod() + { + return method; + } + + public void setMethod(String method) + { + this.method = method; + } + + public String getRequestMethod() + { + return requestMethod; + } + + public void setRequestMethod(String requestMethod) + { + this.requestMethod = requestMethod; + } + + public Integer getOperatorType() + { + return operatorType; + } + + public void setOperatorType(Integer operatorType) + { + this.operatorType = operatorType; + } + + public String getOperName() + { + return operName; + } + + public void setOperName(String operName) + { + this.operName = operName; + } + + public String getDeptName() + { + return deptName; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + public String getOperUrl() + { + return operUrl; + } + + public void setOperUrl(String operUrl) + { + this.operUrl = operUrl; + } + + public String getOperIp() + { + return operIp; + } + + public void setOperIp(String operIp) + { + this.operIp = operIp; + } + + public String getOperLocation() + { + return operLocation; + } + + public void setOperLocation(String operLocation) + { + this.operLocation = operLocation; + } + + public String getOperParam() + { + return operParam; + } + + public void setOperParam(String operParam) + { + this.operParam = operParam; + } + + public String getJsonResult() + { + return jsonResult; + } + + public void setJsonResult(String jsonResult) + { + this.jsonResult = jsonResult; + } + + public Integer getStatus() + { + return status; + } + + public void setStatus(Integer status) + { + this.status = status; + } + + public String getErrorMsg() + { + return errorMsg; + } + + public void setErrorMsg(String errorMsg) + { + this.errorMsg = errorMsg; + } + + public Date getOperTime() + { + return operTime; + } + + public void setOperTime(Date operTime) + { + this.operTime = operTime; + } + + public Long getCostTime() + { + return costTime; + } + + public void setCostTime(Long costTime) + { + this.costTime = costTime; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java new file mode 100644 index 0000000..820a13b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysPost.java @@ -0,0 +1,124 @@ +package com.ruoyi.system.domain; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Excel.ColumnType; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 岗位表 sys_post + * + * @author ruoyi + */ +public class SysPost extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 岗位序号 */ + @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC) + private Long postId; + + /** 岗位编码 */ + @Excel(name = "岗位编码") + private String postCode; + + /** 岗位名称 */ + @Excel(name = "岗位名称") + private String postName; + + /** 岗位排序 */ + @Excel(name = "岗位排序") + private Integer postSort; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private String status; + + /** 用户是否存在此岗位标识 默认不存在 */ + private boolean flag = false; + + public Long getPostId() + { + return postId; + } + + public void setPostId(Long postId) + { + this.postId = postId; + } + + @NotBlank(message = "岗位编码不能为空") + @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符") + public String getPostCode() + { + return postCode; + } + + public void setPostCode(String postCode) + { + this.postCode = postCode; + } + + @NotBlank(message = "岗位名称不能为空") + @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符") + public String getPostName() + { + return postName; + } + + public void setPostName(String postName) + { + this.postName = postName; + } + + @NotNull(message = "显示顺序不能为空") + public Integer getPostSort() + { + return postSort; + } + + public void setPostSort(Integer postSort) + { + this.postSort = postSort; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public boolean isFlag() + { + return flag; + } + + public void setFlag(boolean flag) + { + this.flag = flag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("postId", getPostId()) + .append("postCode", getPostCode()) + .append("postName", getPostName()) + .append("postSort", getPostSort()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java new file mode 100644 index 0000000..47b21bf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleDept.java @@ -0,0 +1,46 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 角色和部门关联 sys_role_dept + * + * @author ruoyi + */ +public class SysRoleDept +{ + /** 角色ID */ + private Long roleId; + + /** 部门ID */ + private Long deptId; + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + public Long getDeptId() + { + return deptId; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("roleId", getRoleId()) + .append("deptId", getDeptId()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java new file mode 100644 index 0000000..de10a74 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java @@ -0,0 +1,46 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 角色和菜单关联 sys_role_menu + * + * @author ruoyi + */ +public class SysRoleMenu +{ + /** 角色ID */ + private Long roleId; + + /** 菜单ID */ + private Long menuId; + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + public Long getMenuId() + { + return menuId; + } + + public void setMenuId(Long menuId) + { + this.menuId = menuId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("roleId", getRoleId()) + .append("menuId", getMenuId()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java new file mode 100644 index 0000000..2bbd318 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserOnline.java @@ -0,0 +1,113 @@ +package com.ruoyi.system.domain; + +/** + * 当前在线会话 + * + * @author ruoyi + */ +public class SysUserOnline +{ + /** 会话编号 */ + private String tokenId; + + /** 部门名称 */ + private String deptName; + + /** 用户名称 */ + private String userName; + + /** 登录IP地址 */ + private String ipaddr; + + /** 登录地址 */ + private String loginLocation; + + /** 浏览器类型 */ + private String browser; + + /** 操作系统 */ + private String os; + + /** 登录时间 */ + private Long loginTime; + + public String getTokenId() + { + return tokenId; + } + + public void setTokenId(String tokenId) + { + this.tokenId = tokenId; + } + + public String getDeptName() + { + return deptName; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + public String getUserName() + { + return userName; + } + + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getIpaddr() + { + return ipaddr; + } + + public void setIpaddr(String ipaddr) + { + this.ipaddr = ipaddr; + } + + public String getLoginLocation() + { + return loginLocation; + } + + public void setLoginLocation(String loginLocation) + { + this.loginLocation = loginLocation; + } + + public String getBrowser() + { + return browser; + } + + public void setBrowser(String browser) + { + this.browser = browser; + } + + public String getOs() + { + return os; + } + + public void setOs(String os) + { + this.os = os; + } + + public Long getLoginTime() + { + return loginTime; + } + + public void setLoginTime(Long loginTime) + { + this.loginTime = loginTime; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java new file mode 100644 index 0000000..6e8c416 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserPost.java @@ -0,0 +1,46 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 用户和岗位关联 sys_user_post + * + * @author ruoyi + */ +public class SysUserPost +{ + /** 用户ID */ + private Long userId; + + /** 岗位ID */ + private Long postId; + + public Long getUserId() + { + return userId; + } + + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getPostId() + { + return postId; + } + + public void setPostId(Long postId) + { + this.postId = postId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("postId", getPostId()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java new file mode 100644 index 0000000..4d15810 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUserRole.java @@ -0,0 +1,46 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 用户和角色关联 sys_user_role + * + * @author ruoyi + */ +public class SysUserRole +{ + /** 用户ID */ + private Long userId; + + /** 角色ID */ + private Long roleId; + + public Long getUserId() + { + return userId; + } + + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getRoleId() + { + return roleId; + } + + public void setRoleId(Long roleId) + { + this.roleId = roleId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("roleId", getRoleId()) + .toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java new file mode 100644 index 0000000..a5d5fdc --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java @@ -0,0 +1,106 @@ +package com.ruoyi.system.domain.vo; + +import com.ruoyi.common.utils.StringUtils; + +/** + * 路由显示信息 + * + * @author ruoyi + */ +public class MetaVo +{ + /** + * 设置该路由在侧边栏和面包屑中展示的名字 + */ + private String title; + + /** + * 设置该路由的图标,对应路径src/assets/icons/svg + */ + private String icon; + + /** + * 设置为true,则不会被 缓存 + */ + private boolean noCache; + + /** + * 内链地址(http(s)://开头) + */ + private String link; + + public MetaVo() + { + } + + public MetaVo(String title, String icon) + { + this.title = title; + this.icon = icon; + } + + public MetaVo(String title, String icon, boolean noCache) + { + this.title = title; + this.icon = icon; + this.noCache = noCache; + } + + public MetaVo(String title, String icon, String link) + { + this.title = title; + this.icon = icon; + this.link = link; + } + + public MetaVo(String title, String icon, boolean noCache, String link) + { + this.title = title; + this.icon = icon; + this.noCache = noCache; + if (StringUtils.ishttp(link)) + { + this.link = link; + } + } + + public boolean isNoCache() + { + return noCache; + } + + public void setNoCache(boolean noCache) + { + this.noCache = noCache; + } + + public String getTitle() + { + return title; + } + + public void setTitle(String title) + { + this.title = title; + } + + public String getIcon() + { + return icon; + } + + public void setIcon(String icon) + { + this.icon = icon; + } + + public String getLink() + { + return link; + } + + public void setLink(String link) + { + this.link = link; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java new file mode 100644 index 0000000..afff8c9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java @@ -0,0 +1,148 @@ +package com.ruoyi.system.domain.vo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import java.util.List; + +/** + * 路由配置信息 + * + * @author ruoyi + */ +@JsonInclude(JsonInclude.Include.NON_EMPTY) +public class RouterVo +{ + /** + * 路由名字 + */ + private String name; + + /** + * 路由地址 + */ + private String path; + + /** + * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 + */ + private boolean hidden; + + /** + * 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 + */ + private String redirect; + + /** + * 组件地址 + */ + private String component; + + /** + * 路由参数:如 {"id": 1, "name": "ry"} + */ + private String query; + + /** + * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + */ + private Boolean alwaysShow; + + /** + * 其他元素 + */ + private MetaVo meta; + + /** + * 子路由 + */ + private List children; + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getPath() + { + return path; + } + + public void setPath(String path) + { + this.path = path; + } + + public boolean getHidden() + { + return hidden; + } + + public void setHidden(boolean hidden) + { + this.hidden = hidden; + } + + public String getRedirect() + { + return redirect; + } + + public void setRedirect(String redirect) + { + this.redirect = redirect; + } + + public String getComponent() + { + return component; + } + + public void setComponent(String component) + { + this.component = component; + } + + public String getQuery() + { + return query; + } + + public void setQuery(String query) + { + this.query = query; + } + + public Boolean getAlwaysShow() + { + return alwaysShow; + } + + public void setAlwaysShow(Boolean alwaysShow) + { + this.alwaysShow = alwaysShow; + } + + public MetaVo getMeta() + { + return meta; + } + + public void setMeta(MetaVo meta) + { + this.meta = meta; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/.DS_Store new file mode 100644 index 0000000..8d59afd Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhALoveMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhALoveMapper.java new file mode 100644 index 0000000..67b6a30 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhALoveMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhALove; + +/** + * 点赞记录Mapper接口 + * + * @author MrYuan + * @date 2023-05-31 + */ +public interface BhALoveMapper +{ + /** + * 查询点赞记录 + * + * @param uid 点赞记录主键 + * @return 点赞记录 + */ + public BhALove selectBhALoveByUid(Long uid); + + /** + * 查询点赞记录列表 + * + * @param bhALove 点赞记录 + * @return 点赞记录集合 + */ + public List selectBhALoveList(BhALove bhALove); + + /** + * 新增点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + public int insertBhALove(BhALove bhALove); + + /** + * 修改点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + public int updateBhALove(BhALove bhALove); + + /** + * 删除点赞记录 + * + * @param uid 点赞记录主键 + * @return 结果 + */ + public int deleteBhALoveByUid(BhALove bhALove); + + /** + * 批量删除点赞记录 + * + * @param uids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhALoveByUids(Long[] uids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhArticeMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhArticeMapper.java new file mode 100644 index 0000000..306b8be --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhArticeMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhArtice; + +/** + * 社区Mapper接口 + * + * @author Mr Yuan + * @date 2023-05-31 + */ +public interface BhArticeMapper +{ + /** + * 查询社区 + * + * @param id 社区主键 + * @return 社区 + */ + public BhArtice selectBhArticeById(Long id); + + /** + * 查询社区列表 + * + * @param bhArtice 社区 + * @return 社区集合 + */ + public List selectBhArticeList(BhArtice bhArtice); + + /** + * 新增社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + public int insertBhArtice(BhArtice bhArtice); + + /** + * 修改社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + public int updateBhArtice(BhArtice bhArtice); + + /** + * 删除社区 + * + * @param id 社区主键 + * @return 结果 + */ + public int deleteBhArticeById(Long id); + + /** + * 批量删除社区 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhArticeByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCaloriesMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCaloriesMapper.java new file mode 100644 index 0000000..2e3577a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCaloriesMapper.java @@ -0,0 +1,70 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhCalories; + +/** + * 燃烧我的卡路里Mapper接口 + * + * @author MrYuan + * @date 2023-05-17 + */ +public interface BhCaloriesMapper +{ + + + /** + * 删除 记录的食物 或 运动 + * @param bhCalories + * @return + */ + public int deleteBhCaloriesByOne(BhCalories bhCalories); + + /** + * 查询燃烧我的卡路里 + * + * @param uid 燃烧我的卡路里主键 + * @return 燃烧我的卡路里 + */ + public BhCalories selectBhCaloriesByUid(Long uid); + + /** + * 查询燃烧我的卡路里列表 + * + * @param bhCalories 燃烧我的卡路里 + * @return 燃烧我的卡路里集合 + */ + public List selectBhCaloriesList(BhCalories bhCalories); + + /** + * 新增燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + public int insertBhCalories(BhCalories bhCalories); + + /** + * 修改燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + public int updateBhCalories(BhCalories bhCalories); + + /** + * 删除燃烧我的卡路里 + * + * @param uid 燃烧我的卡路里主键 + * @return 结果 + */ + public int deleteBhCaloriesByUid(Long uid); + + /** + * 批量删除燃烧我的卡路里 + * + * @param uids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhCaloriesByUids(Long[] uids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCategoriesMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCategoriesMapper.java new file mode 100644 index 0000000..c099c44 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhCategoriesMapper.java @@ -0,0 +1,87 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhCategories; +import com.ruoyi.system.domain.BhFood; + +/** + * 分类管理Mapper接口 + * + * @author ruoyi + * @date 2023-05-15 + */ +public interface BhCategoriesMapper +{ + /** + * 查询分类管理 + * + * @param id 分类管理主键 + * @return 分类管理 + */ + public BhCategories selectBhCategoriesById(Long id); + + /** + * 查询分类管理列表 + * + * @param bhCategories 分类管理 + * @return 分类管理集合 + */ + public List selectBhCategoriesList(BhCategories bhCategories); + + /** + * 新增分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + public int insertBhCategories(BhCategories bhCategories); + + /** + * 修改分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + public int updateBhCategories(BhCategories bhCategories); + + /** + * 删除分类管理 + * + * @param id 分类管理主键 + * @return 结果 + */ + public int deleteBhCategoriesById(Long id); + + /** + * 批量删除分类管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhCategoriesByIds(Long[] ids); + + /** + * 批量删除食物管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhFoodByPids(Long[] ids); + + /** + * 批量新增食物管理 + * + * @param bhFoodList 食物管理列表 + * @return 结果 + */ + public int batchBhFood(List bhFoodList); + + + /** + * 通过分类管理主键删除食物管理信息 + * + * @param id 分类管理ID + * @return 结果 + */ + public int deleteBhFoodByPid(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhFoodMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhFoodMapper.java new file mode 100644 index 0000000..41eae71 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhFoodMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhFood; + +/** + * 食物管理Mapper接口 + * + * @author ruoyi + * @date 2023-05-15 + */ +public interface BhFoodMapper +{ + /** + * 查询食物管理 + * + * @param id 食物管理主键 + * @return 食物管理 + */ + public BhFood selectBhFoodById(Long id); + + /** + * 查询食物管理列表 + * + * @param bhFood 食物管理 + * @return 食物管理集合 + */ + public List selectBhFoodList(BhFood bhFood); + + /** + * 新增食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + public int insertBhFood(BhFood bhFood); + + /** + * 修改食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + public int updateBhFood(BhFood bhFood); + + /** + * 删除食物管理 + * + * @param id 食物管理主键 + * @return 结果 + */ + public int deleteBhFoodById(Long id); + + /** + * 批量删除食物管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhFoodByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhLoveFoodMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhLoveFoodMapper.java new file mode 100644 index 0000000..1dbf0de --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhLoveFoodMapper.java @@ -0,0 +1,63 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhLoveFood; + +/** + * 收藏食物Mapper接口 + * + * @author MrYuan + * @date 2023-05-18 + */ +public interface BhLoveFoodMapper +{ + /** + * 查询收藏食物 + * + * @param uid 收藏食物主键 + * @return 收藏食物 + */ + public BhLoveFood selectBhLoveFoodByUid(Long uid); + public List selectBhLoveList(Long uid); + public int deleteBhLove(BhLoveFood loveFood); + + /** + * 查询收藏食物列表 + * + * @param bhLoveFood 收藏食物 + * @return 收藏食物集合 + */ + public List selectBhLoveFoodList(BhLoveFood bhLoveFood); + + /** + * 新增收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + public int insertBhLoveFood(BhLoveFood bhLoveFood); + + /** + * 修改收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + public int updateBhLoveFood(BhLoveFood bhLoveFood); + + /** + * 删除收藏食物 + * + * @param uid 收藏食物主键 + * @return 结果 + */ + public int deleteBhLoveFoodByUid(Long uid); + + /** + * 批量删除收藏食物 + * + * @param uids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhLoveFoodByUids(Long[] uids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhMoveMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhMoveMapper.java new file mode 100644 index 0000000..14cff9d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BhMoveMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BhMove; + +/** + * 运动项目管理Mapper接口 + * + * @author MrYuan + * @date 2023-05-16 + */ +public interface BhMoveMapper +{ + /** + * 查询运动项目管理 + * + * @param id 运动项目管理主键 + * @return 运动项目管理 + */ + public BhMove selectBhMoveById(Long id); + + /** + * 查询运动项目管理列表 + * + * @param bhMove 运动项目管理 + * @return 运动项目管理集合 + */ + public List selectBhMoveList(BhMove bhMove); + + /** + * 新增运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + public int insertBhMove(BhMove bhMove); + + /** + * 修改运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + public int updateBhMove(BhMove bhMove); + + /** + * 删除运动项目管理 + * + * @param id 运动项目管理主键 + * @return 结果 + */ + public int deleteBhMoveById(Long id); + + /** + * 批量删除运动项目管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBhMoveByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BoheUserMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BoheUserMapper.java new file mode 100644 index 0000000..36e7ffe --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BoheUserMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BoheUser; + +/** + * 薄荷用户管理Mapper接口 + * + * @author MrYuan + * @date 2023-05-16 + */ +public interface BoheUserMapper +{ + /** + * 查询薄荷用户管理 + * + * @param id 薄荷用户管理主键 + * @return 薄荷用户管理 + */ + public BoheUser selectBoheUserById(Long id); + + /** + * 查询薄荷用户管理列表 + * + * @param boheUser 薄荷用户管理 + * @return 薄荷用户管理集合 + */ + public List selectBoheUserList(BoheUser boheUser); + + /** + * 新增薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + public int insertBoheUser(BoheUser boheUser); + + /** + * 修改薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + public int updateBoheUser(BoheUser boheUser); + + /** + * 删除薄荷用户管理 + * + * @param id 薄荷用户管理主键 + * @return 结果 + */ + public int deleteBoheUserById(Long id); + + /** + * 批量删除薄荷用户管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBoheUserByIds(Long[] ids); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java new file mode 100644 index 0000000..13d49d6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java @@ -0,0 +1,76 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysConfig; + +/** + * 参数配置 数据层 + * + * @author ruoyi + */ +public interface SysConfigMapper +{ + /** + * 查询参数配置信息 + * + * @param config 参数配置信息 + * @return 参数配置信息 + */ + public SysConfig selectConfig(SysConfig config); + + /** + * 通过ID查询配置 + * + * @param configId 参数ID + * @return 参数配置信息 + */ + public SysConfig selectConfigById(Long configId); + + /** + * 查询参数配置列表 + * + * @param config 参数配置信息 + * @return 参数配置集合 + */ + public List selectConfigList(SysConfig config); + + /** + * 根据键名查询参数配置信息 + * + * @param configKey 参数键名 + * @return 参数配置信息 + */ + public SysConfig checkConfigKeyUnique(String configKey); + + /** + * 新增参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int insertConfig(SysConfig config); + + /** + * 修改参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int updateConfig(SysConfig config); + + /** + * 删除参数配置 + * + * @param configId 参数ID + * @return 结果 + */ + public int deleteConfigById(Long configId); + + /** + * 批量删除参数信息 + * + * @param configIds 需要删除的参数ID + * @return 结果 + */ + public int deleteConfigByIds(Long[] configIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java new file mode 100644 index 0000000..384a9b6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java @@ -0,0 +1,118 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.common.core.domain.entity.SysDept; + +/** + * 部门管理 数据层 + * + * @author ruoyi + */ +public interface SysDeptMapper +{ + /** + * 查询部门管理数据 + * + * @param dept 部门信息 + * @return 部门信息集合 + */ + public List selectDeptList(SysDept dept); + + /** + * 根据角色ID查询部门树信息 + * + * @param roleId 角色ID + * @param deptCheckStrictly 部门树选择项是否关联显示 + * @return 选中部门列表 + */ + public List selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly); + + /** + * 根据部门ID查询信息 + * + * @param deptId 部门ID + * @return 部门信息 + */ + public SysDept selectDeptById(Long deptId); + + /** + * 根据ID查询所有子部门 + * + * @param deptId 部门ID + * @return 部门列表 + */ + public List selectChildrenDeptById(Long deptId); + + /** + * 根据ID查询所有子部门(正常状态) + * + * @param deptId 部门ID + * @return 子部门数 + */ + public int selectNormalChildrenDeptById(Long deptId); + + /** + * 是否存在子节点 + * + * @param deptId 部门ID + * @return 结果 + */ + public int hasChildByDeptId(Long deptId); + + /** + * 查询部门是否存在用户 + * + * @param deptId 部门ID + * @return 结果 + */ + public int checkDeptExistUser(Long deptId); + + /** + * 校验部门名称是否唯一 + * + * @param deptName 部门名称 + * @param parentId 父部门ID + * @return 结果 + */ + public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId); + + /** + * 新增部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + public int insertDept(SysDept dept); + + /** + * 修改部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + public int updateDept(SysDept dept); + + /** + * 修改所在部门正常状态 + * + * @param deptIds 部门ID组 + */ + public void updateDeptStatusNormal(Long[] deptIds); + + /** + * 修改子元素关系 + * + * @param depts 子元素 + * @return 结果 + */ + public int updateDeptChildren(@Param("depts") List depts); + + /** + * 删除部门管理信息 + * + * @param deptId 部门ID + * @return 结果 + */ + public int deleteDeptById(Long deptId); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java new file mode 100644 index 0000000..a341f1e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java @@ -0,0 +1,95 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.common.core.domain.entity.SysDictData; + +/** + * 字典表 数据层 + * + * @author ruoyi + */ +public interface SysDictDataMapper +{ + /** + * 根据条件分页查询字典数据 + * + * @param dictData 字典数据信息 + * @return 字典数据集合信息 + */ + public List selectDictDataList(SysDictData dictData); + + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + public List selectDictDataByType(String dictType); + + /** + * 根据字典类型和字典键值查询字典数据信息 + * + * @param dictType 字典类型 + * @param dictValue 字典键值 + * @return 字典标签 + */ + public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue); + + /** + * 根据字典数据ID查询信息 + * + * @param dictCode 字典数据ID + * @return 字典数据 + */ + public SysDictData selectDictDataById(Long dictCode); + + /** + * 查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据 + */ + public int countDictDataByType(String dictType); + + /** + * 通过字典ID删除字典数据信息 + * + * @param dictCode 字典数据ID + * @return 结果 + */ + public int deleteDictDataById(Long dictCode); + + /** + * 批量删除字典数据信息 + * + * @param dictCodes 需要删除的字典数据ID + * @return 结果 + */ + public int deleteDictDataByIds(Long[] dictCodes); + + /** + * 新增字典数据信息 + * + * @param dictData 字典数据信息 + * @return 结果 + */ + public int insertDictData(SysDictData dictData); + + /** + * 修改字典数据信息 + * + * @param dictData 字典数据信息 + * @return 结果 + */ + public int updateDictData(SysDictData dictData); + + /** + * 同步修改字典类型 + * + * @param oldDictType 旧字典类型 + * @param newDictType 新旧字典类型 + * @return 结果 + */ + public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java new file mode 100644 index 0000000..5fb48fb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java @@ -0,0 +1,83 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysDictType; + +/** + * 字典表 数据层 + * + * @author ruoyi + */ +public interface SysDictTypeMapper +{ + /** + * 根据条件分页查询字典类型 + * + * @param dictType 字典类型信息 + * @return 字典类型集合信息 + */ + public List selectDictTypeList(SysDictType dictType); + + /** + * 根据所有字典类型 + * + * @return 字典类型集合信息 + */ + public List selectDictTypeAll(); + + /** + * 根据字典类型ID查询信息 + * + * @param dictId 字典类型ID + * @return 字典类型 + */ + public SysDictType selectDictTypeById(Long dictId); + + /** + * 根据字典类型查询信息 + * + * @param dictType 字典类型 + * @return 字典类型 + */ + public SysDictType selectDictTypeByType(String dictType); + + /** + * 通过字典ID删除字典信息 + * + * @param dictId 字典ID + * @return 结果 + */ + public int deleteDictTypeById(Long dictId); + + /** + * 批量删除字典类型信息 + * + * @param dictIds 需要删除的字典ID + * @return 结果 + */ + public int deleteDictTypeByIds(Long[] dictIds); + + /** + * 新增字典类型信息 + * + * @param dictType 字典类型信息 + * @return 结果 + */ + public int insertDictType(SysDictType dictType); + + /** + * 修改字典类型信息 + * + * @param dictType 字典类型信息 + * @return 结果 + */ + public int updateDictType(SysDictType dictType); + + /** + * 校验字典类型称是否唯一 + * + * @param dictType 字典类型 + * @return 结果 + */ + public SysDictType checkDictTypeUnique(String dictType); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java new file mode 100644 index 0000000..629866f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java @@ -0,0 +1,42 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysLogininfor; + +/** + * 系统访问日志情况信息 数据层 + * + * @author ruoyi + */ +public interface SysLogininforMapper +{ + /** + * 新增系统登录日志 + * + * @param logininfor 访问日志对象 + */ + public void insertLogininfor(SysLogininfor logininfor); + + /** + * 查询系统登录日志集合 + * + * @param logininfor 访问日志对象 + * @return 登录记录集合 + */ + public List selectLogininforList(SysLogininfor logininfor); + + /** + * 批量删除系统登录日志 + * + * @param infoIds 需要删除的登录日志ID + * @return 结果 + */ + public int deleteLogininforByIds(Long[] infoIds); + + /** + * 清空系统登录日志 + * + * @return 结果 + */ + public int cleanLogininfor(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java new file mode 100644 index 0000000..99c0c50 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java @@ -0,0 +1,125 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.common.core.domain.entity.SysMenu; + +/** + * 菜单表 数据层 + * + * @author ruoyi + */ +public interface SysMenuMapper +{ + /** + * 查询系统菜单列表 + * + * @param menu 菜单信息 + * @return 菜单列表 + */ + public List selectMenuList(SysMenu menu); + + /** + * 根据用户所有权限 + * + * @return 权限列表 + */ + public List selectMenuPerms(); + + /** + * 根据用户查询系统菜单列表 + * + * @param menu 菜单信息 + * @return 菜单列表 + */ + public List selectMenuListByUserId(SysMenu menu); + + /** + * 根据角色ID查询权限 + * + * @param roleId 角色ID + * @return 权限列表 + */ + public List selectMenuPermsByRoleId(Long roleId); + + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + public List selectMenuPermsByUserId(Long userId); + + /** + * 根据用户ID查询菜单 + * + * @return 菜单列表 + */ + public List selectMenuTreeAll(); + + /** + * 根据用户ID查询菜单 + * + * @param userId 用户ID + * @return 菜单列表 + */ + public List selectMenuTreeByUserId(Long userId); + + /** + * 根据角色ID查询菜单树信息 + * + * @param roleId 角色ID + * @param menuCheckStrictly 菜单树选择项是否关联显示 + * @return 选中菜单列表 + */ + public List selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly); + + /** + * 根据菜单ID查询信息 + * + * @param menuId 菜单ID + * @return 菜单信息 + */ + public SysMenu selectMenuById(Long menuId); + + /** + * 是否存在菜单子节点 + * + * @param menuId 菜单ID + * @return 结果 + */ + public int hasChildByMenuId(Long menuId); + + /** + * 新增菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + public int insertMenu(SysMenu menu); + + /** + * 修改菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + public int updateMenu(SysMenu menu); + + /** + * 删除菜单管理信息 + * + * @param menuId 菜单ID + * @return 结果 + */ + public int deleteMenuById(Long menuId); + + /** + * 校验菜单名称是否唯一 + * + * @param menuName 菜单名称 + * @param parentId 父菜单ID + * @return 结果 + */ + public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java new file mode 100644 index 0000000..c34f0a2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysNotice; + +/** + * 通知公告表 数据层 + * + * @author ruoyi + */ +public interface SysNoticeMapper +{ + /** + * 查询公告信息 + * + * @param noticeId 公告ID + * @return 公告信息 + */ + public SysNotice selectNoticeById(Long noticeId); + + /** + * 查询公告列表 + * + * @param notice 公告信息 + * @return 公告集合 + */ + public List selectNoticeList(SysNotice notice); + + /** + * 新增公告 + * + * @param notice 公告信息 + * @return 结果 + */ + public int insertNotice(SysNotice notice); + + /** + * 修改公告 + * + * @param notice 公告信息 + * @return 结果 + */ + public int updateNotice(SysNotice notice); + + /** + * 批量删除公告 + * + * @param noticeId 公告ID + * @return 结果 + */ + public int deleteNoticeById(Long noticeId); + + /** + * 批量删除公告信息 + * + * @param noticeIds 需要删除的公告ID + * @return 结果 + */ + public int deleteNoticeByIds(Long[] noticeIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java new file mode 100644 index 0000000..2ae6457 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java @@ -0,0 +1,48 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysOperLog; + +/** + * 操作日志 数据层 + * + * @author ruoyi + */ +public interface SysOperLogMapper +{ + /** + * 新增操作日志 + * + * @param operLog 操作日志对象 + */ + public void insertOperlog(SysOperLog operLog); + + /** + * 查询系统操作日志集合 + * + * @param operLog 操作日志对象 + * @return 操作日志集合 + */ + public List selectOperLogList(SysOperLog operLog); + + /** + * 批量删除系统操作日志 + * + * @param operIds 需要删除的操作日志ID + * @return 结果 + */ + public int deleteOperLogByIds(Long[] operIds); + + /** + * 查询操作日志详细 + * + * @param operId 操作ID + * @return 操作日志对象 + */ + public SysOperLog selectOperLogById(Long operId); + + /** + * 清空操作日志 + */ + public void cleanOperLog(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java new file mode 100644 index 0000000..19be227 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java @@ -0,0 +1,99 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysPost; + +/** + * 岗位信息 数据层 + * + * @author ruoyi + */ +public interface SysPostMapper +{ + /** + * 查询岗位数据集合 + * + * @param post 岗位信息 + * @return 岗位数据集合 + */ + public List selectPostList(SysPost post); + + /** + * 查询所有岗位 + * + * @return 岗位列表 + */ + public List selectPostAll(); + + /** + * 通过岗位ID查询岗位信息 + * + * @param postId 岗位ID + * @return 角色对象信息 + */ + public SysPost selectPostById(Long postId); + + /** + * 根据用户ID获取岗位选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + public List selectPostListByUserId(Long userId); + + /** + * 查询用户所属岗位组 + * + * @param userName 用户名 + * @return 结果 + */ + public List selectPostsByUserName(String userName); + + /** + * 删除岗位信息 + * + * @param postId 岗位ID + * @return 结果 + */ + public int deletePostById(Long postId); + + /** + * 批量删除岗位信息 + * + * @param postIds 需要删除的岗位ID + * @return 结果 + */ + public int deletePostByIds(Long[] postIds); + + /** + * 修改岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + public int updatePost(SysPost post); + + /** + * 新增岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + public int insertPost(SysPost post); + + /** + * 校验岗位名称 + * + * @param postName 岗位名称 + * @return 结果 + */ + public SysPost checkPostNameUnique(String postName); + + /** + * 校验岗位编码 + * + * @param postCode 岗位编码 + * @return 结果 + */ + public SysPost checkPostCodeUnique(String postCode); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java new file mode 100644 index 0000000..f9d3a2f --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysRoleDept; + +/** + * 角色与部门关联表 数据层 + * + * @author ruoyi + */ +public interface SysRoleDeptMapper +{ + /** + * 通过角色ID删除角色和部门关联 + * + * @param roleId 角色ID + * @return 结果 + */ + public int deleteRoleDeptByRoleId(Long roleId); + + /** + * 批量删除角色部门关联信息 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteRoleDept(Long[] ids); + + /** + * 查询部门使用数量 + * + * @param deptId 部门ID + * @return 结果 + */ + public int selectCountRoleDeptByDeptId(Long deptId); + + /** + * 批量新增角色部门信息 + * + * @param roleDeptList 角色部门列表 + * @return 结果 + */ + public int batchRoleDept(List roleDeptList); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java new file mode 100644 index 0000000..cf2bd8c --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java @@ -0,0 +1,107 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysRole; + +/** + * 角色表 数据层 + * + * @author ruoyi + */ +public interface SysRoleMapper +{ + /** + * 根据条件分页查询角色数据 + * + * @param role 角色信息 + * @return 角色数据集合信息 + */ + public List selectRoleList(SysRole role); + + /** + * 根据用户ID查询角色 + * + * @param userId 用户ID + * @return 角色列表 + */ + public List selectRolePermissionByUserId(Long userId); + + /** + * 查询所有角色 + * + * @return 角色列表 + */ + public List selectRoleAll(); + + /** + * 根据用户ID获取角色选择框列表 + * + * @param userId 用户ID + * @return 选中角色ID列表 + */ + public List selectRoleListByUserId(Long userId); + + /** + * 通过角色ID查询角色 + * + * @param roleId 角色ID + * @return 角色对象信息 + */ + public SysRole selectRoleById(Long roleId); + + /** + * 根据用户ID查询角色 + * + * @param userName 用户名 + * @return 角色列表 + */ + public List selectRolesByUserName(String userName); + + /** + * 校验角色名称是否唯一 + * + * @param roleName 角色名称 + * @return 角色信息 + */ + public SysRole checkRoleNameUnique(String roleName); + + /** + * 校验角色权限是否唯一 + * + * @param roleKey 角色权限 + * @return 角色信息 + */ + public SysRole checkRoleKeyUnique(String roleKey); + + /** + * 修改角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int updateRole(SysRole role); + + /** + * 新增角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int insertRole(SysRole role); + + /** + * 通过角色ID删除角色 + * + * @param roleId 角色ID + * @return 结果 + */ + public int deleteRoleById(Long roleId); + + /** + * 批量删除角色信息 + * + * @param roleIds 需要删除的角色ID + * @return 结果 + */ + public int deleteRoleByIds(Long[] roleIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java new file mode 100644 index 0000000..6602bee --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysRoleMenu; + +/** + * 角色与菜单关联表 数据层 + * + * @author ruoyi + */ +public interface SysRoleMenuMapper +{ + /** + * 查询菜单使用数量 + * + * @param menuId 菜单ID + * @return 结果 + */ + public int checkMenuExistRole(Long menuId); + + /** + * 通过角色ID删除角色和菜单关联 + * + * @param roleId 角色ID + * @return 结果 + */ + public int deleteRoleMenuByRoleId(Long roleId); + + /** + * 批量删除角色菜单关联信息 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteRoleMenu(Long[] ids); + + /** + * 批量新增角色菜单信息 + * + * @param roleMenuList 角色菜单列表 + * @return 结果 + */ + public int batchRoleMenu(List roleMenuList); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java new file mode 100644 index 0000000..76e1c79 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -0,0 +1,127 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.common.core.domain.entity.SysUser; + +/** + * 用户表 数据层 + * + * @author ruoyi + */ +public interface SysUserMapper +{ + /** + * 根据条件分页查询用户列表 + * + * @param sysUser 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser sysUser); + + /** + * 根据条件分页查询已配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectAllocatedList(SysUser user); + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUnallocatedList(SysUser user); + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + public SysUser selectUserByUserName(String userName); + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserById(Long userId); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 修改用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + public int resetUserPwd(@Param("userName") String userName, @Param("password") String password); + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserById(Long userId); + + /** + * 批量删除用户信息 + * + * @param userIds 需要删除的用户ID + * @return 结果 + */ + public int deleteUserByIds(Long[] userIds); + + /** + * 校验用户名称是否唯一 + * + * @param userName 用户名称 + * @return 结果 + */ + public SysUser checkUserNameUnique(String userName); + + /** + * 校验手机号码是否唯一 + * + * @param phonenumber 手机号码 + * @return 结果 + */ + public SysUser checkPhoneUnique(String phonenumber); + + /** + * 校验email是否唯一 + * + * @param email 用户邮箱 + * @return 结果 + */ + public SysUser checkEmailUnique(String email); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java new file mode 100644 index 0000000..e08991d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.SysUserPost; + +/** + * 用户与岗位关联表 数据层 + * + * @author ruoyi + */ +public interface SysUserPostMapper +{ + /** + * 通过用户ID删除用户和岗位关联 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserPostByUserId(Long userId); + + /** + * 通过岗位ID查询岗位使用数量 + * + * @param postId 岗位ID + * @return 结果 + */ + public int countUserPostById(Long postId); + + /** + * 批量删除用户和岗位关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteUserPost(Long[] ids); + + /** + * 批量新增用户岗位信息 + * + * @param userPostList 用户角色列表 + * @return 结果 + */ + public int batchUserPost(List userPostList); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java new file mode 100644 index 0000000..3143ec8 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import com.ruoyi.system.domain.SysUserRole; + +/** + * 用户与角色关联表 数据层 + * + * @author ruoyi + */ +public interface SysUserRoleMapper +{ + /** + * 通过用户ID删除用户和角色关联 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserRoleByUserId(Long userId); + + /** + * 批量删除用户和角色关联 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteUserRole(Long[] ids); + + /** + * 通过角色ID查询角色使用数量 + * + * @param roleId 角色ID + * @return 结果 + */ + public int countUserRoleByRoleId(Long roleId); + + /** + * 批量新增用户角色信息 + * + * @param userRoleList 用户角色列表 + * @return 结果 + */ + public int batchUserRole(List userRoleList); + + /** + * 删除用户和角色关联信息 + * + * @param userRole 用户和角色关联信息 + * @return 结果 + */ + public int deleteUserRoleInfo(SysUserRole userRole); + + /** + * 批量取消授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要删除的用户数据ID + * @return 结果 + */ + public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/.DS_Store new file mode 100644 index 0000000..a1261fd Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhALoveService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhALoveService.java new file mode 100644 index 0000000..693d5aa --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhALoveService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhALove; + +/** + * 点赞记录Service接口 + * + * @author MrYuan + * @date 2023-05-31 + */ +public interface IBhALoveService +{ + /** + * 查询点赞记录 + * + * @param uid 点赞记录主键 + * @return 点赞记录 + */ + public BhALove selectBhALoveByUid(Long uid); + + /** + * 查询点赞记录列表 + * + * @param bhALove 点赞记录 + * @return 点赞记录集合 + */ + public List selectBhALoveList(BhALove bhALove); + + /** + * 新增点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + public int insertBhALove(BhALove bhALove); + + /** + * 修改点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + public int updateBhALove(BhALove bhALove); + + /** + * 批量删除点赞记录 + * + * @param uids 需要删除的点赞记录主键集合 + * @return 结果 + */ + public int deleteBhALoveByUids(Long[] uids); + + /** + * 删除点赞记录信息 + * + * @param uid 点赞记录主键 + * @return 结果 + */ + public int deleteBhALoveByUid(BhALove bhALove); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhArticeService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhArticeService.java new file mode 100644 index 0000000..55058eb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhArticeService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhArtice; + +/** + * 社区Service接口 + * + * @author Mr Yuan + * @date 2023-05-31 + */ +public interface IBhArticeService +{ + /** + * 查询社区 + * + * @param id 社区主键 + * @return 社区 + */ + public BhArtice selectBhArticeById(Long id); + + /** + * 查询社区列表 + * + * @param bhArtice 社区 + * @return 社区集合 + */ + public List selectBhArticeList(BhArtice bhArtice); + + /** + * 新增社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + public int insertBhArtice(BhArtice bhArtice); + + /** + * 修改社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + public int updateBhArtice(BhArtice bhArtice); + + /** + * 批量删除社区 + * + * @param ids 需要删除的社区主键集合 + * @return 结果 + */ + public int deleteBhArticeByIds(Long[] ids); + + /** + * 删除社区信息 + * + * @param id 社区主键 + * @return 结果 + */ + public int deleteBhArticeById(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCaloriesService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCaloriesService.java new file mode 100644 index 0000000..84b058e --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCaloriesService.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhCalories; + +/** + * 燃烧我的卡路里Service接口 + * + * @author MrYuan + * @date 2023-05-17 + */ +public interface IBhCaloriesService +{ + /** + * 查询燃烧我的卡路里 + * + * @param uid 燃烧我的卡路里主键 + * @return 燃烧我的卡路里 + */ + public BhCalories selectBhCaloriesByUid(Long uid); + + /** + * 查询燃烧我的卡路里列表 + * + * @param bhCalories 燃烧我的卡路里 + * @return 燃烧我的卡路里集合 + */ + public List selectBhCaloriesList(BhCalories bhCalories); + + /** + * 新增燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + public int insertBhCalories(BhCalories bhCalories); + + /** + * 修改燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + public int updateBhCalories(BhCalories bhCalories); + + /** + * 批量删除燃烧我的卡路里 + * + * @param uids 需要删除的燃烧我的卡路里主键集合 + * @return 结果 + */ + public int deleteBhCaloriesByUids(Long[] uids); + + /** + * 删除燃烧我的卡路里信息 + * + * @param uid 燃烧我的卡路里主键 + * @return 结果 + */ + public int deleteBhCaloriesByUid(Long uid); + public int deleteBhCaloriesByOne(BhCalories bhCalories); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCategoriesService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCategoriesService.java new file mode 100644 index 0000000..5946551 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhCategoriesService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhCategories; + +/** + * 分类管理Service接口 + * + * @author ruoyi + * @date 2023-05-15 + */ +public interface IBhCategoriesService +{ + /** + * 查询分类管理 + * + * @param id 分类管理主键 + * @return 分类管理 + */ + public BhCategories selectBhCategoriesById(Long id); + + /** + * 查询分类管理列表 + * + * @param bhCategories 分类管理 + * @return 分类管理集合 + */ + public List selectBhCategoriesList(BhCategories bhCategories); + + /** + * 新增分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + public int insertBhCategories(BhCategories bhCategories); + + /** + * 修改分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + public int updateBhCategories(BhCategories bhCategories); + + /** + * 批量删除分类管理 + * + * @param ids 需要删除的分类管理主键集合 + * @return 结果 + */ + public int deleteBhCategoriesByIds(Long[] ids); + + /** + * 删除分类管理信息 + * + * @param id 分类管理主键 + * @return 结果 + */ + public int deleteBhCategoriesById(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhFoodService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhFoodService.java new file mode 100644 index 0000000..9bc7cd9 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhFoodService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhFood; + +/** + * 食物管理Service接口 + * + * @author ruoyi + * @date 2023-05-15 + */ +public interface IBhFoodService +{ + /** + * 查询食物管理 + * + * @param id 食物管理主键 + * @return 食物管理 + */ + public BhFood selectBhFoodById(Long id); + + /** + * 查询食物管理列表 + * + * @param bhFood 食物管理 + * @return 食物管理集合 + */ + public List selectBhFoodList(BhFood bhFood); + + /** + * 新增食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + public int insertBhFood(BhFood bhFood); + + /** + * 修改食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + public int updateBhFood(BhFood bhFood); + + /** + * 批量删除食物管理 + * + * @param ids 需要删除的食物管理主键集合 + * @return 结果 + */ + public int deleteBhFoodByIds(Long[] ids); + + /** + * 删除食物管理信息 + * + * @param id 食物管理主键 + * @return 结果 + */ + public int deleteBhFoodById(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhLoveFoodService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhLoveFoodService.java new file mode 100644 index 0000000..3307875 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhLoveFoodService.java @@ -0,0 +1,63 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhLoveFood; + +/** + * 收藏食物Service接口 + * + * @author MrYuan + * @date 2023-05-18 + */ +public interface IBhLoveFoodService +{ + /** + * 查询收藏食物 + * + * @param uid 收藏食物主键 + * @return 收藏食物 + */ + public BhLoveFood selectBhLoveFoodByUid(Long uid); + + public List selectBhLoveList(Long uid); + public int deleteBhLove(BhLoveFood loveFood); + /** + * 查询收藏食物列表 + * + * @param bhLoveFood 收藏食物 + * @return 收藏食物集合 + */ + public List selectBhLoveFoodList(BhLoveFood bhLoveFood); + + /** + * 新增收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + public int insertBhLoveFood(BhLoveFood bhLoveFood); + + /** + * 修改收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + public int updateBhLoveFood(BhLoveFood bhLoveFood); + + /** + * 批量删除收藏食物 + * + * @param uids 需要删除的收藏食物主键集合 + * @return 结果 + */ + public int deleteBhLoveFoodByUids(Long[] uids); + + /** + * 删除收藏食物信息 + * + * @param uid 收藏食物主键 + * @return 结果 + */ + public int deleteBhLoveFoodByUid(Long uid); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhMoveService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhMoveService.java new file mode 100644 index 0000000..65e7b17 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBhMoveService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BhMove; + +/** + * 运动项目管理Service接口 + * + * @author MrYuan + * @date 2023-05-16 + */ +public interface IBhMoveService +{ + /** + * 查询运动项目管理 + * + * @param id 运动项目管理主键 + * @return 运动项目管理 + */ + public BhMove selectBhMoveById(Long id); + + /** + * 查询运动项目管理列表 + * + * @param bhMove 运动项目管理 + * @return 运动项目管理集合 + */ + public List selectBhMoveList(BhMove bhMove); + + /** + * 新增运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + public int insertBhMove(BhMove bhMove); + + /** + * 修改运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + public int updateBhMove(BhMove bhMove); + + /** + * 批量删除运动项目管理 + * + * @param ids 需要删除的运动项目管理主键集合 + * @return 结果 + */ + public int deleteBhMoveByIds(Long[] ids); + + /** + * 删除运动项目管理信息 + * + * @param id 运动项目管理主键 + * @return 结果 + */ + public int deleteBhMoveById(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBoheUserService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBoheUserService.java new file mode 100644 index 0000000..f0d234a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/IBoheUserService.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BoheUser; + +/** + * 薄荷用户管理Service接口 + * + * @author MrYuan + * @date 2023-05-16 + */ +public interface IBoheUserService +{ + /** + * 查询薄荷用户管理 + * + * @param id 薄荷用户管理主键 + * @return 薄荷用户管理 + */ + public BoheUser selectBoheUserById(Long id); + + /** + * 查询薄荷用户管理列表 + * + * @param boheUser 薄荷用户管理 + * @return 薄荷用户管理集合 + */ + public List selectBoheUserList(BoheUser boheUser); + + /** + * 新增薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + public int insertBoheUser(BoheUser boheUser); + + /** + * 修改薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + public int updateBoheUser(BoheUser boheUser); + + /** + * 批量删除薄荷用户管理 + * + * @param ids 需要删除的薄荷用户管理主键集合 + * @return 结果 + */ + public int deleteBoheUserByIds(Long[] ids); + + /** + * 删除薄荷用户管理信息 + * + * @param id 薄荷用户管理主键 + * @return 结果 + */ + public int deleteBoheUserById(Long id); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java new file mode 100644 index 0000000..b307776 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -0,0 +1,89 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.SysConfig; + +/** + * 参数配置 服务层 + * + * @author ruoyi + */ +public interface ISysConfigService +{ + /** + * 查询参数配置信息 + * + * @param configId 参数配置ID + * @return 参数配置信息 + */ + public SysConfig selectConfigById(Long configId); + + /** + * 根据键名查询参数配置信息 + * + * @param configKey 参数键名 + * @return 参数键值 + */ + public String selectConfigByKey(String configKey); + + /** + * 获取验证码开关 + * + * @return true开启,false关闭 + */ + public boolean selectCaptchaEnabled(); + + /** + * 查询参数配置列表 + * + * @param config 参数配置信息 + * @return 参数配置集合 + */ + public List selectConfigList(SysConfig config); + + /** + * 新增参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int insertConfig(SysConfig config); + + /** + * 修改参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + public int updateConfig(SysConfig config); + + /** + * 批量删除参数信息 + * + * @param configIds 需要删除的参数ID + */ + public void deleteConfigByIds(Long[] configIds); + + /** + * 加载参数缓存数据 + */ + public void loadingConfigCache(); + + /** + * 清空参数缓存数据 + */ + public void clearConfigCache(); + + /** + * 重置参数缓存数据 + */ + public void resetConfigCache(); + + /** + * 校验参数键名是否唯一 + * + * @param config 参数信息 + * @return 结果 + */ + public boolean checkConfigKeyUnique(SysConfig config); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java new file mode 100644 index 0000000..f228208 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java @@ -0,0 +1,124 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.common.core.domain.TreeSelect; +import com.ruoyi.common.core.domain.entity.SysDept; + +/** + * 部门管理 服务层 + * + * @author ruoyi + */ +public interface ISysDeptService +{ + /** + * 查询部门管理数据 + * + * @param dept 部门信息 + * @return 部门信息集合 + */ + public List selectDeptList(SysDept dept); + + /** + * 查询部门树结构信息 + * + * @param dept 部门信息 + * @return 部门树信息集合 + */ + public List selectDeptTreeList(SysDept dept); + + /** + * 构建前端所需要树结构 + * + * @param depts 部门列表 + * @return 树结构列表 + */ + public List buildDeptTree(List depts); + + /** + * 构建前端所需要下拉树结构 + * + * @param depts 部门列表 + * @return 下拉树结构列表 + */ + public List buildDeptTreeSelect(List depts); + + /** + * 根据角色ID查询部门树信息 + * + * @param roleId 角色ID + * @return 选中部门列表 + */ + public List selectDeptListByRoleId(Long roleId); + + /** + * 根据部门ID查询信息 + * + * @param deptId 部门ID + * @return 部门信息 + */ + public SysDept selectDeptById(Long deptId); + + /** + * 根据ID查询所有子部门(正常状态) + * + * @param deptId 部门ID + * @return 子部门数 + */ + public int selectNormalChildrenDeptById(Long deptId); + + /** + * 是否存在部门子节点 + * + * @param deptId 部门ID + * @return 结果 + */ + public boolean hasChildByDeptId(Long deptId); + + /** + * 查询部门是否存在用户 + * + * @param deptId 部门ID + * @return 结果 true 存在 false 不存在 + */ + public boolean checkDeptExistUser(Long deptId); + + /** + * 校验部门名称是否唯一 + * + * @param dept 部门信息 + * @return 结果 + */ + public boolean checkDeptNameUnique(SysDept dept); + + /** + * 校验部门是否有数据权限 + * + * @param deptId 部门id + */ + public void checkDeptDataScope(Long deptId); + + /** + * 新增保存部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + public int insertDept(SysDept dept); + + /** + * 修改保存部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + public int updateDept(SysDept dept); + + /** + * 删除部门管理信息 + * + * @param deptId 部门ID + * @return 结果 + */ + public int deleteDeptById(Long deptId); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java new file mode 100644 index 0000000..9bc4f13 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysDictData; + +/** + * 字典 业务层 + * + * @author ruoyi + */ +public interface ISysDictDataService +{ + /** + * 根据条件分页查询字典数据 + * + * @param dictData 字典数据信息 + * @return 字典数据集合信息 + */ + public List selectDictDataList(SysDictData dictData); + + /** + * 根据字典类型和字典键值查询字典数据信息 + * + * @param dictType 字典类型 + * @param dictValue 字典键值 + * @return 字典标签 + */ + public String selectDictLabel(String dictType, String dictValue); + + /** + * 根据字典数据ID查询信息 + * + * @param dictCode 字典数据ID + * @return 字典数据 + */ + public SysDictData selectDictDataById(Long dictCode); + + /** + * 批量删除字典数据信息 + * + * @param dictCodes 需要删除的字典数据ID + */ + public void deleteDictDataByIds(Long[] dictCodes); + + /** + * 新增保存字典数据信息 + * + * @param dictData 字典数据信息 + * @return 结果 + */ + public int insertDictData(SysDictData dictData); + + /** + * 修改保存字典数据信息 + * + * @param dictData 字典数据信息 + * @return 结果 + */ + public int updateDictData(SysDictData dictData); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java new file mode 100644 index 0000000..01c1c1d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java @@ -0,0 +1,98 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.domain.entity.SysDictType; + +/** + * 字典 业务层 + * + * @author ruoyi + */ +public interface ISysDictTypeService +{ + /** + * 根据条件分页查询字典类型 + * + * @param dictType 字典类型信息 + * @return 字典类型集合信息 + */ + public List selectDictTypeList(SysDictType dictType); + + /** + * 根据所有字典类型 + * + * @return 字典类型集合信息 + */ + public List selectDictTypeAll(); + + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + public List selectDictDataByType(String dictType); + + /** + * 根据字典类型ID查询信息 + * + * @param dictId 字典类型ID + * @return 字典类型 + */ + public SysDictType selectDictTypeById(Long dictId); + + /** + * 根据字典类型查询信息 + * + * @param dictType 字典类型 + * @return 字典类型 + */ + public SysDictType selectDictTypeByType(String dictType); + + /** + * 批量删除字典信息 + * + * @param dictIds 需要删除的字典ID + */ + public void deleteDictTypeByIds(Long[] dictIds); + + /** + * 加载字典缓存数据 + */ + public void loadingDictCache(); + + /** + * 清空字典缓存数据 + */ + public void clearDictCache(); + + /** + * 重置字典缓存数据 + */ + public void resetDictCache(); + + /** + * 新增保存字典类型信息 + * + * @param dictType 字典类型信息 + * @return 结果 + */ + public int insertDictType(SysDictType dictType); + + /** + * 修改保存字典类型信息 + * + * @param dictType 字典类型信息 + * @return 结果 + */ + public int updateDictType(SysDictType dictType); + + /** + * 校验字典类型称是否唯一 + * + * @param dictType 字典类型 + * @return 结果 + */ + public boolean checkDictTypeUnique(SysDictType dictType); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java new file mode 100644 index 0000000..ce3151d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java @@ -0,0 +1,40 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.SysLogininfor; + +/** + * 系统访问日志情况信息 服务层 + * + * @author ruoyi + */ +public interface ISysLogininforService +{ + /** + * 新增系统登录日志 + * + * @param logininfor 访问日志对象 + */ + public void insertLogininfor(SysLogininfor logininfor); + + /** + * 查询系统登录日志集合 + * + * @param logininfor 访问日志对象 + * @return 登录记录集合 + */ + public List selectLogininforList(SysLogininfor logininfor); + + /** + * 批量删除系统登录日志 + * + * @param infoIds 需要删除的登录日志ID + * @return 结果 + */ + public int deleteLogininforByIds(Long[] infoIds); + + /** + * 清空系统登录日志 + */ + public void cleanLogininfor(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java new file mode 100644 index 0000000..7d60696 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java @@ -0,0 +1,144 @@ +package com.ruoyi.system.service; + +import java.util.List; +import java.util.Set; +import com.ruoyi.common.core.domain.TreeSelect; +import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.system.domain.vo.RouterVo; + +/** + * 菜单 业务层 + * + * @author ruoyi + */ +public interface ISysMenuService +{ + /** + * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ + public List selectMenuList(Long userId); + + /** + * 根据用户查询系统菜单列表 + * + * @param menu 菜单信息 + * @param userId 用户ID + * @return 菜单列表 + */ + public List selectMenuList(SysMenu menu, Long userId); + + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + public Set selectMenuPermsByUserId(Long userId); + + /** + * 根据角色ID查询权限 + * + * @param roleId 角色ID + * @return 权限列表 + */ + public Set selectMenuPermsByRoleId(Long roleId); + + /** + * 根据用户ID查询菜单树信息 + * + * @param userId 用户ID + * @return 菜单列表 + */ + public List selectMenuTreeByUserId(Long userId); + + /** + * 根据角色ID查询菜单树信息 + * + * @param roleId 角色ID + * @return 选中菜单列表 + */ + public List selectMenuListByRoleId(Long roleId); + + /** + * 构建前端路由所需要的菜单 + * + * @param menus 菜单列表 + * @return 路由列表 + */ + public List buildMenus(List menus); + + /** + * 构建前端所需要树结构 + * + * @param menus 菜单列表 + * @return 树结构列表 + */ + public List buildMenuTree(List menus); + + /** + * 构建前端所需要下拉树结构 + * + * @param menus 菜单列表 + * @return 下拉树结构列表 + */ + public List buildMenuTreeSelect(List menus); + + /** + * 根据菜单ID查询信息 + * + * @param menuId 菜单ID + * @return 菜单信息 + */ + public SysMenu selectMenuById(Long menuId); + + /** + * 是否存在菜单子节点 + * + * @param menuId 菜单ID + * @return 结果 true 存在 false 不存在 + */ + public boolean hasChildByMenuId(Long menuId); + + /** + * 查询菜单是否存在角色 + * + * @param menuId 菜单ID + * @return 结果 true 存在 false 不存在 + */ + public boolean checkMenuExistRole(Long menuId); + + /** + * 新增保存菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + public int insertMenu(SysMenu menu); + + /** + * 修改保存菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + public int updateMenu(SysMenu menu); + + /** + * 删除菜单管理信息 + * + * @param menuId 菜单ID + * @return 结果 + */ + public int deleteMenuById(Long menuId); + + /** + * 校验菜单名称是否唯一 + * + * @param menu 菜单信息 + * @return 结果 + */ + public boolean checkMenuNameUnique(SysMenu menu); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java new file mode 100644 index 0000000..47ce1b7 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysNoticeService.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.SysNotice; + +/** + * 公告 服务层 + * + * @author ruoyi + */ +public interface ISysNoticeService +{ + /** + * 查询公告信息 + * + * @param noticeId 公告ID + * @return 公告信息 + */ + public SysNotice selectNoticeById(Long noticeId); + + /** + * 查询公告列表 + * + * @param notice 公告信息 + * @return 公告集合 + */ + public List selectNoticeList(SysNotice notice); + + /** + * 新增公告 + * + * @param notice 公告信息 + * @return 结果 + */ + public int insertNotice(SysNotice notice); + + /** + * 修改公告 + * + * @param notice 公告信息 + * @return 结果 + */ + public int updateNotice(SysNotice notice); + + /** + * 删除公告信息 + * + * @param noticeId 公告ID + * @return 结果 + */ + public int deleteNoticeById(Long noticeId); + + /** + * 批量删除公告信息 + * + * @param noticeIds 需要删除的公告ID + * @return 结果 + */ + public int deleteNoticeByIds(Long[] noticeIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java new file mode 100644 index 0000000..4fd8e5a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOperLogService.java @@ -0,0 +1,48 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.SysOperLog; + +/** + * 操作日志 服务层 + * + * @author ruoyi + */ +public interface ISysOperLogService +{ + /** + * 新增操作日志 + * + * @param operLog 操作日志对象 + */ + public void insertOperlog(SysOperLog operLog); + + /** + * 查询系统操作日志集合 + * + * @param operLog 操作日志对象 + * @return 操作日志集合 + */ + public List selectOperLogList(SysOperLog operLog); + + /** + * 批量删除系统操作日志 + * + * @param operIds 需要删除的操作日志ID + * @return 结果 + */ + public int deleteOperLogByIds(Long[] operIds); + + /** + * 查询操作日志详细 + * + * @param operId 操作ID + * @return 操作日志对象 + */ + public SysOperLog selectOperLogById(Long operId); + + /** + * 清空操作日志 + */ + public void cleanOperLog(); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java new file mode 100644 index 0000000..84779bf --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java @@ -0,0 +1,99 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.SysPost; + +/** + * 岗位信息 服务层 + * + * @author ruoyi + */ +public interface ISysPostService +{ + /** + * 查询岗位信息集合 + * + * @param post 岗位信息 + * @return 岗位列表 + */ + public List selectPostList(SysPost post); + + /** + * 查询所有岗位 + * + * @return 岗位列表 + */ + public List selectPostAll(); + + /** + * 通过岗位ID查询岗位信息 + * + * @param postId 岗位ID + * @return 角色对象信息 + */ + public SysPost selectPostById(Long postId); + + /** + * 根据用户ID获取岗位选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + public List selectPostListByUserId(Long userId); + + /** + * 校验岗位名称 + * + * @param post 岗位信息 + * @return 结果 + */ + public boolean checkPostNameUnique(SysPost post); + + /** + * 校验岗位编码 + * + * @param post 岗位信息 + * @return 结果 + */ + public boolean checkPostCodeUnique(SysPost post); + + /** + * 通过岗位ID查询岗位使用数量 + * + * @param postId 岗位ID + * @return 结果 + */ + public int countUserPostById(Long postId); + + /** + * 删除岗位信息 + * + * @param postId 岗位ID + * @return 结果 + */ + public int deletePostById(Long postId); + + /** + * 批量删除岗位信息 + * + * @param postIds 需要删除的岗位ID + * @return 结果 + */ + public int deletePostByIds(Long[] postIds); + + /** + * 新增保存岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + public int insertPost(SysPost post); + + /** + * 修改保存岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + public int updatePost(SysPost post); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java new file mode 100644 index 0000000..6c29f09 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java @@ -0,0 +1,173 @@ +package com.ruoyi.system.service; + +import java.util.List; +import java.util.Set; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.system.domain.SysUserRole; + +/** + * 角色业务层 + * + * @author ruoyi + */ +public interface ISysRoleService +{ + /** + * 根据条件分页查询角色数据 + * + * @param role 角色信息 + * @return 角色数据集合信息 + */ + public List selectRoleList(SysRole role); + + /** + * 根据用户ID查询角色列表 + * + * @param userId 用户ID + * @return 角色列表 + */ + public List selectRolesByUserId(Long userId); + + /** + * 根据用户ID查询角色权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + public Set selectRolePermissionByUserId(Long userId); + + /** + * 查询所有角色 + * + * @return 角色列表 + */ + public List selectRoleAll(); + + /** + * 根据用户ID获取角色选择框列表 + * + * @param userId 用户ID + * @return 选中角色ID列表 + */ + public List selectRoleListByUserId(Long userId); + + /** + * 通过角色ID查询角色 + * + * @param roleId 角色ID + * @return 角色对象信息 + */ + public SysRole selectRoleById(Long roleId); + + /** + * 校验角色名称是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + public boolean checkRoleNameUnique(SysRole role); + + /** + * 校验角色权限是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + public boolean checkRoleKeyUnique(SysRole role); + + /** + * 校验角色是否允许操作 + * + * @param role 角色信息 + */ + public void checkRoleAllowed(SysRole role); + + /** + * 校验角色是否有数据权限 + * + * @param roleId 角色id + */ + public void checkRoleDataScope(Long roleId); + + /** + * 通过角色ID查询角色使用数量 + * + * @param roleId 角色ID + * @return 结果 + */ + public int countUserRoleByRoleId(Long roleId); + + /** + * 新增保存角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int insertRole(SysRole role); + + /** + * 修改保存角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int updateRole(SysRole role); + + /** + * 修改角色状态 + * + * @param role 角色信息 + * @return 结果 + */ + public int updateRoleStatus(SysRole role); + + /** + * 修改数据权限信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int authDataScope(SysRole role); + + /** + * 通过角色ID删除角色 + * + * @param roleId 角色ID + * @return 结果 + */ + public int deleteRoleById(Long roleId); + + /** + * 批量删除角色信息 + * + * @param roleIds 需要删除的角色ID + * @return 结果 + */ + public int deleteRoleByIds(Long[] roleIds); + + /** + * 取消授权用户角色 + * + * @param userRole 用户和角色关联信息 + * @return 结果 + */ + public int deleteAuthUser(SysUserRole userRole); + + /** + * 批量取消授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要取消授权的用户数据ID + * @return 结果 + */ + public int deleteAuthUsers(Long roleId, Long[] userIds); + + /** + * 批量选择授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要删除的用户数据ID + * @return 结果 + */ + public int insertAuthUsers(Long roleId, Long[] userIds); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java new file mode 100644 index 0000000..8eb5448 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java @@ -0,0 +1,48 @@ +package com.ruoyi.system.service; + +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.system.domain.SysUserOnline; + +/** + * 在线用户 服务层 + * + * @author ruoyi + */ +public interface ISysUserOnlineService +{ + /** + * 通过登录地址查询信息 + * + * @param ipaddr 登录地址 + * @param user 用户信息 + * @return 在线用户信息 + */ + public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user); + + /** + * 通过用户名称查询信息 + * + * @param userName 用户名称 + * @param user 用户信息 + * @return 在线用户信息 + */ + public SysUserOnline selectOnlineByUserName(String userName, LoginUser user); + + /** + * 通过登录地址/用户名称查询信息 + * + * @param ipaddr 登录地址 + * @param userName 用户名称 + * @param user 用户信息 + * @return 在线用户信息 + */ + public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user); + + /** + * 设置在线用户信息 + * + * @param user 用户信息 + * @return 在线用户 + */ + public SysUserOnline loginUserToUserOnline(LoginUser user); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java new file mode 100644 index 0000000..10bc2ab --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -0,0 +1,206 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.common.core.domain.entity.SysUser; + +/** + * 用户 业务层 + * + * @author ruoyi + */ +public interface ISysUserService +{ + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser user); + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectAllocatedList(SysUser user); + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUnallocatedList(SysUser user); + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + public SysUser selectUserByUserName(String userName); + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserById(Long userId); + + /** + * 根据用户ID查询用户所属角色组 + * + * @param userName 用户名 + * @return 结果 + */ + public String selectUserRoleGroup(String userName); + + /** + * 根据用户ID查询用户所属岗位组 + * + * @param userName 用户名 + * @return 结果 + */ + public String selectUserPostGroup(String userName); + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkUserNameUnique(SysUser user); + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkPhoneUnique(SysUser user); + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean checkEmailUnique(SysUser user); + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + public void checkUserAllowed(SysUser user); + + /** + * 校验用户是否有数据权限 + * + * @param userId 用户id + */ + public void checkUserDataScope(Long userId); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean registerUser(SysUser user); + + /** + * 修改用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); + + /** + * 用户授权角色 + * + * @param userId 用户ID + * @param roleIds 角色组 + */ + public void insertUserAuth(Long userId, Long[] roleIds); + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUserStatus(SysUser user); + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUserProfile(SysUser user); + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + public boolean updateUserAvatar(String userName, String avatar); + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + public int resetPwd(SysUser user); + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + public int resetUserPwd(String userName, String password); + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserById(Long userId); + + /** + * 批量删除用户信息 + * + * @param userIds 需要删除的用户ID + * @return 结果 + */ + public int deleteUserByIds(Long[] userIds); + + /** + * 导入用户数据 + * + * @param userList 用户数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + public String importUser(List userList, Boolean isUpdateSupport, String operName); +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/.DS_Store new file mode 100644 index 0000000..8b3f270 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhALoveServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhALoveServiceImpl.java new file mode 100644 index 0000000..aa05ad3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhALoveServiceImpl.java @@ -0,0 +1,114 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; + +import com.ruoyi.system.domain.BhArtice; +import com.ruoyi.system.mapper.BhArticeMapper; +import com.ruoyi.system.service.IBhArticeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhALoveMapper; +import com.ruoyi.system.domain.BhALove; +import com.ruoyi.system.service.IBhALoveService; + +/** + * 点赞记录Service业务层处理 + * + * @author MrYuan + * @date 2023-05-31 + */ +@Service +public class BhALoveServiceImpl implements IBhALoveService +{ + @Autowired + private BhALoveMapper bhALoveMapper; + @Autowired + private BhArticeMapper articeService; + /** + * 查询点赞记录 + * + * @param uid 点赞记录主键 + * @return 点赞记录 + */ + @Override + public BhALove selectBhALoveByUid(Long uid) + { + return bhALoveMapper.selectBhALoveByUid(uid); + } + + /** + * 查询点赞记录列表 + * + * @param bhALove 点赞记录 + * @return 点赞记录 + */ + @Override + public List selectBhALoveList(BhALove bhALove) + { + return bhALoveMapper.selectBhALoveList(bhALove); + } + + /** + * 新增点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + @Override + public int insertBhALove(BhALove bhALove) + { + + int i = bhALoveMapper.insertBhALove(bhALove); + if(i == 1){ + System.out.println(bhALove.getAid()); + BhArtice bhArtice= articeService.selectBhArticeById(Long.parseLong(bhALove.getAid().toString())); + bhArtice.setCount(bhArtice.getCount() + 1); + i = articeService.updateBhArtice(bhArtice); + } + + return i; + } + + /** + * 修改点赞记录 + * + * @param bhALove 点赞记录 + * @return 结果 + */ + @Override + public int updateBhALove(BhALove bhALove) + { + return bhALoveMapper.updateBhALove(bhALove); + } + + /** + * 批量删除点赞记录 + * + * @param uids 需要删除的点赞记录主键 + * @return 结果 + */ + @Override + public int deleteBhALoveByUids(Long[] uids) + { + return bhALoveMapper.deleteBhALoveByUids(uids); + } + + /** + * 删除点赞记录信息 + * + * @param uid 点赞记录主键 + * @return 结果 + */ + @Override + public int deleteBhALoveByUid(BhALove bhALove) + { + if(bhALoveMapper.deleteBhALoveByUid(bhALove) == 1){ + BhArtice artice = articeService.selectBhArticeById(bhALove.getAid()); + artice.setCount(artice.getCount() - 1L); + articeService.updateBhArtice(artice); + return 1; + } + + return 0; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhArticeServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhArticeServiceImpl.java new file mode 100644 index 0000000..e8ca628 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhArticeServiceImpl.java @@ -0,0 +1,95 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhArticeMapper; +import com.ruoyi.system.domain.BhArtice; +import com.ruoyi.system.service.IBhArticeService; + +/** + * 社区Service业务层处理 + * + * @author Mr Yuan + * @date 2023-05-31 + */ +@Service +public class BhArticeServiceImpl implements IBhArticeService +{ + @Autowired + private BhArticeMapper bhArticeMapper; + + /** + * 查询社区 + * + * @param id 社区主键 + * @return 社区 + */ + @Override + public BhArtice selectBhArticeById(Long id) + { + return bhArticeMapper.selectBhArticeById(id); + } + + /** + * 查询社区列表 + * + * @param bhArtice 社区 + * @return 社区 + */ + @Override + public List selectBhArticeList(BhArtice bhArtice) + { + return bhArticeMapper.selectBhArticeList(bhArtice); + } + + /** + * 新增社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + @Override + public int insertBhArtice(BhArtice bhArtice) + { + bhArtice.setCreateTime(DateUtils.getNowDate()); + return bhArticeMapper.insertBhArtice(bhArtice); + } + + /** + * 修改社区 + * + * @param bhArtice 社区 + * @return 结果 + */ + @Override + public int updateBhArtice(BhArtice bhArtice) + { + return bhArticeMapper.updateBhArtice(bhArtice); + } + + /** + * 批量删除社区 + * + * @param ids 需要删除的社区主键 + * @return 结果 + */ + @Override + public int deleteBhArticeByIds(Long[] ids) + { + return bhArticeMapper.deleteBhArticeByIds(ids); + } + + /** + * 删除社区信息 + * + * @param id 社区主键 + * @return 结果 + */ + @Override + public int deleteBhArticeById(Long id) + { + return bhArticeMapper.deleteBhArticeById(id); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCaloriesServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCaloriesServiceImpl.java new file mode 100644 index 0000000..ea4089a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCaloriesServiceImpl.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhCaloriesMapper; +import com.ruoyi.system.domain.BhCalories; +import com.ruoyi.system.service.IBhCaloriesService; + +/** + * 燃烧我的卡路里Service业务层处理 + * + * @author MrYuan + * @date 2023-05-17 + */ +@Service +public class BhCaloriesServiceImpl implements IBhCaloriesService +{ + @Autowired + private BhCaloriesMapper bhCaloriesMapper; + + /** + * 查询燃烧我的卡路里 + * + * @param uid 燃烧我的卡路里主键 + * @return 燃烧我的卡路里 + */ + @Override + public BhCalories selectBhCaloriesByUid(Long uid) + { + return bhCaloriesMapper.selectBhCaloriesByUid(uid); + } + + /** + * 查询燃烧我的卡路里列表 + * + * @param bhCalories 燃烧我的卡路里 + * @return 燃烧我的卡路里 + */ + @Override + public List selectBhCaloriesList(BhCalories bhCalories) + { + return bhCaloriesMapper.selectBhCaloriesList(bhCalories); + } + + /** + * 新增燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + @Override + public int insertBhCalories(BhCalories bhCalories) + { + bhCalories.setCreateTime(DateUtils.getNowDate()); + return bhCaloriesMapper.insertBhCalories(bhCalories); + } + + /** + * 修改燃烧我的卡路里 + * + * @param bhCalories 燃烧我的卡路里 + * @return 结果 + */ + @Override + public int updateBhCalories(BhCalories bhCalories) + { + return bhCaloriesMapper.updateBhCalories(bhCalories); + } + + /** + * 批量删除燃烧我的卡路里 + * + * @param uids 需要删除的燃烧我的卡路里主键 + * @return 结果 + */ + @Override + public int deleteBhCaloriesByUids(Long[] uids) + { + return bhCaloriesMapper.deleteBhCaloriesByUids(uids); + } + + /** + * 删除燃烧我的卡路里信息 + * + * @param uid 燃烧我的卡路里主键 + * @return 结果 + */ + @Override + public int deleteBhCaloriesByUid(Long uid) + { + return bhCaloriesMapper.deleteBhCaloriesByUid(uid); + } + + @Override + public int deleteBhCaloriesByOne(BhCalories bhCalories) { + return bhCaloriesMapper.deleteBhCaloriesByOne(bhCalories); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCategoriesServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCategoriesServiceImpl.java new file mode 100644 index 0000000..de33610 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhCategoriesServiceImpl.java @@ -0,0 +1,131 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.ruoyi.system.domain.BhFood; +import com.ruoyi.system.mapper.BhCategoriesMapper; +import com.ruoyi.system.domain.BhCategories; +import com.ruoyi.system.service.IBhCategoriesService; + +/** + * 分类管理Service业务层处理 + * + * @author ruoyi + * @date 2023-05-15 + */ +@Service +public class BhCategoriesServiceImpl implements IBhCategoriesService +{ + @Autowired + private BhCategoriesMapper bhCategoriesMapper; + + /** + * 查询分类管理 + * + * @param id 分类管理主键 + * @return 分类管理 + */ + @Override + public BhCategories selectBhCategoriesById(Long id) + { + return bhCategoriesMapper.selectBhCategoriesById(id); + } + + /** + * 查询分类管理列表 + * + * @param bhCategories 分类管理 + * @return 分类管理 + */ + @Override + public List selectBhCategoriesList(BhCategories bhCategories) + { + return bhCategoriesMapper.selectBhCategoriesList(bhCategories); + } + + /** + * 新增分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + @Transactional + @Override + public int insertBhCategories(BhCategories bhCategories) + { + int rows = bhCategoriesMapper.insertBhCategories(bhCategories); + insertBhFood(bhCategories); + return rows; + } + + /** + * 修改分类管理 + * + * @param bhCategories 分类管理 + * @return 结果 + */ + @Transactional + @Override + public int updateBhCategories(BhCategories bhCategories) + { + bhCategoriesMapper.deleteBhFoodByPid(bhCategories.getId()); + insertBhFood(bhCategories); + return bhCategoriesMapper.updateBhCategories(bhCategories); + } + + /** + * 批量删除分类管理 + * + * @param ids 需要删除的分类管理主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteBhCategoriesByIds(Long[] ids) + { + bhCategoriesMapper.deleteBhFoodByPids(ids); + return bhCategoriesMapper.deleteBhCategoriesByIds(ids); + } + + /** + * 删除分类管理信息 + * + * @param id 分类管理主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteBhCategoriesById(Long id) + { + bhCategoriesMapper.deleteBhFoodByPid(id); + return bhCategoriesMapper.deleteBhCategoriesById(id); + } + + /** + * 新增食物管理信息 + * + * @param bhCategories 分类管理对象 + */ + public void insertBhFood(BhCategories bhCategories) + { + List bhFoodList = bhCategories.getBhFoodList(); + Long id = bhCategories.getId(); + if (StringUtils.isNotNull(bhFoodList)) + { + List list = new ArrayList(); + for (BhFood bhFood : bhFoodList) + { + bhFood.setPid(id); + list.add(bhFood); + } + if (list.size() > 0) + { + bhCategoriesMapper.batchBhFood(list); + } + } + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhFoodServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhFoodServiceImpl.java new file mode 100644 index 0000000..a070a61 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhFoodServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhFoodMapper; +import com.ruoyi.system.domain.BhFood; +import com.ruoyi.system.service.IBhFoodService; + +/** + * 食物管理Service业务层处理 + * + * @author ruoyi + * @date 2023-05-15 + */ +@Service +public class BhFoodServiceImpl implements IBhFoodService +{ + @Autowired + private BhFoodMapper bhFoodMapper; + + /** + * 查询食物管理 + * + * @param id 食物管理主键 + * @return 食物管理 + */ + @Override + public BhFood selectBhFoodById(Long id) + { + return bhFoodMapper.selectBhFoodById(id); + } + + /** + * 查询食物管理列表 + * + * @param bhFood 食物管理 + * @return 食物管理 + */ + @Override + public List selectBhFoodList(BhFood bhFood) + { + return bhFoodMapper.selectBhFoodList(bhFood); + } + + /** + * 新增食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + @Override + public int insertBhFood(BhFood bhFood) + { + return bhFoodMapper.insertBhFood(bhFood); + } + + /** + * 修改食物管理 + * + * @param bhFood 食物管理 + * @return 结果 + */ + @Override + public int updateBhFood(BhFood bhFood) + { + return bhFoodMapper.updateBhFood(bhFood); + } + + /** + * 批量删除食物管理 + * + * @param ids 需要删除的食物管理主键 + * @return 结果 + */ + @Override + public int deleteBhFoodByIds(Long[] ids) + { + return bhFoodMapper.deleteBhFoodByIds(ids); + } + + /** + * 删除食物管理信息 + * + * @param id 食物管理主键 + * @return 结果 + */ + @Override + public int deleteBhFoodById(Long id) + { + return bhFoodMapper.deleteBhFoodById(id); + } + + + +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhLoveFoodServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhLoveFoodServiceImpl.java new file mode 100644 index 0000000..0105617 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhLoveFoodServiceImpl.java @@ -0,0 +1,103 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhLoveFoodMapper; +import com.ruoyi.system.domain.BhLoveFood; +import com.ruoyi.system.service.IBhLoveFoodService; + +/** + * 收藏食物Service业务层处理 + * + * @author MrYuan + * @date 2023-05-18 + */ +@Service +public class BhLoveFoodServiceImpl implements IBhLoveFoodService +{ + @Autowired + private BhLoveFoodMapper bhLoveFoodMapper; + + /** + * 查询收藏食物 + * + * @param uid 收藏食物主键 + * @return 收藏食物 + */ + @Override + public BhLoveFood selectBhLoveFoodByUid(Long uid) + { + return bhLoveFoodMapper.selectBhLoveFoodByUid(uid); + } + + @Override + public List selectBhLoveList(Long uid) { + return bhLoveFoodMapper.selectBhLoveList(uid); + } + + @Override + public int deleteBhLove(BhLoveFood loveFood) { + return bhLoveFoodMapper.deleteBhLove(loveFood); + } + + /** + * 查询收藏食物列表 + * + * @param bhLoveFood 收藏食物 + * @return 收藏食物 + */ + @Override + public List selectBhLoveFoodList(BhLoveFood bhLoveFood) + { + return bhLoveFoodMapper.selectBhLoveFoodList(bhLoveFood); + } + + /** + * 新增收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + @Override + public int insertBhLoveFood(BhLoveFood bhLoveFood) + { + return bhLoveFoodMapper.insertBhLoveFood(bhLoveFood); + } + + /** + * 修改收藏食物 + * + * @param bhLoveFood 收藏食物 + * @return 结果 + */ + @Override + public int updateBhLoveFood(BhLoveFood bhLoveFood) + { + return bhLoveFoodMapper.updateBhLoveFood(bhLoveFood); + } + + /** + * 批量删除收藏食物 + * + * @param uids 需要删除的收藏食物主键 + * @return 结果 + */ + @Override + public int deleteBhLoveFoodByUids(Long[] uids) + { + return bhLoveFoodMapper.deleteBhLoveFoodByUids(uids); + } + + /** + * 删除收藏食物信息 + * + * @param uid 收藏食物主键 + * @return 结果 + */ + @Override + public int deleteBhLoveFoodByUid(Long uid) + { + return bhLoveFoodMapper.deleteBhLoveFoodByUid(uid); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhMoveServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhMoveServiceImpl.java new file mode 100644 index 0000000..43d2b7d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BhMoveServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BhMoveMapper; +import com.ruoyi.system.domain.BhMove; +import com.ruoyi.system.service.IBhMoveService; + +/** + * 运动项目管理Service业务层处理 + * + * @author MrYuan + * @date 2023-05-16 + */ +@Service +public class BhMoveServiceImpl implements IBhMoveService +{ + @Autowired + private BhMoveMapper bhMoveMapper; + + /** + * 查询运动项目管理 + * + * @param id 运动项目管理主键 + * @return 运动项目管理 + */ + @Override + public BhMove selectBhMoveById(Long id) + { + return bhMoveMapper.selectBhMoveById(id); + } + + /** + * 查询运动项目管理列表 + * + * @param bhMove 运动项目管理 + * @return 运动项目管理 + */ + @Override + public List selectBhMoveList(BhMove bhMove) + { + return bhMoveMapper.selectBhMoveList(bhMove); + } + + /** + * 新增运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + @Override + public int insertBhMove(BhMove bhMove) + { + return bhMoveMapper.insertBhMove(bhMove); + } + + /** + * 修改运动项目管理 + * + * @param bhMove 运动项目管理 + * @return 结果 + */ + @Override + public int updateBhMove(BhMove bhMove) + { + return bhMoveMapper.updateBhMove(bhMove); + } + + /** + * 批量删除运动项目管理 + * + * @param ids 需要删除的运动项目管理主键 + * @return 结果 + */ + @Override + public int deleteBhMoveByIds(Long[] ids) + { + return bhMoveMapper.deleteBhMoveByIds(ids); + } + + /** + * 删除运动项目管理信息 + * + * @param id 运动项目管理主键 + * @return 结果 + */ + @Override + public int deleteBhMoveById(Long id) + { + return bhMoveMapper.deleteBhMoveById(id); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BoheUserServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BoheUserServiceImpl.java new file mode 100644 index 0000000..eaa51be --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BoheUserServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BoheUserMapper; +import com.ruoyi.system.domain.BoheUser; +import com.ruoyi.system.service.IBoheUserService; + +/** + * 薄荷用户管理Service业务层处理 + * + * @author MrYuan + * @date 2023-05-16 + */ +@Service +public class BoheUserServiceImpl implements IBoheUserService +{ + @Autowired + private BoheUserMapper boheUserMapper; + + /** + * 查询薄荷用户管理 + * + * @param id 薄荷用户管理主键 + * @return 薄荷用户管理 + */ + @Override + public BoheUser selectBoheUserById(Long id) + { + return boheUserMapper.selectBoheUserById(id); + } + + /** + * 查询薄荷用户管理列表 + * + * @param boheUser 薄荷用户管理 + * @return 薄荷用户管理 + */ + @Override + public List selectBoheUserList(BoheUser boheUser) + { + return boheUserMapper.selectBoheUserList(boheUser); + } + + /** + * 新增薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + @Override + public int insertBoheUser(BoheUser boheUser) + { + boheUser.setCalory((long) (661 + 9.6*boheUser.getWeight() + 1.72*boheUser.getHeight() -4.7*boheUser.getAge())); + return boheUserMapper.insertBoheUser(boheUser); + } + + /** + * 修改薄荷用户管理 + * + * @param boheUser 薄荷用户管理 + * @return 结果 + */ + @Override + public int updateBoheUser(BoheUser boheUser) + { + + boheUser.setCalory((long) (661 + 9.6*boheUser.getWeight() + 1.72*boheUser.getHeight() -4.7*boheUser.getAge())); + return boheUserMapper.updateBoheUser(boheUser); + } + + /** + * 批量删除薄荷用户管理 + * + * @param ids 需要删除的薄荷用户管理主键 + * @return 结果 + */ + @Override + public int deleteBoheUserByIds(Long[] ids) + { + return boheUserMapper.deleteBoheUserByIds(ids); + } + + /** + * 删除薄荷用户管理信息 + * + * @param id 薄荷用户管理主键 + * @return 结果 + */ + @Override + public int deleteBoheUserById(Long id) + { + return boheUserMapper.deleteBoheUserById(id); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java new file mode 100644 index 0000000..4d29b22 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -0,0 +1,232 @@ +package com.ruoyi.system.service.impl; + +import java.util.Collection; +import java.util.List; +import javax.annotation.PostConstruct; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.system.mapper.SysConfigMapper; +import com.ruoyi.system.service.ISysConfigService; + +/** + * 参数配置 服务层实现 + * + * @author ruoyi + */ +@Service +public class SysConfigServiceImpl implements ISysConfigService +{ + @Autowired + private SysConfigMapper configMapper; + + @Autowired + private RedisCache redisCache; + + /** + * 项目启动时,初始化参数到缓存 + */ + @PostConstruct + public void init() + { + loadingConfigCache(); + } + + /** + * 查询参数配置信息 + * + * @param configId 参数配置ID + * @return 参数配置信息 + */ + @Override + @DataSource(DataSourceType.MASTER) + public SysConfig selectConfigById(Long configId) + { + SysConfig config = new SysConfig(); + config.setConfigId(configId); + return configMapper.selectConfig(config); + } + + /** + * 根据键名查询参数配置信息 + * + * @param configKey 参数key + * @return 参数键值 + */ + @Override + public String selectConfigByKey(String configKey) + { + String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey))); + if (StringUtils.isNotEmpty(configValue)) + { + return configValue; + } + SysConfig config = new SysConfig(); + config.setConfigKey(configKey); + SysConfig retConfig = configMapper.selectConfig(config); + if (StringUtils.isNotNull(retConfig)) + { + redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); + return retConfig.getConfigValue(); + } + return StringUtils.EMPTY; + } + + /** + * 获取验证码开关 + * + * @return true开启,false关闭 + */ + @Override + public boolean selectCaptchaEnabled() + { + String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); + if (StringUtils.isEmpty(captchaEnabled)) + { + return true; + } + return Convert.toBool(captchaEnabled); + } + + /** + * 查询参数配置列表 + * + * @param config 参数配置信息 + * @return 参数配置集合 + */ + @Override + public List selectConfigList(SysConfig config) + { + return configMapper.selectConfigList(config); + } + + /** + * 新增参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + @Override + public int insertConfig(SysConfig config) + { + int row = configMapper.insertConfig(config); + if (row > 0) + { + redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + } + return row; + } + + /** + * 修改参数配置 + * + * @param config 参数配置信息 + * @return 结果 + */ + @Override + public int updateConfig(SysConfig config) + { + SysConfig temp = configMapper.selectConfigById(config.getConfigId()); + if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) + { + redisCache.deleteObject(getCacheKey(temp.getConfigKey())); + } + + int row = configMapper.updateConfig(config); + if (row > 0) + { + redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + } + return row; + } + + /** + * 批量删除参数信息 + * + * @param configIds 需要删除的参数ID + */ + @Override + public void deleteConfigByIds(Long[] configIds) + { + for (Long configId : configIds) + { + SysConfig config = selectConfigById(configId); + if (StringUtils.equals(UserConstants.YES, config.getConfigType())) + { + throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); + } + configMapper.deleteConfigById(configId); + redisCache.deleteObject(getCacheKey(config.getConfigKey())); + } + } + + /** + * 加载参数缓存数据 + */ + @Override + public void loadingConfigCache() + { + List configsList = configMapper.selectConfigList(new SysConfig()); + for (SysConfig config : configsList) + { + redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); + } + } + + /** + * 清空参数缓存数据 + */ + @Override + public void clearConfigCache() + { + Collection keys = redisCache.keys(CacheConstants.SYS_CONFIG_KEY + "*"); + redisCache.deleteObject(keys); + } + + /** + * 重置参数缓存数据 + */ + @Override + public void resetConfigCache() + { + clearConfigCache(); + loadingConfigCache(); + } + + /** + * 校验参数键名是否唯一 + * + * @param config 参数配置信息 + * @return 结果 + */ + @Override + public boolean checkConfigKeyUnique(SysConfig config) + { + Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId(); + SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey()); + if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + private String getCacheKey(String configKey) + { + return CacheConstants.SYS_CONFIG_KEY + configKey; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java new file mode 100644 index 0000000..f7fb088 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -0,0 +1,338 @@ +package com.ruoyi.system.service.impl; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.annotation.DataScope; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.TreeSelect; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.system.mapper.SysDeptMapper; +import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.service.ISysDeptService; + +/** + * 部门管理 服务实现 + * + * @author ruoyi + */ +@Service +public class SysDeptServiceImpl implements ISysDeptService +{ + @Autowired + private SysDeptMapper deptMapper; + + @Autowired + private SysRoleMapper roleMapper; + + /** + * 查询部门管理数据 + * + * @param dept 部门信息 + * @return 部门信息集合 + */ + @Override + @DataScope(deptAlias = "d") + public List selectDeptList(SysDept dept) + { + return deptMapper.selectDeptList(dept); + } + + /** + * 查询部门树结构信息 + * + * @param dept 部门信息 + * @return 部门树信息集合 + */ + @Override + public List selectDeptTreeList(SysDept dept) + { + List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); + return buildDeptTreeSelect(depts); + } + + /** + * 构建前端所需要树结构 + * + * @param depts 部门列表 + * @return 树结构列表 + */ + @Override + public List buildDeptTree(List depts) + { + List returnList = new ArrayList(); + List tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList()); + for (SysDept dept : depts) + { + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(dept.getParentId())) + { + recursionFn(depts, dept); + returnList.add(dept); + } + } + if (returnList.isEmpty()) + { + returnList = depts; + } + return returnList; + } + + /** + * 构建前端所需要下拉树结构 + * + * @param depts 部门列表 + * @return 下拉树结构列表 + */ + @Override + public List buildDeptTreeSelect(List depts) + { + List deptTrees = buildDeptTree(depts); + return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + /** + * 根据角色ID查询部门树信息 + * + * @param roleId 角色ID + * @return 选中部门列表 + */ + @Override + public List selectDeptListByRoleId(Long roleId) + { + SysRole role = roleMapper.selectRoleById(roleId); + return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly()); + } + + /** + * 根据部门ID查询信息 + * + * @param deptId 部门ID + * @return 部门信息 + */ + @Override + public SysDept selectDeptById(Long deptId) + { + return deptMapper.selectDeptById(deptId); + } + + /** + * 根据ID查询所有子部门(正常状态) + * + * @param deptId 部门ID + * @return 子部门数 + */ + @Override + public int selectNormalChildrenDeptById(Long deptId) + { + return deptMapper.selectNormalChildrenDeptById(deptId); + } + + /** + * 是否存在子节点 + * + * @param deptId 部门ID + * @return 结果 + */ + @Override + public boolean hasChildByDeptId(Long deptId) + { + int result = deptMapper.hasChildByDeptId(deptId); + return result > 0; + } + + /** + * 查询部门是否存在用户 + * + * @param deptId 部门ID + * @return 结果 true 存在 false 不存在 + */ + @Override + public boolean checkDeptExistUser(Long deptId) + { + int result = deptMapper.checkDeptExistUser(deptId); + return result > 0; + } + + /** + * 校验部门名称是否唯一 + * + * @param dept 部门信息 + * @return 结果 + */ + @Override + public boolean checkDeptNameUnique(SysDept dept) + { + Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId(); + SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId()); + if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验部门是否有数据权限 + * + * @param deptId 部门id + */ + @Override + public void checkDeptDataScope(Long deptId) + { + if (!SysUser.isAdmin(SecurityUtils.getUserId())) + { + SysDept dept = new SysDept(); + dept.setDeptId(deptId); + List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); + if (StringUtils.isEmpty(depts)) + { + throw new ServiceException("没有权限访问部门数据!"); + } + } + } + + /** + * 新增保存部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + @Override + public int insertDept(SysDept dept) + { + SysDept info = deptMapper.selectDeptById(dept.getParentId()); + // 如果父节点不为正常状态,则不允许新增子节点 + if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) + { + throw new ServiceException("部门停用,不允许新增"); + } + dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); + return deptMapper.insertDept(dept); + } + + /** + * 修改保存部门信息 + * + * @param dept 部门信息 + * @return 结果 + */ + @Override + public int updateDept(SysDept dept) + { + SysDept newParentDept = deptMapper.selectDeptById(dept.getParentId()); + SysDept oldDept = deptMapper.selectDeptById(dept.getDeptId()); + if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept)) + { + String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId(); + String oldAncestors = oldDept.getAncestors(); + dept.setAncestors(newAncestors); + updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); + } + int result = deptMapper.updateDept(dept); + if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors()) + && !StringUtils.equals("0", dept.getAncestors())) + { + // 如果该部门是启用状态,则启用该部门的所有上级部门 + updateParentDeptStatusNormal(dept); + } + return result; + } + + /** + * 修改该部门的父级部门状态 + * + * @param dept 当前部门 + */ + private void updateParentDeptStatusNormal(SysDept dept) + { + String ancestors = dept.getAncestors(); + Long[] deptIds = Convert.toLongArray(ancestors); + deptMapper.updateDeptStatusNormal(deptIds); + } + + /** + * 修改子元素关系 + * + * @param deptId 被修改的部门ID + * @param newAncestors 新的父ID集合 + * @param oldAncestors 旧的父ID集合 + */ + public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) + { + List children = deptMapper.selectChildrenDeptById(deptId); + for (SysDept child : children) + { + child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors)); + } + if (children.size() > 0) + { + deptMapper.updateDeptChildren(children); + } + } + + /** + * 删除部门管理信息 + * + * @param deptId 部门ID + * @return 结果 + */ + @Override + public int deleteDeptById(Long deptId) + { + return deptMapper.deleteDeptById(deptId); + } + + /** + * 递归列表 + */ + private void recursionFn(List list, SysDept t) + { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (SysDept tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, SysDept t) + { + List tlist = new ArrayList(); + Iterator it = list.iterator(); + while (it.hasNext()) + { + SysDept n = (SysDept) it.next(); + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) + { + tlist.add(n); + } + } + return tlist; + } + + /** + * 判断是否有子节点 + */ + private boolean hasChild(List list, SysDept t) + { + return getChildList(list, t).size() > 0; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java new file mode 100644 index 0000000..fced569 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java @@ -0,0 +1,111 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.system.mapper.SysDictDataMapper; +import com.ruoyi.system.service.ISysDictDataService; + +/** + * 字典 业务层处理 + * + * @author ruoyi + */ +@Service +public class SysDictDataServiceImpl implements ISysDictDataService +{ + @Autowired + private SysDictDataMapper dictDataMapper; + + /** + * 根据条件分页查询字典数据 + * + * @param dictData 字典数据信息 + * @return 字典数据集合信息 + */ + @Override + public List selectDictDataList(SysDictData dictData) + { + return dictDataMapper.selectDictDataList(dictData); + } + + /** + * 根据字典类型和字典键值查询字典数据信息 + * + * @param dictType 字典类型 + * @param dictValue 字典键值 + * @return 字典标签 + */ + @Override + public String selectDictLabel(String dictType, String dictValue) + { + return dictDataMapper.selectDictLabel(dictType, dictValue); + } + + /** + * 根据字典数据ID查询信息 + * + * @param dictCode 字典数据ID + * @return 字典数据 + */ + @Override + public SysDictData selectDictDataById(Long dictCode) + { + return dictDataMapper.selectDictDataById(dictCode); + } + + /** + * 批量删除字典数据信息 + * + * @param dictCodes 需要删除的字典数据ID + */ + @Override + public void deleteDictDataByIds(Long[] dictCodes) + { + for (Long dictCode : dictCodes) + { + SysDictData data = selectDictDataById(dictCode); + dictDataMapper.deleteDictDataById(dictCode); + List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDatas); + } + } + + /** + * 新增保存字典数据信息 + * + * @param data 字典数据信息 + * @return 结果 + */ + @Override + public int insertDictData(SysDictData data) + { + int row = dictDataMapper.insertDictData(data); + if (row > 0) + { + List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDatas); + } + return row; + } + + /** + * 修改保存字典数据信息 + * + * @param data 字典数据信息 + * @return 结果 + */ + @Override + public int updateDictData(SysDictData data) + { + int row = dictDataMapper.updateDictData(data); + if (row > 0) + { + List dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); + DictUtils.setDictCache(data.getDictType(), dictDatas); + } + return row; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java new file mode 100644 index 0000000..7fd9654 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -0,0 +1,223 @@ +package com.ruoyi.system.service.impl; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import javax.annotation.PostConstruct; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.domain.entity.SysDictType; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.mapper.SysDictDataMapper; +import com.ruoyi.system.mapper.SysDictTypeMapper; +import com.ruoyi.system.service.ISysDictTypeService; + +/** + * 字典 业务层处理 + * + * @author ruoyi + */ +@Service +public class SysDictTypeServiceImpl implements ISysDictTypeService +{ + @Autowired + private SysDictTypeMapper dictTypeMapper; + + @Autowired + private SysDictDataMapper dictDataMapper; + + /** + * 项目启动时,初始化字典到缓存 + */ + @PostConstruct + public void init() + { + loadingDictCache(); + } + + /** + * 根据条件分页查询字典类型 + * + * @param dictType 字典类型信息 + * @return 字典类型集合信息 + */ + @Override + public List selectDictTypeList(SysDictType dictType) + { + return dictTypeMapper.selectDictTypeList(dictType); + } + + /** + * 根据所有字典类型 + * + * @return 字典类型集合信息 + */ + @Override + public List selectDictTypeAll() + { + return dictTypeMapper.selectDictTypeAll(); + } + + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + @Override + public List selectDictDataByType(String dictType) + { + List dictDatas = DictUtils.getDictCache(dictType); + if (StringUtils.isNotEmpty(dictDatas)) + { + return dictDatas; + } + dictDatas = dictDataMapper.selectDictDataByType(dictType); + if (StringUtils.isNotEmpty(dictDatas)) + { + DictUtils.setDictCache(dictType, dictDatas); + return dictDatas; + } + return null; + } + + /** + * 根据字典类型ID查询信息 + * + * @param dictId 字典类型ID + * @return 字典类型 + */ + @Override + public SysDictType selectDictTypeById(Long dictId) + { + return dictTypeMapper.selectDictTypeById(dictId); + } + + /** + * 根据字典类型查询信息 + * + * @param dictType 字典类型 + * @return 字典类型 + */ + @Override + public SysDictType selectDictTypeByType(String dictType) + { + return dictTypeMapper.selectDictTypeByType(dictType); + } + + /** + * 批量删除字典类型信息 + * + * @param dictIds 需要删除的字典ID + */ + @Override + public void deleteDictTypeByIds(Long[] dictIds) + { + for (Long dictId : dictIds) + { + SysDictType dictType = selectDictTypeById(dictId); + if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) + { + throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); + } + dictTypeMapper.deleteDictTypeById(dictId); + DictUtils.removeDictCache(dictType.getDictType()); + } + } + + /** + * 加载字典缓存数据 + */ + @Override + public void loadingDictCache() + { + SysDictData dictData = new SysDictData(); + dictData.setStatus("0"); + Map> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); + for (Map.Entry> entry : dictDataMap.entrySet()) + { + DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); + } + } + + /** + * 清空字典缓存数据 + */ + @Override + public void clearDictCache() + { + DictUtils.clearDictCache(); + } + + /** + * 重置字典缓存数据 + */ + @Override + public void resetDictCache() + { + clearDictCache(); + loadingDictCache(); + } + + /** + * 新增保存字典类型信息 + * + * @param dict 字典类型信息 + * @return 结果 + */ + @Override + public int insertDictType(SysDictType dict) + { + int row = dictTypeMapper.insertDictType(dict); + if (row > 0) + { + DictUtils.setDictCache(dict.getDictType(), null); + } + return row; + } + + /** + * 修改保存字典类型信息 + * + * @param dict 字典类型信息 + * @return 结果 + */ + @Override + @Transactional + public int updateDictType(SysDictType dict) + { + SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); + dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); + int row = dictTypeMapper.updateDictType(dict); + if (row > 0) + { + List dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); + DictUtils.setDictCache(dict.getDictType(), dictDatas); + } + return row; + } + + /** + * 校验字典类型称是否唯一 + * + * @param dict 字典类型 + * @return 结果 + */ + @Override + public boolean checkDictTypeUnique(SysDictType dict) + { + Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); + SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); + if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java new file mode 100644 index 0000000..216aecb --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java @@ -0,0 +1,65 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.domain.SysLogininfor; +import com.ruoyi.system.mapper.SysLogininforMapper; +import com.ruoyi.system.service.ISysLogininforService; + +/** + * 系统访问日志情况信息 服务层处理 + * + * @author ruoyi + */ +@Service +public class SysLogininforServiceImpl implements ISysLogininforService +{ + + @Autowired + private SysLogininforMapper logininforMapper; + + /** + * 新增系统登录日志 + * + * @param logininfor 访问日志对象 + */ + @Override + public void insertLogininfor(SysLogininfor logininfor) + { + logininforMapper.insertLogininfor(logininfor); + } + + /** + * 查询系统登录日志集合 + * + * @param logininfor 访问日志对象 + * @return 登录记录集合 + */ + @Override + public List selectLogininforList(SysLogininfor logininfor) + { + return logininforMapper.selectLogininforList(logininfor); + } + + /** + * 批量删除系统登录日志 + * + * @param infoIds 需要删除的登录日志ID + * @return 结果 + */ + @Override + public int deleteLogininforByIds(Long[] infoIds) + { + return logininforMapper.deleteLogininforByIds(infoIds); + } + + /** + * 清空系统登录日志 + */ + @Override + public void cleanLogininfor() + { + logininforMapper.cleanLogininfor(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java new file mode 100644 index 0000000..225c280 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -0,0 +1,531 @@ +package com.ruoyi.system.service.impl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.TreeSelect; +import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.vo.MetaVo; +import com.ruoyi.system.domain.vo.RouterVo; +import com.ruoyi.system.mapper.SysMenuMapper; +import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.mapper.SysRoleMenuMapper; +import com.ruoyi.system.service.ISysMenuService; + +/** + * 菜单 业务层处理 + * + * @author ruoyi + */ +@Service +public class SysMenuServiceImpl implements ISysMenuService +{ + public static final String PREMISSION_STRING = "perms[\"{0}\"]"; + + @Autowired + private SysMenuMapper menuMapper; + + @Autowired + private SysRoleMapper roleMapper; + + @Autowired + private SysRoleMenuMapper roleMenuMapper; + + /** + * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ + @Override + public List selectMenuList(Long userId) + { + return selectMenuList(new SysMenu(), userId); + } + + /** + * 查询系统菜单列表 + * + * @param menu 菜单信息 + * @return 菜单列表 + */ + @Override + public List selectMenuList(SysMenu menu, Long userId) + { + List menuList = null; + // 管理员显示所有菜单信息 + if (SysUser.isAdmin(userId)) + { + menuList = menuMapper.selectMenuList(menu); + } + else + { + menu.getParams().put("userId", userId); + menuList = menuMapper.selectMenuListByUserId(menu); + } + return menuList; + } + + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + @Override + public Set selectMenuPermsByUserId(Long userId) + { + List perms = menuMapper.selectMenuPermsByUserId(userId); + Set permsSet = new HashSet<>(); + for (String perm : perms) + { + if (StringUtils.isNotEmpty(perm)) + { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); + } + } + return permsSet; + } + + /** + * 根据角色ID查询权限 + * + * @param roleId 角色ID + * @return 权限列表 + */ + @Override + public Set selectMenuPermsByRoleId(Long roleId) + { + List perms = menuMapper.selectMenuPermsByRoleId(roleId); + Set permsSet = new HashSet<>(); + for (String perm : perms) + { + if (StringUtils.isNotEmpty(perm)) + { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); + } + } + return permsSet; + } + + /** + * 根据用户ID查询菜单 + * + * @param userId 用户名称 + * @return 菜单列表 + */ + @Override + public List selectMenuTreeByUserId(Long userId) + { + List menus = null; + if (SecurityUtils.isAdmin(userId)) + { + menus = menuMapper.selectMenuTreeAll(); + } + else + { + menus = menuMapper.selectMenuTreeByUserId(userId); + } + return getChildPerms(menus, 0); + } + + /** + * 根据角色ID查询菜单树信息 + * + * @param roleId 角色ID + * @return 选中菜单列表 + */ + @Override + public List selectMenuListByRoleId(Long roleId) + { + SysRole role = roleMapper.selectRoleById(roleId); + return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly()); + } + + /** + * 构建前端路由所需要的菜单 + * + * @param menus 菜单列表 + * @return 路由列表 + */ + @Override + public List buildMenus(List menus) + { + List routers = new LinkedList(); + for (SysMenu menu : menus) + { + RouterVo router = new RouterVo(); + router.setHidden("1".equals(menu.getVisible())); + router.setName(getRouteName(menu)); + router.setPath(getRouterPath(menu)); + router.setComponent(getComponent(menu)); + router.setQuery(menu.getQuery()); + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + List cMenus = menu.getChildren(); + if (StringUtils.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) + { + router.setAlwaysShow(true); + router.setRedirect("noRedirect"); + router.setChildren(buildMenus(cMenus)); + } + else if (isMenuFrame(menu)) + { + router.setMeta(null); + List childrenList = new ArrayList(); + RouterVo children = new RouterVo(); + children.setPath(menu.getPath()); + children.setComponent(menu.getComponent()); + children.setName(StringUtils.capitalize(menu.getPath())); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + children.setQuery(menu.getQuery()); + childrenList.add(children); + router.setChildren(childrenList); + } + else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) + { + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); + router.setPath("/"); + List childrenList = new ArrayList(); + RouterVo children = new RouterVo(); + String routerPath = innerLinkReplaceEach(menu.getPath()); + children.setPath(routerPath); + children.setComponent(UserConstants.INNER_LINK); + children.setName(StringUtils.capitalize(routerPath)); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); + childrenList.add(children); + router.setChildren(childrenList); + } + routers.add(router); + } + return routers; + } + + /** + * 构建前端所需要树结构 + * + * @param menus 菜单列表 + * @return 树结构列表 + */ + @Override + public List buildMenuTree(List menus) + { + List returnList = new ArrayList(); + List tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); + for (Iterator iterator = menus.iterator(); iterator.hasNext();) + { + SysMenu menu = (SysMenu) iterator.next(); + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(menu.getParentId())) + { + recursionFn(menus, menu); + returnList.add(menu); + } + } + if (returnList.isEmpty()) + { + returnList = menus; + } + return returnList; + } + + /** + * 构建前端所需要下拉树结构 + * + * @param menus 菜单列表 + * @return 下拉树结构列表 + */ + @Override + public List buildMenuTreeSelect(List menus) + { + List menuTrees = buildMenuTree(menus); + return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList()); + } + + /** + * 根据菜单ID查询信息 + * + * @param menuId 菜单ID + * @return 菜单信息 + */ + @Override + public SysMenu selectMenuById(Long menuId) + { + return menuMapper.selectMenuById(menuId); + } + + /** + * 是否存在菜单子节点 + * + * @param menuId 菜单ID + * @return 结果 + */ + @Override + public boolean hasChildByMenuId(Long menuId) + { + int result = menuMapper.hasChildByMenuId(menuId); + return result > 0; + } + + /** + * 查询菜单使用数量 + * + * @param menuId 菜单ID + * @return 结果 + */ + @Override + public boolean checkMenuExistRole(Long menuId) + { + int result = roleMenuMapper.checkMenuExistRole(menuId); + return result > 0; + } + + /** + * 新增保存菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + @Override + public int insertMenu(SysMenu menu) + { + return menuMapper.insertMenu(menu); + } + + /** + * 修改保存菜单信息 + * + * @param menu 菜单信息 + * @return 结果 + */ + @Override + public int updateMenu(SysMenu menu) + { + return menuMapper.updateMenu(menu); + } + + /** + * 删除菜单管理信息 + * + * @param menuId 菜单ID + * @return 结果 + */ + @Override + public int deleteMenuById(Long menuId) + { + return menuMapper.deleteMenuById(menuId); + } + + /** + * 校验菜单名称是否唯一 + * + * @param menu 菜单信息 + * @return 结果 + */ + @Override + public boolean checkMenuNameUnique(SysMenu menu) + { + Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId(); + SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId()); + if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 获取路由名称 + * + * @param menu 菜单信息 + * @return 路由名称 + */ + public String getRouteName(SysMenu menu) + { + String routerName = StringUtils.capitalize(menu.getPath()); + // 非外链并且是一级目录(类型为目录) + if (isMenuFrame(menu)) + { + routerName = StringUtils.EMPTY; + } + return routerName; + } + + /** + * 获取路由地址 + * + * @param menu 菜单信息 + * @return 路由地址 + */ + public String getRouterPath(SysMenu menu) + { + String routerPath = menu.getPath(); + // 内链打开外网方式 + if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) + { + routerPath = innerLinkReplaceEach(routerPath); + } + // 非外链并且是一级目录(类型为目录) + if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) + && UserConstants.NO_FRAME.equals(menu.getIsFrame())) + { + routerPath = "/" + menu.getPath(); + } + // 非外链并且是一级目录(类型为菜单) + else if (isMenuFrame(menu)) + { + routerPath = "/"; + } + return routerPath; + } + + /** + * 获取组件信息 + * + * @param menu 菜单信息 + * @return 组件信息 + */ + public String getComponent(SysMenu menu) + { + String component = UserConstants.LAYOUT; + if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) + { + component = menu.getComponent(); + } + else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) + { + component = UserConstants.INNER_LINK; + } + else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) + { + component = UserConstants.PARENT_VIEW; + } + return component; + } + + /** + * 是否为菜单内部跳转 + * + * @param menu 菜单信息 + * @return 结果 + */ + public boolean isMenuFrame(SysMenu menu) + { + return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType()) + && menu.getIsFrame().equals(UserConstants.NO_FRAME); + } + + /** + * 是否为内链组件 + * + * @param menu 菜单信息 + * @return 结果 + */ + public boolean isInnerLink(SysMenu menu) + { + return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); + } + + /** + * 是否为parent_view组件 + * + * @param menu 菜单信息 + * @return 结果 + */ + public boolean isParentView(SysMenu menu) + { + return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); + } + + /** + * 根据父节点的ID获取所有子节点 + * + * @param list 分类表 + * @param parentId 传入的父节点ID + * @return String + */ + public List getChildPerms(List list, int parentId) + { + List returnList = new ArrayList(); + for (Iterator iterator = list.iterator(); iterator.hasNext();) + { + SysMenu t = (SysMenu) iterator.next(); + // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 + if (t.getParentId() == parentId) + { + recursionFn(list, t); + returnList.add(t); + } + } + return returnList; + } + + /** + * 递归列表 + * + * @param list 分类表 + * @param t 子节点 + */ + private void recursionFn(List list, SysMenu t) + { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (SysMenu tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + + /** + * 得到子节点列表 + */ + private List getChildList(List list, SysMenu t) + { + List tlist = new ArrayList(); + Iterator it = list.iterator(); + while (it.hasNext()) + { + SysMenu n = (SysMenu) it.next(); + if (n.getParentId().longValue() == t.getMenuId().longValue()) + { + tlist.add(n); + } + } + return tlist; + } + + /** + * 判断是否有子节点 + */ + private boolean hasChild(List list, SysMenu t) + { + return getChildList(list, t).size() > 0; + } + + /** + * 内链域名特殊字符替换 + * + * @return 替换后的内链域名 + */ + public String innerLinkReplaceEach(String path) + { + return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." }, + new String[] { "", "", "", "/" }); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java new file mode 100644 index 0000000..765438b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java @@ -0,0 +1,92 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.domain.SysNotice; +import com.ruoyi.system.mapper.SysNoticeMapper; +import com.ruoyi.system.service.ISysNoticeService; + +/** + * 公告 服务层实现 + * + * @author ruoyi + */ +@Service +public class SysNoticeServiceImpl implements ISysNoticeService +{ + @Autowired + private SysNoticeMapper noticeMapper; + + /** + * 查询公告信息 + * + * @param noticeId 公告ID + * @return 公告信息 + */ + @Override + public SysNotice selectNoticeById(Long noticeId) + { + return noticeMapper.selectNoticeById(noticeId); + } + + /** + * 查询公告列表 + * + * @param notice 公告信息 + * @return 公告集合 + */ + @Override + public List selectNoticeList(SysNotice notice) + { + return noticeMapper.selectNoticeList(notice); + } + + /** + * 新增公告 + * + * @param notice 公告信息 + * @return 结果 + */ + @Override + public int insertNotice(SysNotice notice) + { + return noticeMapper.insertNotice(notice); + } + + /** + * 修改公告 + * + * @param notice 公告信息 + * @return 结果 + */ + @Override + public int updateNotice(SysNotice notice) + { + return noticeMapper.updateNotice(notice); + } + + /** + * 删除公告对象 + * + * @param noticeId 公告ID + * @return 结果 + */ + @Override + public int deleteNoticeById(Long noticeId) + { + return noticeMapper.deleteNoticeById(noticeId); + } + + /** + * 批量删除公告信息 + * + * @param noticeIds 需要删除的公告ID + * @return 结果 + */ + @Override + public int deleteNoticeByIds(Long[] noticeIds) + { + return noticeMapper.deleteNoticeByIds(noticeIds); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java new file mode 100644 index 0000000..5489815 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java @@ -0,0 +1,76 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.domain.SysOperLog; +import com.ruoyi.system.mapper.SysOperLogMapper; +import com.ruoyi.system.service.ISysOperLogService; + +/** + * 操作日志 服务层处理 + * + * @author ruoyi + */ +@Service +public class SysOperLogServiceImpl implements ISysOperLogService +{ + @Autowired + private SysOperLogMapper operLogMapper; + + /** + * 新增操作日志 + * + * @param operLog 操作日志对象 + */ + @Override + public void insertOperlog(SysOperLog operLog) + { + operLogMapper.insertOperlog(operLog); + } + + /** + * 查询系统操作日志集合 + * + * @param operLog 操作日志对象 + * @return 操作日志集合 + */ + @Override + public List selectOperLogList(SysOperLog operLog) + { + return operLogMapper.selectOperLogList(operLog); + } + + /** + * 批量删除系统操作日志 + * + * @param operIds 需要删除的操作日志ID + * @return 结果 + */ + @Override + public int deleteOperLogByIds(Long[] operIds) + { + return operLogMapper.deleteOperLogByIds(operIds); + } + + /** + * 查询操作日志详细 + * + * @param operId 操作ID + * @return 操作日志对象 + */ + @Override + public SysOperLog selectOperLogById(Long operId) + { + return operLogMapper.selectOperLogById(operId); + } + + /** + * 清空操作日志 + */ + @Override + public void cleanOperLog() + { + operLogMapper.cleanOperLog(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java new file mode 100644 index 0000000..5e5fe06 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java @@ -0,0 +1,178 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.mapper.SysPostMapper; +import com.ruoyi.system.mapper.SysUserPostMapper; +import com.ruoyi.system.service.ISysPostService; + +/** + * 岗位信息 服务层处理 + * + * @author ruoyi + */ +@Service +public class SysPostServiceImpl implements ISysPostService +{ + @Autowired + private SysPostMapper postMapper; + + @Autowired + private SysUserPostMapper userPostMapper; + + /** + * 查询岗位信息集合 + * + * @param post 岗位信息 + * @return 岗位信息集合 + */ + @Override + public List selectPostList(SysPost post) + { + return postMapper.selectPostList(post); + } + + /** + * 查询所有岗位 + * + * @return 岗位列表 + */ + @Override + public List selectPostAll() + { + return postMapper.selectPostAll(); + } + + /** + * 通过岗位ID查询岗位信息 + * + * @param postId 岗位ID + * @return 角色对象信息 + */ + @Override + public SysPost selectPostById(Long postId) + { + return postMapper.selectPostById(postId); + } + + /** + * 根据用户ID获取岗位选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + @Override + public List selectPostListByUserId(Long userId) + { + return postMapper.selectPostListByUserId(userId); + } + + /** + * 校验岗位名称是否唯一 + * + * @param post 岗位信息 + * @return 结果 + */ + @Override + public boolean checkPostNameUnique(SysPost post) + { + Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); + SysPost info = postMapper.checkPostNameUnique(post.getPostName()); + if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验岗位编码是否唯一 + * + * @param post 岗位信息 + * @return 结果 + */ + @Override + public boolean checkPostCodeUnique(SysPost post) + { + Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId(); + SysPost info = postMapper.checkPostCodeUnique(post.getPostCode()); + if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 通过岗位ID查询岗位使用数量 + * + * @param postId 岗位ID + * @return 结果 + */ + @Override + public int countUserPostById(Long postId) + { + return userPostMapper.countUserPostById(postId); + } + + /** + * 删除岗位信息 + * + * @param postId 岗位ID + * @return 结果 + */ + @Override + public int deletePostById(Long postId) + { + return postMapper.deletePostById(postId); + } + + /** + * 批量删除岗位信息 + * + * @param postIds 需要删除的岗位ID + * @return 结果 + */ + @Override + public int deletePostByIds(Long[] postIds) + { + for (Long postId : postIds) + { + SysPost post = selectPostById(postId); + if (countUserPostById(postId) > 0) + { + throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName())); + } + } + return postMapper.deletePostByIds(postIds); + } + + /** + * 新增保存岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + @Override + public int insertPost(SysPost post) + { + return postMapper.insertPost(post); + } + + /** + * 修改保存岗位信息 + * + * @param post 岗位信息 + * @return 结果 + */ + @Override + public int updatePost(SysPost post) + { + return postMapper.updatePost(post); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java new file mode 100644 index 0000000..d6cee80 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -0,0 +1,424 @@ +package com.ruoyi.system.service.impl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.ruoyi.common.annotation.DataScope; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.system.domain.SysRoleDept; +import com.ruoyi.system.domain.SysRoleMenu; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.mapper.SysRoleDeptMapper; +import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.mapper.SysRoleMenuMapper; +import com.ruoyi.system.mapper.SysUserRoleMapper; +import com.ruoyi.system.service.ISysRoleService; + +/** + * 角色 业务层处理 + * + * @author ruoyi + */ +@Service +public class SysRoleServiceImpl implements ISysRoleService +{ + @Autowired + private SysRoleMapper roleMapper; + + @Autowired + private SysRoleMenuMapper roleMenuMapper; + + @Autowired + private SysUserRoleMapper userRoleMapper; + + @Autowired + private SysRoleDeptMapper roleDeptMapper; + + /** + * 根据条件分页查询角色数据 + * + * @param role 角色信息 + * @return 角色数据集合信息 + */ + @Override + @DataScope(deptAlias = "d") + public List selectRoleList(SysRole role) + { + return roleMapper.selectRoleList(role); + } + + /** + * 根据用户ID查询角色 + * + * @param userId 用户ID + * @return 角色列表 + */ + @Override + public List selectRolesByUserId(Long userId) + { + List userRoles = roleMapper.selectRolePermissionByUserId(userId); + List roles = selectRoleAll(); + for (SysRole role : roles) + { + for (SysRole userRole : userRoles) + { + if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) + { + role.setFlag(true); + break; + } + } + } + return roles; + } + + /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + @Override + public Set selectRolePermissionByUserId(Long userId) + { + List perms = roleMapper.selectRolePermissionByUserId(userId); + Set permsSet = new HashSet<>(); + for (SysRole perm : perms) + { + if (StringUtils.isNotNull(perm)) + { + permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); + } + } + return permsSet; + } + + /** + * 查询所有角色 + * + * @return 角色列表 + */ + @Override + public List selectRoleAll() + { + return SpringUtils.getAopProxy(this).selectRoleList(new SysRole()); + } + + /** + * 根据用户ID获取角色选择框列表 + * + * @param userId 用户ID + * @return 选中角色ID列表 + */ + @Override + public List selectRoleListByUserId(Long userId) + { + return roleMapper.selectRoleListByUserId(userId); + } + + /** + * 通过角色ID查询角色 + * + * @param roleId 角色ID + * @return 角色对象信息 + */ + @Override + public SysRole selectRoleById(Long roleId) + { + return roleMapper.selectRoleById(roleId); + } + + /** + * 校验角色名称是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + public boolean checkRoleNameUnique(SysRole role) + { + Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); + SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName()); + if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验角色权限是否唯一 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + public boolean checkRoleKeyUnique(SysRole role) + { + Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId(); + SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey()); + if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验角色是否允许操作 + * + * @param role 角色信息 + */ + @Override + public void checkRoleAllowed(SysRole role) + { + if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) + { + throw new ServiceException("不允许操作超级管理员角色"); + } + } + + /** + * 校验角色是否有数据权限 + * + * @param roleId 角色id + */ + @Override + public void checkRoleDataScope(Long roleId) + { + if (!SysUser.isAdmin(SecurityUtils.getUserId())) + { + SysRole role = new SysRole(); + role.setRoleId(roleId); + List roles = SpringUtils.getAopProxy(this).selectRoleList(role); + if (StringUtils.isEmpty(roles)) + { + throw new ServiceException("没有权限访问角色数据!"); + } + } + } + + /** + * 通过角色ID查询角色使用数量 + * + * @param roleId 角色ID + * @return 结果 + */ + @Override + public int countUserRoleByRoleId(Long roleId) + { + return userRoleMapper.countUserRoleByRoleId(roleId); + } + + /** + * 新增保存角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + @Transactional + public int insertRole(SysRole role) + { + // 新增角色信息 + roleMapper.insertRole(role); + return insertRoleMenu(role); + } + + /** + * 修改保存角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + @Transactional + public int updateRole(SysRole role) + { + // 修改角色信息 + roleMapper.updateRole(role); + // 删除角色与菜单关联 + roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); + return insertRoleMenu(role); + } + + /** + * 修改角色状态 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + public int updateRoleStatus(SysRole role) + { + return roleMapper.updateRole(role); + } + + /** + * 修改数据权限信息 + * + * @param role 角色信息 + * @return 结果 + */ + @Override + @Transactional + public int authDataScope(SysRole role) + { + // 修改角色信息 + roleMapper.updateRole(role); + // 删除角色与部门关联 + roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId()); + // 新增角色和部门信息(数据权限) + return insertRoleDept(role); + } + + /** + * 新增角色菜单信息 + * + * @param role 角色对象 + */ + public int insertRoleMenu(SysRole role) + { + int rows = 1; + // 新增用户与角色管理 + List list = new ArrayList(); + for (Long menuId : role.getMenuIds()) + { + SysRoleMenu rm = new SysRoleMenu(); + rm.setRoleId(role.getRoleId()); + rm.setMenuId(menuId); + list.add(rm); + } + if (list.size() > 0) + { + rows = roleMenuMapper.batchRoleMenu(list); + } + return rows; + } + + /** + * 新增角色部门信息(数据权限) + * + * @param role 角色对象 + */ + public int insertRoleDept(SysRole role) + { + int rows = 1; + // 新增角色与部门(数据权限)管理 + List list = new ArrayList(); + for (Long deptId : role.getDeptIds()) + { + SysRoleDept rd = new SysRoleDept(); + rd.setRoleId(role.getRoleId()); + rd.setDeptId(deptId); + list.add(rd); + } + if (list.size() > 0) + { + rows = roleDeptMapper.batchRoleDept(list); + } + return rows; + } + + /** + * 通过角色ID删除角色 + * + * @param roleId 角色ID + * @return 结果 + */ + @Override + @Transactional + public int deleteRoleById(Long roleId) + { + // 删除角色与菜单关联 + roleMenuMapper.deleteRoleMenuByRoleId(roleId); + // 删除角色与部门关联 + roleDeptMapper.deleteRoleDeptByRoleId(roleId); + return roleMapper.deleteRoleById(roleId); + } + + /** + * 批量删除角色信息 + * + * @param roleIds 需要删除的角色ID + * @return 结果 + */ + @Override + @Transactional + public int deleteRoleByIds(Long[] roleIds) + { + for (Long roleId : roleIds) + { + checkRoleAllowed(new SysRole(roleId)); + checkRoleDataScope(roleId); + SysRole role = selectRoleById(roleId); + if (countUserRoleByRoleId(roleId) > 0) + { + throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName())); + } + } + // 删除角色与菜单关联 + roleMenuMapper.deleteRoleMenu(roleIds); + // 删除角色与部门关联 + roleDeptMapper.deleteRoleDept(roleIds); + return roleMapper.deleteRoleByIds(roleIds); + } + + /** + * 取消授权用户角色 + * + * @param userRole 用户和角色关联信息 + * @return 结果 + */ + @Override + public int deleteAuthUser(SysUserRole userRole) + { + return userRoleMapper.deleteUserRoleInfo(userRole); + } + + /** + * 批量取消授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要取消授权的用户数据ID + * @return 结果 + */ + @Override + public int deleteAuthUsers(Long roleId, Long[] userIds) + { + return userRoleMapper.deleteUserRoleInfos(roleId, userIds); + } + + /** + * 批量选择授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要授权的用户数据ID + * @return 结果 + */ + @Override + public int insertAuthUsers(Long roleId, Long[] userIds) + { + // 新增用户与角色管理 + List list = new ArrayList(); + for (Long userId : userIds) + { + SysUserRole ur = new SysUserRole(); + ur.setUserId(userId); + ur.setRoleId(roleId); + list.add(ur); + } + return userRoleMapper.batchUserRole(list); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java new file mode 100644 index 0000000..f80a877 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.system.service.impl; + +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysUserOnline; +import com.ruoyi.system.service.ISysUserOnlineService; + +/** + * 在线用户 服务层处理 + * + * @author ruoyi + */ +@Service +public class SysUserOnlineServiceImpl implements ISysUserOnlineService +{ + /** + * 通过登录地址查询信息 + * + * @param ipaddr 登录地址 + * @param user 用户信息 + * @return 在线用户信息 + */ + @Override + public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user) + { + if (StringUtils.equals(ipaddr, user.getIpaddr())) + { + return loginUserToUserOnline(user); + } + return null; + } + + /** + * 通过用户名称查询信息 + * + * @param userName 用户名称 + * @param user 用户信息 + * @return 在线用户信息 + */ + @Override + public SysUserOnline selectOnlineByUserName(String userName, LoginUser user) + { + if (StringUtils.equals(userName, user.getUsername())) + { + return loginUserToUserOnline(user); + } + return null; + } + + /** + * 通过登录地址/用户名称查询信息 + * + * @param ipaddr 登录地址 + * @param userName 用户名称 + * @param user 用户信息 + * @return 在线用户信息 + */ + @Override + public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user) + { + if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) + { + return loginUserToUserOnline(user); + } + return null; + } + + /** + * 设置在线用户信息 + * + * @param user 用户信息 + * @return 在线用户 + */ + @Override + public SysUserOnline loginUserToUserOnline(LoginUser user) + { + if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) + { + return null; + } + SysUserOnline sysUserOnline = new SysUserOnline(); + sysUserOnline.setTokenId(user.getToken()); + sysUserOnline.setUserName(user.getUsername()); + sysUserOnline.setIpaddr(user.getIpaddr()); + sysUserOnline.setLoginLocation(user.getLoginLocation()); + sysUserOnline.setBrowser(user.getBrowser()); + sysUserOnline.setOs(user.getOs()); + sysUserOnline.setLoginTime(user.getLoginTime()); + if (StringUtils.isNotNull(user.getUser().getDept())) + { + sysUserOnline.setDeptName(user.getUser().getDept().getDeptName()); + } + return sysUserOnline; + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java new file mode 100644 index 0000000..b371060 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -0,0 +1,544 @@ +package com.ruoyi.system.service.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; +import javax.validation.Validator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import com.ruoyi.common.annotation.DataScope; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.bean.BeanValidators; +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.domain.SysUserPost; +import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.mapper.SysPostMapper; +import com.ruoyi.system.mapper.SysRoleMapper; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.mapper.SysUserPostMapper; +import com.ruoyi.system.mapper.SysUserRoleMapper; +import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.system.service.ISysUserService; + +/** + * 用户 业务层处理 + * + * @author ruoyi + */ +@Service +public class SysUserServiceImpl implements ISysUserService +{ + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); + + @Autowired + private SysUserMapper userMapper; + + @Autowired + private SysRoleMapper roleMapper; + + @Autowired + private SysPostMapper postMapper; + + @Autowired + private SysUserRoleMapper userRoleMapper; + + @Autowired + private SysUserPostMapper userPostMapper; + + @Autowired + private ISysConfigService configService; + + @Autowired + protected Validator validator; + + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectUserList(SysUser user) + { + return userMapper.selectUserList(user); + } + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectAllocatedList(SysUser user) + { + return userMapper.selectAllocatedList(user); + } + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public List selectUnallocatedList(SysUser user) + { + return userMapper.selectUnallocatedList(user); + } + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + @Override + public SysUser selectUserByUserName(String userName) + { + return userMapper.selectUserByUserName(userName); + } + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + @Override + public SysUser selectUserById(Long userId) + { + return userMapper.selectUserById(userId); + } + + /** + * 查询用户所属角色组 + * + * @param userName 用户名 + * @return 结果 + */ + @Override + public String selectUserRoleGroup(String userName) + { + List list = roleMapper.selectRolesByUserName(userName); + if (CollectionUtils.isEmpty(list)) + { + return StringUtils.EMPTY; + } + return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(",")); + } + + /** + * 查询用户所属岗位组 + * + * @param userName 用户名 + * @return 结果 + */ + @Override + public String selectUserPostGroup(String userName) + { + List list = postMapper.selectPostsByUserName(userName); + if (CollectionUtils.isEmpty(list)) + { + return StringUtils.EMPTY; + } + return list.stream().map(SysPost::getPostName).collect(Collectors.joining(",")); + } + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean checkUserNameUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkPhoneUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkEmailUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkEmailUnique(user.getEmail()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + @Override + public void checkUserAllowed(SysUser user) + { + if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) + { + throw new ServiceException("不允许操作超级管理员用户"); + } + } + + /** + * 校验用户是否有数据权限 + * + * @param userId 用户id + */ + @Override + public void checkUserDataScope(Long userId) + { + if (!SysUser.isAdmin(SecurityUtils.getUserId())) + { + SysUser user = new SysUser(); + user.setUserId(userId); + List users = SpringUtils.getAopProxy(this).selectUserList(user); + if (StringUtils.isEmpty(users)) + { + throw new ServiceException("没有权限访问用户数据!"); + } + } + } + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int insertUser(SysUser user) + { + // 新增用户信息 + int rows = userMapper.insertUser(user); + // 新增用户岗位关联 + insertUserPost(user); + // 新增用户与角色管理 + insertUserRole(user); + return rows; + } + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean registerUser(SysUser user) + { + return userMapper.insertUser(user) > 0; + } + + /** + * 修改保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int updateUser(SysUser user) + { + Long userId = user.getUserId(); + // 删除用户与角色关联 + userRoleMapper.deleteUserRoleByUserId(userId); + // 新增用户与角色管理 + insertUserRole(user); + // 删除用户与岗位关联 + userPostMapper.deleteUserPostByUserId(userId); + // 新增用户与岗位管理 + insertUserPost(user); + return userMapper.updateUser(user); + } + + /** + * 用户授权角色 + * + * @param userId 用户ID + * @param roleIds 角色组 + */ + @Override + @Transactional + public void insertUserAuth(Long userId, Long[] roleIds) + { + userRoleMapper.deleteUserRoleByUserId(userId); + insertUserRole(userId, roleIds); + } + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserStatus(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserProfile(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + @Override + public boolean updateUserAvatar(String userName, String avatar) + { + return userMapper.updateUserAvatar(userName, avatar) > 0; + } + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int resetPwd(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + @Override + public int resetUserPwd(String userName, String password) + { + return userMapper.resetUserPwd(userName, password); + } + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserRole(SysUser user) + { + this.insertUserRole(user.getUserId(), user.getRoleIds()); + } + + /** + * 新增用户岗位信息 + * + * @param user 用户对象 + */ + public void insertUserPost(SysUser user) + { + Long[] posts = user.getPostIds(); + if (StringUtils.isNotEmpty(posts)) + { + // 新增用户与岗位管理 + List list = new ArrayList(posts.length); + for (Long postId : posts) + { + SysUserPost up = new SysUserPost(); + up.setUserId(user.getUserId()); + up.setPostId(postId); + list.add(up); + } + userPostMapper.batchUserPost(list); + } + } + + /** + * 新增用户角色信息 + * + * @param userId 用户ID + * @param roleIds 角色组 + */ + public void insertUserRole(Long userId, Long[] roleIds) + { + if (StringUtils.isNotEmpty(roleIds)) + { + // 新增用户与角色管理 + List list = new ArrayList(roleIds.length); + for (Long roleId : roleIds) + { + SysUserRole ur = new SysUserRole(); + ur.setUserId(userId); + ur.setRoleId(roleId); + list.add(ur); + } + userRoleMapper.batchUserRole(list); + } + } + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + @Override + @Transactional + public int deleteUserById(Long userId) + { + // 删除用户与角色关联 + userRoleMapper.deleteUserRoleByUserId(userId); + // 删除用户与岗位表 + userPostMapper.deleteUserPostByUserId(userId); + return userMapper.deleteUserById(userId); + } + + /** + * 批量删除用户信息 + * + * @param userIds 需要删除的用户ID + * @return 结果 + */ + @Override + @Transactional + public int deleteUserByIds(Long[] userIds) + { + for (Long userId : userIds) + { + checkUserAllowed(new SysUser(userId)); + checkUserDataScope(userId); + } + // 删除用户与角色关联 + userRoleMapper.deleteUserRole(userIds); + // 删除用户与岗位关联 + userPostMapper.deleteUserPost(userIds); + return userMapper.deleteUserByIds(userIds); + } + + /** + * 导入用户数据 + * + * @param userList 用户数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + public String importUser(List userList, Boolean isUpdateSupport, String operName) + { + if (StringUtils.isNull(userList) || userList.size() == 0) + { + throw new ServiceException("导入用户数据不能为空!"); + } + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + String password = configService.selectConfigByKey("sys.user.initPassword"); + for (SysUser user : userList) + { + try + { + // 验证是否存在这个用户 + SysUser u = userMapper.selectUserByUserName(user.getUserName()); + if (StringUtils.isNull(u)) + { + BeanValidators.validateWithException(validator, user); + user.setPassword(SecurityUtils.encryptPassword(password)); + user.setCreateBy(operName); + userMapper.insertUser(user); + successNum++; + successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 导入成功"); + } + else if (isUpdateSupport) + { + BeanValidators.validateWithException(validator, user); + checkUserAllowed(u); + checkUserDataScope(u.getUserId()); + user.setUserId(u.getUserId()); + user.setUpdateBy(operName); + userMapper.updateUser(user); + successNum++; + successMsg.append("
" + successNum + "、账号 " + user.getUserName() + " 更新成功"); + } + else + { + failureNum++; + failureMsg.append("
" + failureNum + "、账号 " + user.getUserName() + " 已存在"); + } + } + catch (Exception e) + { + failureNum++; + String msg = "
" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; + failureMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failureNum > 0) + { + failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } +} diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/.DS_Store new file mode 100644 index 0000000..bc9cdf1 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/.DS_Store new file mode 100644 index 0000000..c7f175f Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/.DS_Store new file mode 100644 index 0000000..8a29016 Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhALoveMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhALoveMapper.xml new file mode 100644 index 0000000..e8be6ce --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhALoveMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + select uid, aid from bh_a_love + + + + + + + + insert into bh_a_love + + uid, + aid, + + + #{uid}, + #{aid}, + + + + + update bh_a_love + + aid = #{aid}, + + where uid = #{uid} + + + + delete from bh_a_love where uid = #{uid} and aid = #{aid} + + + + delete from bh_a_love where uid in + + #{uid} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhArticeMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhArticeMapper.xml new file mode 100644 index 0000000..a6c7ea5 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhArticeMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + select id, name, uid, content, create_time, count from bh_artice + + + + + + + + insert into bh_artice + + name, + uid, + content, + create_time, + count, + + + #{name}, + #{uid}, + #{content}, + #{createTime}, + #{count}, + + + + + update bh_artice + + name = #{name}, + uid = #{uid}, + content = #{content}, + create_time = #{createTime}, + count = #{count}, + + where id = #{id} + + + + delete from bh_artice where id = #{id} + + + + delete from bh_artice where id in + + #{id} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCaloriesMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCaloriesMapper.xml new file mode 100644 index 0000000..5bba1d3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCaloriesMapper.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + select uid, c_name, c_id, c_type, c_img, c_num, c_weight, c_value, create_time, remark from bh_calories + + + + + + + + insert into bh_calories + + uid, + c_name, + c_id, + c_type, + c_img, + c_num, + c_weight, + c_value, + create_time, + remark, + + + #{uid}, + #{cName}, + #{cId}, + #{cType}, + #{cImg}, + #{cNum}, + #{cWeight}, + #{cValue}, + #{createTime}, + #{remark}, + + + + + update bh_calories + + c_name = #{cName}, + c_id = #{cId}, + c_type = #{cType}, + c_img = #{cImg}, + c_num = #{cNum}, + c_weight = #{cWeight}, + c_value = #{cValue}, + create_time = #{createTime}, + remark = #{remark}, + + + and uid = #{uid} + and c_id = #{cId} + and c_type = #{cType} + and create_time = #{createTime} + + + + + delete from bh_calories + + and uid = #{uid} + and c_id = #{cId} + and c_type = #{cType} + and create_time = #{createTime} + + + + delete from bh_calories where uid = #{uid} + + + + delete from bh_calories where uid in + + #{uid} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCategoriesMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCategoriesMapper.xml new file mode 100644 index 0000000..a018466 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhCategoriesMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, name, image_url, sub_category_count, sub_categories, description from bh_categories + + + + + + + + + + + + + + insert into bh_categories + + name, + image_url, + sub_category_count, + sub_categories, + description, + + + #{name}, + #{imageUrl}, + #{subCategoryCount}, + #{subCategories}, + #{description}, + + + + + update bh_categories + + name = #{name}, + image_url = #{imageUrl}, + sub_category_count = #{subCategoryCount}, + sub_categories = #{subCategories}, + description = #{description}, + + where id = #{id} + + + + delete from bh_categories where id = #{id} + + + + delete from bh_categories where id in + + #{id} + + + + + delete from bh_food where pid in + + #{pid} + + + + + delete from bh_food where pid = #{pid} + + + + insert into bh_food( id, code, name, thumb_image_url, is_liquid, health_light, weight, calory, fat, protein, fiber_dietary, carbohydrate, vitamin_a, thiamine, lactoflavin, vitamin_c, vitamin_e, niacin, natrium, calcium, iron, kalium, iodine, zinc, selenium, magnesium, copper, manganese, cholesterol, folacin, saturated_fat, sugar, vitamin_b6, phosphor, gi, gl, pid) values + + ( #{item.id}, #{item.code}, #{item.name}, #{item.thumbImageUrl}, #{item.isLiquid}, #{item.healthLight}, #{item.weight}, #{item.calory}, #{item.fat}, #{item.protein}, #{item.fiberDietary}, #{item.carbohydrate}, #{item.vitaminA}, #{item.thiamine}, #{item.lactoflavin}, #{item.vitaminC}, #{item.vitaminE}, #{item.niacin}, #{item.natrium}, #{item.calcium}, #{item.iron}, #{item.kalium}, #{item.iodine}, #{item.zinc}, #{item.selenium}, #{item.magnesium}, #{item.copper}, #{item.manganese}, #{item.cholesterol}, #{item.folacin}, #{item.saturatedFat}, #{item.sugar}, #{item.vitaminB6}, #{item.phosphor}, #{item.gi}, #{item.gl}, #{item.pid}) + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhFoodMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhFoodMapper.xml new file mode 100644 index 0000000..f9ef43d --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhFoodMapper.xml @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, code, name, thumb_image_url, is_liquid, health_light, weight, calory, fat, protein, fiber_dietary, carbohydrate, vitamin_a, thiamine, lactoflavin, vitamin_c, vitamin_e, niacin, natrium, calcium, iron, kalium, iodine, zinc, selenium, magnesium, copper, manganese, cholesterol, folacin, saturated_fat, sugar, vitamin_b6, phosphor, gi, gl, pid from bh_food + + + + + + + + insert into bh_food + + code, + name, + thumb_image_url, + is_liquid, + health_light, + weight, + calory, + fat, + protein, + fiber_dietary, + carbohydrate, + vitamin_a, + thiamine, + lactoflavin, + vitamin_c, + vitamin_e, + niacin, + natrium, + calcium, + iron, + kalium, + iodine, + zinc, + selenium, + magnesium, + copper, + manganese, + cholesterol, + folacin, + saturated_fat, + sugar, + vitamin_b6, + phosphor, + gi, + gl, + pid, + + + #{code}, + #{name}, + #{thumbImageUrl}, + #{isLiquid}, + #{healthLight}, + #{weight}, + #{calory}, + #{fat}, + #{protein}, + #{fiberDietary}, + #{carbohydrate}, + #{vitaminA}, + #{thiamine}, + #{lactoflavin}, + #{vitaminC}, + #{vitaminE}, + #{niacin}, + #{natrium}, + #{calcium}, + #{iron}, + #{kalium}, + #{iodine}, + #{zinc}, + #{selenium}, + #{magnesium}, + #{copper}, + #{manganese}, + #{cholesterol}, + #{folacin}, + #{saturatedFat}, + #{sugar}, + #{vitaminB6}, + #{phosphor}, + #{gi}, + #{gl}, + #{pid}, + + + + + update bh_food + + code = #{code}, + name = #{name}, + thumb_image_url = #{thumbImageUrl}, + is_liquid = #{isLiquid}, + health_light = #{healthLight}, + weight = #{weight}, + calory = #{calory}, + fat = #{fat}, + protein = #{protein}, + fiber_dietary = #{fiberDietary}, + carbohydrate = #{carbohydrate}, + vitamin_a = #{vitaminA}, + thiamine = #{thiamine}, + lactoflavin = #{lactoflavin}, + vitamin_c = #{vitaminC}, + vitamin_e = #{vitaminE}, + niacin = #{niacin}, + natrium = #{natrium}, + calcium = #{calcium}, + iron = #{iron}, + kalium = #{kalium}, + iodine = #{iodine}, + zinc = #{zinc}, + selenium = #{selenium}, + magnesium = #{magnesium}, + copper = #{copper}, + manganese = #{manganese}, + cholesterol = #{cholesterol}, + folacin = #{folacin}, + saturated_fat = #{saturatedFat}, + sugar = #{sugar}, + vitamin_b6 = #{vitaminB6}, + phosphor = #{phosphor}, + gi = #{gi}, + gl = #{gl}, + pid = #{pid}, + + where id = #{id} + + + + delete from bh_food where id = #{id} + + + + delete from bh_food where id in + + #{id} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhLoveFoodMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhLoveFoodMapper.xml new file mode 100644 index 0000000..2a9ee6a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhLoveFoodMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + select uid, fid from bh_love_food + + + + + + + + + insert into bh_love_food + + uid, + fid, + + + #{uid}, + #{fid}, + + + + + update bh_love_food + + fid = #{fid}, + + where uid = #{uid} + + + + + delete from bh_love_food + + and uid = #{uid} + and fid = #{fid} + + + + + + + delete from bh_love_food where uid = #{uid} + + + + delete from bh_love_food where uid in + + #{uid} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhMoveMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhMoveMapper.xml new file mode 100644 index 0000000..1bc8e4a --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BhMoveMapper.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + select id, img, name, calory, weight, type from bh_move + + + + + + + + insert into bh_move + + img, + name, + calory, + weight, + type, + + + #{img}, + #{name}, + #{calory}, + #{weight}, + #{type}, + + + + + update bh_move + + img = #{img}, + name = #{name}, + calory = #{calory}, + weight = #{weight}, + type = #{type}, + + where id = #{id} + + + + delete from bh_move where id = #{id} + + + + delete from bh_move where id in + + #{id} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BoheUserMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BoheUserMapper.xml new file mode 100644 index 0000000..bc29c95 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/BoheUserMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + select id, username, password, name, sex, age, weight, height, calory from bohe_user + + + + + + + + insert into bohe_user + + username, + password, + name, + sex, + age, + weight, + height, + calory, + + + #{username}, + #{password}, + #{name}, + #{sex}, + #{age}, + #{weight}, + #{height}, + #{calory}, + + + + + update bohe_user + + username = #{username}, + password = #{password}, + name = #{name}, + sex = #{sex}, + age = #{age}, + weight = #{weight}, + height = #{height}, + calory = #{calory}, + + where id = #{id} + + + + delete from bohe_user where id = #{id} + + + + delete from bohe_user where id in + + #{id} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml new file mode 100644 index 0000000..ca39f47 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark + from sys_config + + + + + + + and config_id = #{configId} + + + and config_key = #{configKey} + + + + + + + + + + + + + + insert into sys_config ( + config_name, + config_key, + config_value, + config_type, + create_by, + remark, + create_time + )values( + #{configName}, + #{configKey}, + #{configValue}, + #{configType}, + #{createBy}, + #{remark}, + sysdate() + ) + + + + update sys_config + + config_name = #{configName}, + config_key = #{configKey}, + config_value = #{configValue}, + config_type = #{configType}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = sysdate() + + where config_id = #{configId} + + + + delete from sys_config where config_id = #{configId} + + + + delete from sys_config where config_id in + + #{configId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml new file mode 100644 index 0000000..cf439f6 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time + from sys_dept d + + + + + + + + + + + + + + + + + + + + insert into sys_dept( + dept_id, + parent_id, + dept_name, + ancestors, + order_num, + leader, + phone, + email, + status, + create_by, + create_time + )values( + #{deptId}, + #{parentId}, + #{deptName}, + #{ancestors}, + #{orderNum}, + #{leader}, + #{phone}, + #{email}, + #{status}, + #{createBy}, + sysdate() + ) + + + + update sys_dept + + parent_id = #{parentId}, + dept_name = #{deptName}, + ancestors = #{ancestors}, + order_num = #{orderNum}, + leader = #{leader}, + phone = #{phone}, + email = #{email}, + status = #{status}, + update_by = #{updateBy}, + update_time = sysdate() + + where dept_id = #{deptId} + + + + update sys_dept set ancestors = + + when #{item.deptId} then #{item.ancestors} + + where dept_id in + + #{item.deptId} + + + + + update sys_dept set status = '0' where dept_id in + + #{deptId} + + + + + update sys_dept set del_flag = '2' where dept_id = #{deptId} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml new file mode 100644 index 0000000..8da9030 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark + from sys_dict_data + + + + + + + + + + + + + + delete from sys_dict_data where dict_code = #{dictCode} + + + + delete from sys_dict_data where dict_code in + + #{dictCode} + + + + + update sys_dict_data + + dict_sort = #{dictSort}, + dict_label = #{dictLabel}, + dict_value = #{dictValue}, + dict_type = #{dictType}, + css_class = #{cssClass}, + list_class = #{listClass}, + is_default = #{isDefault}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where dict_code = #{dictCode} + + + + update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} + + + + insert into sys_dict_data( + dict_sort, + dict_label, + dict_value, + dict_type, + css_class, + list_class, + is_default, + status, + remark, + create_by, + create_time + )values( + #{dictSort}, + #{dictLabel}, + #{dictValue}, + #{dictType}, + #{cssClass}, + #{listClass}, + #{isDefault}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml new file mode 100644 index 0000000..55b4075 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + select dict_id, dict_name, dict_type, status, create_by, create_time, remark + from sys_dict_type + + + + + + + + + + + + + + delete from sys_dict_type where dict_id = #{dictId} + + + + delete from sys_dict_type where dict_id in + + #{dictId} + + + + + update sys_dict_type + + dict_name = #{dictName}, + dict_type = #{dictType}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where dict_id = #{dictId} + + + + insert into sys_dict_type( + dict_name, + dict_type, + status, + remark, + create_by, + create_time + )values( + #{dictName}, + #{dictType}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml new file mode 100644 index 0000000..822d665 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + insert into sys_logininfor (user_name, status, ipaddr, login_location, browser, os, msg, login_time) + values (#{userName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate()) + + + + + + delete from sys_logininfor where info_id in + + #{infoId} + + + + + truncate table sys_logininfor + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml new file mode 100644 index 0000000..6762007 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select menu_id, menu_name, parent_id, order_num, path, component, `query`, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time + from sys_menu + + + + + + + + + + + + + + + + + + + + + + + + + + update sys_menu + + menu_name = #{menuName}, + parent_id = #{parentId}, + order_num = #{orderNum}, + path = #{path}, + component = #{component}, + `query` = #{query}, + is_frame = #{isFrame}, + is_cache = #{isCache}, + menu_type = #{menuType}, + visible = #{visible}, + status = #{status}, + perms = #{perms}, + icon = #{icon}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where menu_id = #{menuId} + + + + insert into sys_menu( + menu_id, + parent_id, + menu_name, + order_num, + path, + component, + `query`, + is_frame, + is_cache, + menu_type, + visible, + status, + perms, + icon, + remark, + create_by, + create_time + )values( + #{menuId}, + #{parentId}, + #{menuName}, + #{orderNum}, + #{path}, + #{component}, + #{query}, + #{isFrame}, + #{isCache}, + #{menuType}, + #{visible}, + #{status}, + #{perms}, + #{icon}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + delete from sys_menu where menu_id = #{menuId} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml new file mode 100644 index 0000000..65d3079 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + select notice_id, notice_title, notice_type, cast(notice_content as char) as notice_content, status, create_by, create_time, update_by, update_time, remark + from sys_notice + + + + + + + + insert into sys_notice ( + notice_title, + notice_type, + notice_content, + status, + remark, + create_by, + create_time + )values( + #{noticeTitle}, + #{noticeType}, + #{noticeContent}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + update sys_notice + + notice_title = #{noticeTitle}, + notice_type = #{noticeType}, + notice_content = #{noticeContent}, + status = #{status}, + update_by = #{updateBy}, + update_time = sysdate() + + where notice_id = #{noticeId} + + + + delete from sys_notice where notice_id = #{noticeId} + + + + delete from sys_notice where notice_id in + + #{noticeId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml new file mode 100644 index 0000000..96bc621 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select oper_id, title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, oper_time, cost_time + from sys_oper_log + + + + insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, cost_time, oper_time) + values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operLocation}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate()) + + + + + + delete from sys_oper_log where oper_id in + + #{operId} + + + + + + + truncate table sys_oper_log + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml new file mode 100644 index 0000000..227c459 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + select post_id, post_code, post_name, post_sort, status, create_by, create_time, remark + from sys_post + + + + + + + + + + + + + + + + + + update sys_post + + post_code = #{postCode}, + post_name = #{postName}, + post_sort = #{postSort}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where post_id = #{postId} + + + + insert into sys_post( + post_id, + post_code, + post_name, + post_sort, + status, + remark, + create_by, + create_time + )values( + #{postId}, + #{postCode}, + #{postName}, + #{postSort}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + delete from sys_post where post_id = #{postId} + + + + delete from sys_post where post_id in + + #{postId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml new file mode 100644 index 0000000..7c4139b --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + delete from sys_role_dept where role_id=#{roleId} + + + + + + delete from sys_role_dept where role_id in + + #{roleId} + + + + + insert into sys_role_dept(role_id, dept_id) values + + (#{item.roleId},#{item.deptId}) + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml new file mode 100644 index 0000000..52306c2 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, + r.status, r.del_flag, r.create_time, r.remark + from sys_role r + left join sys_user_role ur on ur.role_id = r.role_id + left join sys_user u on u.user_id = ur.user_id + left join sys_dept d on u.dept_id = d.dept_id + + + + + + + + + + + + + + + + + + + + insert into sys_role( + role_id, + role_name, + role_key, + role_sort, + data_scope, + menu_check_strictly, + dept_check_strictly, + status, + remark, + create_by, + create_time + )values( + #{roleId}, + #{roleName}, + #{roleKey}, + #{roleSort}, + #{dataScope}, + #{menuCheckStrictly}, + #{deptCheckStrictly}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + update sys_role + + role_name = #{roleName}, + role_key = #{roleKey}, + role_sort = #{roleSort}, + data_scope = #{dataScope}, + menu_check_strictly = #{menuCheckStrictly}, + dept_check_strictly = #{deptCheckStrictly}, + status = #{status}, + remark = #{remark}, + update_by = #{updateBy}, + update_time = sysdate() + + where role_id = #{roleId} + + + + update sys_role set del_flag = '2' where role_id = #{roleId} + + + + update sys_role set del_flag = '2' where role_id in + + #{roleId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml new file mode 100644 index 0000000..cb60a85 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + delete from sys_role_menu where role_id=#{roleId} + + + + delete from sys_role_menu where role_id in + + #{roleId} + + + + + insert into sys_role_menu(role_id, menu_id) values + + (#{item.roleId},#{item.menuId}) + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml new file mode 100644 index 0000000..d86c444 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, + d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, + r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status + from sys_user u + left join sys_dept d on u.dept_id = d.dept_id + left join sys_user_role ur on u.user_id = ur.user_id + left join sys_role r on r.role_id = ur.role_id + + + + + + + + + + + + + + + + + + + + insert into sys_user( + user_id, + dept_id, + user_name, + nick_name, + email, + avatar, + phonenumber, + sex, + password, + status, + create_by, + remark, + create_time + )values( + #{userId}, + #{deptId}, + #{userName}, + #{nickName}, + #{email}, + #{avatar}, + #{phonenumber}, + #{sex}, + #{password}, + #{status}, + #{createBy}, + #{remark}, + sysdate() + ) + + + + update sys_user + + dept_id = #{deptId}, + user_name = #{userName}, + nick_name = #{nickName}, + email = #{email}, + phonenumber = #{phonenumber}, + sex = #{sex}, + avatar = #{avatar}, + password = #{password}, + status = #{status}, + login_ip = #{loginIp}, + login_date = #{loginDate}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = sysdate() + + where user_id = #{userId} + + + + update sys_user set status = #{status} where user_id = #{userId} + + + + update sys_user set avatar = #{avatar} where user_name = #{userName} + + + + update sys_user set password = #{password} where user_name = #{userName} + + + + update sys_user set del_flag = '2' where user_id = #{userId} + + + + update sys_user set del_flag = '2' where user_id in + + #{userId} + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml new file mode 100644 index 0000000..2b90bc4 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + delete from sys_user_post where user_id=#{userId} + + + + + + delete from sys_user_post where user_id in + + #{userId} + + + + + insert into sys_user_post(user_id, post_id) values + + (#{item.userId},#{item.postId}) + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml new file mode 100644 index 0000000..dd72689 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + delete from sys_user_role where user_id=#{userId} + + + + + + delete from sys_user_role where user_id in + + #{userId} + + + + + insert into sys_user_role(user_id, role_id) values + + (#{item.userId},#{item.roleId}) + + + + + delete from sys_user_role where user_id=#{userId} and role_id=#{roleId} + + + + delete from sys_user_role where role_id=#{roleId} and user_id in + + #{userId} + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/healthy_diet/ry.bat b/src/cyxproject/healthy_diet/healthy_diet/ry.bat new file mode 100644 index 0000000..ac1e437 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ry.bat @@ -0,0 +1,67 @@ +@echo off + +rem jarƽĿ¼ +set AppName=ruoyi-admin.jar + +rem JVM +set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC" + + +ECHO. + ECHO. [1] %AppName% + ECHO. [2] ر%AppName% + ECHO. [3] %AppName% + ECHO. [4] ״̬ %AppName% + ECHO. [5] +ECHO. + +ECHO.ѡĿ: +set /p ID= + IF "%id%"=="1" GOTO start + IF "%id%"=="2" GOTO stop + IF "%id%"=="3" GOTO restart + IF "%id%"=="4" GOTO status + IF "%id%"=="5" EXIT +PAUSE +:start + for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( + set pid=%%a + set image_name=%%b + ) + if defined pid ( + echo %%is running + PAUSE + ) + +start javaw %JVM_OPTS% -jar %AppName% + +echo starting +echo Start %AppName% success... +goto:eof + +rem stopͨjpspid +:stop + for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( + set pid=%%a + set image_name=%%b + ) + if not defined pid (echo process %AppName% does not exists) else ( + echo prepare to kill %image_name% + echo start kill %pid% ... + rem ݽIDkill + taskkill /f /pid %pid% + ) +goto:eof +:restart + call :stop + call :start +goto:eof +:status + for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( + set pid=%%a + set image_name=%%b + ) + if not defined pid (echo process %AppName% is dead ) else ( + echo %image_name% is running + ) +goto:eof diff --git a/src/cyxproject/healthy_diet/healthy_diet/ry.sh b/src/cyxproject/healthy_diet/healthy_diet/ry.sh new file mode 100644 index 0000000..d6a9cf3 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/ry.sh @@ -0,0 +1,86 @@ +#!/bin/sh +# ./ry.sh start 启动 stop 停止 restart 重启 status 状态 +AppName=ruoyi-admin.jar + +# JVM参数 +JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC" +APP_HOME=`pwd` +LOG_PATH=$APP_HOME/logs/$AppName.log + +if [ "$1" = "" ]; +then + echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m" + exit 1 +fi + +if [ "$AppName" = "" ]; +then + echo -e "\033[0;31m 未输入应用名 \033[0m" + exit 1 +fi + +function start() +{ + PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` + + if [ x"$PID" != x"" ]; then + echo "$AppName is running..." + else + nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 & + echo "Start $AppName success..." + fi +} + +function stop() +{ + echo "Stop $AppName" + + PID="" + query(){ + PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` + } + + query + if [ x"$PID" != x"" ]; then + kill -TERM $PID + echo "$AppName (pid:$PID) exiting..." + while [ x"$PID" != x"" ] + do + sleep 1 + query + done + echo "$AppName exited." + else + echo "$AppName already stopped." + fi +} + +function restart() +{ + stop + sleep 2 + start +} + +function status() +{ + PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l` + if [ $PID != 0 ];then + echo "$AppName is running..." + else + echo "$AppName is not running..." + fi +} + +case $1 in + start) + start;; + stop) + stop;; + restart) + restart;; + status) + status;; + *) + +esac diff --git a/src/cyxproject/healthy_diet/healthy_diet/sql/.DS_Store b/src/cyxproject/healthy_diet/healthy_diet/sql/.DS_Store new file mode 100644 index 0000000..224eebf Binary files /dev/null and b/src/cyxproject/healthy_diet/healthy_diet/sql/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/healthy_diet/sql/bh_food.sql b/src/cyxproject/healthy_diet/healthy_diet/sql/bh_food.sql new file mode 100644 index 0000000..ba49867 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/sql/bh_food.sql @@ -0,0 +1,1535 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 80033 (8.0.33) + Source Host : localhost:3306 + Source Schema : bohe + + Target Server Type : MySQL + Target Server Version : 80033 (8.0.33) + File Encoding : 65001 + + Date: 19/05/2023 00:47:55 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for bh_calories +-- ---------------------------- +DROP TABLE IF EXISTS `bh_calories`; +CREATE TABLE `bh_calories` ( + `uid` int DEFAULT NULL COMMENT '用户id', + `c_name` varchar(255) DEFAULT NULL COMMENT '项目名称', + `c_id` int DEFAULT NULL COMMENT '项目id', + `c_type` int DEFAULT NULL COMMENT '项目类型', + `c_img` varchar(255) DEFAULT NULL COMMENT '项目图片', + `c_num` int DEFAULT NULL COMMENT '重量或时间', + `c_weight` int DEFAULT NULL COMMENT '计量单位', + `c_value` int DEFAULT NULL COMMENT '消耗卡路里', + `create_time` date DEFAULT NULL COMMENT '时间', + `remark` varchar(255) DEFAULT NULL, + KEY `cuid` (`uid`), + CONSTRAINT `cuid` FOREIGN KEY (`uid`) REFERENCES `bohe_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='燃烧我的卡路里'; + +-- ---------------------------- +-- Records of bh_calories +-- ---------------------------- +BEGIN; +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '燕麦片', 40072, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 338, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '白粥', 40074, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 46, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '燕麦片', 40072, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 338, '2023-05-17', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '白粥', 40074, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 46, '2023-05-16', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG', 120, 60, 200, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '鲜玉米', 40069, 2, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 112, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '全麦面包', 40070, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 254, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '麦斯威尔 原味咖啡', 39580, 1, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_4f03ffa22e616094fcaf0a9c6bda9553.jpg', 100, 100, 448, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', 120, 60, 200, '2023-05-19', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_categories +-- ---------------------------- +DROP TABLE IF EXISTS `bh_categories`; +CREATE TABLE `bh_categories` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '分类名称', + `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '图标', + `sub_category_count` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '二级分类数量', + `sub_categories` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '二级分类', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类管理'; + +-- ---------------------------- +-- Records of bh_categories +-- ---------------------------- +BEGIN; +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (1, '主食类', 'http://up.boohee.cn/house/u/food_library/category/1_v1.png', '3', '[{\"id\":13,\"name\":\"包装谷薯\",\"image_url\":null},{\"id\":11,\"name\":\"天然谷薯\",\"image_url\":null},{\"id\":12,\"name\":\"谷薯制品\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (2, '肉蛋类', 'http://up.boohee.cn/house/u/food_library/category/2_v1.png', '3', '[{\"id\":22,\"name\":\"白肉\",\"image_url\":null},{\"id\":21,\"name\":\"红肉\",\"image_url\":null},{\"id\":23,\"name\":\"蛋类\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (3, '大豆及制品', 'http://up.boohee.cn/house/u/food_library/category/3_v1.png', '1', '[{\"id\":31,\"name\":\"大豆及制品\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (4, '蔬菜菌藻类', 'http://up.boohee.cn/house/u/food_library/category/4_v1.png', '2', '[{\"id\":42,\"name\":\"菌藻\",\"image_url\":null},{\"id\":41,\"name\":\"蔬菜\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (5, '水果类', 'http://up.boohee.cn/house/u/food_library/category/5_v1.png', '1', '[{\"id\":51,\"name\":\"水果\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (6, '奶类', 'http://up.boohee.cn/house/u/food_library/category/6_v1.png', '5', '[{\"id\":65,\"name\":\"其它\",\"image_url\":null},{\"id\":64,\"name\":\"奶粉\",\"image_url\":null},{\"id\":63,\"name\":\"奶酪\",\"image_url\":null},{\"id\":62,\"name\":\"酸奶\",\"image_url\":null},{\"id\":61,\"name\":\"鲜奶\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (7, '油脂类', 'http://up.boohee.cn/house/u/food_library/category/7_v1.png', '2', '[{\"id\":72,\"name\":\"动物油\",\"image_url\":null},{\"id\":71,\"name\":\"植物油\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (8, '坚果类', 'http://up.boohee.cn/house/u/food_library/category/8_v1.png', '1', '[{\"id\":81,\"name\":\"坚果种子\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (9, '调味品', 'http://up.boohee.cn/house/u/food_library/category/9_v1.png', '4', '[{\"id\":94,\"name\":\"糖和蜂蜜\",\"image_url\":null},{\"id\":91,\"name\":\"调味料\",\"image_url\":null},{\"id\":92,\"name\":\"调味酱\",\"image_url\":null},{\"id\":93,\"name\":\"酱菜\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (10, '饮料类', 'http://up.boohee.cn/house/u/food_library/category/10_v1.png', '8', '', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (11, '零食及冷饮', 'http://up.boohee.cn/house/u/food_library/category/11_v1.png', '3', '[{\"id\":113,\"name\":\"冷饮\",\"image_url\":null},{\"id\":112,\"name\":\"点心\",\"image_url\":null},{\"id\":111,\"name\":\"零食\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (12, '其它', 'http://up.boohee.cn/house/u/food_library/category/12_v1.png', '2', '[{\"id\":121,\"name\":\"药食\",\"image_url\":null},{\"id\":122,\"name\":\"营养保健\",\"image_url\":null}]', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_food +-- ---------------------------- +DROP TABLE IF EXISTS `bh_food`; +CREATE TABLE `bh_food` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '食物名称', + `thumb_image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '缩略图', + `is_liquid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否是液体', + `health_light` int DEFAULT NULL COMMENT '健康度/推荐食用等级', + `weight` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '重量/每100g', + `calory` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '卡路里', + `fat` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '脂肪', + `protein` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '蛋白质', + `fiber_dietary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '膳食纤维', + `carbohydrate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '碳水化合物', + `vitamin_a` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素A', + `thiamine` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B1', + `lactoflavin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B2', + `vitamin_c` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素C', + `vitamin_e` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素E', + `niacin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '烟酸', + `natrium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钠', + `calcium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钙', + `iron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '铁', + `kalium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钾', + `iodine` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '碘', + `zinc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '锌', + `selenium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '硒', + `magnesium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '镁\n ', + `copper` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '铜', + `manganese` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '锰', + `cholesterol` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '胆固醇', + `folacin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '叶酸', + `saturated_fat` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '饱和脂肪', + `sugar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '糖', + `vitamin_b6` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B6', + `phosphor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '磷', + `gi` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'GI', + `gl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'GL', + `pid` bigint DEFAULT NULL COMMENT '分类id', + PRIMARY KEY (`id`), + KEY `cID` (`pid`), + CONSTRAINT `cID` FOREIGN KEY (`pid`) REFERENCES `bh_categories` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=40105 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='食物管理'; + +-- ---------------------------- +-- Records of bh_food +-- ---------------------------- +BEGIN; +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38209, 'jidan_junzhi', '鸡蛋', 'https://s.boohee.cn/house/upload_food/2022/6/14/slim_mid_photo_url_dd7b84029da07f75e45897a0d1df55ba.jpg', 'false', 1, '100', '139', '8.6', '13.1', '0.0', '2.4', '255.0', '0.09', '0.2', '0.0', '1.14', '0.2', '131.5', '56.0', '1.6', '154.0', '22.5', '0.89', '13.96', '10.0', '0.19', '0.03', '648.0', '113.3', '4.6', '', '0.17', '130.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38210, 'zhurou_shou', '猪肉(瘦)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_ecbf8208df2d4d899bfdc661e6ca56a2.jpg', 'false', 1, '100', '143', '6.2', '20.3', '0.0', '1.5', '44.0', '0.54', '0.1', '0.0', '0.34', '5.3', '57.5', '6.0', '3.0', '305.0', '1.7', '2.99', '9.5', '25.0', '0.11', '0.03', '81.0', '8.1', '2.48', '', '0.0', '189.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38211, 'jidan_baipi', '鸡蛋(白皮)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_fe687e1adebc400b86a62373bdb006b6.jpg', 'false', 1, '100', '138', '9.0', '12.7', '0.0', '1.5', '310.0', '0.09', '0.31', '0.0', '1.23', '0.2', '94.7', '48.0', '2.0', '98.0', '0.0', '1.0', '16.55', '14.0', '0.06', '0.03', '585.0', '0.0', '2.7', '', '0.0', '176.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38212, 'hebaodan_zhu', '无油煎蛋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e1122f4bed0312a354e97094e4e230a3.jpg', 'false', 1, '100', '164', '11.7', '12.3', '0.0', '0.2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38213, 'rouji_fei', '鸡(肉鸡,肥)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_51779f4cc86a4ef18a67ff38c710ca04.jpg', 'false', 2, '100', '389', '35.4', '16.7', '0.0', '0.9', '226.0', '0.07', '0.07', '', '', '13.1', '47.8', '37.0', '1.7', '123.0', '', '1.1', '5.4', '7.0', '0.08', '0.01', '106.0', '', '', '', '', '102.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38214, 'muji_yiniannei', '鸡(母鸡,一年内)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_a6d5d3f4c8814936ad65c941454aace7.jpg', 'false', 1, '100', '256', '16.8', '20.3', '0.0', '5.8', '139.0', '0.05', '0.04', '', '1.34', '8.8', '62.2', '2.0', '1.2', '275.0', '', '1.46', '', '16.0', '0.09', '0.04', '166.0', '', '', '', '', '120.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38215, 'ji_tuji_jiayang', '鸡(土鸡,家养)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_a6d5d3f4c8814936ad65c941454aace7.jpg', 'false', 1, '100', '124', '4.5', '20.8', '0.0', '0.0', '64.0', '0.09', '0.08', '', '2.02', '15.7', '74.1', '9.0', '2.1', '276.0', '', '1.06', '12.75', '40.0', '0.1', '0.05', '106.0', '', '', '', '', '141.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38216, 'anchundan', '鹌鹑蛋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_72a5f3e769d235746b59de17229aa82d.jpg', 'false', 1, '100', '160', '11.1', '12.8', '0.0', '2.1', '337.0', '0.11', '0.49', '0.0', '3.08', '0.1', '106.6', '47.0', '3.2', '138.0', '23.3', '1.61', '25.48', '11.0', '0.09', '0.04', '515.0', '0.0', '4.1', '', '0.15', '180.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38217, 'qupijitui', '去皮鸡腿', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b5171334f108c3d06bd72672a8b95a14.jpg', 'false', 1, '100', '120', '4.2', '19.2', '0.0', '0.0', '10.0', '0.09', '0.18', '0.0', '0.0', '5.58', '96.0', '10.0', '0.78', '238.0', '0.0', '1.76', '21.0', '23.0', '0.06', '0.02', '0.0', '4.0', '1.05', '0.0', '0.41', '180.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38218, 'zhuxiaopai', '猪小排', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_82ccb4c98435c060d0a7431e2285e8e9.jpg', 'false', 2, '100', '295', '25.3', '16.8', '0.0', '0.0', '7.0', '0.31', '0.26', '0.0', '0.46', '4.11', '62.6', '14.0', '1.1', '222.0', '0.0', '2.42', '8.46', '17.0', '0.0', '0.0', '120.0', '0.0', '10.6', '', '0.55', '101.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38219, 'huotuichang', '火腿肠', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_68f401cd3d6c405fb22013005e258cd8.jpg', 'false', 2, '100', '212', '10.4', '14.0', '0.0', '15.6', '5.0', '0.26', '0.43', '0.0', '0.71', '2.3', '771.2', '9.0', '4.5', '217.0', '50.3', '3.22', '9.2', '22.0', '0.36', '0.14', '57.0', '', '3.8', '', '', '187.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38220, 'hebaodan_youjian', '荷包蛋(油煎)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e1122f4bed0312a354e97094e4e230a3.jpg', 'false', 1, '100', '195', '15.0', '13.5', '0.0', '1.4', '248.0', '0.06', '0.52', '0.0', '0.0', '0.1', '353.0', '55.0', '1.6', '132.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '648.0', '0.0', '0.0', '', '0.0', '194.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38221, 'jixiongfurou', '鸡胸肉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_1cfe23ebcba74e6486fda4434c8027fd.jpg', 'false', 1, '100', '118', '1.9', '24.6', '0.0', '0.6', '3.0', '0.07', '0.06', '0.0', '0.41', '11.96', '44.8', '1.0', '1.0', '333.0', '2.3', '0.26', '11.75', '28.0', '0.01', '0.01', '65.0', '', '1.0', '', '0.81', '170.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38222, 'jidanhuang', '鸡蛋黄', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_343a02265e15436dbac46a8678c4a578.jpg', 'false', 2, '100', '328', '28.2', '15.2', '0.0', '3.4', '438.0', '0.33', '0.29', '0.0', '5.06', '0.1', '54.9', '112.0', '6.5', '95.0', '80.0', '3.79', '27.01', '41.0', '0.28', '0.06', '1510.0', '146.0', '0.0', '', '0.35', '240.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38223, 'niurougan', '牛肉干', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a9256cb798d23c8f50191209195df64d.jpg', 'false', 2, '100', '550', '40.0', '45.6', '0.0', '1.9', '0.0', '0.06', '0.26', '0.0', '0.0', '15.2', '412.4', '43.0', '15.6', '510.0', '', '7.26', '9.8', '107.0', '0.29', '0.19', '120.0', '134.0', '38.1', '0.83', '0.18', '464.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38224, 'ya_junzhi', '鸭肉(家养,含皮和肉)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f632ad7da3b8a33ca8f31a69e2688913.jpg', 'false', 3, '100', '404', '39.3', '11.5', '0.0', '0.0', '50.0', '0.2', '0.21', '0.0', '0.7', '3.93', '63.0', '11.0', '2.4', '209.0', '0.0', '1.36', '0.0', '15.0', '0.24', '0.02', '76.0', '0.0', '13.2', '', '0.19', '139.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38225, 'maidanglaohimaileji_5kuaizhuan', '麦当劳 麦乐鸡', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_64281a597791e06e6ee6b547fe2cf27b.jpg', 'false', 3, '100', '287', '17.3', '17.3', '0.0', '16.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '589.33', '12.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38378, 'doufu_nan', '豆腐(南)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_362272423b614473966510786216ba1e.jpg', 'false', 1, '100', '87', '5.8', '5.7', '0.0', '3.9', '0.0', '0.06', '0.02', '0.0', '5.72', '0.0', '3.1', '113.0', '1.2', '154.0', '', '0.43', '1.23', '36.0', '0.04', '0.03', '0.0', '25.8', '1.9', '1.38', '', '76.0', '32.0', '1.2', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38379, 'doufupi', '豆腐皮(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_87a3da92fabc48c6aa183a946dab3399.jpg', 'false', 2, '100', '447', '23.0', '51.6', '0.0', '12.5', '23.0', '0.22', '0.12', '0.0', '46.55', '0.91', '7.4', '239.0', '11.7', '877.0', '4.8', '4.08', '2.26', '179.0', '1.17', '2.71', '0.0', '90.2', '5.6', '', '', '494.0', '', '', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38380, 'dounai', '豆奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7273e0f599f60f9bed8c2ab469438e3b.jpg', 'true', 1, '100', '30', '1.5', '2.4', '0.0', '1.8', '0.0', '0.02', '0.06', '0.0', '4.5', '0.3', '3.2', '23.0', '0.6', '92.0', '0.0', '0.24', '0.73', '7.0', '5.57', '0.11', '0.0', '9.0', '0.2', '', '0.0', '35.0', '34.0', '0.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38381, 'doufunao_dailu', '豆腐脑(带卤)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_da9e7c5bd93ce46dc9d389213f0ebf58.jpg', 'false', 1, '100', '48', '1.8', '2.6', '0.2', '5.4', '', '0.01', '0.01', '', '0.87', '0.4', '235.6', '301.0', '1.7', '108.0', '', '0.45', '0.5', '35.0', '0.06', '0.18', '', '', '', '', '', '46.0', '31.9', '1.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38382, 'dongdoufu', '冻豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_a765ab6320709264cc174d7aa0c67fd6.jpg', 'false', 1, '100', '131', '7.1', '12.9', '2.2', '3.9', '', '0.04', '0.02', '5.66', '4.82', '0.19', '8.4', '240.5', '2.54', '109.0', '', '1.17', '', '48.8', '', '', '', '29.7', '', '0.6', '0.29', '218.7', '22.3', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38383, 'doufugan_lugan', '豆腐干(卤干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_44ba98b43f18454c94d62e617df10b3d.jpg', 'false', 1, '100', '339', '16.7', '14.5', '1.6', '33.4', '0.0', '0.03', '0.14', '0.0', '0.0', '0.2', '40.9', '731.0', '3.9', '134.0', '', '3.61', '0.0', '43.0', '0.57', '0.84', '0.0', '', '', '2.13', '', '162.0', '24.0', '7.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38384, 'youdoufu', '油豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43f8a7c12c324bc99590237978cf555f.jpg', 'false', 1, '100', '245', '17.6', '17.0', '0.6', '4.9', '3.0', '0.05', '0.04', '0.0', '24.7', '0.3', '32.5', '147.0', '5.2', '158.0', '', '2.03', '0.63', '72.0', '0.3', '1.38', '0.0', '8.6', '3.0', '', '', '238.0', '23.7', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38385, 'doufu_neizhi', '内酯豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_08da74549e734581a7bdae3f818a4aac.jpg', 'false', 1, '100', '50', '1.9', '5.0', '0.4', '3.3', '0.0', '0.06', '0.03', '0.0', '3.26', '0.3', '6.4', '17.0', '0.8', '95.0', '', '0.55', '0.81', '24.0', '0.13', '0.26', '0.0', '', '0.3', '', '', '57.0', '32.0', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38483, 'wenmingtangqianyecuidoufu', '文明堂千叶脆豆腐', 'https://s.boohee.cn/house/upload_food/2014/6/10/2249085_1402371612mid.jpg', 'false', 1, '100', '71', '0.0', '9.0', '0.0', '8.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '23.7', '2.0', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38484, 'hankangribendoufu', '汉康日本豆腐', 'https://s.boohee.cn/house/upload_food/2014/6/11/235138_1402476224mid.jpg', 'false', 1, '100', '50', '3.7', '3.5', '0.0', '0.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38530, 'fanqie', '番茄', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_c55ff8be5b7a272151ff6abf526c136a.jpg', 'false', 1, '100', '15', '0.2', '0.9', '1.0', '3.3', '31.0', '0.02', '0.01', '14.0', '0.42', '0.49', '9.7', '4.0', '0.2', '179.0', '2.5', '0.12', '0.0', '12.0', '0.04', '0.06', '0.0', '8.3', '0.0', '1.74', '0.0', '24.0', '15.0', '0.5', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38703, 'jugao', '蒌蒿', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_11457b0613fa69bebf2d2a79cf6dd30f.jpg', 'false', 1, '100', '57', '0.7', '3.7', '0.0', '9.0', '0.0', '', '', '1.0', '0.0', '', '1.0', '17.0', '0.5', '40.0', '', '0.2', '', '2.0', '0.05', '0.02', '0.0', '', '', '', '', '8.0', '15.0', '1.4', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38704, 'yecong', '野葱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_915776972b2f4969bcb5ae7d44457ccd.jpg', 'false', 1, '100', '36', '0.2', '2.7', '1.5', '6.7', '250.0', '0.31', '0.0', '64.0', '0.0', '0.7', '0.0', '279.0', '4.1', '0.0', '6.3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '3.03', '', '43.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38705, 'luoboying_qing', '萝卜缨(青)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_55140ab3ac68cb7f2e72e08d7ece1d12.jpg', 'false', 1, '100', '38', '0.1', '3.1', '2.9', '7.6', '17.0', '0.07', '0.08', '41.0', '0.48', '0.2', '91.4', '110.0', '1.4', '424.0', '', '0.3', '0.46', '27.0', '0.03', '0.86', '0.0', '', '', '', '', '27.0', '15.0', '0.7', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38706, 'songmo_gan', '松蘑(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_878d0ee4cae3dccc3ef4401a8fee44f2.jpg', 'false', 2, '100', '273', '3.0', '12.5', '0.0', '66.5', '8.0', '0.08', '1.48', '0.0', '5.48', '23.42', '31.6', '7.0', '156.5', '2402.0', '0.0', '5.49', '98.44', '50.0', '1.76', '1.13', '0.0', '0.0', '0.2', '', '0.0', '390.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38707, 'yundou', '芸豆(鲜)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_14027e003c3b2dadcda91812e0f13cff.jpg', 'false', 1, '100', '30', '0.1', '0.8', '2.1', '7.4', '20.0', '0.33', '0.06', '9.0', '0.07', '0.8', '4.0', '88.0', '1.0', '112.0', '', '1.04', '0.23', '16.0', '0.24', '0.44', '0.0', '', '', '', '', '37.0', '24.0', '1.3', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38708, 'beifengjun', '北风菌', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_63ae0b325a0671e5417e56f419e9c81d.jpg', 'false', 1, '100', '17', '0.1', '1.7', '1.2', '2.9', '0.0', '0.05', '0.38', '0.0', '7.28', '0.7', '1.4', '3.0', '1.5', '254.0', '', '0.47', '0.17', '5.0', '0.26', '0.09', '0.0', '', '', '', '', '36.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38709, 'dasuan_zipi', '大蒜(紫皮)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_065724203c7443f2ad2d535e827985bf.jpg', 'false', 2, '100', '139', '0.2', '5.2', '1.2', '29.6', '2.0', '0.29', '0.06', '7.0', '0.68', '0.8', '8.3', '10.0', '1.3', '437.0', '', '0.64', '5.54', '28.0', '0.11', '0.24', '0.0', '', '', '1.16', '', '129.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38710, 'luoboying_bai', '萝卜缨(白)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_55140ab3ac68cb7f2e72e08d7ece1d12.jpg', 'false', 1, '100', '17', '0.3', '2.6', '1.4', '1.7', '0.0', '0.02', '0.0', '77.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '0.0', '15.0', '0.0', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38711, 'fanggua', '方瓜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_be92f9f5f0622f500f85f56b01245ece.jpg', 'false', 1, '100', '14', '0.0', '0.8', '0.6', '3.1', '12.0', '0.01', '0.01', '2.0', '0.37', '0.6', '4.4', '40.0', '0.2', '4.0', '', '0.97', '0.31', '9.0', '0.02', '0.03', '0.0', '', '', '', '', '13.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38712, 'zicaitou', '紫菜头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5b396b86226322b207290409280cecc1.jpg', 'false', 1, '100', '42', '0.2', '1.8', '4.2', '10.6', '0.0', '0.02', '0.03', '1.0', '0.0', '0.24', '306.0', '16.0', '0.5', '26.0', '', '0.31', '0.06', '27.0', '0.08', '0.31', '0.0', '', '', '', '', '32.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38713, 'heiniuganjun', '黑牛肝菌', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_9a51dffe06e16cfd15c38d97c8e5ddd9.jpg', 'false', 1, '100', '32', '0.2', '3.6', '1.6', '4.8', '0.0', '0.07', '0.31', '0.0', '0.0', '6.6', '1.3', '2.0', '2.1', '291.0', '', '1.19', '0.34', '8.0', '0.37', '0.17', '0.0', '', '', '', '', '60.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38714, 'gouyacai', '狗芽菜', 'https://s.boohee.cn/house/new_food/mid/f4ae568750a540a4aee35a9cb6144253.jpg', 'false', 1, '100', '27', '0.1', '1.3', '2.4', '6.5', '', '0.06', '0.03', '', '0.21', '', '', '125.0', '4.4', '341.0', '', '0.41', '', '29.0', '0.09', '0.28', '', '', '', '', '', '15.0', '15.0', '0.6', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38715, 'taicai_gan', '苔菜(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_4c9b809ac798a7e3a659b75f0c9109cd.jpg', 'false', 2, '100', '167', '0.4', '19.0', '9.1', '26.3', '0.0', '0.35', '0.4', '0.0', '0.0', '4.0', '495.0', '185.0', '283.7', '410.0', '0.0', '3.56', '5.59', '1257.0', '1.11', '0.0', '0.0', '0.0', '0.2', '', '0.0', '302.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38716, 'yulanpian', '玉兰片', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e792178bb263902ac6721706300373f0.jpg', 'false', 1, '100', '66', '0.4', '2.6', '11.3', '18.6', '0.0', '0.04', '0.07', '1.0', '2.24', '0.1', '1.9', '42.0', '3.6', '66.0', '', '0.23', '0.0', '5.0', '0.04', '0.54', '0.0', '', '', '', '', '29.0', '15.0', '1.1', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38717, 'yazhicao', '鸭跖草', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_9c43abe3f581448a80a49aa66de7073f.jpg', 'false', 1, '100', '34', '0.3', '2.8', '1.2', '5.7', '349.0', '0.03', '0.29', '87.0', '0.0', '0.9', '0.0', '206.0', '5.4', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '39.0', '15.0', '0.7', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38718, 'runiuganjun_gan', '乳牛肝菌(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_56bd701d78a849c7a292637010843dcf.jpg', 'false', 2, '100', '264', '2.8', '15.3', '0.0', '66.0', '30.0', '0.86', '1.72', '0.0', '6.85', '67.66', '11.2', '12.0', '20.3', '1481.0', '', '5.43', '42.45', '55.0', '0.35', '1.85', '0.0', '', '0.2', '', '', '391.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38719, 'jiecai_jingyong', '芥菜(茎用)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f6ecb7b680cdc0fdda1795dee3995d44.jpg', 'false', 1, '100', '13', '0.2', '1.3', '2.8', '2.8', '23.0', '0.0', '0.02', '7.0', '1.29', '0.3', '41.1', '23.0', '0.7', '316.0', '', '0.25', '0.95', '5.0', '0.05', '0.1', '0.0', '', '', '', '', '35.0', '15.0', '0.0', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38720, 'caihua_tuoshui', '菜花(脱水)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_47178470c790104f719a586002dadcdb.jpg', 'false', 2, '100', '312', '0.6', '6.5', '13.2', '76.8', '0.0', '0.21', '0.18', '82.0', '0.0', '7.4', '264.3', '185.0', '6.4', '554.0', '', '2.15', '5.59', '99.0', '0.79', '1.08', '0.0', '', '', '', '', '182.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38721, 'dachaocai', '大巢菜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_19f7b1f6da5345ff9bc102085cbc9034.jpg', 'false', 1, '100', '63', '0.5', '3.8', '5.5', '13.6', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '270.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '70.0', '15.0', '1.2', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38722, 'qiezi_baipi_chang', '茄子(白皮,长)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_676ac92cbe254586a7dbcdb62d4d0af8.jpg', 'false', 1, '100', '21', '0.1', '1.3', '0.0', '5.5', '1.0', '0.05', '0.03', '0.0', '0.0', '0.44', '1.9', '10.0', '0.5', '238.0', '', '0.2', '0.16', '16.0', '0.05', '0.12', '0.0', '', '', '', '', '30.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38723, 'pingguo_junzhi', '苹果', 'https://s.boohee.cn/house/upload_food/2022/1/24/mid_photo_url_823c703cb4fd93eae6d4246406cb5299.jpg', 'false', 1, '100', '53', '0.2', '0.4', '1.7', '13.7', '4.0', '0.02', '0.02', '3.0', '0.43', '0.2', '1.3', '4.0', '0.3', '83.0', '0.0', '0.04', '0.1', '4.0', '0.07', '0.03', '0.0', '6.3', '0.0', '10.93', '0.0', '7.0', '36.0', '4.3', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38896, 'jiefenghiboluoquanyuanpian', '捷丰 菠萝全圆片', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388668082mid.jpg', 'false', 1, '100', '54', '0.0', '0.1', '0.0', '13.3', '', '', '', '', '', '', '22.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38897, 'bangshifuhitangshuimijieguanto', '棒师傅 糖水蜜桔罐头', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388667749mid.jpg', 'false', 1, '100', '61', '0.0', '0.0', '0.0', '14.4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38898, 'bangshifuhitangshuibanbianxing', '棒师傅 糖水半边杏罐头', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388667697mid.jpg', 'false', 1, '100', '61', '0.0', '0.0', '0.0', '14.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38899, 'fangguanghiqingxiangpingguoni', '方广 清香苹果泥', 'https://s.boohee.cn/house/upload_food/2013/10/27/452803_1382883915mid.jpg', 'false', 2, '100', '43', '2.0', '0.1', '0.0', '7.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38900, '_hose_nhihaoshunhifenglipian', '_hose_n 好顺 凤梨片', 'https://s.boohee.cn/house/upload_food/2013/10/25/452803_1382666228mid.jpg', 'false', 2, '100', '90', '0.0', '0.0', '2.0', '21.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38901, '_fuhi_kanghimuguasi', '_fu _kang 木瓜丝', 'https://s.boohee.cn/house/upload_food/2013/10/9/452803_1381315232mid.jpg', 'false', 2, '100', '388', '1.5', '7.5', '0.0', '86.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38902, 'linjiapuzihihaoshuangzaguoguan', '林家铺子 好爽杂果罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428837mid.jpg', 'false', 1, '100', '62', '0.0', '0.0', '0.0', '14.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38903, 'linjiapuzihitangshuilizhiguant', '林家铺子 糖水荔枝罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428921mid.jpg', 'false', 1, '100', '62', '0.0', '0.0', '0.0', '14.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '79.0', '11.5', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38904, 'linjiapuzihichangshouhuangtaog', '林家铺子 长寿黄桃罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428951mid.jpg', 'false', 2, '100', '65', '0.0', '0.0', '0.0', '14.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38905, 'niuru_junzhi', '牛奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_50375497d540439bbb1419b9a1b06525.jpg', 'true', 1, '100', '66', '3.8', '3.0', '0.0', '5.0', '54.0', '0.03', '0.12', '1.0', '0.13', '0.1', '65.0', '90.0', '0.3', '109.0', '1.9', '0.28', '1.94', '11.0', '0.02', '0.03', '15.0', '3.5', '1.6', '', '0.0', '73.0', '27.6', '0.9', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38906, 'suannai_junzhi', '酸奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_58d1b90bbc7f30a15fb7efbbefd35ad2.jpg', 'true', 1, '100', '70', '1.9', '3.2', '0.0', '10.0', '19.0', '0.03', '0.14', '1.0', '0.13', '0.1', '60.0', '140.0', '0.2', '135.0', '0.9', '0.54', '1.19', '11.0', '0.01', '0.02', '15.0', '7.0', '1.0', '9.9', '0.03', '90.0', '36.0', '3.6', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38907, 'nailao', '奶酪', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_eddd9e5ff32cc3f7fb2a7103fa122255.jpg', 'false', 2, '100', '328', '23.5', '25.7', '0.0', '3.5', '152.0', '0.06', '0.91', '', '0.6', '0.6', '584.6', '799.0', '2.4', '75.0', '', '6.97', '1.5', '57.0', '0.13', '0.16', '11.0', '', '12.9', '', '', '326.0', '27.0', '0.9', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39062, 'fdf19d1d', '鱼磷', 'https://s.boohee.cn/house/upload_food/2016/9/26/mid_photo_url_8426e3b090324a829ba5429324bb02cc.jpg', 'false', 1, '100.0', '384.0', '21', '38', '0', '10', '', '', '', '', '', '', '80.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39063, 'jinlongyuyumiyou', '金龙鱼 玉米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_56796_1213425701mid.jpg', 'false', 2, '100', '884', '100.0', '0.0', '0.7', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '16.0', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39064, 'fd5ae483', '灰枣菌', 'https://s.boohee.cn/house/upload_food/2020/2/19/mid_photo_url_74c084b2cc5443a0facdca2e03d61f0d.jpg', 'false', 3, '100.0', '54.0', '1', '4', '0', '8', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '227.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39065, 'chayou', '茶油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.9', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '27.9', '0.0', '0.7', '5.0', '1.1', '2.0', '', '0.34', '0.0', '2.0', '0.03', '1.17', '0.0', '', '', '', '', '8.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39066, 'fdbfc75b', '菭菜', 'https://s.boohee.cn/house/upload_food/2022/5/14/mid_photo_url_0ab1796bd93936282ff23f02d4a6140d.jpg', 'false', 2, '100.0', '20.0', '0', '2', '0', '3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '2.5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39067, 'fd7a3e48', '高梁米', 'https://s.boohee.cn/house/upload_food/2021/5/21/mid_photo_url_3e4c3b623f87b23f2f6d0b830bd4e3bf.jpg', 'false', 1, '100.0', '372.0', '3', '14', '0', '72', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '55.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39068, 'xiangyou13', '金牛 芝麻油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_76534_1238827458mid.jpg', 'false', 2, '100', '899', '99.8', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39069, 'fd38e0e7', '槐鸭', 'https://s.boohee.cn/house/upload_food/2021/6/3/mid_photo_url_b4fdff2af908bacdd62fc23f7aeaa1a7.jpg', 'false', 3, '100.0', '194.0', '11', '19', '0', '5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '200.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39070, 'olivoilachuzhaganlanyou', '_olivoila 初榨橄榄油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_263537_1240811468mid.jpg', 'false', 2, '100', '884', '100.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39071, 'rongshichunyumiyou', '融氏 纯玉米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_44334_1214649354mid.jpg', 'false', 2, '100', '860', '98.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39072, 'huangyouzha', '黄油渣', 'https://s.boohee.cn/house/new_food/mid/e38ff8298ea040abb5bbf76f69349e6d.jpg', 'false', 3, '100', '599', '43.8', '11.1', '0.0', '40.0', '0.0', '0.03', '0.47', '0.0', '0.0', '0.4', '60.2', '597.0', '2.6', '160.0', '', '1.17', '1.1', '97.0', '0.11', '1.18', '150.0', '', '', '', '', '288.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39073, 'sumiyou', '粟米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39074, 'fdbaaa16', '卧花蚕(干)', 'https://s.boohee.cn/house/upload_food/2021/12/6/mid_photo_url_f989687d1ccbcf5cf8c9562073d4ea4f.jpg', 'false', 2, '100.0', '426.0', '24', '43', '0', '11', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '231.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39075, 'naiyou_jiaoke', '奶油(焦克)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5e32109d4bdc9bcb125a3f4f05ecda02.jpg', 'false', 3, '100', '447', '48.3', '3.0', '0.0', '0.0', '0.0', '0.05', '0.16', '0.0', '0.0', '0.2', '41.1', '202.0', '1.0', '138.0', '', '0.32', '5.5', '10.0', '0.02', '0.1', '92.0', '', '', '', '', '82.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39076, 'zonglvyou', '棕榈油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '9.0', '0.0', '0.0', '0.0', '15.24', '0.0', '1.3', '0.0', '3.1', '0.0', '', '0.08', '0.0', '0.0', '0.0', '0.01', '0.0', '', '', '', '', '8.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39077, 'maiyayou', '麦芽油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.9', '0.0', '0.0', '0.0', '0.0', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39078, 'kannuolajiankanghuangyou', '坎诺拉 健康黄油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_81357_1214790821mid.jpg', 'false', 3, '100', '700', '80.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '750.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '15.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39079, 'fd4f3b88', '记忆面包', 'https://s.boohee.cn/house/upload_food/2021/3/17/m_b31ba80bd782d5f8bc02a7a719dc6ca6.jpg', 'false', 2, '100.0', '523.83', '27', '12', '0.0', '60', '', '', '', '', '11060.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39080, 'yangyou', '羊油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_b346791eedcb4ec7b236249748ecf2fe.jpg', 'false', 3, '100', '824', '88.0', '0.0', '0.0', '8.0', '33.0', '', '', '', '1.08', '', '13.2', '', '1.0', '12.0', '', '', '', '1.0', '0.06', '', '110.0', '', '48.2', '', '', '18.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39081, 'mianziyou', '棉籽油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.8', '0.0', '0.0', '0.1', '0.0', '0.0', '0.0', '0.0', '86.45', '0.0', '4.5', '17.0', '2.0', '1.0', '', '0.74', '0.0', '1.0', '0.08', '0.0', '0.0', '', '', '', '', '16.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39082, 'zhujiangqiaopaixiaomozhimayou', '珠江 桥牌小磨芝麻油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_296739_1247706976mid.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '14.3', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39219, 'huasheng_xian', '花生', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_0e54482eaeb0c864a1da26d0c7bfbc69.jpg', 'false', 1, '100', '313', '25.4', '12.0', '7.7', '13.0', '1.0', '0.0', '0.04', '14.0', '2.93', '14.1', '3.7', '8.0', '3.4', '390.0', '', '1.79', '4.5', '110.0', '0.68', '0.65', '0.0', '240.0', '4.8', '1.81', '0.35', '250.0', '14.0', '0.7', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39220, 'kuihuaziren', '瓜子仁', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_9bfb635d3371fcc8781cd9e79ea8135b.jpg', 'false', 1, '100', '615', '53.4', '19.1', '4.5', '16.7', '', '1.89', '0.16', '', '79.06', '4.5', '5.0', '115.0', '2.9', '547.0', '', '0.5', '5.78', '287.0', '0.56', '1.07', '0.0', '', '4.5', '', '', '604.0', '20.0', '2.4', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39221, 'yaoguo_shu', '腰果(熟)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5d29c7f35f24742be757326128d5623d.jpg', 'false', 1, '100', '615', '50.9', '24.0', '10.4', '20.4', '4.0', '0.24', '0.13', '0.0', '6.7', '1.3', '35.7', '19.0', '7.4', '680.0', '', '5.3', '10.93', '595.0', '2.57', '1.19', '0.0', '', '10.6', '3.78', '', '639.0', '22.0', '4.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39222, 'fd9a67d9', '岩蜗花(干)', 'https://s.boohee.cn/house/upload_food/2021/7/26/mid_photo_url_598484774f263ff8a881c43110e38844.jpg', 'false', 3, '100.0', '292.0', '3', '22', '0', '44', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '1500.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39223, 'yaoguo', '腰果', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5d29c7f35f24742be757326128d5623d.jpg', 'false', 1, '100', '559', '36.7', '17.3', '3.6', '41.6', '8.0', '0.27', '0.13', '', '3.17', '1.3', '35.7', '26.0', '4.8', '503.0', '', '4.3', '34.0', '153.0', '1.43', '1.8', '', '26.9', '', '9.82', '0.42', '395.0', '25.0', '9.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39224, 'xingren', '杏仁', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e5b109a6c769b1a841e22b78d8664a2b.jpg', 'false', 1, '100', '578', '45.4', '22.5', '8.0', '23.9', '0.0', '0.08', '0.56', '26.0', '18.53', '0.0', '8.3', '97.0', '2.2', '106.0', '8.4', '4.3', '15.65', '178.0', '0.8', '0.77', '0.0', '32.6', '', '4.38', '0.14', '27.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39225, 'kaixinguo_shu', '开心果', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_08781754293352feec45edf073f26291.jpg', 'false', 1, '100', '631', '53.0', '20.6', '8.2', '21.9', '0.0', '0.45', '0.1', '0.0', '19.36', '1.1', '756.4', '108.0', '4.4', '735.0', '10.3', '3.11', '6.5', '118.0', '0.83', '1.69', '0.0', '34.5', '8.0', '6.78', '', '468.0', '18.0', '2.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39226, 'hetao_gan', '核桃(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c49e1d9a2596b9d0197c655cd10e3adf.jpg', 'false', 1, '100', '646', '58.8', '14.9', '9.5', '19.1', '3.0', '0.15', '0.14', '1.0', '43.21', '0.9', '6.4', '56.0', '2.7', '385.0', '', '2.17', '4.62', '131.0', '1.17', '3.44', '0.0', '', '4.8', '', '0.58', '294.0', '20.0', '1.9', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39227, 'hetao_xian', '核桃(鲜)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_acb09baf478f73546173aaf47e37a4ba.jpg', 'false', 1, '100', '336', '29.9', '12.8', '4.3', '6.1', '0.0', '0.07', '0.14', '10.0', '41.17', '1.4', '0.0', '0.0', '0.0', '0.0', '10.3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '2.4', '0.97', '', '0.0', '20.0', '0.4', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39228, 'huasheng_chao', '炒花生', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bd9046eca01f43f9aa264d1b0dc302c1.jpg', 'false', 1, '100', '601', '48.0', '21.7', '6.3', '23.8', '5.0', '0.13', '0.12', '0.0', '12.94', '18.9', '34.8', '47.0', '1.5', '563.0', '', '2.03', '3.9', '171.0', '0.68', '1.44', '0.0', '', '9.0', '', '', '326.0', '14.0', '3.3', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39229, 'huashengren_sheng', '花生米(生)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d85ab3204c2c8bb4d188abb8856cd535.jpg', 'false', 1, '100', '574', '44.3', '24.8', '5.5', '21.7', '3.0', '0.72', '0.13', '2.0', '18.09', '17.9', '3.6', '39.0', '2.1', '587.0', '2.7', '2.5', '3.94', '178.0', '0.95', '1.25', '0.0', '107.5', '8.3', '', '', '324.0', '14.0', '3.0', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39230, 'huashengren_chao', '花生米(炒)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_750f9ea0e06a4671a95facb2b2718f4b.jpg', 'false', 1, '100', '589', '44.4', '23.9', '4.3', '25.7', '0.0', '0.12', '0.1', '0.0', '14.97', '18.9', '445.1', '284.0', '6.9', '674.0', '', '2.82', '7.1', '176.0', '0.89', '1.9', '0.0', '', '8.4', '', '', '315.0', '14.0', '3.6', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39231, 'fddd5aed', '脆皮可达鸭', 'https://s.boohee.cn/house/upload_food/2023/2/26/mid_photo_url_489bcbcde985c146c640831008950ed2.jpg', 'false', 1, '100.0', '472.27', '23', '15', '8', '60', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39232, 'kuihuazi_naiyouxiangguazi', '葵花子(奶油香瓜子)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_6c67c6f141c947d3b8a2c98ef6fa1419.jpg', 'false', 1, '100', '620', '54.1', '22.7', '14.6', '17.9', '0.0', '0.54', '0.12', '0.0', '21.79', '0.25', '604.3', '77.0', '6.7', '423.0', '', '7.62', '12.49', '412.0', '2.53', '2.57', '0.0', '', '9.2', '', '', '925.0', '20.0', '0.7', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39233, 'zhenzi_gan', '榛子', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_0302e04fc7ed942e9a6c5a640359ba77.jpg', 'false', 1, '100', '561', '44.8', '20.0', '9.6', '24.3', '4.0', '0.62', '0.14', '0.0', '36.43', '2.5', '4.7', '104.0', '6.4', '1244.0', '', '5.83', '0.78', '420.0', '3.03', '14.94', '0.0', '113.0', '', '3.46', '0.56', '422.0', '15.0', '2.2', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39234, 'xingren_da', '杏仁(大)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_dcc0708836524b68bc527d5b2d1833d6.jpg', 'false', 1, '100', '540', '42.9', '19.9', '18.5', '27.8', '0.0', '0.02', '1.82', '26.0', '0.0', '0.0', '0.0', '49.0', '1.2', '169.0', '', '4.06', '27.06', '0.0', '0.67', '0.72', '0.0', '', '', '5.09', '', '4.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39389, 'piaolingdashuhitanshaoyaoguo', '飘零大叔 炭烧腰果', 'https://s.boohee.cn/house/upload_food/2014/4/10/452803_1397114669mid.jpg', 'false', 1, '100', '540', '39.2', '20.6', '0.0', '27.2', '', '', '', '', '', '', '454.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '22.0', '6.0', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39390, 'baishatang', '白砂糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_fbc554c8b4f14f75b931a4d191227fc9.jpg', 'false', 3, '100', '400', '0.0', '0.0', '0.0', '99.9', '', '', '', '', '', '', '0.4', '20.0', '0.6', '5.0', '', '0.06', '', '3.0', '0.04', '0.09', '0.0', '', '0.0', '', '0.0', '8.0', '65.0', '64.9', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39391, 'fengmi', '蜂蜜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_6ae6b343916bb84f48672fec0ae6c5d9.jpg', 'false', 2, '100', '321', '1.9', '0.4', '0.0', '75.6', '0.0', '0.0', '0.05', '3.0', '0.0', '0.1', '0.3', '4.0', '1.0', '28.0', '0.0', '0.37', '0.15', '2.0', '0.03', '0.07', '0.0', '52.6', '0.0', '58.34', '0.02', '3.0', '73.0', '55.2', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39392, 'hongtang', '红糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7bce627fbc86d4c7aabfc8b471943d0e.jpg', 'false', 3, '100', '389', '0.0', '0.7', '0.0', '96.6', '', '0.01', '', '', '', '0.3', '18.3', '157.0', '2.2', '240.0', '', '0.35', '4.2', '54.0', '0.15', '0.27', '', '', '', '', '', '11.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39393, 'fd966115', '睛王葡萄', 'https://s.boohee.cn/house/upload_food/2022/4/17/mid_photo_url_6005481214ac65a07d94a5ae96ff19c5.jpg', 'false', 2, '100.0', '40.0', '0', '3', '0', '6', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '556.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39394, 'jiangyou_junzhi', '酱油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_61cb136fe0345578e1fa20da7e0114b2.jpg', 'false', 2, '100', '63', '0.1', '5.6', '0.2', '10.1', '', '0.05', '0.13', '', '', '1.7', '5757.0', '66.0', '8.6', '337.0', '2.9', '1.17', '1.39', '156.0', '0.06', '1.11', '', '42.5', '', '', '', '204.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39395, 'cu_junzhi', '醋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_25e2b511371f9c0e14d769a3912caad9.jpg', 'false', 2, '100', '31', '0.3', '2.1', '0.0', '4.9', '', '0.03', '0.05', '', '', '1.4', '262.1', '17.0', '6.0', '351.0', '', '1.25', '2.43', '13.0', '0.04', '2.97', '', '', '', '', '', '96.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39396, 'zhimajiang', '芝麻酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_9d5a86844d78c0e1c8f10c940b5b5c2c.jpg', 'false', 2, '100', '630', '52.7', '19.2', '5.9', '22.7', '17.0', '0.16', '0.22', '', '35.09', '5.8', '38.5', '1170.0', '50.3', '342.0', '', '4.01', '4.86', '238.0', '0.97', '1.64', '', '160.9', '7.0', '', '', '626.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39397, 'fde7d236', '希尔布莱克奶酪', 'https://s.boohee.cn/house/upload_food/2022/4/5/mid_photo_url_7aeccd209635801b8f498c9f91067ec3.jpg', 'false', 1, '100.0', '477.0', '32', '42', '0', '5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '271.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39398, 'lajiaojiang', '辣椒酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_de6cdae6315bdd7bb68b412ba0f69d36.jpg', 'false', 2, '100', '36', '2.8', '0.8', '2.6', '3.2', '132.0', '0.01', '0.09', '', '2.87', '1.1', '8027.6', '117.0', '3.8', '222.0', '', '0.26', '0.52', '91.0', '0.12', '0.3', '', '', '', '', '', '30.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39399, 'weijing', '味精', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f13a953c2c9d79b396980735b2a0d99a.jpg', 'false', 2, '100', '268', '0.2', '40.1', '0.0', '26.5', '', '0.08', '0.0', '', '', '0.3', '8160.0', '100.0', '1.2', '4.0', '0.0', '0.31', '0.98', '7.0', '0.12', '0.67', '', '', '', '', '', '4.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39400, 'fdb469e0', '情头翁', 'https://s.boohee.cn/house/upload_food/2018/3/17/mid_photo_url_f002a83fabae584cd4d8fc478883688f.jpg', 'false', 3, '100.0', '268.0', '3', '20', '0', '40', '', '', '', '', '', '', '480.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39401, 'bingtang', '冰糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_445b84bc58c373e07938e6a1d0ea49c6.jpg', 'false', 3, '100', '397', '0.0', '0.0', '0.0', '99.3', '', '0.03', '0.03', '', '', '', '2.7', '23.0', '1.4', '1.0', '', '0.21', '', '2.0', '0.03', '', '', '', '', '99.3', '', '', '65.0', '64.5', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39402, 'jijing', '鸡精', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_8f560f7b5da9f567a54988cf41534dd5.jpg', 'false', 2, '100', '195', '2.8', '10.7', '0.7', '33.2', '', '', '', '', '', '', '22000.0', '', '', '', '26.7', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39413, 'pingguojiang', '苹果酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_771837bfe00d9d39c3657fe06cb67974.jpg', 'false', 2, '100', '278', '0.1', '0.4', '0.3', '69.0', '', '0.28', '0.02', '1.0', '', '', '11.0', '2.0', '1.3', '26.0', '', '0.08', '', '3.0', '0.03', '', '', '', '', '', '', '3.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39414, 'fd3fb75d', '红斑豆芽', 'https://s.boohee.cn/house/upload_food/2018/4/9/mid_photo_url__a442087258_a_f.jpg', 'false', 2, '100.0', '27.0', '0', '2', '0', '4', '', '', '', '', '', '', '980.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39415, 'lajiaofen', '辣椒粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_996c9af9f36930b4360243af9698c0c8.jpg', 'false', 2, '100', '290', '9.5', '15.2', '43.5', '57.7', '3123.0', '0.01', '0.82', '', '15.33', '7.6', '100.0', '146.0', '20.7', '1358.0', '', '1.52', '8.0', '223.0', '0.95', '1.46', '', '', '', '', '', '374.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39416, 'suanronglajiang', '利民 蒜蓉辣酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_f9f0d78e0d96476b87900e486b6d9a28.jpg', 'false', 2, '100', '96', '0.6', '4.8', '3.7', '19.6', '162.0', '0.03', '0.1', '', '16.28', '0.9', '3236.3', '71.0', '11.0', '308.0', '', '1.54', '6.55', '26.0', '0.29', '1.03', '', '', '', '', '', '54.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39578, 'yinyongshui', '饮用水', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_6e2ec89a9283f8c8580b9c61688e879e.jpg', 'true', 1, '100', '0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '0.7', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39579, 'kafeifen', '咖啡粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_34955af785604c4e714a7ec9abd4abeb.jpg', 'false', 1, '100', '218', '0.5', '12.2', '0.0', '41.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39580, 'maisiweieryuanweikafei', '麦斯威尔 原味咖啡', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_4f03ffa22e616094fcaf0a9c6bda9553.jpg', 'false', 3, '100', '448', '17.7', '3.1', '0.0', '69.2', '', '', '', '', '', '', '338.46', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39581, 'heikafei', '无糖美式咖啡', 'https://s.boohee.cn/house/upload_food/2022/2/22/slim_mid_photo_url_7ffc152ed7943e98e11f10c815868209.jpg', 'true', 1, '100', '1', '0.0', '0.1', '0.0', '0.0', '', '0.01', '0.08', '0.0', '0.01', '0.19', '2.0', '2.0', '0.01', '49.0', '0.0', '0.02', '0.0', '3.0', '0.0', '0.02', '0.0', '2.0', '0.0', '0.0', '0.0', '3.0', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39582, 'kuangquanshui', '矿泉水', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_6e2ec89a9283f8c8580b9c61688e879e.jpg', 'true', 1, '100', '0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39583, 'zhengzongyeshupaiyezhi', '椰树 牌椰汁', 'https://s.boohee.cn/house/upload_food/2022/10/19/m_bc9bf10ec09e49e68ed13ca8286839bc.jpg', 'true', 2, '100', '51', '2.3', '0.6', '0.0', '7.0', '', '', '', '', '', '', '12.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39584, 'pijiu_junzhi', '啤酒', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_3f3fd4baa9998f59eac661c3534c6c3c.jpg', 'true', 3, '100', '43', '0.0', '0.5', '0.0', '3.6', '', '0.01', '0.03', '', '', '0.51', '4.0', '4.0', '0.02', '27.0', '', '0.01', '0.6', '6.0', '0.01', '0.01', '0.0', '6.0', '0.0', '0.0', '0.05', '14.0', '66.0', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39585, 'lidunyuanweinaicha', '立顿 原味奶茶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_20152215344318089.jpg', 'false', 2, '100', '407', '6.7', '4.0', '1.2', '82.7', '', '', '', '', '', '', '76.5', '453.0', '', '', '', '', '', '', '', '', '45.7', '', '0.0', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39586, 'meizhiyuanguolicheng2', '美汁源 果粒橙', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_18ed38dc465ea2c6fd5c20cfaa66ca10.jpg', 'true', 2, '100', '40', '0.0', '0.0', '0.0', '9.4', '', '', '', '7.5', '', '', '22.0', '', '', '', '', '', '', '', '', '', '', '', '', '9.7', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39587, 'weitanai_dizhidounai', '维他 唯甄豆奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_149bf24d1d0bb87cadedd8a5aeebdeb4.jpg', 'true', 1, '100', '54', '1.7', '2.5', '0.0', '7.2', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39588, 'tianfumingchapailvchafen', '天福茗茶 绿茶粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_20152215475116299.jpg', 'false', 1, '100', '328', '1.5', '11.4', '24.9', '54.4', '', '', '', '', '', '', '80.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39589, 'maisiweierkafeinaicha', '麦斯威尔 咖啡奶茶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_11877_1213289705mid.jpg', 'false', 2, '100', '436', '10.8', '2.3', '0.0', '83.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39815, 'jinsixiaozao', '金丝小枣', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ebffeef9aaebba82abbddce12122dfba.jpg', 'false', 1, '100', '308', '1.1', '1.2', '7.0', '76.7', '', '0.04', '0.5', '', '1.31', '0.4', '7.4', '23.0', '1.5', '65.0', '', '0.23', '1.0', '24.0', '0.36', '0.34', '0.0', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39816, 'sutang', '酥糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_474813d739bc6519b65ca2cea83647a2.jpg', 'false', 3, '100', '436', '13.9', '6.0', '4.0', '75.6', '', '0.1', '0.04', '', '4.85', '3.5', '45.0', '186.0', '6.0', '148.0', '', '1.52', '1.14', '62.0', '0.3', '0.5', '', '', '', '', '', '135.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39817, 'shuijingtang', '水晶糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_7b52d4209939ab87cc2c53ce138be1e9.jpg', 'false', 2, '100', '395', '0.2', '0.2', '0.1', '98.3', '', '0.04', '0.05', '', '', '', '107.8', '', '3.0', '9.0', '', '1.17', '0.04', '13.0', '0.03', '0.05', '', '', '', '', '', '5.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39818, 'zhuroufu', '猪肉脯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_bda22704eab40768c559d3b08609ee54.jpg', 'false', 2, '100', '378', '8.8', '28.0', '0.0', '46.6', '84.0', '0.27', '0.27', '0.0', '1.1', '18.48', '1638.2', '17.0', '3.9', '381.0', '', '3.08', '6.86', '47.0', '0.2', '0.43', '71.0', '3.5', '3.4', '', '', '233.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39819, 'guodong_juruodong', '果冻(蒟蒻冻)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_91821bcfaadf4a33bd0e0d13cdaacc4c.jpg', 'false', 2, '100', '100', '0.0', '0.0', '0.5', '25.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '19.09', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39820, 'fdc4919e', '醋炒板栗', 'https://s.boohee.cn/house/upload_food/2014/9/10/6496727_1410327044mid.jpg', 'false', 3, '100.0', '341.0', '25', '21', '0', '9', '', '', '', '', '', '', '246.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39821, 'lvdagun', '驴打滚', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_cec3f213184137949869c2180e7ffb18.jpg', 'false', 2, '100', '198', '0.2', '8.2', '1.9', '41.8', '', '0.05', '0.07', '', '2.33', '0.3', '192.4', '34.0', '8.6', '165.0', '', '1.05', '1.57', '37.0', '0.19', '0.81', '', '', '', '', '', '105.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39822, 'danengjiagainiunaitiansubingganniunaikouwei', '达能 佳钙牛奶甜酥饼干牛奶口味', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_74067_1213392676mid.jpg', 'false', 3, '100', '468', '17.0', '8.3', '0.0', '70.0', '', '', '', '', '', '', '365.0', '365.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '70.0', '49.0', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39823, 'niunaibinggan', '牛奶饼干', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_4321b2d056484ab8a20695c0da530ad8.jpg', 'false', 2, '100', '408', '6.1', '8.1', '0.2', '80.3', '94.0', '0.01', '0.02', '', '1.13', '0.2', '399.0', '6.0', '2.9', '129.0', '', '1.55', '2.67', '30.0', '0.15', '0.6', '', '', '', '', '', '102.0', '70.0', '56.2', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39824, 'fdcfda7d', '鸡珍', 'https://s.boohee.cn/house/upload_food/2016/4/6/mid_photo_url__a649_ca_e2_b3_a0.jpg', 'false', 1, '100.0', '138.0', '8', '14', '0', '3', '', '', '', '', '', '', '929.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39825, 'fd2bf0bd', '木须蓉(干)', 'https://s.boohee.cn/house/upload_food/2021/9/24/mid_photo_url_09.png', 'false', 3, '100.0', '340.0', '19', '34', '0', '9', '1.0', '0.0', '0.0', '13.1', '1.5', '0.2', '209.7', '20.5', '0.5', '213.7', '18.7', '0.2', '0.5', '14.2', '0.1', '0.5', '', '22.5', '', '3.9', '0.2', '41.2', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39826, 'bingqiling_cuipitiantong', '冰淇淋(脆皮甜筒)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_6b41838ab197aec8870ecb0ff8c12187.jpg', 'false', 3, '100', '158', '5.5', '3.5', '0.0', '23.9', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '61.0', '14.6', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39827, 'binggan_xian', '饼干(咸)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_3f1a3fdaee824a478309bb0056b60ad3.jpg', 'false', 3, '100', '496', '25.6', '8.4', '4.7', '62.7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '70.0', '43.9', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39828, 'yuebing_zaoni', '月饼(枣泥)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_0c9e26fd30b03fd15ea945eb54fdf0f5.jpg', 'false', 3, '100', '427', '15.7', '7.1', '1.4', '64.9', '8.0', '0.11', '0.05', '', '1.49', '2.7', '24.3', '66.0', '2.8', '178.0', '', '0.81', '2.43', '23.0', '0.18', '0.36', '', '', '', '', '', '62.0', '56.0', '36.3', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39829, 'jibailiyikoulian', '吉百利 怡口莲', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_76176_1213407940mid.jpg', 'false', 2, '100', '416', '16.7', '4.5', '0.0', '61.4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '80.0', '49.1', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39830, 'zhishenajiaomizao', '智神 阿胶蜜枣', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_81357_1219406354mid.jpg', 'false', 2, '100', '314', '0.2', '1.0', '2.7', '75.8', '', '', '', '', '', '', '24.2', '21.2', '1.0', '', '', '', '', '', '', '', '', '', '', '27.9', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39831, 'mimahua', '蜜麻花', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bbd5d927b329439aa44d2a6ee11e3e4c.jpg', 'false', 2, '100', '369', '11.0', '4.8', '0.9', '63.2', '', '0.01', '0.01', '', '7.93', '8.6', '361.5', '99.0', '4.5', '135.0', '', '0.6', '7.2', '98.0', '0.08', '0.67', '', '', '', '', '', '83.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39832, 'fd3ab05b', '菁楠', 'https://s.boohee.cn/house/upload_food/2016/9/28/mid_photo_url_5_b68_d21_b_d5_c7.jpg', 'false', 3, '100.0', '271.0', '3', '20', '0', '41', '', '', '', '', '', '', '193.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39942, 'youshanaxianweisu_shuimitaomangguo', '优莎娜 纤维素(水蜜桃芒果)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_266490_1241521178mid.jpg', 'false', 0, '100', '267', '2.0', '3.3', '43.3', '37.0', '', '', '', '', '', '', '416.0', '', '', '1465.0', '', '', '', '', '', '', '0.0', '', '0.3', '33.3', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39943, 'alasijiakanglishiguwutiquwufuhepian', '阿拉斯加 康力士谷物提取物复合片(_b族维生素)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_206556_1235176666mid.jpg', 'false', 0, '100', '406', '3.0', '14.0', '0.0', '67.0', '', '50.0', '95.0', '', '', '30.0', '0.0', '', '', '', '', '', '', '', '', '', '', '400.0', '', '', '55.0', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39944, 'alasijiakanglishixiaomaipeiyayouruanjiaonang', '阿拉斯加 康力士小麦胚芽油软胶囊', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_206556_1235177434mid.jpg', 'false', 2, '100', '588', '47.6', '0.1', '0.0', '39.9', '', '', '', '', '34826.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39945, 'youshanaxianweisu_xingrenkouwei', '优莎娜 纤维素(杏仁口味)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_266490_1241519332mid.jpg', 'false', 0, '100', '303', '6.7', '5.2', '35.2', '40.6', '', '', '', '', '', '', '378.0', '', '', '1187.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39946, 'fdd6f1ef', '蝾螈冰淇淋', 'https://s.boohee.cn/house/upload_food/2017/4/26/mid_photo_url__d48_d_b6_ae_f144.jpg', 'false', 2, '100.0', '407.47', '14', '9', '6', '77', '', '', '', '', '', '', '151.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39947, 'fd5120c9', '锦玉萝卜', 'https://s.boohee.cn/house/upload_food/2018/11/27/mid_photo_url__a_a0_d31_f8_a39_e.jpg', 'false', 1, '100.0', '20.0', '0', '2', '0', '3', '', '', '', '', '', '', '275.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '81.0', '47.1', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40068, 'mifan_zheng', '米饭', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_f81e8de29f76e6d0c39d4142fe45764f.jpg', 'false', 1, '100', '116', '0.3', '2.6', '0.3', '25.9', '0.0', '0.02', '0.03', '0.0', '0.0', '1.9', '2.5', '7.0', '1.3', '30.0', '0.0', '0.92', '0.4', '15.0', '0.06', '0.58', '0.0', '3.4', '0.0', '', '0.0', '62.0', '90.0', '23.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40069, 'yumi_xian', '鲜玉米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 'false', 1, '100', '112', '1.2', '4.0', '2.9', '22.8', '0.0', '0.16', '0.11', '16.0', '0.46', '1.8', '1.1', '0.0', '1.1', '238.0', '1.1', '0.9', '1.63', '32.0', '0.09', '0.22', '0.0', '31.9', '', '8.89', '', '117.0', '55.0', '10.9', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40070, 'maipeimianbao', '全麦面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg', 'false', 1, '100', '254', '3.6', '12.3', '6.0', '43.1', '0.0', '0.39', '0.17', '0.0', '0.54', '4.43', '449.0', '163.0', '2.56', '250.0', '0.0', '1.76', '19.9', '77.0', '0.23', '0.35', '0.0', '42.0', '0.73', '4.41', '0.22', '212.0', '69.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40071, 'ganshu_hongxin', '红薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg', 'false', 1, '100', '86', '0.1', '1.6', '3.0', '20.1', '63.0', '0.08', '0.06', '2.4', '0.26', '0.56', '55.0', '30.0', '0.61', '337.0', '1.2', '0.3', '0.6', '25.0', '0.15', '0.26', '0.0', '8.3', '0.0', '4.04', '0.19', '47.0', '54.0', '9.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40072, 'yanmaipian', '燕麦片', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg', 'false', 1, '100', '338', '0.2', '10.1', '6.0', '77.4', '0.0', '0.46', '0.07', '0.0', '0.91', '0.0', '2.1', '58.0', '2.9', '356.0', '0.0', '1.75', '0.0', '116.0', '0.21', '3.91', '0.0', '30.1', '0.0', '1.0', '0.0', '342.0', '55.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40073, 'zishu', '紫薯', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b48f483c506a51c70b22fd54f18dc2ef.jpg', 'false', 1, '100', '123', '0.3', '1.2', '2.5', '31.7', '0.0', '0.12', '0.02', '0.1', '1.3', '1.3', '30.0', '24.0', '0.6', '370.0', '0.0', '0.2', '0.0', '26.0', '0.21', '0.5', '0.0', '22.0', '0.05', '', '0.18', '56.0', '77.0', '15.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40074, 'jingmizhou', '白粥', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg', 'false', 1, '100', '46', '0.3', '1.1', '0.1', '9.9', '0.0', '0.0', '0.03', '0.0', '0.0', '0.2', '2.8', '7.0', '0.1', '13.0', '', '0.2', '0.2', '7.0', '0.03', '0.2', '0.0', '', '', '', '', '20.0', '69.0', '6.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40075, 'youtiao', '油条', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_552a534384ecbc8888f957067c13942f.jpg', 'false', 3, '100', '388', '17.6', '6.9', '0.9', '51.0', '0.0', '0.01', '0.07', '0.0', '3.19', '0.7', '585.2', '6.0', '1.0', '227.0', '', '0.75', '8.6', '19.0', '0.19', '0.52', '0.0', '6.0', '0.5', '0.64', '', '77.0', '75.0', '37.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40076, 'yutou', '芋头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_b55cb3edd355334376a0c2462a291d1f.jpg', 'false', 1, '100', '56', '0.2', '1.3', '1.0', '12.7', '1.0', '0.05', '0.02', '1.5', '0.0', '0.28', '5.5', '11.0', '0.3', '25.0', '', '0.19', '0.91', '19.0', '0.06', '0.3', '0.0', '7.8', '', '0.98', '0.28', '50.0', '48.0', '5.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40077, 'miantiao_fuqiangfen_zhu', '煮面条', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7fa30a00fecb65c0533b9142a0072e42.jpg', 'false', 1, '100', '107', '0.4', '3.9', '0.0', '22.8', '0.0', '0.02', '0.01', '0.0', '0.0', '0.56', '26.9', '4.0', '0.2', '15.0', '', '0.1', '1.16', '10.0', '0.01', '0.01', '0.0', '2.1', '0.1', '', '', '24.0', '41.0', '9.3', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40078, 'miantiao_junzhi', '面条(生)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_67e3a4544d0676c61e002e19dd8119fd.jpg', 'false', 1, '100', '301', '0.6', '8.9', '0.8', '65.6', '0.0', '0.22', '0.07', '0.0', '0.47', '1.8', '21.4', '12.0', '4.3', '123.0', '', '1.09', '6.59', '42.0', '0.15', '0.71', '0.0', '', '0.1', '', '', '139.0', '55.0', '35.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40079, 'mianbao_junzhi', '面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d6ca69ac1afb226f83f4758441c3c75a.jpg', 'false', 2, '100', '313', '5.1', '8.3', '0.5', '58.6', '', '0.03', '0.06', '', '1.66', '1.7', '230.4', '49.0', '2.0', '88.0', '', '0.75', '3.15', '31.0', '0.27', '0.37', '', '', '0.3', '', '0.08', '107.0', '88.0', '51.1', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40080, 'shanyao', '山药', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43b6d0454b50ebf35facd9013d16afd3.jpg', 'false', 1, '100', '57', '0.2', '1.9', '0.8', '12.4', '3.0', '0.05', '0.02', '5.0', '0.24', '0.3', '18.6', '16.0', '0.3', '213.0', '3.6', '0.27', '0.55', '20.0', '0.24', '0.12', '0.0', '7.8', '', '0.22', '0.29', '34.0', '51.0', '5.9', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40081, 'daomi_junzhi', '大米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_3e01a32158e941ccb328d808d6955684.jpg', 'false', 1, '100', '346', '0.9', '7.9', '0.6', '77.2', '0.0', '0.15', '0.04', '0.0', '0.43', '2.0', '1.8', '8.0', '1.1', '112.0', '2.3', '1.54', '2.83', '31.0', '0.25', '1.13', '0.0', '23.7', '0.3', '0.09', '', '112.0', '87.0', '66.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40082, 'xiaomizhou', '小米粥', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_ef353b12d4e89108a469f0a38dff4404.jpg', 'false', 1, '100', '46', '0.7', '1.4', '0.0', '8.4', '0.0', '0.02', '0.07', '0.0', '0.26', '0.9', '4.1', '10.0', '1.0', '19.0', '', '0.41', '0.3', '22.0', '0.07', '0.16', '0.0', '', '', '', '', '32.0', '60.0', '5.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40083, 'malingshu', '马铃薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_8a7ff30a30cec1f7633e98a2388b545d.jpg', 'false', 1, '100', '81', '0.2', '2.6', '1.1', '17.8', '1.0', '0.1', '0.02', '14.0', '0.34', '1.1', '5.9', '7.0', '0.4', '347.0', '1.2', '0.3', '0.47', '24.0', '0.09', '0.1', '0.0', '15.7', '', '1.61', '', '46.0', '62.0', '10.4', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40084, 'baozi_zhurouxian', '包子(猪肉馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_210714ad3b3bef4c9f899c8d485ae5ad.jpg', 'false', 2, '100', '227', '10.0', '7.3', '1.7', '30.3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '39.1', '11.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40085, 'ganshu_baixin', '白薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_60601e92dbb659a70d9ec8867d13ead3.jpg', 'false', 1, '100', '106', '0.2', '1.4', '1.0', '25.2', '18.0', '0.07', '0.04', '24.0', '0.43', '0.6', '58.2', '24.0', '0.8', '174.0', '0.0', '0.22', '0.63', '17.0', '0.16', '0.21', '0.0', '0.0', '0.0', '', '0.0', '46.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40086, 'laobing_biaozhunfen', '烙饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 1, '100', '258', '2.3', '7.5', '1.9', '52.9', '0.0', '0.02', '0.04', '0.0', '1.03', '0.0', '149.3', '20.0', '2.4', '141.0', '', '0.94', '7.5', '51.0', '0.15', '1.15', '0.0', '92.0', '', '', '', '146.0', '80.0', '40.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40087, 'huajuan', '花卷', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_32fbb0ed557b4d388872c26bf93414d9.jpg', 'false', 1, '100', '214', '1.0', '6.4', '1.5', '45.6', '0.0', '0.0', '0.02', '0.0', '0.0', '1.1', '95.0', '19.0', '0.4', '83.0', '', '0.0', '6.17', '12.0', '0.09', '0.0', '0.0', '', '', '3.4', '', '72.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40088, 'mankedunquanmaigaoxianweimianbao2', '曼可顿 全麦高纤维面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_e754911f397f24f906a944e7f96c8357.jpg', 'false', 1, '100', '243', '1.6', '11.1', '7.0', '42.0', '', '0.14', '0.06', '', '', '', '306.0', '108.0', '2.5', '208.0', '', '2.02', '', '', '', '', '', '', '', '', '', '', '69.0', '28.7', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40089, 'chixiaodou', '红豆', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccbf91414d672f0209992753bfe2d216.jpg', 'false', 1, '100', '324', '0.6', '20.2', '7.7', '63.4', '7.0', '0.16', '0.11', '0.0', '14.36', '2.0', '2.2', '74.0', '7.4', '860.0', '7.8', '2.2', '3.8', '138.0', '0.64', '1.33', '0.0', '151.9', '0.1', '0.44', '0.35', '305.0', '27.2', '17.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40090, 'jianbing', '煎饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_1bdbe454666dfa4939ec811e3577b005.jpg', 'false', 1, '100', '354', '0.7', '7.6', '9.1', '83.8', '', '0.1', '0.04', '', '', '0.2', '85.5', '9.0', '7.0', '117.0', '', '1.62', '3.75', '86.0', '0.41', '0.75', '', '22.6', '', '36.89', '', '320.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40091, 'caomi_weizheng', '糙米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_8f2a3e07dbdb9aa62d77ce52e520d292.jpg', 'false', 1, '100', '348', '2.7', '7.7', '3.4', '75.0', '0.0', '0.38', '0.04', '0.0', '1.32', '0.0', '5.4', '10.0', '1.8', '230.0', '2.3', '1.79', '0.0', '123.0', '0.24', '3.04', '0.0', '22.9', '0.0', '0.47', '0.0', '304.0', '55.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40092, 'fashiniujiaomianbao', '牛角面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_22f986a4d32246edae392a0c262e1ec2.jpg', 'false', 2, '100', '378', '14.3', '8.4', '1.5', '55.0', '', '0.05', '0.01', '', '3.75', '5.0', '352.3', '83.0', '1.7', '103.0', '', '0.61', '18.2', '29.0', '0.24', '0.38', '', '', '', '7.69', '', '93.0', '67.0', '36.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40093, 'shengmingmaibaopaiquanmaiqiepianmianbao', '嘉顿 生命面包 450g', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_201512618245916435.jpg', 'false', 1, '100', '284', '4.4', '8.9', '3.6', '49.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '87.9', '43.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40094, 'baozi_sanxianxian', '包子(三鲜馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_4ce934a4ec8862218af9d597e1014f7a.jpg', 'false', 2, '100', '223', '8.6', '7.4', '0.0', '29.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '39.1', '11.4', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40095, 'mifen', '米粉(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_bec9d35b6e3a492ba88a37a66aefdb0d.jpg', 'false', 1, '100', '349', '0.8', '0.4', '0.0', '85.8', '0.0', '0.01', '0.01', '0.0', '0.0', '0.0', '52.2', '11.0', '2.4', '19.0', '', '0.36', '0.45', '6.0', '0.0', '0.08', '0.0', '', '0.3', '', '0.02', '45.0', '54.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40096, 'youbing', '油饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 3, '100', '403', '22.9', '7.9', '2.0', '42.4', '0.0', '0.11', '0.05', '0.0', '13.72', '0.0', '572.5', '46.0', '2.3', '106.0', '', '0.97', '10.6', '13.0', '0.27', '0.71', '0.0', '', '', '', '', '124.0', '59.0', '23.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40097, 'mantou_junzhi', '馒头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_1945bc70b243079727cfd0670f1b753b.jpg', 'false', 1, '100', '223', '1.1', '7.0', '1.3', '47.0', '0.0', '0.04', '0.05', '0.0', '0.65', '0.0', '165.1', '38.0', '1.8', '138.0', '', '0.71', '8.45', '30.0', '0.1', '0.78', '0.0', '8.7', '', '', '', '107.0', '85.0', '38.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40098, 'huangyoumianbao', '黄油面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_22f986a4d32246edae392a0c262e1ec2.jpg', 'false', 2, '100', '331', '8.7', '7.9', '0.9', '55.6', '', '0.03', '0.02', '', '5.45', '2.3', '14.5', '35.0', '1.5', '92.0', '', '0.5', '3.4', '22.0', '0.18', '0.29', '', '', '', '', '', '94.0', '67.0', '37.3', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40099, 'guoliaomianbao', '果料面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_050c69ec8f853fba77492e9f066ee1ad.jpg', 'false', 1, '100', '279', '2.1', '8.5', '0.8', '57.0', '', '0.07', '0.07', '', '1.31', '4.6', '210.5', '124.0', '2.0', '94.0', '', '0.58', '23.95', '29.0', '0.28', '0.37', '', '', '', '', '', '100.0', '67.0', '38.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40100, 'jiaozi_zhuroujiucaixian', '饺子(猪肉韭菜馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_9cb2ca08ae7e4040b3506eb7fb045208.jpg', 'false', 2, '100', '250', '14.4', '7.0', '2.9', '26.0', '', '', '', '', '', '', '350.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '15.0', '3.5', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40101, 'shaobing_jiatang', '烧饼(加糖)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 2, '100', '298', '2.1', '8.0', '2.1', '62.7', '0.0', '0.0', '0.01', '0.0', '0.39', '1.1', '62.5', '51.0', '1.6', '122.0', '', '0.36', '12.16', '26.0', '0.15', '0.0', '0.0', '', '', '', '', '105.0', '59.0', '35.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40102, 'doushu', '豆薯(凉薯)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a8b95c79a8586264644a5520e2ed3c3f.jpg', 'false', 1, '100', '56', '0.1', '0.9', '0.8', '13.4', '0.0', '0.03', '0.03', '13.0', '0.86', '0.3', '5.5', '21.0', '0.6', '111.0', '', '0.23', '0.16', '14.0', '0.07', '0.11', '0.0', '12.0', '', '7.91', '0.04', '24.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40103, 'fensi', '粉丝(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_acfc7a6736f02a983f4ac75c47300f88.jpg', 'false', 1, '100', '338', '0.2', '0.8', '1.1', '83.7', '0.0', '0.03', '0.02', '0.0', '0.0', '0.4', '9.3', '31.0', '6.4', '18.0', '', '0.27', '3.39', '11.0', '0.05', '0.15', '0.0', '', '', '', '', '16.0', '', '', 1); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_love_food +-- ---------------------------- +DROP TABLE IF EXISTS `bh_love_food`; +CREATE TABLE `bh_love_food` ( + `uid` int DEFAULT NULL, + `fid` bigint DEFAULT NULL, + KEY `uaddu` (`uid`), + KEY `uaddf` (`fid`), + CONSTRAINT `uaddf` FOREIGN KEY (`fid`) REFERENCES `bh_food` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `uaddu` FOREIGN KEY (`uid`) REFERENCES `bohe_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of bh_love_food +-- ---------------------------- +BEGIN; +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (2, 38210); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (2, 40072); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 38211); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 39582); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 39580); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_move +-- ---------------------------- +DROP TABLE IF EXISTS `bh_move`; +CREATE TABLE `bh_move` ( + `id` int NOT NULL AUTO_INCREMENT, + `img` varchar(255) DEFAULT NULL COMMENT '缩略图', + `name` varchar(255) DEFAULT NULL COMMENT '项目名称', + `calory` int DEFAULT NULL COMMENT '卡路里', + `weight` int DEFAULT NULL COMMENT '计算单位 分钟', + `type` mediumint DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='运动项目管理'; + +-- ---------------------------- +-- Records of bh_move +-- ---------------------------- +BEGIN; +INSERT INTO `bh_move` (`id`, `img`, `name`, `calory`, `weight`, `type`) VALUES (1, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', '跑步', 100, 60, 1); +COMMIT; + +-- ---------------------------- +-- Table structure for bohe_user +-- ---------------------------- +DROP TABLE IF EXISTS `bohe_user`; +CREATE TABLE `bohe_user` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '用户编号', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名', + `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '性别', + `age` int NOT NULL COMMENT '年龄', + `weight` int NOT NULL COMMENT '体重', + `height` int NOT NULL COMMENT '身高', + `calory` int DEFAULT NULL COMMENT '每日应摄入卡路里', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='薄荷用户管理'; + +-- ---------------------------- +-- Records of bohe_user +-- ---------------------------- +BEGIN; +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (2, '123', '123', '小羊', '1', 23, 140, 180, 2206); +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (3, '123456', '123456', '大洋', '2', 22, 70, 180, 1539); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成业务表'; + +-- ---------------------------- +-- Records of gen_table +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'bh_categories', '分类管理', 'bh_food', 'pid', 'BhCategories', 'sub', 'com.ruoyi.system', 'system', 'categories', '分类管理', 'ruoyi', '0', '/', '{}', 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'bh_food', '食物管理', NULL, NULL, 'BhFood', 'crud', 'com.ruoyi.system', 'system', 'food', '食物管理', 'ruoyi', '0', '/', '{}', 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'bohe_user', '薄荷用户管理', NULL, NULL, 'BoheUser', 'crud', 'com.ruoyi.system', 'system', 'boheUser', '薄荷用户管理', 'MrYuan', '0', '/', '{\"parentMenuId\":\"2000\"}', 'admin', '2023-05-16 20:38:45', '', '2023-05-16 20:39:48', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'bh_move', '运动项目管理', NULL, NULL, 'BhMove', 'crud', 'com.ruoyi.system', 'system', 'bhmove', '运动项目管理', 'MrYuan', '0', '/', '{\"parentMenuId\":\"2000\"}', 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 'bh_calories', '燃烧我的卡路里', NULL, NULL, 'BhCalories', 'crud', 'com.ruoyi.system', 'system', 'bhCalories', '燃烧我的卡路里', 'MrYuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 'bh_love_food', '收藏食物', NULL, NULL, 'BhLoveFood', 'crud', 'com.ruoyi.system', 'system', 'lovefood', '收藏食物', 'MrYuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-18 00:49:43', '', '2023-05-18 00:50:51', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` varchar(64) DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) DEFAULT '' COMMENT '字典类型', + `sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- Records of gen_table_column +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1, '1', 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (2, '1', 'name', '分类名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (3, '1', 'image_url', '图标', 'varchar(255)', 'String', 'imageUrl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'imageUpload', '', 3, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (4, '1', 'sub_category_count', '二级分类数量', 'varchar(255)', 'String', 'subCategoryCount', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'input', '', 4, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (5, '1', 'sub_categories', '二级分类', 'varchar(255)', 'String', 'subCategories', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'input', '', 5, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (6, '1', 'description', '描述', 'varchar(255)', 'String', 'description', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 6, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (7, '2', 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (8, '2', 'code', '编码', 'varchar(255)', 'String', 'code', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 2, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (9, '2', 'name', '食物名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (10, '2', 'thumb_image_url', '缩略图', 'varchar(255)', 'String', 'thumbImageUrl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'imageUpload', '', 4, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (11, '2', 'is_liquid', '是否是液体', 'varchar(255)', 'String', 'isLiquid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (12, '2', 'health_light', '健康度/推荐食用等级', 'int', 'Long', 'healthLight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (13, '2', 'weight', '重量/每100g', 'varchar(255)', 'String', 'weight', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 7, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (14, '2', 'calory', '卡路里', 'varchar(255)', 'String', 'calory', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 8, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (15, '2', 'fat', '脂肪', 'varchar(255)', 'String', 'fat', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 9, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (16, '2', 'protein', '蛋白质', 'varchar(255)', 'String', 'protein', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 10, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (17, '2', 'fiber_dietary', '膳食纤维', 'varchar(255)', 'String', 'fiberDietary', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 11, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (18, '2', 'carbohydrate', '碳水化合物', 'varchar(255)', 'String', 'carbohydrate', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 12, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (19, '2', 'vitamin_a', '维生素A', 'varchar(255)', 'String', 'vitaminA', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 13, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (20, '2', 'thiamine', '维生素B1', 'varchar(255)', 'String', 'thiamine', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 14, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (21, '2', 'lactoflavin', '维生素B2', 'varchar(255)', 'String', 'lactoflavin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 15, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (22, '2', 'vitamin_c', '维生素C', 'varchar(255)', 'String', 'vitaminC', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 16, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (23, '2', 'vitamin_e', '维生素E', 'varchar(255)', 'String', 'vitaminE', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 17, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (24, '2', 'niacin', '烟酸', 'varchar(255)', 'String', 'niacin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 18, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (25, '2', 'natrium', '钠', 'varchar(255)', 'String', 'natrium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 19, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (26, '2', 'calcium', '钙', 'varchar(255)', 'String', 'calcium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 20, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (27, '2', 'iron', '铁', 'varchar(255)', 'String', 'iron', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 21, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (28, '2', 'kalium', '钾', 'varchar(255)', 'String', 'kalium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 22, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (29, '2', 'iodine', '碘', 'varchar(255)', 'String', 'iodine', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 23, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (30, '2', 'zinc', '锌', 'varchar(255)', 'String', 'zinc', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 24, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (31, '2', 'selenium', '硒', 'varchar(255)', 'String', 'selenium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 25, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (32, '2', 'magnesium', '镁\n ', 'varchar(255)', 'String', 'magnesium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 26, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (33, '2', 'copper', '铜', 'varchar(255)', 'String', 'copper', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 27, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (34, '2', 'manganese', '锰', 'varchar(255)', 'String', 'manganese', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 28, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (35, '2', 'cholesterol', '胆固醇', 'varchar(255)', 'String', 'cholesterol', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 29, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (36, '2', 'folacin', '叶酸', 'varchar(255)', 'String', 'folacin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 30, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (37, '2', 'saturated_fat', '饱和脂肪', 'varchar(255)', 'String', 'saturatedFat', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 31, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (38, '2', 'sugar', '糖', 'varchar(255)', 'String', 'sugar', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 32, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (39, '2', 'vitamin_b6', '维生素B6', 'varchar(255)', 'String', 'vitaminB6', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 33, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (40, '2', 'phosphor', '磷', 'varchar(255)', 'String', 'phosphor', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 34, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (41, '2', 'gi', 'GI', 'varchar(255)', 'String', 'gi', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 35, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (42, '2', 'gl', 'GL', 'varchar(255)', 'String', 'gl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 36, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (43, '2', 'pid', '分类id', 'bigint', 'Long', 'pid', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 37, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (44, '3', 'id', '用户编号', 'int', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (45, '3', 'username', '账号', 'varchar(255)', 'String', 'username', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (46, '3', 'password', '密码', 'varchar(255)', 'String', 'password', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (47, '3', 'name', '姓名', 'varchar(255)', 'String', 'name', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 4, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (48, '3', 'sex', '性别', 'varchar(255)', 'String', 'sex', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'select', '', 5, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (49, '3', 'age', '年龄', 'int', 'Long', 'age', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (50, '3', 'weight', '体重', 'int', 'Long', 'weight', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (51, '3', 'height', '身高', 'int', 'Long', 'height', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (52, '4', 'id', NULL, 'int', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (53, '4', 'img', '缩略图', 'varchar(255)', 'String', 'img', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'imageUpload', '', 2, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (54, '4', 'name', '项目名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (55, '4', 'calory', '卡路里', 'int', 'Long', 'calory', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (56, '4', 'weight', '计算单位 分钟', 'int', 'Long', 'weight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (57, '4', 'type', NULL, 'mediumint', 'Long', 'type', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'select', '', 6, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (58, '3', 'calory', '每日应摄入卡路里', 'int', 'Long', 'calory', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9, '', '2023-05-16 23:56:29', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (59, '5', 'uid', '用户id', 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (60, '5', 'c_name', '项目名称', 'varchar(255)', 'String', 'cName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (61, '5', 'c_id', '项目id', 'int', 'Long', 'cId', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (62, '5', 'c_type', '项目类型', 'int', 'Long', 'cType', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'select', '', 4, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (63, '5', 'c_img', '项目图片', 'varchar(255)', 'String', 'cImg', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (64, '5', 'c_num', '重量或时间', 'int', 'Long', 'cNum', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (65, '5', 'c_weight', '计量单位', 'int', 'Long', 'cWeight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (66, '5', 'c_value', '消耗卡路里', 'int', 'Long', 'cValue', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (67, '5', 'create_time', '时间', 'date', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, '1', 'EQ', 'datetime', '', 9, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (68, '5', 'remark', NULL, 'varchar(255)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'input', '', 10, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (69, '6', 'uid', NULL, 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1, 'admin', '2023-05-18 00:49:44', '', '2023-05-18 00:50:51'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (70, '6', 'fid', NULL, 'bigint', 'Long', 'fid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2023-05-18 00:49:44', '', '2023-05-18 00:50:51'); +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_BLOB_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`; +CREATE TABLE `QRTZ_BLOB_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `blob_data` blob COMMENT '存放持久化Trigger对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Blob类型的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_BLOB_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_CALENDARS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CALENDARS`; +CREATE TABLE `QRTZ_CALENDARS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `calendar_name` varchar(200) NOT NULL COMMENT '日历名称', + `calendar` blob NOT NULL COMMENT '存放持久化calendar对象', + PRIMARY KEY (`sched_name`,`calendar_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='日历信息表'; + +-- ---------------------------- +-- Records of QRTZ_CALENDARS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_CRON_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`; +CREATE TABLE `QRTZ_CRON_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `cron_expression` varchar(200) NOT NULL COMMENT 'cron表达式', + `time_zone_id` varchar(80) DEFAULT NULL COMMENT '时区', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Cron类型的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_CRON_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_FIRED_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`; +CREATE TABLE `QRTZ_FIRED_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `entry_id` varchar(95) NOT NULL COMMENT '调度器实例id', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `instance_name` varchar(200) NOT NULL COMMENT '调度器实例名', + `fired_time` bigint NOT NULL COMMENT '触发的时间', + `sched_time` bigint NOT NULL COMMENT '定时器制定的时间', + `priority` int NOT NULL COMMENT '优先级', + `state` varchar(16) NOT NULL COMMENT '状态', + `job_name` varchar(200) DEFAULT NULL COMMENT '任务名称', + `job_group` varchar(200) DEFAULT NULL COMMENT '任务组名', + `is_nonconcurrent` varchar(1) DEFAULT NULL COMMENT '是否并发', + `requests_recovery` varchar(1) DEFAULT NULL COMMENT '是否接受恢复执行', + PRIMARY KEY (`sched_name`,`entry_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='已触发的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_FIRED_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_JOB_DETAILS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`; +CREATE TABLE `QRTZ_JOB_DETAILS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `job_name` varchar(200) NOT NULL COMMENT '任务名称', + `job_group` varchar(200) NOT NULL COMMENT '任务组名', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `job_class_name` varchar(250) NOT NULL COMMENT '执行任务类名称', + `is_durable` varchar(1) NOT NULL COMMENT '是否持久化', + `is_nonconcurrent` varchar(1) NOT NULL COMMENT '是否并发', + `is_update_data` varchar(1) NOT NULL COMMENT '是否更新数据', + `requests_recovery` varchar(1) NOT NULL COMMENT '是否接受恢复执行', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务详细信息表'; + +-- ---------------------------- +-- Records of QRTZ_JOB_DETAILS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_LOCKS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_LOCKS`; +CREATE TABLE `QRTZ_LOCKS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `lock_name` varchar(40) NOT NULL COMMENT '悲观锁名称', + PRIMARY KEY (`sched_name`,`lock_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='存储的悲观锁信息表'; + +-- ---------------------------- +-- Records of QRTZ_LOCKS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`; +CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + PRIMARY KEY (`sched_name`,`trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='暂停的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SCHEDULER_STATE +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`; +CREATE TABLE `QRTZ_SCHEDULER_STATE` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `instance_name` varchar(200) NOT NULL COMMENT '实例名称', + `last_checkin_time` bigint NOT NULL COMMENT '上次检查时间', + `checkin_interval` bigint NOT NULL COMMENT '检查间隔时间', + PRIMARY KEY (`sched_name`,`instance_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='调度器状态表'; + +-- ---------------------------- +-- Records of QRTZ_SCHEDULER_STATE +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `repeat_count` bigint NOT NULL COMMENT '重复的次数统计', + `repeat_interval` bigint NOT NULL COMMENT '重复的间隔时间', + `times_triggered` bigint NOT NULL COMMENT '已经触发的次数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='简单触发器的信息表'; + +-- ---------------------------- +-- Records of QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `str_prop_1` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第一个参数', + `str_prop_2` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第二个参数', + `str_prop_3` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第三个参数', + `int_prop_1` int DEFAULT NULL COMMENT 'int类型的trigger的第一个参数', + `int_prop_2` int DEFAULT NULL COMMENT 'int类型的trigger的第二个参数', + `long_prop_1` bigint DEFAULT NULL COMMENT 'long类型的trigger的第一个参数', + `long_prop_2` bigint DEFAULT NULL COMMENT 'long类型的trigger的第二个参数', + `dec_prop_1` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数', + `dec_prop_2` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数', + `bool_prop_1` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数', + `bool_prop_2` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='同步机制的行锁表'; + +-- ---------------------------- +-- Records of QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_TRIGGERS`; +CREATE TABLE `QRTZ_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT '触发器的名字', + `trigger_group` varchar(200) NOT NULL COMMENT '触发器所属组的名字', + `job_name` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_name的外键', + `job_group` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_group的外键', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `next_fire_time` bigint DEFAULT NULL COMMENT '上一次触发时间(毫秒)', + `prev_fire_time` bigint DEFAULT NULL COMMENT '下一次触发时间(默认为-1表示不触发)', + `priority` int DEFAULT NULL COMMENT '优先级', + `trigger_state` varchar(16) NOT NULL COMMENT '触发器状态', + `trigger_type` varchar(8) NOT NULL COMMENT '触发器的类型', + `start_time` bigint NOT NULL COMMENT '开始时间', + `end_time` bigint DEFAULT NULL COMMENT '结束时间', + `calendar_name` varchar(200) DEFAULT NULL COMMENT '日程表名称', + `misfire_instr` smallint DEFAULT NULL COMMENT '补偿执行的策略', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + KEY `sched_name` (`sched_name`,`job_name`,`job_group`), + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `QRTZ_JOB_DETAILS` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='触发器详细信息表'; + +-- ---------------------------- +-- Records of QRTZ_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='参数配置表'; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +BEGIN; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '初始化密码 123456'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '深色主题theme-dark,浅色主题theme-light'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '是否开启验证码功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '是否开启注册用户功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='部门表'; + +-- ---------------------------- +-- Records of sys_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典数据表'; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别男'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别女'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别未知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '显示菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '默认分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统默认是'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统默认否'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '公告'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '关闭状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '其他操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '新增操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '修改操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '删除操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '授权操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '导出操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '导入操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '强退操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '生成操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '清空操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `dict_type` (`dict_type`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典类型表'; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '任务状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '任务分组列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '登录状态列表'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE `sys_job` ( + `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度表'; + +-- ---------------------------- +-- Records of sys_job +-- ---------------------------- +BEGIN; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度日志表'; + +-- ---------------------------- +-- Records of sys_job_log +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `user_name` varchar(50) DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统访问记录'; + +-- ---------------------------- +-- Records of sys_logininfor +-- ---------------------------- +BEGIN; +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '退出成功', '2023-05-15 19:11:30'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-15 19:11:37'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-15 20:34:52'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 20:38:34'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (104, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 21:42:46'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (105, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-16 23:42:44'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-16 23:42:47'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (107, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 23:42:49'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (108, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-17 01:03:33'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-17 01:03:35'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '0', '退出成功', '2023-05-17 01:08:09'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (111, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '1', '验证码错误', '2023-05-17 01:08:16'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (112, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '0', '登录成功', '2023-05-17 01:08:21'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-18 00:49:31'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-19 00:18:45'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-19 00:18:51'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-19 00:46:20'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `parent_id` bigint DEFAULT '0' COMMENT '父菜单ID', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) DEFAULT '' COMMENT '路由地址', + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', + `query` varchar(255) DEFAULT NULL COMMENT '路由参数', + `is_frame` int DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2037 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单权限表'; + +-- ---------------------------- +-- Records of sys_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统管理', 0, 1, 'system', NULL, '', 1, 0, 'M', '1', '0', '', 'system', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:42:33', '系统管理目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', 1, 0, 'M', '1', '0', '', 'monitor', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:42:25', '系统监控目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', 1, 0, 'M', '1', '0', '', 'tool', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:41:50', '系统工具目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2023-05-15 18:23:42', '', NULL, '用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2023-05-15 18:23:42', '', NULL, '角色管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2023-05-15 18:23:42', '', NULL, '菜单管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2023-05-15 18:23:42', '', NULL, '部门管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2023-05-15 18:23:42', '', NULL, '岗位管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2023-05-15 18:23:42', '', NULL, '字典管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2023-05-15 18:23:42', '', NULL, '参数设置菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2023-05-15 18:23:42', '', NULL, '通知公告菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2023-05-15 18:23:42', '', NULL, '日志管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2023-05-15 18:23:42', '', NULL, '在线用户菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2023-05-15 18:23:42', '', NULL, '定时任务菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2023-05-15 18:23:42', '', NULL, '数据监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2023-05-15 18:23:42', '', NULL, '服务监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2023-05-15 18:23:42', '', NULL, '缓存监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2023-05-15 18:23:42', '', NULL, '缓存列表菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (115, '表单构建', 3, 1, 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2023-05-15 18:23:42', '', NULL, '表单构建菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2023-05-15 18:23:42', '', NULL, '代码生成菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2023-05-15 18:23:42', '', NULL, '系统接口菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2023-05-15 18:23:42', '', NULL, '操作日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2023-05-15 18:23:42', '', NULL, '登录日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1000, '用户查询', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1001, '用户新增', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1002, '用户修改', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1003, '用户删除', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1004, '用户导出', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '用户导入', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1006, '重置密码', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1007, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1008, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1009, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1010, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1011, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1012, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1013, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1014, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1015, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1016, '部门查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1017, '部门新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1018, '部门修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1019, '部门删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1020, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1021, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1022, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1023, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1024, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1025, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1026, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1027, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1028, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1029, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1030, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1031, '参数新增', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1032, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1033, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1034, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1035, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1036, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1037, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1038, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1039, '操作查询', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1040, '操作删除', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1041, '日志导出', 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1042, '登录查询', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1043, '登录删除', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1044, '日志导出', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1045, '账户解锁', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1046, '在线查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1047, '批量强退', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1048, '单条强退', 109, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1049, '任务查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1050, '任务新增', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1051, '任务修改', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1052, '任务删除', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1053, '状态修改', 110, 5, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1054, '任务导出', 110, 6, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1055, '生成查询', 116, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1056, '生成修改', 116, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1057, '生成删除', 116, 3, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1058, '导入代码', 116, 4, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1059, '预览代码', 116, 5, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1060, '生成代码', 116, 6, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2000, '饮食健康', 0, 0, 'ys', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'people', 'admin', '2023-05-15 18:37:22', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2001, '食物管理', 2000, 1, 'food', 'system/food/index', NULL, 1, 0, 'C', '0', '0', 'system:food:list', '#', 'admin', '2023-05-15 18:43:50', 'admin', '2023-05-15 18:44:30', '食物管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2002, '食物管理查询', 2001, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:query', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2003, '食物管理新增', 2001, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:add', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2004, '食物管理修改', 2001, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:edit', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2005, '食物管理删除', 2001, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:remove', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2006, '食物管理导出', 2001, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:export', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2007, '分类管理', 2000, 1, 'categories', 'system/categories/index', NULL, 1, 0, 'C', '0', '0', 'system:categories:list', '#', 'admin', '2023-05-15 18:43:59', 'admin', '2023-05-15 18:44:23', '分类管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2008, '分类管理查询', 2007, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:query', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2009, '分类管理新增', 2007, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:add', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2010, '分类管理修改', 2007, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:edit', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2011, '分类管理删除', 2007, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:remove', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2012, '分类管理导出', 2007, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:export', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2013, '薄荷用户管理', 2000, 1, 'boheUser', 'system/boheUser/index', NULL, 1, 0, 'C', '0', '0', 'system:boheUser:list', '#', 'admin', '2023-05-16 20:43:31', '', NULL, '薄荷用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2014, '薄荷用户管理查询', 2013, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:query', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2015, '薄荷用户管理新增', 2013, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:add', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2016, '薄荷用户管理修改', 2013, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:edit', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2017, '薄荷用户管理删除', 2013, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:remove', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2018, '薄荷用户管理导出', 2013, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:export', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2019, '运动项目管理', 2000, 1, 'bhmove', 'system/bhmove/index', NULL, 1, 0, 'C', '0', '0', 'system:bhmove:list', '#', 'admin', '2023-05-16 23:48:52', '', NULL, '运动项目管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2020, '运动项目管理查询', 2019, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:query', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2021, '运动项目管理新增', 2019, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:add', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2022, '运动项目管理修改', 2019, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:edit', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2023, '运动项目管理删除', 2019, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:remove', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2024, '运动项目管理导出', 2019, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:export', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2025, '燃烧我的卡路里', 2000, 1, 'bhCalories', 'system/bhCalories/index', NULL, 1, 0, 'C', '0', '0', 'system:bhCalories:list', '#', 'admin', '2023-05-17 00:19:07', '', NULL, '燃烧我的卡路里菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2026, '燃烧我的卡路里查询', 2025, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:query', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2027, '燃烧我的卡路里新增', 2025, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:add', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2028, '燃烧我的卡路里修改', 2025, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:edit', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2029, '燃烧我的卡路里删除', 2025, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:remove', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2030, '燃烧我的卡路里导出', 2025, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:export', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2031, '收藏食物', 2000, 1, 'lovefood', 'system/lovefood/index', NULL, 1, 0, 'C', '0', '0', 'system:lovefood:list', '#', 'admin', '2023-05-18 00:53:14', '', NULL, '收藏食物菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2032, '收藏食物查询', 2031, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:query', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2033, '收藏食物新增', 2031, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:add', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2034, '收藏食物修改', 2031, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:edit', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2035, '收藏食物删除', 2031, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:remove', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2036, '收藏食物导出', 2031, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:export', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知公告表'; + +-- ---------------------------- +-- Records of sys_notice +-- ---------------------------- +BEGIN; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2023-05-15 18:23:43', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2023-05-15 18:23:43', '', NULL, '管理员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) DEFAULT '' COMMENT '返回参数', + `status` int DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='操作日志记录'; + +-- ---------------------------- +-- Records of sys_oper_log +-- ---------------------------- +BEGIN; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (100, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_food,bh_categories\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:35:38', 481); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (101, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"categories\",\"className\":\"BhCategories\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":1,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"分类名称\",\"columnId\":2,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ImageUrl\",\"columnComment\":\"图标\",\"columnId\":3,\"columnName\":\"image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"imageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"SubCategoryCount\",\"columnComment\":\"二级分类数量\",\"columnId\":4,\"columnName\":\"sub_category_count\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"subCategoryCount\",\"javaType\":\"String\",\"list\":true,\"p', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:35:55', 66); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (102, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createBy\":\"admin\",\"icon\":\"people\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"饮食健康\",\"menuType\":\"M\",\"orderNum\":0,\"params\":{},\"parentId\":0,\"path\":\"ys\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:37:22', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (103, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"categories\",\"className\":\"BhCategories\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":1,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"分类名称\",\"columnId\":2,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"ImageUrl\",\"columnComment\":\"图标\",\"columnId\":3,\"columnName\":\"image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"imageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"SubCategoryCount\",\"columnComment\":\"二级分类数量\",\"columnId\":4,\"columnName\":\"sub_category_count\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":false,\"isEdit\":\"0\",\"isIncrement\":\"0\",\"isI', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:39:37', 41); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (104, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"food\",\"className\":\"BhFood\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":7,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Code\",\"columnComment\":\"编码\",\"columnId\":8,\"columnName\":\"code\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"code\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"食物名称\",\"columnId\":9,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ThumbImageUrl\",\"columnComment\":\"缩略图\",\"columnId\":10,\"columnName\":\"thumb_image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"thumbImageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:41:03', 173); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (105, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_categories,bh_food\"}', NULL, 0, NULL, '2023-05-15 18:41:09', 163); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (106, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"system/categories/index\",\"createTime\":\"2023-05-15 18:43:59\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2007,\"menuName\":\"分类管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"categories\",\"perms\":\"system:categories:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:44:23', 10); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (107, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"system/food/index\",\"createTime\":\"2023-05-15 18:43:50\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2001,\"menuName\":\"食物管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"food\",\"perms\":\"system:food:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:44:30', 8); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (108, '分类管理', 2, 'com.ruoyi.web.controller.system.BhCategoriesController.edit()', 'PUT', 1, 'admin', NULL, '/system/categories', '127.0.0.1', '内网IP', '{\"id\":1,\"imageUrl\":\"http://up.boohee.cn/house/u/food_library/category/1_v1.png,/profile/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png\",\"name\":\"主食类\",\"params\":{},\"subCategories\":\"[{\\\"id\\\":13,\\\"name\\\":\\\"包装谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":11,\\\"name\\\":\\\"天然谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":12,\\\"name\\\":\\\"谷薯制品\\\",\\\"image_url\\\":null}]\",\"subCategoryCount\":\"3\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 19:45:22', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (109, '分类管理', 2, 'com.ruoyi.web.controller.system.BhCategoriesController.edit()', 'PUT', 1, 'admin', NULL, '/system/categories', '127.0.0.1', '内网IP', '{\"id\":1,\"imageUrl\":\"/profile/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png\",\"name\":\"主食类\",\"params\":{},\"subCategories\":\"[{\\\"id\\\":13,\\\"name\\\":\\\"包装谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":11,\\\"name\\\":\\\"天然谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":12,\\\"name\\\":\\\"谷薯制品\\\",\\\"image_url\\\":null}]\",\"subCategoryCount\":\"3\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 19:46:06', 13); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (110, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:38:45', 109); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (111, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"boheUser\",\"className\":\"BoheUser\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"用户编号\",\"columnId\":44,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Username\",\"columnComment\":\"账号\",\"columnId\":45,\"columnName\":\"username\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"username\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Password\",\"columnComment\":\"密码\",\"columnId\":46,\"columnName\":\"password\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"password\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"姓名\",\"columnId\":47,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"q', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:39:30', 53); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (112, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', NULL, 0, NULL, '2023-05-16 20:39:36', 198); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (113, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"boheUser\",\"className\":\"BoheUser\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"用户编号\",\"columnId\":44,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Username\",\"columnComment\":\"账号\",\"columnId\":45,\"columnName\":\"username\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"username\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Password\",\"columnComment\":\"密码\",\"columnId\":46,\"columnName\":\"password\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"password\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"姓名\",\"columnId\":47,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:39:48', 36); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (114, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', NULL, 0, NULL, '2023-05-16 20:40:05', 41); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (115, '薄荷用户管理', 1, 'com.ruoyi.web.controller.system.BoheUserController.add()', 'POST', 1, 'admin', NULL, '/system/boheUser/add', '127.0.0.1', '内网IP', '{\"age\":17,\"height\":180,\"id\":1,\"name\":\"1\",\"params\":{},\"username\":\"1\",\"weight\":140}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 21:45:48', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (116, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_move\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:42:59', 140); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (117, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhmove\",\"className\":\"BhMove\",\"columns\":[{\"capJavaField\":\"Id\",\"columnId\":52,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Img\",\"columnComment\":\"缩略图\",\"columnId\":53,\"columnName\":\"img\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"img\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"项目名称\",\"columnId\":54,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Calory\",\"columnComment\":\"卡路里\",\"columnId\":55,\"columnName\":\"calory\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"calory\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":4,\"superColumn\":', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:45:58', 61); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (118, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhmove\",\"className\":\"BhMove\",\"columns\":[{\"capJavaField\":\"Id\",\"columnId\":52,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Img\",\"columnComment\":\"缩略图\",\"columnId\":53,\"columnName\":\"img\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"img\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"项目名称\",\"columnId\":54,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Calory\",\"columnComment\":\"卡路里\",\"columnId\":55,\"columnName\":\"calory\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"calory\",\"javaType\":\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:46:36', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (119, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_move\"}', NULL, 0, NULL, '2023-05-16 23:46:39', 382); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (120, '运动项目管理', 1, 'com.ruoyi.web.controller.system.BhMoveController.add()', 'POST', 1, 'admin', NULL, '/system/bhmove', '127.0.0.1', '内网IP', '{\"calory\":100,\"id\":1,\"img\":\"/profile/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG\",\"name\":\"跑步\",\"params\":{},\"weight\":60}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:53:37', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (121, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/bohe_user', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:56:29', 183); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (122, '薄荷用户管理', 2, 'com.ruoyi.web.controller.system.BoheUserController.edit()', 'PUT', 1, 'admin', NULL, '/system/boheUser', '127.0.0.1', '内网IP', '{\"age\":23,\"calory\":2206,\"height\":180,\"id\":2,\"name\":\"小羊\",\"params\":{},\"sex\":\"1\",\"username\":\"123\",\"weight\":140}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:02:11', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (123, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_calories\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:12:57', 477); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (124, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhCalories\",\"className\":\"BhCalories\",\"columns\":[{\"capJavaField\":\"Uid\",\"columnComment\":\"用户id\",\"columnId\":59,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CName\",\"columnComment\":\"项目名称\",\"columnId\":60,\"columnName\":\"c_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CId\",\"columnComment\":\"项目id\",\"columnId\":61,\"columnName\":\"c_id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CType\",\"columnComment\":\"项目类型\",\"columnId\":62,\"columnName\":\"c_type\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"select\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cType\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"q', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:14:06', 84); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (125, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_calories\"}', NULL, 0, NULL, '2023-05-17 00:14:11', 476); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (126, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_love_food\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-18 00:49:44', 84); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (127, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"lovefood\",\"className\":\"BhLoveFood\",\"columns\":[{\"capJavaField\":\"Uid\",\"columnId\":69,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-18 00:49:44\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":6,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Fid\",\"columnId\":70,\"columnName\":\"fid\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-18 00:49:44\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"fid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":6,\"updateBy\":\"\",\"usableColumn\":false}],\"crud\":true,\"functionAuthor\":\"MrYuan\",\"functionName\":\"收藏食物\",\"genPath\":\"/\",\"genType\":\"0\",\"moduleName\":\"system\",\"options\":\"{\\\"parentMenuId\\\":2000}\",\"packageName\":\"com.ruoyi.system\",\"params\":{\"parentMenuId\":2000},\"parentMenuId\":\"2000\",\"sub\":false,\"tableComment\":\"收藏食物\",\"tableId\":6,\"tableName\":\"bh_love_food\",\"tplCategory\":\"crud\",\"tree\":false}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-18 00:50:51', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (128, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_love_food\"}', NULL, 0, NULL, '2023-05-18 00:51:03', 223); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (129, '食物管理', 1, 'com.ruoyi.web.controller.system.BhFoodController.add()', 'POST', 1, 'admin', NULL, '/system/food', '127.0.0.1', '内网IP', '{\"code\":\"cces\",\"id\":40104,\"name\":\"123\",\"params\":{},\"thumbImageUrl\":\"http://localhost:8081/profile/upload/2023/05/19/IMG_6856_20230519003416A001.JPG\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:34:19', 47); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (130, '食物管理', 3, 'com.ruoyi.web.controller.system.BhFoodController.remove()', 'DELETE', 1, 'admin', NULL, '/system/food/40104', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:34:35', 13); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (131, '运动项目管理', 2, 'com.ruoyi.web.controller.system.BhMoveController.edit()', 'PUT', 1, 'admin', NULL, '/system/bhmove', '127.0.0.1', '内网IP', '{\"calory\":100,\"id\":1,\"img\":\"http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg\",\"name\":\"跑步\",\"params\":{},\"type\":1,\"weight\":60}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:40:17', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (132, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"tool\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":3,\"menuName\":\"系统工具\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"tool\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:41:50', 90); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (133, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', NULL, '/system/menu/4', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"菜单已分配,不允许删除\",\"code\":601}', 0, NULL, '2023-05-19 00:41:53', 33); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (134, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', NULL, '/system/menu/4', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"菜单已分配,不允许删除\",\"code\":601}', 0, NULL, '2023-05-19 00:42:20', 10); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (135, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"monitor\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2,\"menuName\":\"系统监控\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":0,\"path\":\"monitor\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:42:25', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (136, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":1,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:42:33', 10); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='岗位信息表'; + +-- ---------------------------- +-- Records of sys_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色信息表'; + +-- ---------------------------- +-- Records of sys_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL, '超级管理员'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL, '普通角色'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- Records of sys_role_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 100); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 101); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 105); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- Records of sys_role_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 3); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 4); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 100); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 101); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 102); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 103); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 104); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 105); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 106); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 107); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 108); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 109); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 110); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 111); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 112); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 113); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 114); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 115); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 116); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 117); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 500); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 501); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1000); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1002); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1003); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1004); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1005); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1006); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1007); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1008); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1009); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1010); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1011); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1012); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1013); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1014); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1015); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1016); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1017); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1018); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1019); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1020); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1021); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1022); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1023); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1024); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1025); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1026); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1027); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1028); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1029); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1030); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1031); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1032); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1033); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1034); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1035); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1036); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1037); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1038); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1039); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1040); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1041); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1042); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1043); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1044); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1045); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1046); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1047); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1048); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1049); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1050); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1051); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1052); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1053); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1054); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1055); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1056); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1057); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1058); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1059); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1060); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) DEFAULT '' COMMENT '头像地址', + `password` varchar(100) DEFAULT '' COMMENT '密码', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息表'; + +-- ---------------------------- +-- Records of sys_user +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2023-05-19 00:46:20', 'admin', '2023-05-15 18:23:42', '', '2023-05-19 00:46:20', '管理员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2023-05-15 18:23:42', 'admin', '2023-05-15 18:23:42', '', NULL, '测试员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Records of sys_user_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (1, 1); +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (2, 2); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Records of sys_user_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (1, 1); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (2, 2); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/cyxproject/healthy_diet/healthy_diet/sql/bohe.sql b/src/cyxproject/healthy_diet/healthy_diet/sql/bohe.sql new file mode 100644 index 0000000..a26f0a0 --- /dev/null +++ b/src/cyxproject/healthy_diet/healthy_diet/sql/bohe.sql @@ -0,0 +1,1636 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 80033 (8.0.33) + Source Host : localhost:3306 + Source Schema : bohe + + Target Server Type : MySQL + Target Server Version : 80033 (8.0.33) + File Encoding : 65001 + + Date: 01/06/2023 19:39:43 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for bh_a_love +-- ---------------------------- +DROP TABLE IF EXISTS `bh_a_love`; +CREATE TABLE `bh_a_love` ( + `uid` int DEFAULT NULL, + `aid` int DEFAULT NULL, + UNIQUE KEY `uidAndaid` (`uid`,`aid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of bh_a_love +-- ---------------------------- +BEGIN; +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (2, 3); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (2, 4); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (2, 5); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (2, 6); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (3, 5); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (3, 6); +INSERT INTO `bh_a_love` (`uid`, `aid`) VALUES (3, 7); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_artice +-- ---------------------------- +DROP TABLE IF EXISTS `bh_artice`; +CREATE TABLE `bh_artice` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '姓名', + `uid` int DEFAULT NULL COMMENT '用户ID', + `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '内容', + `create_time` datetime DEFAULT NULL COMMENT '发送时间', + `count` int DEFAULT '0' COMMENT '点赞数', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of bh_artice +-- ---------------------------- +BEGIN; +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (3, '小羊', 2, '而今渐行渐远,渐觉虽悔难追。漫寄消寄息,终久奚为。也拟重论缱绻,争奈翻覆思维。纵再会,只恐恩情,难似当时', '2023-05-31 03:00:43', 1); +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (4, '张三分', 2, '而今渐行渐远,渐觉虽悔难追。漫寄消寄息,终久奚为。也拟重论缱绻,争奈翻覆思维。纵再会,只恐恩情,难似当时而今渐行渐远,渐觉虽悔难追。漫寄消寄息,终久奚为。也拟重论缱绻,争奈翻覆思维。纵再会,只恐恩情,难似当时而今渐行渐远,渐觉虽悔难追。漫寄消寄息,终久奚为。也拟重论缱绻,争奈翻覆思维。纵再会,只恐恩情,难似当时', '2023-05-31 03:00:43', 1); +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (5, '李文', 2, 'dwwqd', '2023-05-31 03:00:43', 2); +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (6, 'AA小羊', 2, 'dwwqd', '2023-05-31 03:00:43', 2); +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (7, '大洋', 3, 'fayi', '2023-05-31 03:55:56', 1); +INSERT INTO `bh_artice` (`id`, `name`, `uid`, `content`, `create_time`, `count`) VALUES (8, '大洋', 3, 'wozaishu', '2023-05-31 03:57:39', 0); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_calories +-- ---------------------------- +DROP TABLE IF EXISTS `bh_calories`; +CREATE TABLE `bh_calories` ( + `uid` int DEFAULT NULL COMMENT '用户id', + `c_name` varchar(255) DEFAULT NULL COMMENT '项目名称', + `c_id` int DEFAULT NULL COMMENT '项目id', + `c_type` int DEFAULT NULL COMMENT '项目类型', + `c_img` varchar(255) DEFAULT NULL COMMENT '项目图片', + `c_num` int DEFAULT NULL COMMENT '重量或时间', + `c_weight` int DEFAULT NULL COMMENT '计量单位', + `c_value` int DEFAULT NULL COMMENT '消耗卡路里', + `create_time` date DEFAULT NULL COMMENT '时间', + `remark` varchar(255) DEFAULT NULL, + KEY `cuid` (`uid`), + CONSTRAINT `cuid` FOREIGN KEY (`uid`) REFERENCES `bohe_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='燃烧我的卡路里'; + +-- ---------------------------- +-- Records of bh_calories +-- ---------------------------- +BEGIN; +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '燕麦片', 40072, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 338, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '白粥', 40074, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 46, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '燕麦片', 40072, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 338, '2023-05-17', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '白粥', 40074, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 46, '2023-05-16', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG', 120, 60, 200, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (2, '鲜玉米', 40069, 2, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 112, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '全麦面包', 40070, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg?x-oss-process=image/resize,w_200,h_200', 100, 100, 254, '2023-05-18', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '麦斯威尔 原味咖啡', 39580, 1, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_4f03ffa22e616094fcaf0a9c6bda9553.jpg', 100, 100, 448, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (3, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', 120, 60, 200, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '奶酪', 38907, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_eddd9e5ff32cc3f7fb2a7103fa122255.jpg', 200, 100, 656, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', 60, 60, 100, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '鲜玉米', 40069, 3, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 200, 100, 224, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '鲜玉米', 40069, 2, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 100, 100, 112, '2023-05-19', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '鲜玉米', 40069, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 100, 100, 112, '2023-05-21', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '燕麦片', 40072, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg', 100, 100, 338, '2023-05-21', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '红薯', 40071, 2, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg', 100, 100, 86, '2023-05-21', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (5, '鲜玉米', 40069, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 100, 100, 112, '2023-05-26', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (5, '跑步', 1, 4, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', 60, 60, 100, '2023-05-26', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (5, '腰果(熟)', 39221, 1, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5d29c7f35f24742be757326128d5623d.jpg', 100, 100, 615, '2023-05-26', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (5, '红薯', 40071, 3, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg', 100, 100, 86, '2023-05-26', NULL); +INSERT INTO `bh_calories` (`uid`, `c_name`, `c_id`, `c_type`, `c_img`, `c_num`, `c_weight`, `c_value`, `create_time`, `remark`) VALUES (4, '鲜玉米', 40069, 0, 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 100, 100, 112, '2023-05-27', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_categories +-- ---------------------------- +DROP TABLE IF EXISTS `bh_categories`; +CREATE TABLE `bh_categories` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '分类名称', + `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '图标', + `sub_category_count` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '二级分类数量', + `sub_categories` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '二级分类', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类管理'; + +-- ---------------------------- +-- Records of bh_categories +-- ---------------------------- +BEGIN; +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (1, '主食类', 'http://up.boohee.cn/house/u/food_library/category/1_v1.png', '3', '[{\"id\":13,\"name\":\"包装谷薯\",\"image_url\":null},{\"id\":11,\"name\":\"天然谷薯\",\"image_url\":null},{\"id\":12,\"name\":\"谷薯制品\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (2, '肉蛋类', 'http://up.boohee.cn/house/u/food_library/category/2_v1.png', '3', '[{\"id\":22,\"name\":\"白肉\",\"image_url\":null},{\"id\":21,\"name\":\"红肉\",\"image_url\":null},{\"id\":23,\"name\":\"蛋类\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (3, '大豆及制品', 'http://up.boohee.cn/house/u/food_library/category/3_v1.png', '1', '[{\"id\":31,\"name\":\"大豆及制品\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (4, '蔬菜菌藻类', 'http://up.boohee.cn/house/u/food_library/category/4_v1.png', '2', '[{\"id\":42,\"name\":\"菌藻\",\"image_url\":null},{\"id\":41,\"name\":\"蔬菜\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (5, '水果类', 'http://up.boohee.cn/house/u/food_library/category/5_v1.png', '1', '[{\"id\":51,\"name\":\"水果\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (6, '奶类', 'http://up.boohee.cn/house/u/food_library/category/6_v1.png', '5', '[{\"id\":65,\"name\":\"其它\",\"image_url\":null},{\"id\":64,\"name\":\"奶粉\",\"image_url\":null},{\"id\":63,\"name\":\"奶酪\",\"image_url\":null},{\"id\":62,\"name\":\"酸奶\",\"image_url\":null},{\"id\":61,\"name\":\"鲜奶\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (7, '油脂类', 'http://up.boohee.cn/house/u/food_library/category/7_v1.png', '2', '[{\"id\":72,\"name\":\"动物油\",\"image_url\":null},{\"id\":71,\"name\":\"植物油\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (8, '坚果类', 'http://up.boohee.cn/house/u/food_library/category/8_v1.png', '1', '[{\"id\":81,\"name\":\"坚果种子\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (9, '调味品', 'http://up.boohee.cn/house/u/food_library/category/9_v1.png', '4', '[{\"id\":94,\"name\":\"糖和蜂蜜\",\"image_url\":null},{\"id\":91,\"name\":\"调味料\",\"image_url\":null},{\"id\":92,\"name\":\"调味酱\",\"image_url\":null},{\"id\":93,\"name\":\"酱菜\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (10, '饮料类', 'http://up.boohee.cn/house/u/food_library/category/10_v1.png', '8', '', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (11, '零食及冷饮', 'http://up.boohee.cn/house/u/food_library/category/11_v1.png', '3', '[{\"id\":113,\"name\":\"冷饮\",\"image_url\":null},{\"id\":112,\"name\":\"点心\",\"image_url\":null},{\"id\":111,\"name\":\"零食\",\"image_url\":null}]', NULL); +INSERT INTO `bh_categories` (`id`, `name`, `image_url`, `sub_category_count`, `sub_categories`, `description`) VALUES (12, '其它', 'http://up.boohee.cn/house/u/food_library/category/12_v1.png', '2', '[{\"id\":121,\"name\":\"药食\",\"image_url\":null},{\"id\":122,\"name\":\"营养保健\",\"image_url\":null}]', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_food +-- ---------------------------- +DROP TABLE IF EXISTS `bh_food`; +CREATE TABLE `bh_food` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '编码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '食物名称', + `thumb_image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '缩略图', + `is_liquid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否是液体', + `health_light` int DEFAULT NULL COMMENT '健康度/推荐食用等级', + `weight` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '重量/每100g', + `calory` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '卡路里', + `fat` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '脂肪', + `protein` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '蛋白质', + `fiber_dietary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '膳食纤维', + `carbohydrate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '碳水化合物', + `vitamin_a` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素A', + `thiamine` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B1', + `lactoflavin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B2', + `vitamin_c` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素C', + `vitamin_e` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素E', + `niacin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '烟酸', + `natrium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钠', + `calcium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钙', + `iron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '铁', + `kalium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '钾', + `iodine` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '碘', + `zinc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '锌', + `selenium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '硒', + `magnesium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '镁\n ', + `copper` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '铜', + `manganese` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '锰', + `cholesterol` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '胆固醇', + `folacin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '叶酸', + `saturated_fat` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '饱和脂肪', + `sugar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '糖', + `vitamin_b6` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '维生素B6', + `phosphor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '磷', + `gi` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'GI', + `gl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'GL', + `pid` bigint DEFAULT NULL COMMENT '分类id', + PRIMARY KEY (`id`), + KEY `cID` (`pid`), + CONSTRAINT `cID` FOREIGN KEY (`pid`) REFERENCES `bh_categories` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=40105 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='食物管理'; + +-- ---------------------------- +-- Records of bh_food +-- ---------------------------- +BEGIN; +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38209, 'jidan_junzhi', '鸡蛋', 'https://s.boohee.cn/house/upload_food/2022/6/14/slim_mid_photo_url_dd7b84029da07f75e45897a0d1df55ba.jpg', 'false', 1, '100', '139', '8.6', '13.1', '0.0', '2.4', '255.0', '0.09', '0.2', '0.0', '1.14', '0.2', '131.5', '56.0', '1.6', '154.0', '22.5', '0.89', '13.96', '10.0', '0.19', '0.03', '648.0', '113.3', '4.6', '', '0.17', '130.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38210, 'zhurou_shou', '猪肉(瘦)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_ecbf8208df2d4d899bfdc661e6ca56a2.jpg', 'false', 1, '100', '143', '6.2', '20.3', '0.0', '1.5', '44.0', '0.54', '0.1', '0.0', '0.34', '5.3', '57.5', '6.0', '3.0', '305.0', '1.7', '2.99', '9.5', '25.0', '0.11', '0.03', '81.0', '8.1', '2.48', '', '0.0', '189.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38211, 'jidan_baipi', '鸡蛋(白皮)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_fe687e1adebc400b86a62373bdb006b6.jpg', 'false', 1, '100', '138', '9.0', '12.7', '0.0', '1.5', '310.0', '0.09', '0.31', '0.0', '1.23', '0.2', '94.7', '48.0', '2.0', '98.0', '0.0', '1.0', '16.55', '14.0', '0.06', '0.03', '585.0', '0.0', '2.7', '', '0.0', '176.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38212, 'hebaodan_zhu', '无油煎蛋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e1122f4bed0312a354e97094e4e230a3.jpg', 'false', 1, '100', '164', '11.7', '12.3', '0.0', '0.2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38213, 'rouji_fei', '鸡(肉鸡,肥)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_51779f4cc86a4ef18a67ff38c710ca04.jpg', 'false', 2, '100', '389', '35.4', '16.7', '0.0', '0.9', '226.0', '0.07', '0.07', '', '', '13.1', '47.8', '37.0', '1.7', '123.0', '', '1.1', '5.4', '7.0', '0.08', '0.01', '106.0', '', '', '', '', '102.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38214, 'muji_yiniannei', '鸡(母鸡,一年内)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_a6d5d3f4c8814936ad65c941454aace7.jpg', 'false', 1, '100', '256', '16.8', '20.3', '0.0', '5.8', '139.0', '0.05', '0.04', '', '1.34', '8.8', '62.2', '2.0', '1.2', '275.0', '', '1.46', '', '16.0', '0.09', '0.04', '166.0', '', '', '', '', '120.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38215, 'ji_tuji_jiayang', '鸡(土鸡,家养)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_a6d5d3f4c8814936ad65c941454aace7.jpg', 'false', 1, '100', '124', '4.5', '20.8', '0.0', '0.0', '64.0', '0.09', '0.08', '', '2.02', '15.7', '74.1', '9.0', '2.1', '276.0', '', '1.06', '12.75', '40.0', '0.1', '0.05', '106.0', '', '', '', '', '141.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38216, 'anchundan', '鹌鹑蛋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_72a5f3e769d235746b59de17229aa82d.jpg', 'false', 1, '100', '160', '11.1', '12.8', '0.0', '2.1', '337.0', '0.11', '0.49', '0.0', '3.08', '0.1', '106.6', '47.0', '3.2', '138.0', '23.3', '1.61', '25.48', '11.0', '0.09', '0.04', '515.0', '0.0', '4.1', '', '0.15', '180.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38217, 'qupijitui', '去皮鸡腿', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b5171334f108c3d06bd72672a8b95a14.jpg', 'false', 1, '100', '120', '4.2', '19.2', '0.0', '0.0', '10.0', '0.09', '0.18', '0.0', '0.0', '5.58', '96.0', '10.0', '0.78', '238.0', '0.0', '1.76', '21.0', '23.0', '0.06', '0.02', '0.0', '4.0', '1.05', '0.0', '0.41', '180.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38218, 'zhuxiaopai', '猪小排', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_82ccb4c98435c060d0a7431e2285e8e9.jpg', 'false', 2, '100', '295', '25.3', '16.8', '0.0', '0.0', '7.0', '0.31', '0.26', '0.0', '0.46', '4.11', '62.6', '14.0', '1.1', '222.0', '0.0', '2.42', '8.46', '17.0', '0.0', '0.0', '120.0', '0.0', '10.6', '', '0.55', '101.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38219, 'huotuichang', '火腿肠', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_68f401cd3d6c405fb22013005e258cd8.jpg', 'false', 2, '100', '212', '10.4', '14.0', '0.0', '15.6', '5.0', '0.26', '0.43', '0.0', '0.71', '2.3', '771.2', '9.0', '4.5', '217.0', '50.3', '3.22', '9.2', '22.0', '0.36', '0.14', '57.0', '', '3.8', '', '', '187.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38220, 'hebaodan_youjian', '荷包蛋(油煎)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e1122f4bed0312a354e97094e4e230a3.jpg', 'false', 1, '100', '195', '15.0', '13.5', '0.0', '1.4', '248.0', '0.06', '0.52', '0.0', '0.0', '0.1', '353.0', '55.0', '1.6', '132.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '648.0', '0.0', '0.0', '', '0.0', '194.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38221, 'jixiongfurou', '鸡胸肉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_1cfe23ebcba74e6486fda4434c8027fd.jpg', 'false', 1, '100', '118', '1.9', '24.6', '0.0', '0.6', '3.0', '0.07', '0.06', '0.0', '0.41', '11.96', '44.8', '1.0', '1.0', '333.0', '2.3', '0.26', '11.75', '28.0', '0.01', '0.01', '65.0', '', '1.0', '', '0.81', '170.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38222, 'jidanhuang', '鸡蛋黄', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_343a02265e15436dbac46a8678c4a578.jpg', 'false', 2, '100', '328', '28.2', '15.2', '0.0', '3.4', '438.0', '0.33', '0.29', '0.0', '5.06', '0.1', '54.9', '112.0', '6.5', '95.0', '80.0', '3.79', '27.01', '41.0', '0.28', '0.06', '1510.0', '146.0', '0.0', '', '0.35', '240.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38223, 'niurougan', '牛肉干', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a9256cb798d23c8f50191209195df64d.jpg', 'false', 2, '100', '550', '40.0', '45.6', '0.0', '1.9', '0.0', '0.06', '0.26', '0.0', '0.0', '15.2', '412.4', '43.0', '15.6', '510.0', '', '7.26', '9.8', '107.0', '0.29', '0.19', '120.0', '134.0', '38.1', '0.83', '0.18', '464.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38224, 'ya_junzhi', '鸭肉(家养,含皮和肉)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f632ad7da3b8a33ca8f31a69e2688913.jpg', 'false', 3, '100', '404', '39.3', '11.5', '0.0', '0.0', '50.0', '0.2', '0.21', '0.0', '0.7', '3.93', '63.0', '11.0', '2.4', '209.0', '0.0', '1.36', '0.0', '15.0', '0.24', '0.02', '76.0', '0.0', '13.2', '', '0.19', '139.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38225, 'maidanglaohimaileji_5kuaizhuan', '麦当劳 麦乐鸡', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_64281a597791e06e6ee6b547fe2cf27b.jpg', 'false', 3, '100', '287', '17.3', '17.3', '0.0', '16.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '589.33', '12.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '', '', 2); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38378, 'doufu_nan', '豆腐(南)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_362272423b614473966510786216ba1e.jpg', 'false', 1, '100', '87', '5.8', '5.7', '0.0', '3.9', '0.0', '0.06', '0.02', '0.0', '5.72', '0.0', '3.1', '113.0', '1.2', '154.0', '', '0.43', '1.23', '36.0', '0.04', '0.03', '0.0', '25.8', '1.9', '1.38', '', '76.0', '32.0', '1.2', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38379, 'doufupi', '豆腐皮(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_87a3da92fabc48c6aa183a946dab3399.jpg', 'false', 2, '100', '447', '23.0', '51.6', '0.0', '12.5', '23.0', '0.22', '0.12', '0.0', '46.55', '0.91', '7.4', '239.0', '11.7', '877.0', '4.8', '4.08', '2.26', '179.0', '1.17', '2.71', '0.0', '90.2', '5.6', '', '', '494.0', '', '', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38380, 'dounai', '豆奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7273e0f599f60f9bed8c2ab469438e3b.jpg', 'true', 1, '100', '30', '1.5', '2.4', '0.0', '1.8', '0.0', '0.02', '0.06', '0.0', '4.5', '0.3', '3.2', '23.0', '0.6', '92.0', '0.0', '0.24', '0.73', '7.0', '5.57', '0.11', '0.0', '9.0', '0.2', '', '0.0', '35.0', '34.0', '0.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38381, 'doufunao_dailu', '豆腐脑(带卤)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_da9e7c5bd93ce46dc9d389213f0ebf58.jpg', 'false', 1, '100', '48', '1.8', '2.6', '0.2', '5.4', '', '0.01', '0.01', '', '0.87', '0.4', '235.6', '301.0', '1.7', '108.0', '', '0.45', '0.5', '35.0', '0.06', '0.18', '', '', '', '', '', '46.0', '31.9', '1.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38382, 'dongdoufu', '冻豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_a765ab6320709264cc174d7aa0c67fd6.jpg', 'false', 1, '100', '131', '7.1', '12.9', '2.2', '3.9', '', '0.04', '0.02', '5.66', '4.82', '0.19', '8.4', '240.5', '2.54', '109.0', '', '1.17', '', '48.8', '', '', '', '29.7', '', '0.6', '0.29', '218.7', '22.3', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38383, 'doufugan_lugan', '豆腐干(卤干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_44ba98b43f18454c94d62e617df10b3d.jpg', 'false', 1, '100', '339', '16.7', '14.5', '1.6', '33.4', '0.0', '0.03', '0.14', '0.0', '0.0', '0.2', '40.9', '731.0', '3.9', '134.0', '', '3.61', '0.0', '43.0', '0.57', '0.84', '0.0', '', '', '2.13', '', '162.0', '24.0', '7.6', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38384, 'youdoufu', '油豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43f8a7c12c324bc99590237978cf555f.jpg', 'false', 1, '100', '245', '17.6', '17.0', '0.6', '4.9', '3.0', '0.05', '0.04', '0.0', '24.7', '0.3', '32.5', '147.0', '5.2', '158.0', '', '2.03', '0.63', '72.0', '0.3', '1.38', '0.0', '8.6', '3.0', '', '', '238.0', '23.7', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38385, 'doufu_neizhi', '内酯豆腐', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_08da74549e734581a7bdae3f818a4aac.jpg', 'false', 1, '100', '50', '1.9', '5.0', '0.4', '3.3', '0.0', '0.06', '0.03', '0.0', '3.26', '0.3', '6.4', '17.0', '0.8', '95.0', '', '0.55', '0.81', '24.0', '0.13', '0.26', '0.0', '', '0.3', '', '', '57.0', '32.0', '0.9', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38483, 'wenmingtangqianyecuidoufu', '文明堂千叶脆豆腐', 'https://s.boohee.cn/house/upload_food/2014/6/10/2249085_1402371612mid.jpg', 'false', 1, '100', '71', '0.0', '9.0', '0.0', '8.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '23.7', '2.0', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38484, 'hankangribendoufu', '汉康日本豆腐', 'https://s.boohee.cn/house/upload_food/2014/6/11/235138_1402476224mid.jpg', 'false', 1, '100', '50', '3.7', '3.5', '0.0', '0.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 3); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38530, 'fanqie', '番茄', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_c55ff8be5b7a272151ff6abf526c136a.jpg', 'false', 1, '100', '15', '0.2', '0.9', '1.0', '3.3', '31.0', '0.02', '0.01', '14.0', '0.42', '0.49', '9.7', '4.0', '0.2', '179.0', '2.5', '0.12', '0.0', '12.0', '0.04', '0.06', '0.0', '8.3', '0.0', '1.74', '0.0', '24.0', '15.0', '0.5', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38703, 'jugao', '蒌蒿', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_11457b0613fa69bebf2d2a79cf6dd30f.jpg', 'false', 1, '100', '57', '0.7', '3.7', '0.0', '9.0', '0.0', '', '', '1.0', '0.0', '', '1.0', '17.0', '0.5', '40.0', '', '0.2', '', '2.0', '0.05', '0.02', '0.0', '', '', '', '', '8.0', '15.0', '1.4', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38704, 'yecong', '野葱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_915776972b2f4969bcb5ae7d44457ccd.jpg', 'false', 1, '100', '36', '0.2', '2.7', '1.5', '6.7', '250.0', '0.31', '0.0', '64.0', '0.0', '0.7', '0.0', '279.0', '4.1', '0.0', '6.3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '3.03', '', '43.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38705, 'luoboying_qing', '萝卜缨(青)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_55140ab3ac68cb7f2e72e08d7ece1d12.jpg', 'false', 1, '100', '38', '0.1', '3.1', '2.9', '7.6', '17.0', '0.07', '0.08', '41.0', '0.48', '0.2', '91.4', '110.0', '1.4', '424.0', '', '0.3', '0.46', '27.0', '0.03', '0.86', '0.0', '', '', '', '', '27.0', '15.0', '0.7', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38706, 'songmo_gan', '松蘑(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_878d0ee4cae3dccc3ef4401a8fee44f2.jpg', 'false', 2, '100', '273', '3.0', '12.5', '0.0', '66.5', '8.0', '0.08', '1.48', '0.0', '5.48', '23.42', '31.6', '7.0', '156.5', '2402.0', '0.0', '5.49', '98.44', '50.0', '1.76', '1.13', '0.0', '0.0', '0.2', '', '0.0', '390.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38707, 'yundou', '芸豆(鲜)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_14027e003c3b2dadcda91812e0f13cff.jpg', 'false', 1, '100', '30', '0.1', '0.8', '2.1', '7.4', '20.0', '0.33', '0.06', '9.0', '0.07', '0.8', '4.0', '88.0', '1.0', '112.0', '', '1.04', '0.23', '16.0', '0.24', '0.44', '0.0', '', '', '', '', '37.0', '24.0', '1.3', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38708, 'beifengjun', '北风菌', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_63ae0b325a0671e5417e56f419e9c81d.jpg', 'false', 1, '100', '17', '0.1', '1.7', '1.2', '2.9', '0.0', '0.05', '0.38', '0.0', '7.28', '0.7', '1.4', '3.0', '1.5', '254.0', '', '0.47', '0.17', '5.0', '0.26', '0.09', '0.0', '', '', '', '', '36.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38709, 'dasuan_zipi', '大蒜(紫皮)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_065724203c7443f2ad2d535e827985bf.jpg', 'false', 2, '100', '139', '0.2', '5.2', '1.2', '29.6', '2.0', '0.29', '0.06', '7.0', '0.68', '0.8', '8.3', '10.0', '1.3', '437.0', '', '0.64', '5.54', '28.0', '0.11', '0.24', '0.0', '', '', '1.16', '', '129.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38710, 'luoboying_bai', '萝卜缨(白)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_55140ab3ac68cb7f2e72e08d7ece1d12.jpg', 'false', 1, '100', '17', '0.3', '2.6', '1.4', '1.7', '0.0', '0.02', '0.0', '77.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '0.0', '15.0', '0.0', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38711, 'fanggua', '方瓜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_be92f9f5f0622f500f85f56b01245ece.jpg', 'false', 1, '100', '14', '0.0', '0.8', '0.6', '3.1', '12.0', '0.01', '0.01', '2.0', '0.37', '0.6', '4.4', '40.0', '0.2', '4.0', '', '0.97', '0.31', '9.0', '0.02', '0.03', '0.0', '', '', '', '', '13.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38712, 'zicaitou', '紫菜头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5b396b86226322b207290409280cecc1.jpg', 'false', 1, '100', '42', '0.2', '1.8', '4.2', '10.6', '0.0', '0.02', '0.03', '1.0', '0.0', '0.24', '306.0', '16.0', '0.5', '26.0', '', '0.31', '0.06', '27.0', '0.08', '0.31', '0.0', '', '', '', '', '32.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38713, 'heiniuganjun', '黑牛肝菌', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_9a51dffe06e16cfd15c38d97c8e5ddd9.jpg', 'false', 1, '100', '32', '0.2', '3.6', '1.6', '4.8', '0.0', '0.07', '0.31', '0.0', '0.0', '6.6', '1.3', '2.0', '2.1', '291.0', '', '1.19', '0.34', '8.0', '0.37', '0.17', '0.0', '', '', '', '', '60.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38714, 'gouyacai', '狗芽菜', 'https://s.boohee.cn/house/new_food/mid/f4ae568750a540a4aee35a9cb6144253.jpg', 'false', 1, '100', '27', '0.1', '1.3', '2.4', '6.5', '', '0.06', '0.03', '', '0.21', '', '', '125.0', '4.4', '341.0', '', '0.41', '', '29.0', '0.09', '0.28', '', '', '', '', '', '15.0', '15.0', '0.6', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38715, 'taicai_gan', '苔菜(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_4c9b809ac798a7e3a659b75f0c9109cd.jpg', 'false', 2, '100', '167', '0.4', '19.0', '9.1', '26.3', '0.0', '0.35', '0.4', '0.0', '0.0', '4.0', '495.0', '185.0', '283.7', '410.0', '0.0', '3.56', '5.59', '1257.0', '1.11', '0.0', '0.0', '0.0', '0.2', '', '0.0', '302.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38716, 'yulanpian', '玉兰片', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e792178bb263902ac6721706300373f0.jpg', 'false', 1, '100', '66', '0.4', '2.6', '11.3', '18.6', '0.0', '0.04', '0.07', '1.0', '2.24', '0.1', '1.9', '42.0', '3.6', '66.0', '', '0.23', '0.0', '5.0', '0.04', '0.54', '0.0', '', '', '', '', '29.0', '15.0', '1.1', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38717, 'yazhicao', '鸭跖草', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_9c43abe3f581448a80a49aa66de7073f.jpg', 'false', 1, '100', '34', '0.3', '2.8', '1.2', '5.7', '349.0', '0.03', '0.29', '87.0', '0.0', '0.9', '0.0', '206.0', '5.4', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '39.0', '15.0', '0.7', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38718, 'runiuganjun_gan', '乳牛肝菌(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_56bd701d78a849c7a292637010843dcf.jpg', 'false', 2, '100', '264', '2.8', '15.3', '0.0', '66.0', '30.0', '0.86', '1.72', '0.0', '6.85', '67.66', '11.2', '12.0', '20.3', '1481.0', '', '5.43', '42.45', '55.0', '0.35', '1.85', '0.0', '', '0.2', '', '', '391.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38719, 'jiecai_jingyong', '芥菜(茎用)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f6ecb7b680cdc0fdda1795dee3995d44.jpg', 'false', 1, '100', '13', '0.2', '1.3', '2.8', '2.8', '23.0', '0.0', '0.02', '7.0', '1.29', '0.3', '41.1', '23.0', '0.7', '316.0', '', '0.25', '0.95', '5.0', '0.05', '0.1', '0.0', '', '', '', '', '35.0', '15.0', '0.0', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38720, 'caihua_tuoshui', '菜花(脱水)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_47178470c790104f719a586002dadcdb.jpg', 'false', 2, '100', '312', '0.6', '6.5', '13.2', '76.8', '0.0', '0.21', '0.18', '82.0', '0.0', '7.4', '264.3', '185.0', '6.4', '554.0', '', '2.15', '5.59', '99.0', '0.79', '1.08', '0.0', '', '', '', '', '182.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38721, 'dachaocai', '大巢菜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_19f7b1f6da5345ff9bc102085cbc9034.jpg', 'false', 1, '100', '63', '0.5', '3.8', '5.5', '13.6', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '270.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '70.0', '15.0', '1.2', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38722, 'qiezi_baipi_chang', '茄子(白皮,长)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_676ac92cbe254586a7dbcdb62d4d0af8.jpg', 'false', 1, '100', '21', '0.1', '1.3', '0.0', '5.5', '1.0', '0.05', '0.03', '0.0', '0.0', '0.44', '1.9', '10.0', '0.5', '238.0', '', '0.2', '0.16', '16.0', '0.05', '0.12', '0.0', '', '', '', '', '30.0', '', '', 4); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38723, 'pingguo_junzhi', '苹果', 'https://s.boohee.cn/house/upload_food/2022/1/24/mid_photo_url_823c703cb4fd93eae6d4246406cb5299.jpg', 'false', 1, '100', '53', '0.2', '0.4', '1.7', '13.7', '4.0', '0.02', '0.02', '3.0', '0.43', '0.2', '1.3', '4.0', '0.3', '83.0', '0.0', '0.04', '0.1', '4.0', '0.07', '0.03', '0.0', '6.3', '0.0', '10.93', '0.0', '7.0', '36.0', '4.3', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38896, 'jiefenghiboluoquanyuanpian', '捷丰 菠萝全圆片', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388668082mid.jpg', 'false', 1, '100', '54', '0.0', '0.1', '0.0', '13.3', '', '', '', '', '', '', '22.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38897, 'bangshifuhitangshuimijieguanto', '棒师傅 糖水蜜桔罐头', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388667749mid.jpg', 'false', 1, '100', '61', '0.0', '0.0', '0.0', '14.4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38898, 'bangshifuhitangshuibanbianxing', '棒师傅 糖水半边杏罐头', 'https://s.boohee.cn/house/upload_food/2014/1/2/452803_1388667697mid.jpg', 'false', 1, '100', '61', '0.0', '0.0', '0.0', '14.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38899, 'fangguanghiqingxiangpingguoni', '方广 清香苹果泥', 'https://s.boohee.cn/house/upload_food/2013/10/27/452803_1382883915mid.jpg', 'false', 2, '100', '43', '2.0', '0.1', '0.0', '7.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38900, '_hose_nhihaoshunhifenglipian', '_hose_n 好顺 凤梨片', 'https://s.boohee.cn/house/upload_food/2013/10/25/452803_1382666228mid.jpg', 'false', 2, '100', '90', '0.0', '0.0', '2.0', '21.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38901, '_fuhi_kanghimuguasi', '_fu _kang 木瓜丝', 'https://s.boohee.cn/house/upload_food/2013/10/9/452803_1381315232mid.jpg', 'false', 2, '100', '388', '1.5', '7.5', '0.0', '86.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38902, 'linjiapuzihihaoshuangzaguoguan', '林家铺子 好爽杂果罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428837mid.jpg', 'false', 1, '100', '62', '0.0', '0.0', '0.0', '14.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38903, 'linjiapuzihitangshuilizhiguant', '林家铺子 糖水荔枝罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428921mid.jpg', 'false', 1, '100', '62', '0.0', '0.0', '0.0', '14.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '79.0', '11.5', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38904, 'linjiapuzihichangshouhuangtaog', '林家铺子 长寿黄桃罐头', 'https://s.boohee.cn/house/upload_food/2013/9/29/452803_1380428951mid.jpg', 'false', 2, '100', '65', '0.0', '0.0', '0.0', '14.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 5); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38905, 'niuru_junzhi', '牛奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_50375497d540439bbb1419b9a1b06525.jpg', 'true', 1, '100', '66', '3.8', '3.0', '0.0', '5.0', '54.0', '0.03', '0.12', '1.0', '0.13', '0.1', '65.0', '90.0', '0.3', '109.0', '1.9', '0.28', '1.94', '11.0', '0.02', '0.03', '15.0', '3.5', '1.6', '', '0.0', '73.0', '27.6', '0.9', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38906, 'suannai_junzhi', '酸奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_58d1b90bbc7f30a15fb7efbbefd35ad2.jpg', 'true', 1, '100', '70', '1.9', '3.2', '0.0', '10.0', '19.0', '0.03', '0.14', '1.0', '0.13', '0.1', '60.0', '140.0', '0.2', '135.0', '0.9', '0.54', '1.19', '11.0', '0.01', '0.02', '15.0', '7.0', '1.0', '9.9', '0.03', '90.0', '36.0', '3.6', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (38907, 'nailao', '奶酪', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_eddd9e5ff32cc3f7fb2a7103fa122255.jpg', 'false', 2, '100', '328', '23.5', '25.7', '0.0', '3.5', '152.0', '0.06', '0.91', '', '0.6', '0.6', '584.6', '799.0', '2.4', '75.0', '', '6.97', '1.5', '57.0', '0.13', '0.16', '11.0', '', '12.9', '', '', '326.0', '27.0', '0.9', 6); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39062, 'fdf19d1d', '鱼磷', 'https://s.boohee.cn/house/upload_food/2016/9/26/mid_photo_url_8426e3b090324a829ba5429324bb02cc.jpg', 'false', 1, '100.0', '384.0', '21', '38', '0', '10', '', '', '', '', '', '', '80.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39063, 'jinlongyuyumiyou', '金龙鱼 玉米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_56796_1213425701mid.jpg', 'false', 2, '100', '884', '100.0', '0.0', '0.7', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '16.0', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39064, 'fd5ae483', '灰枣菌', 'https://s.boohee.cn/house/upload_food/2020/2/19/mid_photo_url_74c084b2cc5443a0facdca2e03d61f0d.jpg', 'false', 3, '100.0', '54.0', '1', '4', '0', '8', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '227.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39065, 'chayou', '茶油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.9', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '27.9', '0.0', '0.7', '5.0', '1.1', '2.0', '', '0.34', '0.0', '2.0', '0.03', '1.17', '0.0', '', '', '', '', '8.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39066, 'fdbfc75b', '菭菜', 'https://s.boohee.cn/house/upload_food/2022/5/14/mid_photo_url_0ab1796bd93936282ff23f02d4a6140d.jpg', 'false', 2, '100.0', '20.0', '0', '2', '0', '3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '2.5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39067, 'fd7a3e48', '高梁米', 'https://s.boohee.cn/house/upload_food/2021/5/21/mid_photo_url_3e4c3b623f87b23f2f6d0b830bd4e3bf.jpg', 'false', 1, '100.0', '372.0', '3', '14', '0', '72', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '55.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39068, 'xiangyou13', '金牛 芝麻油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_76534_1238827458mid.jpg', 'false', 2, '100', '899', '99.8', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39069, 'fd38e0e7', '槐鸭', 'https://s.boohee.cn/house/upload_food/2021/6/3/mid_photo_url_b4fdff2af908bacdd62fc23f7aeaa1a7.jpg', 'false', 3, '100.0', '194.0', '11', '19', '0', '5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '200.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39070, 'olivoilachuzhaganlanyou', '_olivoila 初榨橄榄油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_263537_1240811468mid.jpg', 'false', 2, '100', '884', '100.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39071, 'rongshichunyumiyou', '融氏 纯玉米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_44334_1214649354mid.jpg', 'false', 2, '100', '860', '98.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39072, 'huangyouzha', '黄油渣', 'https://s.boohee.cn/house/new_food/mid/e38ff8298ea040abb5bbf76f69349e6d.jpg', 'false', 3, '100', '599', '43.8', '11.1', '0.0', '40.0', '0.0', '0.03', '0.47', '0.0', '0.0', '0.4', '60.2', '597.0', '2.6', '160.0', '', '1.17', '1.1', '97.0', '0.11', '1.18', '150.0', '', '', '', '', '288.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39073, 'sumiyou', '粟米油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39074, 'fdbaaa16', '卧花蚕(干)', 'https://s.boohee.cn/house/upload_food/2021/12/6/mid_photo_url_f989687d1ccbcf5cf8c9562073d4ea4f.jpg', 'false', 2, '100.0', '426.0', '24', '43', '0', '11', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '231.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39075, 'naiyou_jiaoke', '奶油(焦克)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5e32109d4bdc9bcb125a3f4f05ecda02.jpg', 'false', 3, '100', '447', '48.3', '3.0', '0.0', '0.0', '0.0', '0.05', '0.16', '0.0', '0.0', '0.2', '41.1', '202.0', '1.0', '138.0', '', '0.32', '5.5', '10.0', '0.02', '0.1', '92.0', '', '', '', '', '82.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39076, 'zonglvyou', '棕榈油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '9.0', '0.0', '0.0', '0.0', '15.24', '0.0', '1.3', '0.0', '3.1', '0.0', '', '0.08', '0.0', '0.0', '0.0', '0.01', '0.0', '', '', '', '', '8.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39077, 'maiyayou', '麦芽油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.9', '0.0', '0.0', '0.0', '0.0', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39078, 'kannuolajiankanghuangyou', '坎诺拉 健康黄油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_81357_1214790821mid.jpg', 'false', 3, '100', '700', '80.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '750.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '15.0', '0.0', '0.0', '0.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39079, 'fd4f3b88', '记忆面包', 'https://s.boohee.cn/house/upload_food/2021/3/17/m_b31ba80bd782d5f8bc02a7a719dc6ca6.jpg', 'false', 2, '100.0', '523.83', '27', '12', '0.0', '60', '', '', '', '', '11060.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39080, 'yangyou', '羊油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_b346791eedcb4ec7b236249748ecf2fe.jpg', 'false', 3, '100', '824', '88.0', '0.0', '0.0', '8.0', '33.0', '', '', '', '1.08', '', '13.2', '', '1.0', '12.0', '', '', '', '1.0', '0.06', '', '110.0', '', '48.2', '', '', '18.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39081, 'mianziyou', '棉籽油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccf2824f253a431cee546ff8d5b67880.jpg', 'false', 2, '100', '899', '99.8', '0.0', '0.0', '0.1', '0.0', '0.0', '0.0', '0.0', '86.45', '0.0', '4.5', '17.0', '2.0', '1.0', '', '0.74', '0.0', '1.0', '0.08', '0.0', '0.0', '', '', '', '', '16.0', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39082, 'zhujiangqiaopaixiaomozhimayou', '珠江 桥牌小磨芝麻油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_296739_1247706976mid.jpg', 'false', 2, '100', '900', '100.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '14.3', '', '', '', '', '', 7); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39219, 'huasheng_xian', '花生', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_0e54482eaeb0c864a1da26d0c7bfbc69.jpg', 'false', 1, '100', '313', '25.4', '12.0', '7.7', '13.0', '1.0', '0.0', '0.04', '14.0', '2.93', '14.1', '3.7', '8.0', '3.4', '390.0', '', '1.79', '4.5', '110.0', '0.68', '0.65', '0.0', '240.0', '4.8', '1.81', '0.35', '250.0', '14.0', '0.7', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39220, 'kuihuaziren', '瓜子仁', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_9bfb635d3371fcc8781cd9e79ea8135b.jpg', 'false', 1, '100', '615', '53.4', '19.1', '4.5', '16.7', '', '1.89', '0.16', '', '79.06', '4.5', '5.0', '115.0', '2.9', '547.0', '', '0.5', '5.78', '287.0', '0.56', '1.07', '0.0', '', '4.5', '', '', '604.0', '20.0', '2.4', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39221, 'yaoguo_shu', '腰果(熟)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5d29c7f35f24742be757326128d5623d.jpg', 'false', 1, '100', '615', '50.9', '24.0', '10.4', '20.4', '4.0', '0.24', '0.13', '0.0', '6.7', '1.3', '35.7', '19.0', '7.4', '680.0', '', '5.3', '10.93', '595.0', '2.57', '1.19', '0.0', '', '10.6', '3.78', '', '639.0', '22.0', '4.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39222, 'fd9a67d9', '岩蜗花(干)', 'https://s.boohee.cn/house/upload_food/2021/7/26/mid_photo_url_598484774f263ff8a881c43110e38844.jpg', 'false', 3, '100.0', '292.0', '3', '22', '0', '44', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '1500.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39223, 'yaoguo', '腰果', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_5d29c7f35f24742be757326128d5623d.jpg', 'false', 1, '100', '559', '36.7', '17.3', '3.6', '41.6', '8.0', '0.27', '0.13', '', '3.17', '1.3', '35.7', '26.0', '4.8', '503.0', '', '4.3', '34.0', '153.0', '1.43', '1.8', '', '26.9', '', '9.82', '0.42', '395.0', '25.0', '9.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39224, 'xingren', '杏仁', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_e5b109a6c769b1a841e22b78d8664a2b.jpg', 'false', 1, '100', '578', '45.4', '22.5', '8.0', '23.9', '0.0', '0.08', '0.56', '26.0', '18.53', '0.0', '8.3', '97.0', '2.2', '106.0', '8.4', '4.3', '15.65', '178.0', '0.8', '0.77', '0.0', '32.6', '', '4.38', '0.14', '27.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39225, 'kaixinguo_shu', '开心果', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_08781754293352feec45edf073f26291.jpg', 'false', 1, '100', '631', '53.0', '20.6', '8.2', '21.9', '0.0', '0.45', '0.1', '0.0', '19.36', '1.1', '756.4', '108.0', '4.4', '735.0', '10.3', '3.11', '6.5', '118.0', '0.83', '1.69', '0.0', '34.5', '8.0', '6.78', '', '468.0', '18.0', '2.5', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39226, 'hetao_gan', '核桃(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c49e1d9a2596b9d0197c655cd10e3adf.jpg', 'false', 1, '100', '646', '58.8', '14.9', '9.5', '19.1', '3.0', '0.15', '0.14', '1.0', '43.21', '0.9', '6.4', '56.0', '2.7', '385.0', '', '2.17', '4.62', '131.0', '1.17', '3.44', '0.0', '', '4.8', '', '0.58', '294.0', '20.0', '1.9', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39227, 'hetao_xian', '核桃(鲜)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_acb09baf478f73546173aaf47e37a4ba.jpg', 'false', 1, '100', '336', '29.9', '12.8', '4.3', '6.1', '0.0', '0.07', '0.14', '10.0', '41.17', '1.4', '0.0', '0.0', '0.0', '0.0', '10.3', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '2.4', '0.97', '', '0.0', '20.0', '0.4', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39228, 'huasheng_chao', '炒花生', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bd9046eca01f43f9aa264d1b0dc302c1.jpg', 'false', 1, '100', '601', '48.0', '21.7', '6.3', '23.8', '5.0', '0.13', '0.12', '0.0', '12.94', '18.9', '34.8', '47.0', '1.5', '563.0', '', '2.03', '3.9', '171.0', '0.68', '1.44', '0.0', '', '9.0', '', '', '326.0', '14.0', '3.3', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39229, 'huashengren_sheng', '花生米(生)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d85ab3204c2c8bb4d188abb8856cd535.jpg', 'false', 1, '100', '574', '44.3', '24.8', '5.5', '21.7', '3.0', '0.72', '0.13', '2.0', '18.09', '17.9', '3.6', '39.0', '2.1', '587.0', '2.7', '2.5', '3.94', '178.0', '0.95', '1.25', '0.0', '107.5', '8.3', '', '', '324.0', '14.0', '3.0', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39230, 'huashengren_chao', '花生米(炒)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_750f9ea0e06a4671a95facb2b2718f4b.jpg', 'false', 1, '100', '589', '44.4', '23.9', '4.3', '25.7', '0.0', '0.12', '0.1', '0.0', '14.97', '18.9', '445.1', '284.0', '6.9', '674.0', '', '2.82', '7.1', '176.0', '0.89', '1.9', '0.0', '', '8.4', '', '', '315.0', '14.0', '3.6', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39231, 'fddd5aed', '脆皮可达鸭', 'https://s.boohee.cn/house/upload_food/2023/2/26/mid_photo_url_489bcbcde985c146c640831008950ed2.jpg', 'false', 1, '100.0', '472.27', '23', '15', '8', '60', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39232, 'kuihuazi_naiyouxiangguazi', '葵花子(奶油香瓜子)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_6c67c6f141c947d3b8a2c98ef6fa1419.jpg', 'false', 1, '100', '620', '54.1', '22.7', '14.6', '17.9', '0.0', '0.54', '0.12', '0.0', '21.79', '0.25', '604.3', '77.0', '6.7', '423.0', '', '7.62', '12.49', '412.0', '2.53', '2.57', '0.0', '', '9.2', '', '', '925.0', '20.0', '0.7', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39233, 'zhenzi_gan', '榛子', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_0302e04fc7ed942e9a6c5a640359ba77.jpg', 'false', 1, '100', '561', '44.8', '20.0', '9.6', '24.3', '4.0', '0.62', '0.14', '0.0', '36.43', '2.5', '4.7', '104.0', '6.4', '1244.0', '', '5.83', '0.78', '420.0', '3.03', '14.94', '0.0', '113.0', '', '3.46', '0.56', '422.0', '15.0', '2.2', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39234, 'xingren_da', '杏仁(大)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_dcc0708836524b68bc527d5b2d1833d6.jpg', 'false', 1, '100', '540', '42.9', '19.9', '18.5', '27.8', '0.0', '0.02', '1.82', '26.0', '0.0', '0.0', '0.0', '49.0', '1.2', '169.0', '', '4.06', '27.06', '0.0', '0.67', '0.72', '0.0', '', '', '5.09', '', '4.0', '', '', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39389, 'piaolingdashuhitanshaoyaoguo', '飘零大叔 炭烧腰果', 'https://s.boohee.cn/house/upload_food/2014/4/10/452803_1397114669mid.jpg', 'false', 1, '100', '540', '39.2', '20.6', '0.0', '27.2', '', '', '', '', '', '', '454.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '22.0', '6.0', 8); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39390, 'baishatang', '白砂糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_fbc554c8b4f14f75b931a4d191227fc9.jpg', 'false', 3, '100', '400', '0.0', '0.0', '0.0', '99.9', '', '', '', '', '', '', '0.4', '20.0', '0.6', '5.0', '', '0.06', '', '3.0', '0.04', '0.09', '0.0', '', '0.0', '', '0.0', '8.0', '65.0', '64.9', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39391, 'fengmi', '蜂蜜', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_6ae6b343916bb84f48672fec0ae6c5d9.jpg', 'false', 2, '100', '321', '1.9', '0.4', '0.0', '75.6', '0.0', '0.0', '0.05', '3.0', '0.0', '0.1', '0.3', '4.0', '1.0', '28.0', '0.0', '0.37', '0.15', '2.0', '0.03', '0.07', '0.0', '52.6', '0.0', '58.34', '0.02', '3.0', '73.0', '55.2', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39392, 'hongtang', '红糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7bce627fbc86d4c7aabfc8b471943d0e.jpg', 'false', 3, '100', '389', '0.0', '0.7', '0.0', '96.6', '', '0.01', '', '', '', '0.3', '18.3', '157.0', '2.2', '240.0', '', '0.35', '4.2', '54.0', '0.15', '0.27', '', '', '', '', '', '11.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39393, 'fd966115', '睛王葡萄', 'https://s.boohee.cn/house/upload_food/2022/4/17/mid_photo_url_6005481214ac65a07d94a5ae96ff19c5.jpg', 'false', 2, '100.0', '40.0', '0', '3', '0', '6', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '556.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39394, 'jiangyou_junzhi', '酱油', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_61cb136fe0345578e1fa20da7e0114b2.jpg', 'false', 2, '100', '63', '0.1', '5.6', '0.2', '10.1', '', '0.05', '0.13', '', '', '1.7', '5757.0', '66.0', '8.6', '337.0', '2.9', '1.17', '1.39', '156.0', '0.06', '1.11', '', '42.5', '', '', '', '204.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39395, 'cu_junzhi', '醋', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_25e2b511371f9c0e14d769a3912caad9.jpg', 'false', 2, '100', '31', '0.3', '2.1', '0.0', '4.9', '', '0.03', '0.05', '', '', '1.4', '262.1', '17.0', '6.0', '351.0', '', '1.25', '2.43', '13.0', '0.04', '2.97', '', '', '', '', '', '96.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39396, 'zhimajiang', '芝麻酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_9d5a86844d78c0e1c8f10c940b5b5c2c.jpg', 'false', 2, '100', '630', '52.7', '19.2', '5.9', '22.7', '17.0', '0.16', '0.22', '', '35.09', '5.8', '38.5', '1170.0', '50.3', '342.0', '', '4.01', '4.86', '238.0', '0.97', '1.64', '', '160.9', '7.0', '', '', '626.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39397, 'fde7d236', '希尔布莱克奶酪', 'https://s.boohee.cn/house/upload_food/2022/4/5/mid_photo_url_7aeccd209635801b8f498c9f91067ec3.jpg', 'false', 1, '100.0', '477.0', '32', '42', '0', '5', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '271.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '0.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39398, 'lajiaojiang', '辣椒酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_de6cdae6315bdd7bb68b412ba0f69d36.jpg', 'false', 2, '100', '36', '2.8', '0.8', '2.6', '3.2', '132.0', '0.01', '0.09', '', '2.87', '1.1', '8027.6', '117.0', '3.8', '222.0', '', '0.26', '0.52', '91.0', '0.12', '0.3', '', '', '', '', '', '30.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39399, 'weijing', '味精', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f13a953c2c9d79b396980735b2a0d99a.jpg', 'false', 2, '100', '268', '0.2', '40.1', '0.0', '26.5', '', '0.08', '0.0', '', '', '0.3', '8160.0', '100.0', '1.2', '4.0', '0.0', '0.31', '0.98', '7.0', '0.12', '0.67', '', '', '', '', '', '4.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39400, 'fdb469e0', '情头翁', 'https://s.boohee.cn/house/upload_food/2018/3/17/mid_photo_url_f002a83fabae584cd4d8fc478883688f.jpg', 'false', 3, '100.0', '268.0', '3', '20', '0', '40', '', '', '', '', '', '', '480.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39401, 'bingtang', '冰糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_445b84bc58c373e07938e6a1d0ea49c6.jpg', 'false', 3, '100', '397', '0.0', '0.0', '0.0', '99.3', '', '0.03', '0.03', '', '', '', '2.7', '23.0', '1.4', '1.0', '', '0.21', '', '2.0', '0.03', '', '', '', '', '99.3', '', '', '65.0', '64.5', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39402, 'jijing', '鸡精', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_8f560f7b5da9f567a54988cf41534dd5.jpg', 'false', 2, '100', '195', '2.8', '10.7', '0.7', '33.2', '', '', '', '', '', '', '22000.0', '', '', '', '26.7', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39413, 'pingguojiang', '苹果酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_771837bfe00d9d39c3657fe06cb67974.jpg', 'false', 2, '100', '278', '0.1', '0.4', '0.3', '69.0', '', '0.28', '0.02', '1.0', '', '', '11.0', '2.0', '1.3', '26.0', '', '0.08', '', '3.0', '0.03', '', '', '', '', '', '', '3.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39414, 'fd3fb75d', '红斑豆芽', 'https://s.boohee.cn/house/upload_food/2018/4/9/mid_photo_url__a442087258_a_f.jpg', 'false', 2, '100.0', '27.0', '0', '2', '0', '4', '', '', '', '', '', '', '980.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39415, 'lajiaofen', '辣椒粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_996c9af9f36930b4360243af9698c0c8.jpg', 'false', 2, '100', '290', '9.5', '15.2', '43.5', '57.7', '3123.0', '0.01', '0.82', '', '15.33', '7.6', '100.0', '146.0', '20.7', '1358.0', '', '1.52', '8.0', '223.0', '0.95', '1.46', '', '', '', '', '', '374.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39416, 'suanronglajiang', '利民 蒜蓉辣酱', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_f9f0d78e0d96476b87900e486b6d9a28.jpg', 'false', 2, '100', '96', '0.6', '4.8', '3.7', '19.6', '162.0', '0.03', '0.1', '', '16.28', '0.9', '3236.3', '71.0', '11.0', '308.0', '', '1.54', '6.55', '26.0', '0.29', '1.03', '', '', '', '', '', '54.0', '', '', 9); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39578, 'yinyongshui', '饮用水', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_6e2ec89a9283f8c8580b9c61688e879e.jpg', 'true', 1, '100', '0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '0.7', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39579, 'kafeifen', '咖啡粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_34955af785604c4e714a7ec9abd4abeb.jpg', 'false', 1, '100', '218', '0.5', '12.2', '0.0', '41.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39580, 'maisiweieryuanweikafei', '麦斯威尔 原味咖啡', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_4f03ffa22e616094fcaf0a9c6bda9553.jpg', 'false', 3, '100', '448', '17.7', '3.1', '0.0', '69.2', '', '', '', '', '', '', '338.46', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39581, 'heikafei', '无糖美式咖啡', 'https://s.boohee.cn/house/upload_food/2022/2/22/slim_mid_photo_url_7ffc152ed7943e98e11f10c815868209.jpg', 'true', 1, '100', '1', '0.0', '0.1', '0.0', '0.0', '', '0.01', '0.08', '0.0', '0.01', '0.19', '2.0', '2.0', '0.01', '49.0', '0.0', '0.02', '0.0', '3.0', '0.0', '0.02', '0.0', '2.0', '0.0', '0.0', '0.0', '3.0', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39582, 'kuangquanshui', '矿泉水', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_6e2ec89a9283f8c8580b9c61688e879e.jpg', 'true', 1, '100', '0', '0.0', '0.0', '0.0', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39583, 'zhengzongyeshupaiyezhi', '椰树 牌椰汁', 'https://s.boohee.cn/house/upload_food/2022/10/19/m_bc9bf10ec09e49e68ed13ca8286839bc.jpg', 'true', 2, '100', '51', '2.3', '0.6', '0.0', '7.0', '', '', '', '', '', '', '12.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39584, 'pijiu_junzhi', '啤酒', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_3f3fd4baa9998f59eac661c3534c6c3c.jpg', 'true', 3, '100', '43', '0.0', '0.5', '0.0', '3.6', '', '0.01', '0.03', '', '', '0.51', '4.0', '4.0', '0.02', '27.0', '', '0.01', '0.6', '6.0', '0.01', '0.01', '0.0', '6.0', '0.0', '0.0', '0.05', '14.0', '66.0', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39585, 'lidunyuanweinaicha', '立顿 原味奶茶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_20152215344318089.jpg', 'false', 2, '100', '407', '6.7', '4.0', '1.2', '82.7', '', '', '', '', '', '', '76.5', '453.0', '', '', '', '', '', '', '', '', '45.7', '', '0.0', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39586, 'meizhiyuanguolicheng2', '美汁源 果粒橙', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_18ed38dc465ea2c6fd5c20cfaa66ca10.jpg', 'true', 2, '100', '40', '0.0', '0.0', '0.0', '9.4', '', '', '', '7.5', '', '', '22.0', '', '', '', '', '', '', '', '', '', '', '', '', '9.7', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39587, 'weitanai_dizhidounai', '维他 唯甄豆奶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_149bf24d1d0bb87cadedd8a5aeebdeb4.jpg', 'true', 1, '100', '54', '1.7', '2.5', '0.0', '7.2', '', '', '', '', '', '', '0.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39588, 'tianfumingchapailvchafen', '天福茗茶 绿茶粉', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_20152215475116299.jpg', 'false', 1, '100', '328', '1.5', '11.4', '24.9', '54.4', '', '', '', '', '', '', '80.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39589, 'maisiweierkafeinaicha', '麦斯威尔 咖啡奶茶', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_11877_1213289705mid.jpg', 'false', 2, '100', '436', '10.8', '2.3', '0.0', '83.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 10); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39815, 'jinsixiaozao', '金丝小枣', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ebffeef9aaebba82abbddce12122dfba.jpg', 'false', 1, '100', '308', '1.1', '1.2', '7.0', '76.7', '', '0.04', '0.5', '', '1.31', '0.4', '7.4', '23.0', '1.5', '65.0', '', '0.23', '1.0', '24.0', '0.36', '0.34', '0.0', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39816, 'sutang', '酥糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_474813d739bc6519b65ca2cea83647a2.jpg', 'false', 3, '100', '436', '13.9', '6.0', '4.0', '75.6', '', '0.1', '0.04', '', '4.85', '3.5', '45.0', '186.0', '6.0', '148.0', '', '1.52', '1.14', '62.0', '0.3', '0.5', '', '', '', '', '', '135.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39817, 'shuijingtang', '水晶糖', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_7b52d4209939ab87cc2c53ce138be1e9.jpg', 'false', 2, '100', '395', '0.2', '0.2', '0.1', '98.3', '', '0.04', '0.05', '', '', '', '107.8', '', '3.0', '9.0', '', '1.17', '0.04', '13.0', '0.03', '0.05', '', '', '', '', '', '5.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39818, 'zhuroufu', '猪肉脯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_bda22704eab40768c559d3b08609ee54.jpg', 'false', 2, '100', '378', '8.8', '28.0', '0.0', '46.6', '84.0', '0.27', '0.27', '0.0', '1.1', '18.48', '1638.2', '17.0', '3.9', '381.0', '', '3.08', '6.86', '47.0', '0.2', '0.43', '71.0', '3.5', '3.4', '', '', '233.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39819, 'guodong_juruodong', '果冻(蒟蒻冻)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_91821bcfaadf4a33bd0e0d13cdaacc4c.jpg', 'false', 2, '100', '100', '0.0', '0.0', '0.5', '25.6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '19.09', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39820, 'fdc4919e', '醋炒板栗', 'https://s.boohee.cn/house/upload_food/2014/9/10/6496727_1410327044mid.jpg', 'false', 3, '100.0', '341.0', '25', '21', '0', '9', '', '', '', '', '', '', '246.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39821, 'lvdagun', '驴打滚', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_cec3f213184137949869c2180e7ffb18.jpg', 'false', 2, '100', '198', '0.2', '8.2', '1.9', '41.8', '', '0.05', '0.07', '', '2.33', '0.3', '192.4', '34.0', '8.6', '165.0', '', '1.05', '1.57', '37.0', '0.19', '0.81', '', '', '', '', '', '105.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39822, 'danengjiagainiunaitiansubingganniunaikouwei', '达能 佳钙牛奶甜酥饼干牛奶口味', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_74067_1213392676mid.jpg', 'false', 3, '100', '468', '17.0', '8.3', '0.0', '70.0', '', '', '', '', '', '', '365.0', '365.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '70.0', '49.0', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39823, 'niunaibinggan', '牛奶饼干', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_4321b2d056484ab8a20695c0da530ad8.jpg', 'false', 2, '100', '408', '6.1', '8.1', '0.2', '80.3', '94.0', '0.01', '0.02', '', '1.13', '0.2', '399.0', '6.0', '2.9', '129.0', '', '1.55', '2.67', '30.0', '0.15', '0.6', '', '', '', '', '', '102.0', '70.0', '56.2', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39824, 'fdcfda7d', '鸡珍', 'https://s.boohee.cn/house/upload_food/2016/4/6/mid_photo_url__a649_ca_e2_b3_a0.jpg', 'false', 1, '100.0', '138.0', '8', '14', '0', '3', '', '', '', '', '', '', '929.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39825, 'fd2bf0bd', '木须蓉(干)', 'https://s.boohee.cn/house/upload_food/2021/9/24/mid_photo_url_09.png', 'false', 3, '100.0', '340.0', '19', '34', '0', '9', '1.0', '0.0', '0.0', '13.1', '1.5', '0.2', '209.7', '20.5', '0.5', '213.7', '18.7', '0.2', '0.5', '14.2', '0.1', '0.5', '', '22.5', '', '3.9', '0.2', '41.2', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39826, 'bingqiling_cuipitiantong', '冰淇淋(脆皮甜筒)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_6b41838ab197aec8870ecb0ff8c12187.jpg', 'false', 3, '100', '158', '5.5', '3.5', '0.0', '23.9', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '61.0', '14.6', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39827, 'binggan_xian', '饼干(咸)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_3f1a3fdaee824a478309bb0056b60ad3.jpg', 'false', 3, '100', '496', '25.6', '8.4', '4.7', '62.7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '70.0', '43.9', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39828, 'yuebing_zaoni', '月饼(枣泥)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_0c9e26fd30b03fd15ea945eb54fdf0f5.jpg', 'false', 3, '100', '427', '15.7', '7.1', '1.4', '64.9', '8.0', '0.11', '0.05', '', '1.49', '2.7', '24.3', '66.0', '2.8', '178.0', '', '0.81', '2.43', '23.0', '0.18', '0.36', '', '', '', '', '', '62.0', '56.0', '36.3', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39829, 'jibailiyikoulian', '吉百利 怡口莲', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_76176_1213407940mid.jpg', 'false', 2, '100', '416', '16.7', '4.5', '0.0', '61.4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '80.0', '49.1', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39830, 'zhishenajiaomizao', '智神 阿胶蜜枣', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_81357_1219406354mid.jpg', 'false', 2, '100', '314', '0.2', '1.0', '2.7', '75.8', '', '', '', '', '', '', '24.2', '21.2', '1.0', '', '', '', '', '', '', '', '', '', '', '27.9', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39831, 'mimahua', '蜜麻花', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bbd5d927b329439aa44d2a6ee11e3e4c.jpg', 'false', 2, '100', '369', '11.0', '4.8', '0.9', '63.2', '', '0.01', '0.01', '', '7.93', '8.6', '361.5', '99.0', '4.5', '135.0', '', '0.6', '7.2', '98.0', '0.08', '0.67', '', '', '', '', '', '83.0', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39832, 'fd3ab05b', '菁楠', 'https://s.boohee.cn/house/upload_food/2016/9/28/mid_photo_url_5_b68_d21_b_d5_c7.jpg', 'false', 3, '100.0', '271.0', '3', '20', '0', '41', '', '', '', '', '', '', '193.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 11); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39942, 'youshanaxianweisu_shuimitaomangguo', '优莎娜 纤维素(水蜜桃芒果)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_266490_1241521178mid.jpg', 'false', 0, '100', '267', '2.0', '3.3', '43.3', '37.0', '', '', '', '', '', '', '416.0', '', '', '1465.0', '', '', '', '', '', '', '0.0', '', '0.3', '33.3', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39943, 'alasijiakanglishiguwutiquwufuhepian', '阿拉斯加 康力士谷物提取物复合片(_b族维生素)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_206556_1235176666mid.jpg', 'false', 0, '100', '406', '3.0', '14.0', '0.0', '67.0', '', '50.0', '95.0', '', '', '30.0', '0.0', '', '', '', '', '', '', '', '', '', '', '400.0', '', '', '55.0', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39944, 'alasijiakanglishixiaomaipeiyayouruanjiaonang', '阿拉斯加 康力士小麦胚芽油软胶囊', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_206556_1235177434mid.jpg', 'false', 2, '100', '588', '47.6', '0.1', '0.0', '39.9', '', '', '', '', '34826.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39945, 'youshanaxianweisu_xingrenkouwei', '优莎娜 纤维素(杏仁口味)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_266490_1241519332mid.jpg', 'false', 0, '100', '303', '6.7', '5.2', '35.2', '40.6', '', '', '', '', '', '', '378.0', '', '', '1187.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39946, 'fdd6f1ef', '蝾螈冰淇淋', 'https://s.boohee.cn/house/upload_food/2017/4/26/mid_photo_url__d48_d_b6_ae_f144.jpg', 'false', 2, '100.0', '407.47', '14', '9', '6', '77', '', '', '', '', '', '', '151.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (39947, 'fd5120c9', '锦玉萝卜', 'https://s.boohee.cn/house/upload_food/2018/11/27/mid_photo_url__a_a0_d31_f8_a39_e.jpg', 'false', 1, '100.0', '20.0', '0', '2', '0', '3', '', '', '', '', '', '', '275.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '81.0', '47.1', 12); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40068, 'mifan_zheng', '米饭', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_f81e8de29f76e6d0c39d4142fe45764f.jpg', 'false', 1, '100', '116', '0.3', '2.6', '0.3', '25.9', '0.0', '0.02', '0.03', '0.0', '0.0', '1.9', '2.5', '7.0', '1.3', '30.0', '0.0', '0.92', '0.4', '15.0', '0.06', '0.58', '0.0', '3.4', '0.0', '', '0.0', '62.0', '90.0', '23.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40069, 'yumi_xian', '鲜玉米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg', 'false', 1, '100', '112', '1.2', '4.0', '2.9', '22.8', '0.0', '0.16', '0.11', '16.0', '0.46', '1.8', '1.1', '0.0', '1.1', '238.0', '1.1', '0.9', '1.63', '32.0', '0.09', '0.22', '0.0', '31.9', '', '8.89', '', '117.0', '55.0', '10.9', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40070, 'maipeimianbao', '全麦面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg', 'false', 1, '100', '254', '3.6', '12.3', '6.0', '43.1', '0.0', '0.39', '0.17', '0.0', '0.54', '4.43', '449.0', '163.0', '2.56', '250.0', '0.0', '1.76', '19.9', '77.0', '0.23', '0.35', '0.0', '42.0', '0.73', '4.41', '0.22', '212.0', '69.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40071, 'ganshu_hongxin', '红薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg', 'false', 1, '100', '86', '0.1', '1.6', '3.0', '20.1', '63.0', '0.08', '0.06', '2.4', '0.26', '0.56', '55.0', '30.0', '0.61', '337.0', '1.2', '0.3', '0.6', '25.0', '0.15', '0.26', '0.0', '8.3', '0.0', '4.04', '0.19', '47.0', '54.0', '9.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40072, 'yanmaipian', '燕麦片', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg', 'false', 1, '100', '338', '0.2', '10.1', '6.0', '77.4', '0.0', '0.46', '0.07', '0.0', '0.91', '0.0', '2.1', '58.0', '2.9', '356.0', '0.0', '1.75', '0.0', '116.0', '0.21', '3.91', '0.0', '30.1', '0.0', '1.0', '0.0', '342.0', '55.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40073, 'zishu', '紫薯', 'https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b48f483c506a51c70b22fd54f18dc2ef.jpg', 'false', 1, '100', '123', '0.3', '1.2', '2.5', '31.7', '0.0', '0.12', '0.02', '0.1', '1.3', '1.3', '30.0', '24.0', '0.6', '370.0', '0.0', '0.2', '0.0', '26.0', '0.21', '0.5', '0.0', '22.0', '0.05', '', '0.18', '56.0', '77.0', '15.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40074, 'jingmizhou', '白粥', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg', 'false', 1, '100', '46', '0.3', '1.1', '0.1', '9.9', '0.0', '0.0', '0.03', '0.0', '0.0', '0.2', '2.8', '7.0', '0.1', '13.0', '', '0.2', '0.2', '7.0', '0.03', '0.2', '0.0', '', '', '', '', '20.0', '69.0', '6.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40075, 'youtiao', '油条', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_552a534384ecbc8888f957067c13942f.jpg', 'false', 3, '100', '388', '17.6', '6.9', '0.9', '51.0', '0.0', '0.01', '0.07', '0.0', '3.19', '0.7', '585.2', '6.0', '1.0', '227.0', '', '0.75', '8.6', '19.0', '0.19', '0.52', '0.0', '6.0', '0.5', '0.64', '', '77.0', '75.0', '37.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40076, 'yutou', '芋头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_b55cb3edd355334376a0c2462a291d1f.jpg', 'false', 1, '100', '56', '0.2', '1.3', '1.0', '12.7', '1.0', '0.05', '0.02', '1.5', '0.0', '0.28', '5.5', '11.0', '0.3', '25.0', '', '0.19', '0.91', '19.0', '0.06', '0.3', '0.0', '7.8', '', '0.98', '0.28', '50.0', '48.0', '5.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40077, 'miantiao_fuqiangfen_zhu', '煮面条', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7fa30a00fecb65c0533b9142a0072e42.jpg', 'false', 1, '100', '107', '0.4', '3.9', '0.0', '22.8', '0.0', '0.02', '0.01', '0.0', '0.0', '0.56', '26.9', '4.0', '0.2', '15.0', '', '0.1', '1.16', '10.0', '0.01', '0.01', '0.0', '2.1', '0.1', '', '', '24.0', '41.0', '9.3', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40078, 'miantiao_junzhi', '面条(生)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_67e3a4544d0676c61e002e19dd8119fd.jpg', 'false', 1, '100', '301', '0.6', '8.9', '0.8', '65.6', '0.0', '0.22', '0.07', '0.0', '0.47', '1.8', '21.4', '12.0', '4.3', '123.0', '', '1.09', '6.59', '42.0', '0.15', '0.71', '0.0', '', '0.1', '', '', '139.0', '55.0', '35.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40079, 'mianbao_junzhi', '面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d6ca69ac1afb226f83f4758441c3c75a.jpg', 'false', 2, '100', '313', '5.1', '8.3', '0.5', '58.6', '', '0.03', '0.06', '', '1.66', '1.7', '230.4', '49.0', '2.0', '88.0', '', '0.75', '3.15', '31.0', '0.27', '0.37', '', '', '0.3', '', '0.08', '107.0', '88.0', '51.1', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40080, 'shanyao', '山药', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43b6d0454b50ebf35facd9013d16afd3.jpg', 'false', 1, '100', '57', '0.2', '1.9', '0.8', '12.4', '3.0', '0.05', '0.02', '5.0', '0.24', '0.3', '18.6', '16.0', '0.3', '213.0', '3.6', '0.27', '0.55', '20.0', '0.24', '0.12', '0.0', '7.8', '', '0.22', '0.29', '34.0', '51.0', '5.9', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40081, 'daomi_junzhi', '大米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_3e01a32158e941ccb328d808d6955684.jpg', 'false', 1, '100', '346', '0.9', '7.9', '0.6', '77.2', '0.0', '0.15', '0.04', '0.0', '0.43', '2.0', '1.8', '8.0', '1.1', '112.0', '2.3', '1.54', '2.83', '31.0', '0.25', '1.13', '0.0', '23.7', '0.3', '0.09', '', '112.0', '87.0', '66.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40082, 'xiaomizhou', '小米粥', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_ef353b12d4e89108a469f0a38dff4404.jpg', 'false', 1, '100', '46', '0.7', '1.4', '0.0', '8.4', '0.0', '0.02', '0.07', '0.0', '0.26', '0.9', '4.1', '10.0', '1.0', '19.0', '', '0.41', '0.3', '22.0', '0.07', '0.16', '0.0', '', '', '', '', '32.0', '60.0', '5.0', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40083, 'malingshu', '马铃薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_8a7ff30a30cec1f7633e98a2388b545d.jpg', 'false', 1, '100', '81', '0.2', '2.6', '1.1', '17.8', '1.0', '0.1', '0.02', '14.0', '0.34', '1.1', '5.9', '7.0', '0.4', '347.0', '1.2', '0.3', '0.47', '24.0', '0.09', '0.1', '0.0', '15.7', '', '1.61', '', '46.0', '62.0', '10.4', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40084, 'baozi_zhurouxian', '包子(猪肉馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_210714ad3b3bef4c9f899c8d485ae5ad.jpg', 'false', 2, '100', '227', '10.0', '7.3', '1.7', '30.3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '39.1', '11.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40085, 'ganshu_baixin', '白薯', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_60601e92dbb659a70d9ec8867d13ead3.jpg', 'false', 1, '100', '106', '0.2', '1.4', '1.0', '25.2', '18.0', '0.07', '0.04', '24.0', '0.43', '0.6', '58.2', '24.0', '0.8', '174.0', '0.0', '0.22', '0.63', '17.0', '0.16', '0.21', '0.0', '0.0', '0.0', '', '0.0', '46.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40086, 'laobing_biaozhunfen', '烙饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 1, '100', '258', '2.3', '7.5', '1.9', '52.9', '0.0', '0.02', '0.04', '0.0', '1.03', '0.0', '149.3', '20.0', '2.4', '141.0', '', '0.94', '7.5', '51.0', '0.15', '1.15', '0.0', '92.0', '', '', '', '146.0', '80.0', '40.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40087, 'huajuan', '花卷', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_32fbb0ed557b4d388872c26bf93414d9.jpg', 'false', 1, '100', '214', '1.0', '6.4', '1.5', '45.6', '0.0', '0.0', '0.02', '0.0', '0.0', '1.1', '95.0', '19.0', '0.4', '83.0', '', '0.0', '6.17', '12.0', '0.09', '0.0', '0.0', '', '', '3.4', '', '72.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40088, 'mankedunquanmaigaoxianweimianbao2', '曼可顿 全麦高纤维面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_e754911f397f24f906a944e7f96c8357.jpg', 'false', 1, '100', '243', '1.6', '11.1', '7.0', '42.0', '', '0.14', '0.06', '', '', '', '306.0', '108.0', '2.5', '208.0', '', '2.02', '', '', '', '', '', '', '', '', '', '', '69.0', '28.7', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40089, 'chixiaodou', '红豆', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_ccbf91414d672f0209992753bfe2d216.jpg', 'false', 1, '100', '324', '0.6', '20.2', '7.7', '63.4', '7.0', '0.16', '0.11', '0.0', '14.36', '2.0', '2.2', '74.0', '7.4', '860.0', '7.8', '2.2', '3.8', '138.0', '0.64', '1.33', '0.0', '151.9', '0.1', '0.44', '0.35', '305.0', '27.2', '17.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40090, 'jianbing', '煎饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_1bdbe454666dfa4939ec811e3577b005.jpg', 'false', 1, '100', '354', '0.7', '7.6', '9.1', '83.8', '', '0.1', '0.04', '', '', '0.2', '85.5', '9.0', '7.0', '117.0', '', '1.62', '3.75', '86.0', '0.41', '0.75', '', '22.6', '', '36.89', '', '320.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40091, 'caomi_weizheng', '糙米', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_8f2a3e07dbdb9aa62d77ce52e520d292.jpg', 'false', 1, '100', '348', '2.7', '7.7', '3.4', '75.0', '0.0', '0.38', '0.04', '0.0', '1.32', '0.0', '5.4', '10.0', '1.8', '230.0', '2.3', '1.79', '0.0', '123.0', '0.24', '3.04', '0.0', '22.9', '0.0', '0.47', '0.0', '304.0', '55.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40092, 'fashiniujiaomianbao', '牛角面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_22f986a4d32246edae392a0c262e1ec2.jpg', 'false', 2, '100', '378', '14.3', '8.4', '1.5', '55.0', '', '0.05', '0.01', '', '3.75', '5.0', '352.3', '83.0', '1.7', '103.0', '', '0.61', '18.2', '29.0', '0.24', '0.38', '', '', '', '7.69', '', '93.0', '67.0', '36.6', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40093, 'shengmingmaibaopaiquanmaiqiepianmianbao', '嘉顿 生命面包 450g', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_201512618245916435.jpg', 'false', 1, '100', '284', '4.4', '8.9', '3.6', '49.8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '87.9', '43.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40094, 'baozi_sanxianxian', '包子(三鲜馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_4ce934a4ec8862218af9d597e1014f7a.jpg', 'false', 2, '100', '223', '8.6', '7.4', '0.0', '29.1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '39.1', '11.4', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40095, 'mifen', '米粉(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_bec9d35b6e3a492ba88a37a66aefdb0d.jpg', 'false', 1, '100', '349', '0.8', '0.4', '0.0', '85.8', '0.0', '0.01', '0.01', '0.0', '0.0', '0.0', '52.2', '11.0', '2.4', '19.0', '', '0.36', '0.45', '6.0', '0.0', '0.08', '0.0', '', '0.3', '', '0.02', '45.0', '54.0', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40096, 'youbing', '油饼', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 3, '100', '403', '22.9', '7.9', '2.0', '42.4', '0.0', '0.11', '0.05', '0.0', '13.72', '0.0', '572.5', '46.0', '2.3', '106.0', '', '0.97', '10.6', '13.0', '0.27', '0.71', '0.0', '', '', '', '', '124.0', '59.0', '23.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40097, 'mantou_junzhi', '馒头', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_1945bc70b243079727cfd0670f1b753b.jpg', 'false', 1, '100', '223', '1.1', '7.0', '1.3', '47.0', '0.0', '0.04', '0.05', '0.0', '0.65', '0.0', '165.1', '38.0', '1.8', '138.0', '', '0.71', '8.45', '30.0', '0.1', '0.78', '0.0', '8.7', '', '', '', '107.0', '85.0', '38.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40098, 'huangyoumianbao', '黄油面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_22f986a4d32246edae392a0c262e1ec2.jpg', 'false', 2, '100', '331', '8.7', '7.9', '0.9', '55.6', '', '0.03', '0.02', '', '5.45', '2.3', '14.5', '35.0', '1.5', '92.0', '', '0.5', '3.4', '22.0', '0.18', '0.29', '', '', '', '', '', '94.0', '67.0', '37.3', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40099, 'guoliaomianbao', '果料面包', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_050c69ec8f853fba77492e9f066ee1ad.jpg', 'false', 1, '100', '279', '2.1', '8.5', '0.8', '57.0', '', '0.07', '0.07', '', '1.31', '4.6', '210.5', '124.0', '2.0', '94.0', '', '0.58', '23.95', '29.0', '0.28', '0.37', '', '', '', '', '', '100.0', '67.0', '38.2', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40100, 'jiaozi_zhuroujiucaixian', '饺子(猪肉韭菜馅)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_9cb2ca08ae7e4040b3506eb7fb045208.jpg', 'false', 2, '100', '250', '14.4', '7.0', '2.9', '26.0', '', '', '', '', '', '', '350.0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '15.0', '3.5', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40101, 'shaobing_jiatang', '烧饼(加糖)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg', 'false', 2, '100', '298', '2.1', '8.0', '2.1', '62.7', '0.0', '0.0', '0.01', '0.0', '0.39', '1.1', '62.5', '51.0', '1.6', '122.0', '', '0.36', '12.16', '26.0', '0.15', '0.0', '0.0', '', '', '', '', '105.0', '59.0', '35.8', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40102, 'doushu', '豆薯(凉薯)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a8b95c79a8586264644a5520e2ed3c3f.jpg', 'false', 1, '100', '56', '0.1', '0.9', '0.8', '13.4', '0.0', '0.03', '0.03', '13.0', '0.86', '0.3', '5.5', '21.0', '0.6', '111.0', '', '0.23', '0.16', '14.0', '0.07', '0.11', '0.0', '12.0', '', '7.91', '0.04', '24.0', '', '', 1); +INSERT INTO `bh_food` (`id`, `code`, `name`, `thumb_image_url`, `is_liquid`, `health_light`, `weight`, `calory`, `fat`, `protein`, `fiber_dietary`, `carbohydrate`, `vitamin_a`, `thiamine`, `lactoflavin`, `vitamin_c`, `vitamin_e`, `niacin`, `natrium`, `calcium`, `iron`, `kalium`, `iodine`, `zinc`, `selenium`, `magnesium`, `copper`, `manganese`, `cholesterol`, `folacin`, `saturated_fat`, `sugar`, `vitamin_b6`, `phosphor`, `gi`, `gl`, `pid`) VALUES (40103, 'fensi', '粉丝(干)', 'https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_acfc7a6736f02a983f4ac75c47300f88.jpg', 'false', 1, '100', '338', '0.2', '0.8', '1.1', '83.7', '0.0', '0.03', '0.02', '0.0', '0.0', '0.4', '9.3', '31.0', '6.4', '18.0', '', '0.27', '3.39', '11.0', '0.05', '0.15', '0.0', '', '', '', '', '16.0', '', '', 1); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_love_food +-- ---------------------------- +DROP TABLE IF EXISTS `bh_love_food`; +CREATE TABLE `bh_love_food` ( + `uid` int DEFAULT NULL, + `fid` bigint DEFAULT NULL, + KEY `uaddu` (`uid`), + KEY `uaddf` (`fid`), + CONSTRAINT `uaddf` FOREIGN KEY (`fid`) REFERENCES `bh_food` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `uaddu` FOREIGN KEY (`uid`) REFERENCES `bohe_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of bh_love_food +-- ---------------------------- +BEGIN; +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (2, 38210); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (2, 40072); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 38211); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 39582); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (3, 39580); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (4, 40069); +INSERT INTO `bh_love_food` (`uid`, `fid`) VALUES (5, 40071); +COMMIT; + +-- ---------------------------- +-- Table structure for bh_move +-- ---------------------------- +DROP TABLE IF EXISTS `bh_move`; +CREATE TABLE `bh_move` ( + `id` int NOT NULL AUTO_INCREMENT, + `img` varchar(255) DEFAULT NULL COMMENT '缩略图', + `name` varchar(255) DEFAULT NULL COMMENT '项目名称', + `calory` int DEFAULT NULL COMMENT '卡路里', + `weight` int DEFAULT NULL COMMENT '计算单位 分钟', + `type` mediumint DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='运动项目管理'; + +-- ---------------------------- +-- Records of bh_move +-- ---------------------------- +BEGIN; +INSERT INTO `bh_move` (`id`, `img`, `name`, `calory`, `weight`, `type`) VALUES (1, 'http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg', '跑步', 100, 60, 1); +COMMIT; + +-- ---------------------------- +-- Table structure for bohe_user +-- ---------------------------- +DROP TABLE IF EXISTS `bohe_user`; +CREATE TABLE `bohe_user` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '用户编号', + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '账号', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '密码', + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名', + `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '性别', + `age` int NOT NULL COMMENT '年龄', + `weight` int NOT NULL COMMENT '体重', + `height` int NOT NULL COMMENT '身高', + `calory` int DEFAULT NULL COMMENT '每日应摄入卡路里', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='薄荷用户管理'; + +-- ---------------------------- +-- Records of bohe_user +-- ---------------------------- +BEGIN; +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (2, '123', '123', '小羊', '1', 23, 140, 180, 2206); +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (3, '123456', '123456', '大洋', '2', 22, 70, 180, 1539); +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (4, '321', '123456', '花花', '1', 23, 160, 180, 2398); +INSERT INTO `bohe_user` (`id`, `username`, `password`, `name`, `sex`, `age`, `weight`, `height`, `calory`) VALUES (5, '002', '123456', '小阳', '1', 21, 70, 180, 1543); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成业务表'; + +-- ---------------------------- +-- Records of gen_table +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'bh_categories', '分类管理', 'bh_food', 'pid', 'BhCategories', 'sub', 'com.ruoyi.system', 'system', 'categories', '分类管理', 'ruoyi', '0', '/', '{}', 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'bh_food', '食物管理', NULL, NULL, 'BhFood', 'crud', 'com.ruoyi.system', 'system', 'food', '食物管理', 'ruoyi', '0', '/', '{}', 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'bohe_user', '薄荷用户管理', NULL, NULL, 'BoheUser', 'crud', 'com.ruoyi.system', 'system', 'boheUser', '薄荷用户管理', 'MrYuan', '0', '/', '{\"parentMenuId\":\"2000\"}', 'admin', '2023-05-16 20:38:45', '', '2023-05-16 20:39:48', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'bh_move', '运动项目管理', NULL, NULL, 'BhMove', 'crud', 'com.ruoyi.system', 'system', 'bhmove', '运动项目管理', 'MrYuan', '0', '/', '{\"parentMenuId\":\"2000\"}', 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 'bh_calories', '燃烧我的卡路里', NULL, NULL, 'BhCalories', 'crud', 'com.ruoyi.system', 'system', 'bhCalories', '燃烧我的卡路里', 'MrYuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 'bh_love_food', '收藏食物', NULL, NULL, 'BhLoveFood', 'crud', 'com.ruoyi.system', 'system', 'lovefood', '收藏食物', 'MrYuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-18 00:49:43', '', '2023-05-18 00:50:51', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, 'bh_a_love', '点赞', NULL, NULL, 'BhALove', 'crud', 'com.ruoyi.system', 'system', 'love', '点赞记录', 'MrYuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:48:00', NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, 'bh_artice', '社区表', NULL, NULL, 'BhArtice', 'crud', 'com.ruoyi.system', 'system', 'artice', '社区', 'Mr Yuan', '0', '/', '{\"parentMenuId\":2000}', 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` varchar(64) DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) DEFAULT '' COMMENT '字典类型', + `sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- Records of gen_table_column +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1, '1', 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (2, '1', 'name', '分类名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (3, '1', 'image_url', '图标', 'varchar(255)', 'String', 'imageUrl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'imageUpload', '', 3, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (4, '1', 'sub_category_count', '二级分类数量', 'varchar(255)', 'String', 'subCategoryCount', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'input', '', 4, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (5, '1', 'sub_categories', '二级分类', 'varchar(255)', 'String', 'subCategories', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'input', '', 5, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (6, '1', 'description', '描述', 'varchar(255)', 'String', 'description', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 6, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:39:37'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (7, '2', 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (8, '2', 'code', '编码', 'varchar(255)', 'String', 'code', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 2, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (9, '2', 'name', '食物名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (10, '2', 'thumb_image_url', '缩略图', 'varchar(255)', 'String', 'thumbImageUrl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'imageUpload', '', 4, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (11, '2', 'is_liquid', '是否是液体', 'varchar(255)', 'String', 'isLiquid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (12, '2', 'health_light', '健康度/推荐食用等级', 'int', 'Long', 'healthLight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (13, '2', 'weight', '重量/每100g', 'varchar(255)', 'String', 'weight', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 7, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (14, '2', 'calory', '卡路里', 'varchar(255)', 'String', 'calory', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 8, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (15, '2', 'fat', '脂肪', 'varchar(255)', 'String', 'fat', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 9, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (16, '2', 'protein', '蛋白质', 'varchar(255)', 'String', 'protein', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 10, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (17, '2', 'fiber_dietary', '膳食纤维', 'varchar(255)', 'String', 'fiberDietary', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 11, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (18, '2', 'carbohydrate', '碳水化合物', 'varchar(255)', 'String', 'carbohydrate', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 12, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (19, '2', 'vitamin_a', '维生素A', 'varchar(255)', 'String', 'vitaminA', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 13, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (20, '2', 'thiamine', '维生素B1', 'varchar(255)', 'String', 'thiamine', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 14, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (21, '2', 'lactoflavin', '维生素B2', 'varchar(255)', 'String', 'lactoflavin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 15, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (22, '2', 'vitamin_c', '维生素C', 'varchar(255)', 'String', 'vitaminC', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 16, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (23, '2', 'vitamin_e', '维生素E', 'varchar(255)', 'String', 'vitaminE', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 17, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (24, '2', 'niacin', '烟酸', 'varchar(255)', 'String', 'niacin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 18, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (25, '2', 'natrium', '钠', 'varchar(255)', 'String', 'natrium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 19, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (26, '2', 'calcium', '钙', 'varchar(255)', 'String', 'calcium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 20, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (27, '2', 'iron', '铁', 'varchar(255)', 'String', 'iron', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 21, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (28, '2', 'kalium', '钾', 'varchar(255)', 'String', 'kalium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 22, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (29, '2', 'iodine', '碘', 'varchar(255)', 'String', 'iodine', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 23, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (30, '2', 'zinc', '锌', 'varchar(255)', 'String', 'zinc', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 24, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (31, '2', 'selenium', '硒', 'varchar(255)', 'String', 'selenium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 25, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (32, '2', 'magnesium', '镁\n ', 'varchar(255)', 'String', 'magnesium', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 26, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (33, '2', 'copper', '铜', 'varchar(255)', 'String', 'copper', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 27, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (34, '2', 'manganese', '锰', 'varchar(255)', 'String', 'manganese', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 28, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (35, '2', 'cholesterol', '胆固醇', 'varchar(255)', 'String', 'cholesterol', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 29, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (36, '2', 'folacin', '叶酸', 'varchar(255)', 'String', 'folacin', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 30, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (37, '2', 'saturated_fat', '饱和脂肪', 'varchar(255)', 'String', 'saturatedFat', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 31, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (38, '2', 'sugar', '糖', 'varchar(255)', 'String', 'sugar', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 32, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (39, '2', 'vitamin_b6', '维生素B6', 'varchar(255)', 'String', 'vitaminB6', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 33, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (40, '2', 'phosphor', '磷', 'varchar(255)', 'String', 'phosphor', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 34, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (41, '2', 'gi', 'GI', 'varchar(255)', 'String', 'gi', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 35, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (42, '2', 'gl', 'GL', 'varchar(255)', 'String', 'gl', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 36, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (43, '2', 'pid', '分类id', 'bigint', 'Long', 'pid', '0', '0', NULL, '1', '1', '1', '0', 'EQ', 'input', '', 37, 'admin', '2023-05-15 18:35:38', '', '2023-05-15 18:41:03'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (44, '3', 'id', '用户编号', 'int', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (45, '3', 'username', '账号', 'varchar(255)', 'String', 'username', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (46, '3', 'password', '密码', 'varchar(255)', 'String', 'password', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (47, '3', 'name', '姓名', 'varchar(255)', 'String', 'name', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 4, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (48, '3', 'sex', '性别', 'varchar(255)', 'String', 'sex', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'select', '', 5, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (49, '3', 'age', '年龄', 'int', 'Long', 'age', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (50, '3', 'weight', '体重', 'int', 'Long', 'weight', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (51, '3', 'height', '身高', 'int', 'Long', 'height', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2023-05-16 20:38:45', '', '2023-05-16 23:56:29'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (52, '4', 'id', NULL, 'int', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (53, '4', 'img', '缩略图', 'varchar(255)', 'String', 'img', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'imageUpload', '', 2, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (54, '4', 'name', '项目名称', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (55, '4', 'calory', '卡路里', 'int', 'Long', 'calory', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (56, '4', 'weight', '计算单位 分钟', 'int', 'Long', 'weight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (57, '4', 'type', NULL, 'mediumint', 'Long', 'type', '0', '0', NULL, '0', '0', '0', '0', 'EQ', 'select', '', 6, 'admin', '2023-05-16 23:42:59', '', '2023-05-16 23:46:36'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (58, '3', 'calory', '每日应摄入卡路里', 'int', 'Long', 'calory', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9, '', '2023-05-16 23:56:29', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (59, '5', 'uid', '用户id', 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (60, '5', 'c_name', '项目名称', 'varchar(255)', 'String', 'cName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (61, '5', 'c_id', '项目id', 'int', 'Long', 'cId', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (62, '5', 'c_type', '项目类型', 'int', 'Long', 'cType', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'select', '', 4, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (63, '5', 'c_img', '项目图片', 'varchar(255)', 'String', 'cImg', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (64, '5', 'c_num', '重量或时间', 'int', 'Long', 'cNum', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (65, '5', 'c_weight', '计量单位', 'int', 'Long', 'cWeight', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (66, '5', 'c_value', '消耗卡路里', 'int', 'Long', 'cValue', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (67, '5', 'create_time', '时间', 'date', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, '1', 'EQ', 'datetime', '', 9, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (68, '5', 'remark', NULL, 'varchar(255)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'input', '', 10, 'admin', '2023-05-17 00:12:57', '', '2023-05-17 00:14:06'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (69, '6', 'uid', NULL, 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1, 'admin', '2023-05-18 00:49:44', '', '2023-05-18 00:50:51'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (70, '6', 'fid', NULL, 'bigint', 'Long', 'fid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2023-05-18 00:49:44', '', '2023-05-18 00:50:51'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (71, '7', 'uid', '点赞用户ID', 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 1, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:48:00'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (72, '7', 'aid', '点赞文章', 'int', 'Long', 'aid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:48:00'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (73, '8', 'id', 'ID', 'int', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (74, '8', 'name', '姓名', 'varchar(255)', 'String', 'name', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (75, '8', 'uid', '用户ID', 'int', 'Long', 'uid', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (76, '8', 'content', '内容', 'varchar(255)', 'String', 'content', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'editor', '', 4, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (77, '8', 'create_time', '发送时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 5, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (78, '8', 'count', '点赞数', 'int', 'Long', 'count', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2023-05-31 02:46:49', '', '2023-05-31 02:47:20'); +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_BLOB_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`; +CREATE TABLE `QRTZ_BLOB_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `blob_data` blob COMMENT '存放持久化Trigger对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Blob类型的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_BLOB_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_CALENDARS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CALENDARS`; +CREATE TABLE `QRTZ_CALENDARS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `calendar_name` varchar(200) NOT NULL COMMENT '日历名称', + `calendar` blob NOT NULL COMMENT '存放持久化calendar对象', + PRIMARY KEY (`sched_name`,`calendar_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='日历信息表'; + +-- ---------------------------- +-- Records of QRTZ_CALENDARS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_CRON_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`; +CREATE TABLE `QRTZ_CRON_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `cron_expression` varchar(200) NOT NULL COMMENT 'cron表达式', + `time_zone_id` varchar(80) DEFAULT NULL COMMENT '时区', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Cron类型的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_CRON_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_FIRED_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`; +CREATE TABLE `QRTZ_FIRED_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `entry_id` varchar(95) NOT NULL COMMENT '调度器实例id', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `instance_name` varchar(200) NOT NULL COMMENT '调度器实例名', + `fired_time` bigint NOT NULL COMMENT '触发的时间', + `sched_time` bigint NOT NULL COMMENT '定时器制定的时间', + `priority` int NOT NULL COMMENT '优先级', + `state` varchar(16) NOT NULL COMMENT '状态', + `job_name` varchar(200) DEFAULT NULL COMMENT '任务名称', + `job_group` varchar(200) DEFAULT NULL COMMENT '任务组名', + `is_nonconcurrent` varchar(1) DEFAULT NULL COMMENT '是否并发', + `requests_recovery` varchar(1) DEFAULT NULL COMMENT '是否接受恢复执行', + PRIMARY KEY (`sched_name`,`entry_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='已触发的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_FIRED_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_JOB_DETAILS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`; +CREATE TABLE `QRTZ_JOB_DETAILS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `job_name` varchar(200) NOT NULL COMMENT '任务名称', + `job_group` varchar(200) NOT NULL COMMENT '任务组名', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `job_class_name` varchar(250) NOT NULL COMMENT '执行任务类名称', + `is_durable` varchar(1) NOT NULL COMMENT '是否持久化', + `is_nonconcurrent` varchar(1) NOT NULL COMMENT '是否并发', + `is_update_data` varchar(1) NOT NULL COMMENT '是否更新数据', + `requests_recovery` varchar(1) NOT NULL COMMENT '是否接受恢复执行', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务详细信息表'; + +-- ---------------------------- +-- Records of QRTZ_JOB_DETAILS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_LOCKS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_LOCKS`; +CREATE TABLE `QRTZ_LOCKS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `lock_name` varchar(40) NOT NULL COMMENT '悲观锁名称', + PRIMARY KEY (`sched_name`,`lock_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='存储的悲观锁信息表'; + +-- ---------------------------- +-- Records of QRTZ_LOCKS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`; +CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + PRIMARY KEY (`sched_name`,`trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='暂停的触发器表'; + +-- ---------------------------- +-- Records of QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SCHEDULER_STATE +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`; +CREATE TABLE `QRTZ_SCHEDULER_STATE` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `instance_name` varchar(200) NOT NULL COMMENT '实例名称', + `last_checkin_time` bigint NOT NULL COMMENT '上次检查时间', + `checkin_interval` bigint NOT NULL COMMENT '检查间隔时间', + PRIMARY KEY (`sched_name`,`instance_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='调度器状态表'; + +-- ---------------------------- +-- Records of QRTZ_SCHEDULER_STATE +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `repeat_count` bigint NOT NULL COMMENT '重复的次数统计', + `repeat_interval` bigint NOT NULL COMMENT '重复的间隔时间', + `times_triggered` bigint NOT NULL COMMENT '已经触发的次数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='简单触发器的信息表'; + +-- ---------------------------- +-- Records of QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `str_prop_1` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第一个参数', + `str_prop_2` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第二个参数', + `str_prop_3` varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第三个参数', + `int_prop_1` int DEFAULT NULL COMMENT 'int类型的trigger的第一个参数', + `int_prop_2` int DEFAULT NULL COMMENT 'int类型的trigger的第二个参数', + `long_prop_1` bigint DEFAULT NULL COMMENT 'long类型的trigger的第一个参数', + `long_prop_2` bigint DEFAULT NULL COMMENT 'long类型的trigger的第二个参数', + `dec_prop_1` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数', + `dec_prop_2` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数', + `bool_prop_1` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数', + `bool_prop_2` varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='同步机制的行锁表'; + +-- ---------------------------- +-- Records of QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for QRTZ_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_TRIGGERS`; +CREATE TABLE `QRTZ_TRIGGERS` ( + `sched_name` varchar(120) NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) NOT NULL COMMENT '触发器的名字', + `trigger_group` varchar(200) NOT NULL COMMENT '触发器所属组的名字', + `job_name` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_name的外键', + `job_group` varchar(200) NOT NULL COMMENT 'qrtz_job_details表job_group的外键', + `description` varchar(250) DEFAULT NULL COMMENT '相关介绍', + `next_fire_time` bigint DEFAULT NULL COMMENT '上一次触发时间(毫秒)', + `prev_fire_time` bigint DEFAULT NULL COMMENT '下一次触发时间(默认为-1表示不触发)', + `priority` int DEFAULT NULL COMMENT '优先级', + `trigger_state` varchar(16) NOT NULL COMMENT '触发器状态', + `trigger_type` varchar(8) NOT NULL COMMENT '触发器的类型', + `start_time` bigint NOT NULL COMMENT '开始时间', + `end_time` bigint DEFAULT NULL COMMENT '结束时间', + `calendar_name` varchar(200) DEFAULT NULL COMMENT '日程表名称', + `misfire_instr` smallint DEFAULT NULL COMMENT '补偿执行的策略', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + KEY `sched_name` (`sched_name`,`job_name`,`job_group`), + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `QRTZ_JOB_DETAILS` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='触发器详细信息表'; + +-- ---------------------------- +-- Records of QRTZ_TRIGGERS +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='参数配置表'; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +BEGIN; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '初始化密码 123456'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '深色主题theme-dark,浅色主题theme-light'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '是否开启验证码功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '是否开启注册用户功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2023-05-15 18:23:43', '', NULL, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='部门表'; + +-- ---------------------------- +-- Records of sys_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典数据表'; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别男'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别女'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '性别未知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '显示菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '默认分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统默认是'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统默认否'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '公告'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '关闭状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '其他操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '新增操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '修改操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '删除操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '授权操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '导出操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '导入操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '强退操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '生成操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '清空操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '停用状态'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `dict_type` (`dict_type`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典类型表'; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '任务状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '任务分组列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2023-05-15 18:23:43', '', NULL, '登录状态列表'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE `sys_job` ( + `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度表'; + +-- ---------------------------- +-- Records of sys_job +-- ---------------------------- +BEGIN; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2023-05-15 18:23:43', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度日志表'; + +-- ---------------------------- +-- Records of sys_job_log +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `user_name` varchar(50) DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统访问记录'; + +-- ---------------------------- +-- Records of sys_logininfor +-- ---------------------------- +BEGIN; +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '退出成功', '2023-05-15 19:11:30'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-15 19:11:37'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-15 20:34:52'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 20:38:34'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (104, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 21:42:46'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (105, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-16 23:42:44'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-16 23:42:47'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (107, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-16 23:42:49'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (108, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-17 01:03:33'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-17 01:03:35'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '0', '退出成功', '2023-05-17 01:08:09'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (111, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '1', '验证码错误', '2023-05-17 01:08:16'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (112, 'admin', '127.0.0.1', '内网IP', 'Chrome Mobile', 'Android 6.x', '0', '登录成功', '2023-05-17 01:08:21'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-18 00:49:31'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '验证码错误', '2023-05-19 00:18:45'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-19 00:18:51'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-19 00:46:20'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (117, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-19 22:00:49'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (118, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-21 00:16:01'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (119, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-26 13:28:59'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-27 20:55:06'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (121, 'sw001', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '登录用户:sw001 不存在', '2023-05-31 02:45:46'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (122, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '密码输入错误1次', '2023-05-31 02:45:52'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (123, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '1', '用户不存在/密码错误', '2023-05-31 02:45:52'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-31 02:45:57'); +INSERT INTO `sys_logininfor` (`info_id`, `user_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (125, 'admin', '127.0.0.1', '内网IP', 'Chrome 11', 'Mac OS X', '0', '登录成功', '2023-05-31 03:57:57'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `parent_id` bigint DEFAULT '0' COMMENT '父菜单ID', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) DEFAULT '' COMMENT '路由地址', + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', + `query` varchar(255) DEFAULT NULL COMMENT '路由参数', + `is_frame` int DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2049 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单权限表'; + +-- ---------------------------- +-- Records of sys_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统管理', 0, 1, 'system', NULL, '', 1, 0, 'M', '1', '0', '', 'system', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:42:33', '系统管理目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', 1, 0, 'M', '1', '0', '', 'monitor', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:42:25', '系统监控目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', '2023-05-15 18:23:42', 'admin', '2023-05-19 00:41:50', '系统工具目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2023-05-15 18:23:42', '', NULL, '用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2023-05-15 18:23:42', '', NULL, '角色管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2023-05-15 18:23:42', '', NULL, '菜单管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2023-05-15 18:23:42', '', NULL, '部门管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2023-05-15 18:23:42', '', NULL, '岗位管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2023-05-15 18:23:42', '', NULL, '字典管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2023-05-15 18:23:42', '', NULL, '参数设置菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2023-05-15 18:23:42', '', NULL, '通知公告菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2023-05-15 18:23:42', '', NULL, '日志管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2023-05-15 18:23:42', '', NULL, '在线用户菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2023-05-15 18:23:42', '', NULL, '定时任务菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2023-05-15 18:23:42', '', NULL, '数据监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2023-05-15 18:23:42', '', NULL, '服务监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2023-05-15 18:23:42', '', NULL, '缓存监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2023-05-15 18:23:42', '', NULL, '缓存列表菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (115, '表单构建', 3, 1, 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2023-05-15 18:23:42', '', NULL, '表单构建菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2023-05-15 18:23:42', '', NULL, '代码生成菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2023-05-15 18:23:42', '', NULL, '系统接口菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2023-05-15 18:23:42', '', NULL, '操作日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2023-05-15 18:23:42', '', NULL, '登录日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1000, '用户查询', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1001, '用户新增', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1002, '用户修改', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1003, '用户删除', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1004, '用户导出', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '用户导入', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1006, '重置密码', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1007, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1008, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1009, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1010, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1011, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1012, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1013, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1014, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1015, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1016, '部门查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1017, '部门新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1018, '部门修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1019, '部门删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1020, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1021, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1022, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1023, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1024, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1025, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1026, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1027, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1028, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1029, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1030, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1031, '参数新增', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1032, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1033, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1034, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1035, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1036, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1037, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1038, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1039, '操作查询', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1040, '操作删除', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1041, '日志导出', 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1042, '登录查询', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1043, '登录删除', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1044, '日志导出', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1045, '账户解锁', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1046, '在线查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1047, '批量强退', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1048, '单条强退', 109, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1049, '任务查询', 110, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1050, '任务新增', 110, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1051, '任务修改', 110, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1052, '任务删除', 110, 4, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1053, '状态修改', 110, 5, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1054, '任务导出', 110, 6, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1055, '生成查询', 116, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1056, '生成修改', 116, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1057, '生成删除', 116, 3, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1058, '导入代码', 116, 4, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1059, '预览代码', 116, 5, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1060, '生成代码', 116, 6, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2000, '饮食健康', 0, 0, 'ys', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'people', 'admin', '2023-05-15 18:37:22', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2001, '食物管理', 2000, 1, 'food', 'system/food/index', NULL, 1, 0, 'C', '0', '0', 'system:food:list', '#', 'admin', '2023-05-15 18:43:50', 'admin', '2023-05-15 18:44:30', '食物管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2002, '食物管理查询', 2001, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:query', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2003, '食物管理新增', 2001, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:add', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2004, '食物管理修改', 2001, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:edit', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2005, '食物管理删除', 2001, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:remove', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2006, '食物管理导出', 2001, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:food:export', '#', 'admin', '2023-05-15 18:43:50', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2007, '分类管理', 2000, 1, 'categories', 'system/categories/index', NULL, 1, 0, 'C', '0', '0', 'system:categories:list', '#', 'admin', '2023-05-15 18:43:59', 'admin', '2023-05-15 18:44:23', '分类管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2008, '分类管理查询', 2007, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:query', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2009, '分类管理新增', 2007, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:add', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2010, '分类管理修改', 2007, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:edit', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2011, '分类管理删除', 2007, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:remove', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2012, '分类管理导出', 2007, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:categories:export', '#', 'admin', '2023-05-15 18:43:59', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2013, '用户管理', 2000, 1, 'boheUser', 'system/boheUser/index', NULL, 1, 0, 'C', '0', '0', 'system:boheUser:list', '#', 'admin', '2023-05-16 20:43:31', '', NULL, '薄荷用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2014, '薄荷用户管理查询', 2013, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:query', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2015, '薄荷用户管理新增', 2013, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:add', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2016, '薄荷用户管理修改', 2013, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:edit', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2017, '薄荷用户管理删除', 2013, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:remove', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2018, '薄荷用户管理导出', 2013, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:boheUser:export', '#', 'admin', '2023-05-16 20:43:31', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2019, '运动项目管理', 2000, 1, 'bhmove', 'system/bhmove/index', NULL, 1, 0, 'C', '0', '0', 'system:bhmove:list', '#', 'admin', '2023-05-16 23:48:52', '', NULL, '运动项目管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2020, '运动项目管理查询', 2019, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:query', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2021, '运动项目管理新增', 2019, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:add', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2022, '运动项目管理修改', 2019, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:edit', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2023, '运动项目管理删除', 2019, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:remove', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2024, '运动项目管理导出', 2019, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhmove:export', '#', 'admin', '2023-05-16 23:48:52', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2025, '燃烧我的卡路里', 2000, 1, 'bhCalories', 'system/bhCalories/index', NULL, 1, 0, 'C', '0', '0', 'system:bhCalories:list', '#', 'admin', '2023-05-17 00:19:07', '', NULL, '燃烧我的卡路里菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2026, '燃烧我的卡路里查询', 2025, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:query', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2027, '燃烧我的卡路里新增', 2025, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:add', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2028, '燃烧我的卡路里修改', 2025, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:edit', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2029, '燃烧我的卡路里删除', 2025, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:remove', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2030, '燃烧我的卡路里导出', 2025, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:bhCalories:export', '#', 'admin', '2023-05-17 00:19:07', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2031, '收藏食物', 2000, 1, 'lovefood', 'system/lovefood/index', NULL, 1, 0, 'C', '0', '0', 'system:lovefood:list', '#', 'admin', '2023-05-18 00:53:14', '', NULL, '收藏食物菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2032, '收藏食物查询', 2031, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:query', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2033, '收藏食物新增', 2031, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:add', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2034, '收藏食物修改', 2031, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:edit', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2035, '收藏食物删除', 2031, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:remove', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2036, '收藏食物导出', 2031, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:lovefood:export', '#', 'admin', '2023-05-18 00:53:14', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2037, '点赞记录', 2000, 1, 'love', 'system/love/index', NULL, 1, 0, 'C', '0', '0', 'system:love:list', '#', 'admin', '2023-05-31 03:59:41', '', NULL, '点赞记录菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2038, '点赞记录查询', 2037, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:love:query', '#', 'admin', '2023-05-31 03:59:41', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2039, '点赞记录新增', 2037, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:love:add', '#', 'admin', '2023-05-31 03:59:41', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2040, '点赞记录修改', 2037, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:love:edit', '#', 'admin', '2023-05-31 03:59:41', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2041, '点赞记录删除', 2037, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:love:remove', '#', 'admin', '2023-05-31 03:59:41', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2042, '点赞记录导出', 2037, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:love:export', '#', 'admin', '2023-05-31 03:59:41', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2043, '社区', 2000, 1, 'artice', 'system/artice/index', NULL, 1, 0, 'C', '0', '0', 'system:artice:list', '#', 'admin', '2023-05-31 03:59:43', '', NULL, '社区菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2044, '社区查询', 2043, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:artice:query', '#', 'admin', '2023-05-31 03:59:43', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2045, '社区新增', 2043, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:artice:add', '#', 'admin', '2023-05-31 03:59:43', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2046, '社区修改', 2043, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:artice:edit', '#', 'admin', '2023-05-31 03:59:43', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2047, '社区删除', 2043, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:artice:remove', '#', 'admin', '2023-05-31 03:59:43', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2048, '社区导出', 2043, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'system:artice:export', '#', 'admin', '2023-05-31 03:59:43', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知公告表'; + +-- ---------------------------- +-- Records of sys_notice +-- ---------------------------- +BEGIN; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2023-05-15 18:23:43', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2023-05-15 18:23:43', '', NULL, '管理员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) DEFAULT '' COMMENT '返回参数', + `status` int DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB AUTO_INCREMENT=142 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='操作日志记录'; + +-- ---------------------------- +-- Records of sys_oper_log +-- ---------------------------- +BEGIN; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (100, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_food,bh_categories\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:35:38', 481); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (101, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"categories\",\"className\":\"BhCategories\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":1,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"分类名称\",\"columnId\":2,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ImageUrl\",\"columnComment\":\"图标\",\"columnId\":3,\"columnName\":\"image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"imageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"SubCategoryCount\",\"columnComment\":\"二级分类数量\",\"columnId\":4,\"columnName\":\"sub_category_count\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"subCategoryCount\",\"javaType\":\"String\",\"list\":true,\"p', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:35:55', 66); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (102, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createBy\":\"admin\",\"icon\":\"people\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"饮食健康\",\"menuType\":\"M\",\"orderNum\":0,\"params\":{},\"parentId\":0,\"path\":\"ys\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:37:22', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (103, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"categories\",\"className\":\"BhCategories\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":1,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"分类名称\",\"columnId\":2,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"ImageUrl\",\"columnComment\":\"图标\",\"columnId\":3,\"columnName\":\"image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"imageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":1,\"updateBy\":\"\",\"updateTime\":\"2023-05-15 18:35:55\",\"usableColumn\":false},{\"capJavaField\":\"SubCategoryCount\",\"columnComment\":\"二级分类数量\",\"columnId\":4,\"columnName\":\"sub_category_count\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":false,\"isEdit\":\"0\",\"isIncrement\":\"0\",\"isI', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:39:37', 41); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (104, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"food\",\"className\":\"BhFood\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":7,\"columnName\":\"id\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Code\",\"columnComment\":\"编码\",\"columnId\":8,\"columnName\":\"code\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"code\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"食物名称\",\"columnId\":9,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ThumbImageUrl\",\"columnComment\":\"缩略图\",\"columnId\":10,\"columnName\":\"thumb_image_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-15 18:35:38\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"javaField\":\"thumbImageUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:41:03', 173); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (105, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_categories,bh_food\"}', NULL, 0, NULL, '2023-05-15 18:41:09', 163); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (106, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"system/categories/index\",\"createTime\":\"2023-05-15 18:43:59\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2007,\"menuName\":\"分类管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"categories\",\"perms\":\"system:categories:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:44:23', 10); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (107, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"system/food/index\",\"createTime\":\"2023-05-15 18:43:50\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2001,\"menuName\":\"食物管理\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"food\",\"perms\":\"system:food:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 18:44:30', 8); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (108, '分类管理', 2, 'com.ruoyi.web.controller.system.BhCategoriesController.edit()', 'PUT', 1, 'admin', NULL, '/system/categories', '127.0.0.1', '内网IP', '{\"id\":1,\"imageUrl\":\"http://up.boohee.cn/house/u/food_library/category/1_v1.png,/profile/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png\",\"name\":\"主食类\",\"params\":{},\"subCategories\":\"[{\\\"id\\\":13,\\\"name\\\":\\\"包装谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":11,\\\"name\\\":\\\"天然谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":12,\\\"name\\\":\\\"谷薯制品\\\",\\\"image_url\\\":null}]\",\"subCategoryCount\":\"3\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 19:45:22', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (109, '分类管理', 2, 'com.ruoyi.web.controller.system.BhCategoriesController.edit()', 'PUT', 1, 'admin', NULL, '/system/categories', '127.0.0.1', '内网IP', '{\"id\":1,\"imageUrl\":\"/profile/upload/2023/05/15/校园疫情防控流程图 (2)_20230515194513A001.png\",\"name\":\"主食类\",\"params\":{},\"subCategories\":\"[{\\\"id\\\":13,\\\"name\\\":\\\"包装谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":11,\\\"name\\\":\\\"天然谷薯\\\",\\\"image_url\\\":null},{\\\"id\\\":12,\\\"name\\\":\\\"谷薯制品\\\",\\\"image_url\\\":null}]\",\"subCategoryCount\":\"3\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-15 19:46:06', 13); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (110, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:38:45', 109); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (111, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"boheUser\",\"className\":\"BoheUser\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"用户编号\",\"columnId\":44,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Username\",\"columnComment\":\"账号\",\"columnId\":45,\"columnName\":\"username\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"username\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Password\",\"columnComment\":\"密码\",\"columnId\":46,\"columnName\":\"password\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"password\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"姓名\",\"columnId\":47,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"q', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:39:30', 53); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (112, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', NULL, 0, NULL, '2023-05-16 20:39:36', 198); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (113, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"boheUser\",\"className\":\"BoheUser\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"用户编号\",\"columnId\":44,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Username\",\"columnComment\":\"账号\",\"columnId\":45,\"columnName\":\"username\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"username\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Password\",\"columnComment\":\"密码\",\"columnId\":46,\"columnName\":\"password\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"password\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 20:39:30\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"姓名\",\"columnId\":47,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 20:38:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 20:39:48', 36); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (114, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bohe_user\"}', NULL, 0, NULL, '2023-05-16 20:40:05', 41); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (115, '薄荷用户管理', 1, 'com.ruoyi.web.controller.system.BoheUserController.add()', 'POST', 1, 'admin', NULL, '/system/boheUser/add', '127.0.0.1', '内网IP', '{\"age\":17,\"height\":180,\"id\":1,\"name\":\"1\",\"params\":{},\"username\":\"1\",\"weight\":140}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 21:45:48', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (116, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_move\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:42:59', 140); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (117, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhmove\",\"className\":\"BhMove\",\"columns\":[{\"capJavaField\":\"Id\",\"columnId\":52,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Img\",\"columnComment\":\"缩略图\",\"columnId\":53,\"columnName\":\"img\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"img\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"项目名称\",\"columnId\":54,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Calory\",\"columnComment\":\"卡路里\",\"columnId\":55,\"columnName\":\"calory\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"calory\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":4,\"superColumn\":', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:45:58', 61); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (118, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhmove\",\"className\":\"BhMove\",\"columns\":[{\"capJavaField\":\"Id\",\"columnId\":52,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Img\",\"columnComment\":\"缩略图\",\"columnId\":53,\"columnName\":\"img\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"imageUpload\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"img\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"项目名称\",\"columnId\":54,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2023-05-16 23:45:58\",\"usableColumn\":false},{\"capJavaField\":\"Calory\",\"columnComment\":\"卡路里\",\"columnId\":55,\"columnName\":\"calory\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-16 23:42:59\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"calory\",\"javaType\":\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:46:36', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (119, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_move\"}', NULL, 0, NULL, '2023-05-16 23:46:39', 382); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (120, '运动项目管理', 1, 'com.ruoyi.web.controller.system.BhMoveController.add()', 'POST', 1, 'admin', NULL, '/system/bhmove', '127.0.0.1', '内网IP', '{\"calory\":100,\"id\":1,\"img\":\"/profile/upload/2023/05/16/beauty_1658326003661_20230516235326A001.JPG\",\"name\":\"跑步\",\"params\":{},\"weight\":60}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:53:37', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (121, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/bohe_user', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-16 23:56:29', 183); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (122, '薄荷用户管理', 2, 'com.ruoyi.web.controller.system.BoheUserController.edit()', 'PUT', 1, 'admin', NULL, '/system/boheUser', '127.0.0.1', '内网IP', '{\"age\":23,\"calory\":2206,\"height\":180,\"id\":2,\"name\":\"小羊\",\"params\":{},\"sex\":\"1\",\"username\":\"123\",\"weight\":140}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:02:11', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (123, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_calories\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:12:57', 477); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (124, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"bhCalories\",\"className\":\"BhCalories\",\"columns\":[{\"capJavaField\":\"Uid\",\"columnComment\":\"用户id\",\"columnId\":59,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CName\",\"columnComment\":\"项目名称\",\"columnId\":60,\"columnName\":\"c_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CId\",\"columnComment\":\"项目id\",\"columnId\":61,\"columnName\":\"c_id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CType\",\"columnComment\":\"项目类型\",\"columnId\":62,\"columnName\":\"c_type\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-17 00:12:57\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"select\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"cType\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"q', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-17 00:14:06', 84); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (125, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_calories\"}', NULL, 0, NULL, '2023-05-17 00:14:11', 476); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (126, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_love_food\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-18 00:49:44', 84); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (127, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"lovefood\",\"className\":\"BhLoveFood\",\"columns\":[{\"capJavaField\":\"Uid\",\"columnId\":69,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-18 00:49:44\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":6,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Fid\",\"columnId\":70,\"columnName\":\"fid\",\"columnType\":\"bigint\",\"createBy\":\"admin\",\"createTime\":\"2023-05-18 00:49:44\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"fid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":6,\"updateBy\":\"\",\"usableColumn\":false}],\"crud\":true,\"functionAuthor\":\"MrYuan\",\"functionName\":\"收藏食物\",\"genPath\":\"/\",\"genType\":\"0\",\"moduleName\":\"system\",\"options\":\"{\\\"parentMenuId\\\":2000}\",\"packageName\":\"com.ruoyi.system\",\"params\":{\"parentMenuId\":2000},\"parentMenuId\":\"2000\",\"sub\":false,\"tableComment\":\"收藏食物\",\"tableId\":6,\"tableName\":\"bh_love_food\",\"tplCategory\":\"crud\",\"tree\":false}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-18 00:50:51', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (128, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_love_food\"}', NULL, 0, NULL, '2023-05-18 00:51:03', 223); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (129, '食物管理', 1, 'com.ruoyi.web.controller.system.BhFoodController.add()', 'POST', 1, 'admin', NULL, '/system/food', '127.0.0.1', '内网IP', '{\"code\":\"cces\",\"id\":40104,\"name\":\"123\",\"params\":{},\"thumbImageUrl\":\"http://localhost:8081/profile/upload/2023/05/19/IMG_6856_20230519003416A001.JPG\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:34:19', 47); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (130, '食物管理', 3, 'com.ruoyi.web.controller.system.BhFoodController.remove()', 'DELETE', 1, 'admin', NULL, '/system/food/40104', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:34:35', 13); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (131, '运动项目管理', 2, 'com.ruoyi.web.controller.system.BhMoveController.edit()', 'PUT', 1, 'admin', NULL, '/system/bhmove', '127.0.0.1', '内网IP', '{\"calory\":100,\"id\":1,\"img\":\"http://localhost:8081/profile/upload/2023/05/19/download_20230519004016A002.jpg\",\"name\":\"跑步\",\"params\":{},\"type\":1,\"weight\":60}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:40:17', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (132, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"tool\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":3,\"menuName\":\"系统工具\",\"menuType\":\"M\",\"orderNum\":3,\"params\":{},\"parentId\":0,\"path\":\"tool\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:41:50', 90); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (133, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', NULL, '/system/menu/4', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"菜单已分配,不允许删除\",\"code\":601}', 0, NULL, '2023-05-19 00:41:53', 33); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (134, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'DELETE', 1, 'admin', NULL, '/system/menu/4', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"菜单已分配,不允许删除\",\"code\":601}', 0, NULL, '2023-05-19 00:42:20', 10); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (135, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"monitor\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2,\"menuName\":\"系统监控\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":0,\"path\":\"monitor\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:42:25', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (136, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2023-05-15 18:23:42\",\"icon\":\"system\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":1,\"menuName\":\"系统管理\",\"menuType\":\"M\",\"orderNum\":1,\"params\":{},\"parentId\":0,\"path\":\"system\",\"perms\":\"\",\"query\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"1\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-19 00:42:33', 10); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (137, '食物管理', 5, 'com.ruoyi.web.controller.system.BhFoodController.export()', 'POST', 1, 'admin', NULL, '/system/food/export', '127.0.0.1', '内网IP', '{\"pageSize\":\"10\",\"pageNum\":\"1\"}', NULL, 0, NULL, '2023-05-19 22:19:36', 1034); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (138, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bh_artice,bh_a_love\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-31 02:46:49', 228); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (139, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"artice\",\"className\":\"BhArtice\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"ID\",\"columnId\":73,\"columnName\":\"id\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":8,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"姓名\",\"columnId\":74,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":8,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Uid\",\"columnComment\":\"用户ID\",\"columnId\":75,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":8,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Content\",\"columnComment\":\"内容\",\"columnId\":76,\"columnName\":\"content\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"editor\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"content\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":fals', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-31 02:47:20', 83); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (140, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"love\",\"className\":\"BhALove\",\"columns\":[{\"capJavaField\":\"Uid\",\"columnComment\":\"点赞用户ID\",\"columnId\":71,\"columnName\":\"uid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"uid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":7,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Aid\",\"columnComment\":\"点赞文章\",\"columnId\":72,\"columnName\":\"aid\",\"columnType\":\"int\",\"createBy\":\"admin\",\"createTime\":\"2023-05-31 02:46:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"aid\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":7,\"updateBy\":\"\",\"usableColumn\":false}],\"crud\":true,\"functionAuthor\":\"MrYuan\",\"functionName\":\"点赞记录\",\"genPath\":\"/\",\"genType\":\"0\",\"moduleName\":\"system\",\"options\":\"{\\\"parentMenuId\\\":2000}\",\"packageName\":\"com.ruoyi.system\",\"params\":{\"parentMenuId\":2000},\"parentMenuId\":\"2000\",\"sub\":false,\"tableComment\":\"点赞\",\"tableId\":7,\"tableName\":\"bh_a_love\",\"tplCategory\":\"crud\",\"tree\":false}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2023-05-31 02:48:00', 37); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (141, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bh_a_love,bh_artice\"}', NULL, 0, NULL, '2023-05-31 02:48:05', 526); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='岗位信息表'; + +-- ---------------------------- +-- Records of sys_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2023-05-15 18:23:42', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色信息表'; + +-- ---------------------------- +-- Records of sys_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL, '超级管理员'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2023-05-15 18:23:42', '', NULL, '普通角色'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- Records of sys_role_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 100); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 101); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 105); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- Records of sys_role_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 3); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 4); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 100); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 101); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 102); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 103); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 104); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 105); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 106); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 107); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 108); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 109); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 110); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 111); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 112); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 113); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 114); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 115); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 116); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 117); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 500); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 501); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1000); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1002); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1003); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1004); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1005); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1006); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1007); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1008); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1009); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1010); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1011); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1012); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1013); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1014); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1015); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1016); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1017); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1018); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1019); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1020); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1021); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1022); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1023); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1024); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1025); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1026); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1027); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1028); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1029); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1030); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1031); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1032); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1033); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1034); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1035); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1036); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1037); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1038); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1039); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1040); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1041); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1042); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1043); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1044); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1045); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1046); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1047); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1048); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1049); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1050); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1051); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1052); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1053); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1054); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1055); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1056); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1057); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1058); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1059); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1060); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) DEFAULT '' COMMENT '头像地址', + `password` varchar(100) DEFAULT '' COMMENT '密码', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息表'; + +-- ---------------------------- +-- Records of sys_user +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2023-05-31 03:57:57', 'admin', '2023-05-15 18:23:42', '', '2023-05-31 03:57:57', '管理员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2023-05-15 18:23:42', 'admin', '2023-05-15 18:23:42', '', NULL, '测试员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Records of sys_user_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (1, 1); +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (2, 2); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Records of sys_user_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (1, 1); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (2, 2); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/cyxproject/healthy_diet/icon/dadou.png b/src/cyxproject/healthy_diet/icon/dadou.png new file mode 100644 index 0000000..9a6904f Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/dadou.png differ diff --git a/src/cyxproject/healthy_diet/icon/jianguo.png b/src/cyxproject/healthy_diet/icon/jianguo.png new file mode 100644 index 0000000..f64b2bb Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/jianguo.png differ diff --git a/src/cyxproject/healthy_diet/icon/lingshi.png b/src/cyxproject/healthy_diet/icon/lingshi.png new file mode 100644 index 0000000..0491eaf Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/lingshi.png differ diff --git a/src/cyxproject/healthy_diet/icon/qita.png b/src/cyxproject/healthy_diet/icon/qita.png new file mode 100644 index 0000000..f9554cf Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/qita.png differ diff --git a/src/cyxproject/healthy_diet/icon/roudan.png b/src/cyxproject/healthy_diet/icon/roudan.png new file mode 100644 index 0000000..d238b61 Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/roudan.png differ diff --git a/src/cyxproject/healthy_diet/icon/shucai.png b/src/cyxproject/healthy_diet/icon/shucai.png new file mode 100644 index 0000000..99d97c6 Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/shucai.png differ diff --git a/src/cyxproject/healthy_diet/icon/shuiguo.png b/src/cyxproject/healthy_diet/icon/shuiguo.png new file mode 100644 index 0000000..1db3563 Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/shuiguo.png differ diff --git a/src/cyxproject/healthy_diet/icon/tiaoweipin.png b/src/cyxproject/healthy_diet/icon/tiaoweipin.png new file mode 100644 index 0000000..9e0d58a Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/tiaoweipin.png differ diff --git a/src/cyxproject/healthy_diet/icon/yinliao.png b/src/cyxproject/healthy_diet/icon/yinliao.png new file mode 100644 index 0000000..0c7ee2d Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/yinliao.png differ diff --git a/src/cyxproject/healthy_diet/icon/youzhi.png b/src/cyxproject/healthy_diet/icon/youzhi.png new file mode 100644 index 0000000..944fcea Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/youzhi.png differ diff --git a/src/cyxproject/healthy_diet/icon/zhushi.png b/src/cyxproject/healthy_diet/icon/zhushi.png new file mode 100644 index 0000000..56de68e Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/zhushi.png differ diff --git a/src/cyxproject/healthy_diet/icon/奶类.png b/src/cyxproject/healthy_diet/icon/奶类.png new file mode 100644 index 0000000..4bab932 Binary files /dev/null and b/src/cyxproject/healthy_diet/icon/奶类.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/.hbuilderx/launch.json b/src/cyxproject/healthy_diet/jiankangAPP/.hbuilderx/launch.json new file mode 100644 index 0000000..5e2090f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/.hbuilderx/launch.json @@ -0,0 +1,16 @@ +{ + "version" : "1.0", + "configurations" : [ + { + "playground" : "standard", + "type" : "uni-app:app-android" + }, + { + "app-plus" : + { + "launchtype" : "local" + }, + "type" : "uniCloud" + } + ] +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/App.vue b/src/cyxproject/healthy_diet/jiankangAPP/App.vue new file mode 100644 index 0000000..6bbd745 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/App.vue @@ -0,0 +1,36 @@ + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/countDown.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/countDown.vue new file mode 100644 index 0000000..afbedb0 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/countDown.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-action-sheet.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-action-sheet.vue new file mode 100644 index 0000000..5001a8e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-action-sheet.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-area-picker.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-area-picker.vue new file mode 100644 index 0000000..8c9bef2 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-area-picker.vue @@ -0,0 +1,163 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-info.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-info.vue new file mode 100644 index 0000000..e07178c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-info.vue @@ -0,0 +1,185 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-list.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-list.vue new file mode 100644 index 0000000..2a3725c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-article-list.vue @@ -0,0 +1,68 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-audio-player.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-audio-player.vue new file mode 100644 index 0000000..dc6f79c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-audio-player.vue @@ -0,0 +1,206 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-box-banner.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-box-banner.vue new file mode 100644 index 0000000..759e809 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-box-banner.vue @@ -0,0 +1,108 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.js b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.js new file mode 100644 index 0000000..49c7ec3 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.js @@ -0,0 +1,563 @@ +/* eslint-disable */ +/** + * @公历转农历:this.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] + * @农历转公历:this.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] + */ +module.exports = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo:[0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,//1900-1909 + 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,//1910-1919 + 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,//1920-1929 + 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,//1930-1939 + 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,//1940-1949 + 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5b0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,//1950-1959 + 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,//1960-1969 + 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b6a0,0x195a6,//1970-1979 + 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,//1980-1989 + 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,//1990-1999 + 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,//2000-2009 + 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,//2010-2019 + 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,//2020-2029 + 0x05aa0,0x076a3,0x096d0,0x04afb,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,//2030-2039 + 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,//2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63,0x09370,0x049f8,0x04970,0x064b0,0x168a6,0x0ea50, 0x06b20,0x1a6c4,0x0aae0,//2050-2059 + 0x0a2e0,0x0d2e3,0x0c960,0x0d557,0x0d4a0,0x0da50,0x05d55,0x056a0,0x0a6d0,0x055d4,//2060-2069 + 0x052d0,0x0a9b8,0x0a950,0x0b4a0,0x0b6a6,0x0ad50,0x055a0,0x0aba4,0x0a5b0,0x052b0,//2070-2079 + 0x0b273,0x06930,0x07337,0x06aa0,0x0ad50,0x14b55,0x04b60,0x0a570,0x054e4,0x0d160,//2080-2089 + 0x0e968,0x0d520,0x0daa0,0x16aa6,0x056d0,0x04ae0,0x0a9d4,0x0a2d0,0x0d150,0x0f252,//2090-2099 + 0x0d520],//2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth:[31,28,31,30,31,30,31,31,30,31,30,31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan:["\u7532","\u4e59","\u4e19","\u4e01","\u620a","\u5df1","\u5e9a","\u8f9b","\u58ec","\u7678"], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi:["\u5b50","\u4e11","\u5bc5","\u536f","\u8fb0","\u5df3","\u5348","\u672a","\u7533","\u9149","\u620c","\u4ea5"], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals:["\u9f20","\u725b","\u864e","\u5154","\u9f99","\u86c7","\u9a6c","\u7f8a","\u7334","\u9e21","\u72d7","\u732a"], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm:["\u5c0f\u5bd2","\u5927\u5bd2","\u7acb\u6625","\u96e8\u6c34","\u60ca\u86f0","\u6625\u5206","\u6e05\u660e","\u8c37\u96e8","\u7acb\u590f","\u5c0f\u6ee1","\u8292\u79cd","\u590f\u81f3","\u5c0f\u6691","\u5927\u6691","\u7acb\u79cb","\u5904\u6691","\u767d\u9732","\u79cb\u5206","\u5bd2\u9732","\u971c\u964d","\u7acb\u51ac","\u5c0f\u96ea","\u5927\u96ea","\u51ac\u81f3"], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo:['9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa','9778397bd19801ec9210c965cc920e','97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2','9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e','97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec95f8c965cc920e','97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2','9778397bd19801ec9210c9274c920e','97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f','97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e','97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b97bd197c36c9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd','7f07e7f0e37f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f595b0b0bb0b6fb0722','7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722','7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd','7f07e7f0e37f14998083b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14898082b0723b02d5','7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66aa89801e9808297c35','665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35','665f67f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e26665b66a449801e9808297c35','665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341"], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2:["\u521d","\u5341","\u5eff","\u5345"], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3:["\u6b63","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u51ac","\u814a"], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @eg:var count = this.lYearDays(1987) ;//count=387 + */ + lYearDays:function(y) { + var i, sum = 348; + for(i=0x8000; i>0x8; i>>=1) { sum += (this.lunarInfo[y-1900] & i)? 1: 0; } + return(sum+this.leapDays(y)); + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = this.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth:function(y) { //闰字编码 \u95f0 + return(this.lunarInfo[y-1900] & 0xf); + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = this.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays:function(y) { + if(this.leapMonth(y)) { + return((this.lunarInfo[y-1900] & 0x10000)? 30: 29); + } + return(0); + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = this.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays:function(y,m) { + if(m>12 || m<1) {return -1}//月份参数从1至12,参数错误返回-1 + return( (this.lunarInfo[y-1900] & (0x10000>>m))? 30: 29 ); + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = this.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays:function(y,m) { + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var ms = m-1; + if(ms==1) { //2月份的闰平规律测算后确认返回28或29 + return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28); + }else { + return(this.solarMonth[ms]); + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear:function(lYear) { + var ganKey = (lYear - 3) % 10; + var zhiKey = (lYear - 3) % 12; + if(ganKey == 0) ganKey = 10;//如果余数为0则为最后一个天干 + if(zhiKey == 0) zhiKey = 12;//如果余数为0则为最后一个地支 + return this.Gan[ganKey-1] + this.Zhi[zhiKey-1]; + + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro:function(cMonth,cDay) { + var s = "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; + var arr = [20,19,21,21,21,22,23,23,23,23,22,22]; + return s.substr(cMonth*2 - (cDay < arr[cMonth-1] ? 2 : 0),2) + "\u5ea7";//座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi:function(offset) { + return this.Gan[offset%10] + this.Zhi[offset%12]; + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = this.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm:function(y,n) { + if(y<1900 || y>2100) {return -1;} + if(n<1 || n>24) {return -1;} + var _table = this.sTermInfo[y-1900]; + var _info = [ + parseInt('0x'+_table.substr(0,5)).toString() , + parseInt('0x'+_table.substr(5,5)).toString(), + parseInt('0x'+_table.substr(10,5)).toString(), + parseInt('0x'+_table.substr(15,5)).toString(), + parseInt('0x'+_table.substr(20,5)).toString(), + parseInt('0x'+_table.substr(25,5)).toString() + ]; + var _calday = [ + _info[0].substr(0,1), + _info[0].substr(1,2), + _info[0].substr(3,1), + _info[0].substr(4,2), + + _info[1].substr(0,1), + _info[1].substr(1,2), + _info[1].substr(3,1), + _info[1].substr(4,2), + + _info[2].substr(0,1), + _info[2].substr(1,2), + _info[2].substr(3,1), + _info[2].substr(4,2), + + _info[3].substr(0,1), + _info[3].substr(1,2), + _info[3].substr(3,1), + _info[3].substr(4,2), + + _info[4].substr(0,1), + _info[4].substr(1,2), + _info[4].substr(3,1), + _info[4].substr(4,2), + + _info[5].substr(0,1), + _info[5].substr(1,2), + _info[5].substr(3,1), + _info[5].substr(4,2), + ]; + return parseInt(_calday[n-1]); + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = this.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth:function(m) { // 月 => \u6708 + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var s = this.nStr3[m-1]; + s+= "\u6708";//加上月字 + return s; + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = this.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay:function(d){ //日 => \u65e5 + var s; + switch (d) { + case 10: + s = '\u521d\u5341'; break; + case 20: + s = '\u4e8c\u5341'; break; + break; + case 30: + s = '\u4e09\u5341'; break; + break; + default : + s = this.nStr2[Math.floor(d/10)]; + s += this.nStr1[d%10]; + } + return(s); + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = this.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function(y) { + return this.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(this.solar2lunar(1987,11,01)); + */ + solar2lunar:function (y,m,d) { //参数区间1900.1.31~2100.12.31 + if(y<1900 || y>2100) {return -1;}//年份限定、上限 + if(y==1900&&m==1&&d<31) {return -1;}//下限 + if(!y) { //未传参 获得当天 + var objDate = new Date(); + }else { + var objDate = new Date(y,parseInt(m)-1,d) + } + var i, leap=0, temp=0; + // 修正ymd参数 + // var y = objDate.getFullYear(),m = objDate.getMonth()+1,d = objDate.getDate(); + var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000; + for(i=1900; i<2101 && offset>0; i++) { temp=this.lYearDays(i); offset-=temp; } + if(offset<0) { offset+=temp; i--; } + + //是否今天 + var isTodayObj = new Date(),isToday=false; + if(isTodayObj.getFullYear()==y && isTodayObj.getMonth()+1==m && isTodayObj.getDate()==d) { + isToday = true; + } + //星期几 + var nWeek = objDate.getDay(),cWeek = this.nStr1[nWeek]; + if(nWeek==0) {nWeek =7;}//数字表示周几顺应天朝周一开始的惯例 + //农历年 + var year = i; + + var leap = this.leapMonth(i); //闰哪个月 + var isLeap = false; + + //效验闰月 + for(i=1; i<13 && offset>0; i++) { + //闰月 + if(leap>0 && i==(leap+1) && isLeap==false){ + --i; + isLeap = true; temp = this.leapDays(year); //计算农历闰月天数 + } + else{ + temp = this.monthDays(year, i);//计算农历普通月天数 + } + //解除闰月 + if(isLeap==true && i==(leap+1)) { isLeap = false; } + offset -= temp; + } + + if(offset==0 && leap>0 && i==leap+1) + if(isLeap){ + isLeap = false; + }else{ + isLeap = true; --i; + } + if(offset<0){ offset += temp; --i; } + //农历月 + var month = i; + //农历日 + var day = offset + 1; + + //天干地支处理 + var sm = m-1; + var gzY = this.toGanZhiYear(year); + + //月柱 1900年1月小寒以前为 丙子月(60进制12) + var firstNode = this.getTerm(year,(m*2-1));//返回当月「节」为几日开始 + var secondNode = this.getTerm(year,(m*2));//返回当月「节」为几日开始 + + //依据12节气修正干支月 + var gzM = this.toGanZhi((y-1900)*12+m+11); + if(d>=firstNode) { + gzM = this.toGanZhi((y-1900)*12+m+12); + } + + //传入的日期的节气与否 + var isTerm = false; + var Term = null; + if(firstNode==d) { + isTerm = true; + Term = this.solarTerm[m*2-2]; + } + if(secondNode==d) { + isTerm = true; + Term = this.solarTerm[m*2-1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y,sm,1,0,0,0,0)/86400000+25567+10; + var gzD = this.toGanZhi(dayCyclical+d-1); + //该日期所属的星座 + var astro = this.toAstro(m,d); + + return {'lYear':year,'lMonth':month,'lDay':day,'Animal':this.getAnimal(year),'IMonthCn':(isLeap?"\u95f0":'')+this.toChinaMonth(month),'IDayCn':this.toChinaDay(day),'cYear':y,'cMonth':m,'cDay':d,'gzYear':gzY,'gzMonth':gzM,'gzDay':gzD,'isToday':isToday,'isLeap':isLeap,'nWeek':nWeek,'ncWeek':"\u661f\u671f"+cWeek,'isTerm':isTerm,'Term':Term,'astro':astro}; + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(this.lunar2solar(1987,9,10)); + */ + lunar2solar:function(y,m,d,isLeapMonth) { + //参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth; + var leapOffset = 0; + var leapMonth = this.leapMonth(y); + var leapDay = this.leapDays(y); + if(isLeapMonth&&(leapMonth!=m)) {return -1;}//传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if(y==2100&&m==12&&d>1 || y==1900&&m==1&&d<31) {return -1;}//超出了最大极限值 + var day = this.monthDays(y,m); + var _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if(isLeapMonth) { + _day = this.leapDays(y,m); + } + if(y < 1900 || y > 2100 || d > _day) {return -1;}//参数合法性效验 + + //计算农历的时间差 + var offset = 0; + for(var i=1900;i0) { + offset+=this.leapDays(y);isAdd = true; + } + } + offset+=this.monthDays(y,i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if(isLeapMonth) {offset+=day;} + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900,1,30,0,0,0); + var calObj = new Date((offset+d-31)*86400000+stmap); + var cY = calObj.getUTCFullYear(); + var cM = calObj.getUTCMonth()+1; + var cD = calObj.getUTCDate(); + + return this.solar2lunar(cY,cM,cD); + }, + + defaultLunar : { + '1y1': '春节', + '1y15': '元宵节', + '2y2': '龙头节', + '5y5': '端午节', + '7y7': '七夕节', + '7y15': '中元节', + '8y15': '中秋节', + '9y9': '重阳节', + '10y1': '寒衣节', + '10y15': '下元节', + '12y8': '腊八节', + '12y23': '小年', + }, + + defaultGregorian : { + '1y1': '元旦', + '2y14': '情人节', + '3y8': '妇女节', + '3y12': '植树节', + '5y1': '劳动节', + '5y4': '青年节', + '6y1': '儿童节', + '7y1': '建党节', + '8y1': '建军节', + '9y10': '教师节', + '10y1': '国庆节', + '12y24': '平安夜', + '12y25': '圣诞节', + }, + + getLunarInfo : function(y, m, d) { + // 匹配阳历节日 + var glDay = m+'y'+d; + if(this.defaultGregorian[glDay]){ + return this.defaultGregorian[glDay]; + } + var nlObj = this.solar2lunar(y, m, d); + // 阴历节日 + var nlDay = nlObj.lMonth+'y'+nlObj.lDay; + if(this.defaultLunar[nlDay]){ + return this.defaultLunar[nlDay] + } + return nlObj.IDayCn; + } +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.vue new file mode 100644 index 0000000..10b1168 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-calendar.vue @@ -0,0 +1,761 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-car-number.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-car-number.vue new file mode 100644 index 0000000..483f560 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-car-number.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-choose-images.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-choose-images.vue new file mode 100644 index 0000000..2419cbe --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-choose-images.vue @@ -0,0 +1,102 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-column.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-column.vue new file mode 100644 index 0000000..97c588c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-column.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-count-down.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-count-down.vue new file mode 100644 index 0000000..8b7a87f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-count-down.vue @@ -0,0 +1,151 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-coupons.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-coupons.vue new file mode 100644 index 0000000..302a2b0 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-coupons.vue @@ -0,0 +1,59 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-date-between.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-date-between.vue new file mode 100644 index 0000000..c79421d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-date-between.vue @@ -0,0 +1,164 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-between.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-between.vue new file mode 100644 index 0000000..9274225 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-between.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-bt-base.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-bt-base.vue new file mode 100644 index 0000000..1a454b2 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime-bt-base.vue @@ -0,0 +1,218 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime.vue new file mode 100644 index 0000000..1686b5a --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-datetime.vue @@ -0,0 +1,262 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-banner.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-banner.vue new file mode 100644 index 0000000..53da4ce --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-banner.vue @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-desc.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-desc.vue new file mode 100644 index 0000000..319a680 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-desc.vue @@ -0,0 +1,22 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-header.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-header.vue new file mode 100644 index 0000000..c7489a7 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-header.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-list.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-list.vue new file mode 100644 index 0000000..fc7d74b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-demo-list.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-editor.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-editor.vue new file mode 100644 index 0000000..385e475 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-editor.vue @@ -0,0 +1,236 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-im-message.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-im-message.vue new file mode 100644 index 0000000..2a4482f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-im-message.vue @@ -0,0 +1,159 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-image.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-image.vue new file mode 100644 index 0000000..6260a51 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-image.vue @@ -0,0 +1,76 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-interval-slider.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-interval-slider.vue new file mode 100644 index 0000000..13de4cb --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-interval-slider.vue @@ -0,0 +1,166 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-iphone-bottom.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-iphone-bottom.vue new file mode 100644 index 0000000..5e5a2d7 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-iphone-bottom.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-link.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-link.vue new file mode 100644 index 0000000..8a52456 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-link.vue @@ -0,0 +1,51 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-loadmore.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-loadmore.vue new file mode 100644 index 0000000..7a5e1ed --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-loadmore.vue @@ -0,0 +1,92 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-modal.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-modal.vue new file mode 100644 index 0000000..25e8da5 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-modal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-mp-menu-spacing.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-mp-menu-spacing.vue new file mode 100644 index 0000000..a6486fc --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-mp-menu-spacing.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-animate.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-animate.vue new file mode 100644 index 0000000..cc2ce32 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-animate.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-keyboard.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-keyboard.vue new file mode 100644 index 0000000..2b14aea --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-number-keyboard.vue @@ -0,0 +1,120 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-order.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-order.vue new file mode 100644 index 0000000..2ca416b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-order.vue @@ -0,0 +1,74 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page-loading.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page-loading.vue new file mode 100644 index 0000000..17fd8d1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page-loading.vue @@ -0,0 +1,170 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page.vue new file mode 100644 index 0000000..8259635 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-page.vue @@ -0,0 +1,430 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-pk.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-pk.vue new file mode 100644 index 0000000..7aedacb --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-pk.vue @@ -0,0 +1,91 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup-menu.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup-menu.vue new file mode 100644 index 0000000..8011924 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup-menu.vue @@ -0,0 +1,112 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup.vue new file mode 100644 index 0000000..37097de --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-popup.vue @@ -0,0 +1,276 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-product-list.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-product-list.vue new file mode 100644 index 0000000..be326b1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-product-list.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-progress-scrollview.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-progress-scrollview.vue new file mode 100644 index 0000000..e3aa9ae --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-progress-scrollview.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-radio.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-radio.vue new file mode 100644 index 0000000..8857b99 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-radio.vue @@ -0,0 +1,83 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-refresh.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-refresh.vue new file mode 100644 index 0000000..c5a4f79 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-refresh.vue @@ -0,0 +1,125 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-right-menus.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-right-menus.vue new file mode 100644 index 0000000..c51a5ec --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-right-menus.vue @@ -0,0 +1,74 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-row.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-row.vue new file mode 100644 index 0000000..310565f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-row.vue @@ -0,0 +1,56 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-schedule.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-schedule.vue new file mode 100644 index 0000000..dc2e000 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-schedule.vue @@ -0,0 +1,770 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scroll-message.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scroll-message.vue new file mode 100644 index 0000000..3c73929 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scroll-message.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems-y.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems-y.vue new file mode 100644 index 0000000..de6308f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems-y.vue @@ -0,0 +1,114 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems.vue new file mode 100644 index 0000000..ab1d09c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-scrollitems.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-search.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-search.vue new file mode 100644 index 0000000..33da1e6 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-search.vue @@ -0,0 +1,101 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-segmented-control.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-segmented-control.vue new file mode 100644 index 0000000..8b9ab64 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-segmented-control.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-list.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-list.vue new file mode 100644 index 0000000..912bd2c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-list.vue @@ -0,0 +1,105 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-menu.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-menu.vue new file mode 100644 index 0000000..c68fbfd --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-select-menu.vue @@ -0,0 +1,225 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-single-slider.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-single-slider.vue new file mode 100644 index 0000000..6cccdfa --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-single-slider.vue @@ -0,0 +1,132 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-skeleton.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-skeleton.vue new file mode 100644 index 0000000..dd37dc0 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-skeleton.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-list.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-list.vue new file mode 100644 index 0000000..40a382c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-list.vue @@ -0,0 +1,155 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-to-unlock.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-to-unlock.vue new file mode 100644 index 0000000..ae306ac --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-slide-to-unlock.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-speaker.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-speaker.vue new file mode 100644 index 0000000..f14fcc6 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-speaker.vue @@ -0,0 +1,44 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-spread.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-spread.vue new file mode 100644 index 0000000..499332e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-spread.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-stags.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-stags.vue new file mode 100644 index 0000000..fe626cf --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-stags.vue @@ -0,0 +1,115 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-star.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-star.vue new file mode 100644 index 0000000..b1bd979 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-star.vue @@ -0,0 +1,50 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-step-box.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-step-box.vue new file mode 100644 index 0000000..562fae0 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-step-box.vue @@ -0,0 +1,120 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-button.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-button.vue new file mode 100644 index 0000000..a480352 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-button.vue @@ -0,0 +1,202 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-comment.vue b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-comment.vue new file mode 100644 index 0000000..bb96a9b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/GraceUI5/components/gui-submit-comment.vue @@ -0,0 +1,111 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/pages/userInfo/userInfo.vue b/src/cyxproject/healthy_diet/jiankangAPP/pages/userInfo/userInfo.vue new file mode 100644 index 0000000..06f578e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/pages/userInfo/userInfo.vue @@ -0,0 +1,185 @@ + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/readme.md b/src/cyxproject/healthy_diet/jiankangAPP/readme.md new file mode 100644 index 0000000..49c419d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/readme.md @@ -0,0 +1,41 @@ +### GraceUI 5 介绍 +> GraceUI 是一套基于 uni-app 的优秀前端框架,提供了极其丰富的组件、布局及界面库,会大幅度提高您的开发速度。 +> +> GraceUI 来自于近五年的上百个小程序及APP项目总结,我们是一线开发者,更深度地参与项目开发,所以能够为您提供更好的框架。 +> +> GraceUI 使用用户过万,通过大量开发者的使用、测试、反馈加上我们长期的高频更新,框架已经极其稳定!更值得信赖和托付。 + + +### 法规安全 +> 重要通知 : +> 不得使用 GraceUI 框架开发赌博、色情、贷款、反动等一切违法应用,一旦出现问题我们会全力配合警方进行溯源,积极打击各类互联网违法行为! + +### 版权注意 +> 如果您需要使用版本控制器或代码仓库功能,请务必将仓库私有,公开模式等于公开了源码会造成严重侵权。 +> +> GraceUI 版权机器人会定期扫描各大代码仓库,发现侵权会永久封停侵权账户,造成严重影响我们会进行起诉追责! + +### 外包版权 +> 如果您是外包用户 (为客户开发的项目并交付源码 ),请为客户购买一份 GraceUI 授权,激活后下载客户的 graceUI 替换您开发时候自己的版本。 +> +> 这个 "客户" 是指软件的拥有者,并非软件使用者,通常情况是 : 您是外包公司或者个人,“客户” 花钱雇佣您或者贵公司帮忙开发。 +> +> 简单的意思就是 您购买的框架只能用于您自己或者自己公司的项目。 + +### 版权追责 +> GraceUI 拥有成熟的合作法务,已有高额赔偿案例; 版权清晰,不容侵犯! +> +> 我们希望您遵守版权,尊重原创,这样可以保证我们持续更新,保证我们的基础运营。 +> +> 在过去的2年多时间,仅有一个严重侵权追责赔偿案例(框架累计售出 5000+ 份),事实证明遵守版权是容易做到的。 + +### 反馈交流 +> 您付费购买框架后我们会邀请您进入专门的付费用户群,遇到问题请在群里交流。 +> +> 一些建议 : +> +> 01 请在工作时间 : 工作日 09:00 - 18:00 @技术反馈(其他时间请尽量避免)。 +> +> 02 群文件内有反馈模板,遇到框架核心问题请下载反馈模板,描述清楚,私聊发给反馈客服。不要在群内直接使用攻击性言语,感谢反馈和理解~ +> +> 03 群内禁止一切脏话、广告,请遵守。 \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/.DS_Store b/src/cyxproject/healthy_diet/jiankangAPP/static/.DS_Store new file mode 100644 index 0000000..6938ff6 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/.DS_Store differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/food.json b/src/cyxproject/healthy_diet/jiankangAPP/static/food.json new file mode 100644 index 0000000..5c69104 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/static/food.json @@ -0,0 +1,707 @@ +[ + { + "id": 56, + "code": "mifan_zheng", + "name": "米饭", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_f81e8de29f76e6d0c39d4142fe45764f.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", //g + "calory": "116", //千卡 + "fat": "0.3", //脂肪 + "protein": "2.6", //蛋白质 + "fiber_dietary": "0.3", //膳食纤维 + "carbohydrate": "25.9", //碳水化合物 + "vitamin_a": "0.0", //维生素A + "thiamine": "0.02", + "lactoflavin": "0.03", + "vitamin_c": "0.0", + "vitamin_e": "0.0", + "niacin": "1.9", + "natrium": "2.5", + "calcium": "7.0", + "iron": "1.3", + "kalium": "30.0", + "iodine": "0.0", + "zinc": "0.92", + "selenium": "0.4", + "magnesium": "15.0", + "copper": "0.06", + "manganese": "0.58", + "cholesterol": "0.0", + "folacin": "3.4", + "saturated_fat": "0.0", + "sugar": "", + "vitamin_b6": "0.0", + "phosphor": "62.0", + "gi": "90.0", + "gl": "23.0" +}, { + "id": 63, + "code": "yumi_xian", + "name": "鲜玉米", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "112", + "fat": "1.2", + "protein": "4.0", + "fiber_dietary": "2.9", + "carbohydrate": "22.8", + "vitamin_a": "0.0", + "thiamine": "0.16", + "lactoflavin": "0.11", + "vitamin_c": "16.0", + "vitamin_e": "0.46", + "niacin": "1.8", + "natrium": "1.1", + "calcium": "0.0", + "iron": "1.1", + "kalium": "238.0", + "iodine": "1.1", + "zinc": "0.9", + "selenium": "1.63", + "magnesium": "32.0", + "copper": "0.09", + "manganese": "0.22", + "cholesterol": "0.0", + "folacin": "31.9", + "saturated_fat": "", + "sugar": "8.89", + "vitamin_b6": "", + "phosphor": "117.0", + "gi": "55.0", + "gl": "10.9" +}, { + "id": 1173, + "code": "maipeimianbao", + "name": "全麦面包", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "254", + "fat": "3.6", + "protein": "12.3", + "fiber_dietary": "6.0", + "carbohydrate": "43.1", + "vitamin_a": "0.0", + "thiamine": "0.39", + "lactoflavin": "0.17", + "vitamin_c": "0.0", + "vitamin_e": "0.54", + "niacin": "4.43", + "natrium": "449.0", + "calcium": "163.0", + "iron": "2.56", + "kalium": "250.0", + "iodine": "0.0", + "zinc": "1.76", + "selenium": "19.9", + "magnesium": "77.0", + "copper": "0.23", + "manganese": "0.35", + "cholesterol": "0.0", + "folacin": "42.0", + "saturated_fat": "0.73", + "sugar": "4.41", + "vitamin_b6": "0.22", + "phosphor": "212.0", + "gi": "69.0", + "gl": "" +}, { + "id": 92, + "code": "ganshu_hongxin", + "name": "红薯", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "86", + "fat": "0.1", + "protein": "1.6", + "fiber_dietary": "3.0", + "carbohydrate": "20.1", + "vitamin_a": "63.0", + "thiamine": "0.08", + "lactoflavin": "0.06", + "vitamin_c": "2.4", + "vitamin_e": "0.26", + "niacin": "0.56", + "natrium": "55.0", + "calcium": "30.0", + "iron": "0.61", + "kalium": "337.0", + "iodine": "1.2", + "zinc": "0.3", + "selenium": "0.6", + "magnesium": "25.0", + "copper": "0.15", + "manganese": "0.26", + "cholesterol": "0.0", + "folacin": "8.3", + "saturated_fat": "0.0", + "sugar": "4.04", + "vitamin_b6": "0.19", + "phosphor": "47.0", + "gi": "54.0", + "gl": "9.2" +}, { + "id": 1163, + "code": "yanmaipian", + "name": "燕麦片", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "338", + "fat": "0.2", + "protein": "10.1", + "fiber_dietary": "6.0", + "carbohydrate": "77.4", + "vitamin_a": "0.0", + "thiamine": "0.46", + "lactoflavin": "0.07", + "vitamin_c": "0.0", + "vitamin_e": "0.91", + "niacin": "0.0", + "natrium": "2.1", + "calcium": "58.0", + "iron": "2.9", + "kalium": "356.0", + "iodine": "0.0", + "zinc": "1.75", + "selenium": "0.0", + "magnesium": "116.0", + "copper": "0.21", + "manganese": "3.91", + "cholesterol": "0.0", + "folacin": "30.1", + "saturated_fat": "0.0", + "sugar": "1.0", + "vitamin_b6": "0.0", + "phosphor": "342.0", + "gi": "55.0", + "gl": "" +}, { + "id": 27008, + "code": "zishu", + "name": "紫薯", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b48f483c506a51c70b22fd54f18dc2ef.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "123", + "fat": "0.3", + "protein": "1.2", + "fiber_dietary": "2.5", + "carbohydrate": "31.7", + "vitamin_a": "0.0", + "thiamine": "0.12", + "lactoflavin": "0.02", + "vitamin_c": "0.1", + "vitamin_e": "1.3", + "niacin": "1.3", + "natrium": "30.0", + "calcium": "24.0", + "iron": "0.6", + "kalium": "370.0", + "iodine": "0.0", + "zinc": "0.2", + "selenium": "0.0", + "magnesium": "26.0", + "copper": "0.21", + "manganese": "0.5", + "cholesterol": "0.0", + "folacin": "22.0", + "saturated_fat": "0.05", + "sugar": "", + "vitamin_b6": "0.18", + "phosphor": "56.0", + "gi": "77.0", + "gl": "15.0" +}, { + "id": 59, + "code": "jingmizhou", + "name": "白粥", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "46", + "fat": "0.3", + "protein": "1.1", + "fiber_dietary": "0.1", + "carbohydrate": "9.9", + "vitamin_a": "0.0", + "thiamine": "0.0", + "lactoflavin": "0.03", + "vitamin_c": "0.0", + "vitamin_e": "0.0", + "niacin": "0.2", + "natrium": "2.8", + "calcium": "7.0", + "iron": "0.1", + "kalium": "13.0", + "iodine": "", + "zinc": "0.2", + "selenium": "0.2", + "magnesium": "7.0", + "copper": "0.03", + "manganese": "0.2", + "cholesterol": "0.0", + "folacin": "", + "saturated_fat": "", + "sugar": "", + "vitamin_b6": "", + "phosphor": "20.0", + "gi": "69.0", + "gl": "6.8" +}, { + "id": 28, + "code": "youtiao", + "name": "油条", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_552a534384ecbc8888f957067c13942f.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 3, + "weight": "100", + "calory": "388", + "fat": "17.6", + "protein": "6.9", + "fiber_dietary": "0.9", + "carbohydrate": "51.0", + "vitamin_a": "0.0", + "thiamine": "0.01", + "lactoflavin": "0.07", + "vitamin_c": "0.0", + "vitamin_e": "3.19", + "niacin": "0.7", + "natrium": "585.2", + "calcium": "6.0", + "iron": "1.0", + "kalium": "227.0", + "iodine": "", + "zinc": "0.75", + "selenium": "8.6", + "magnesium": "19.0", + "copper": "0.19", + "manganese": "0.52", + "cholesterol": "0.0", + "folacin": "6.0", + "saturated_fat": "0.5", + "sugar": "0.64", + "vitamin_b6": "", + "phosphor": "77.0", + "gi": "75.0", + "gl": "37.6" +}, { + "id": 348, + "code": "yutou", + "name": "芋头", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_b55cb3edd355334376a0c2462a291d1f.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "56", + "fat": "0.2", + "protein": "1.3", + "fiber_dietary": "1.0", + "carbohydrate": "12.7", + "vitamin_a": "1.0", + "thiamine": "0.05", + "lactoflavin": "0.02", + "vitamin_c": "1.5", + "vitamin_e": "0.0", + "niacin": "0.28", + "natrium": "5.5", + "calcium": "11.0", + "iron": "0.3", + "kalium": "25.0", + "iodine": "", + "zinc": "0.19", + "selenium": "0.91", + "magnesium": "19.0", + "copper": "0.06", + "manganese": "0.3", + "cholesterol": "0.0", + "folacin": "7.8", + "saturated_fat": "", + "sugar": "0.98", + "vitamin_b6": "0.28", + "phosphor": "50.0", + "gi": "48.0", + "gl": "5.6" +}, { + "id": 16, + "code": "miantiao_fuqiangfen_zhu", + "name": "煮面条", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7fa30a00fecb65c0533b9142a0072e42.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "107", + "fat": "0.4", + "protein": "3.9", + "fiber_dietary": "0.0", + "carbohydrate": "22.8", + "vitamin_a": "0.0", + "thiamine": "0.02", + "lactoflavin": "0.01", + "vitamin_c": "0.0", + "vitamin_e": "0.0", + "niacin": "0.56", + "natrium": "26.9", + "calcium": "4.0", + "iron": "0.2", + "kalium": "15.0", + "iodine": "", + "zinc": "0.1", + "selenium": "1.16", + "magnesium": "10.0", + "copper": "0.01", + "manganese": "0.01", + "cholesterol": "0.0", + "folacin": "2.1", + "saturated_fat": "0.1", + "sugar": "", + "vitamin_b6": "", + "phosphor": "24.0", + "gi": "41.0", + "gl": "9.3" +}, { + "id": 12, + "code": "miantiao_junzhi", + "name": "面条(生)", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_67e3a4544d0676c61e002e19dd8119fd.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "301", + "fat": "0.6", + "protein": "8.9", + "fiber_dietary": "0.8", + "carbohydrate": "65.6", + "vitamin_a": "0.0", + "thiamine": "0.22", + "lactoflavin": "0.07", + "vitamin_c": "0.0", + "vitamin_e": "0.47", + "niacin": "1.8", + "natrium": "21.4", + "calcium": "12.0", + "iron": "4.3", + "kalium": "123.0", + "iodine": "", + "zinc": "1.09", + "selenium": "6.59", + "magnesium": "42.0", + "copper": "0.15", + "manganese": "0.71", + "cholesterol": "0.0", + "folacin": "", + "saturated_fat": "0.1", + "sugar": "", + "vitamin_b6": "", + "phosphor": "139.0", + "gi": "55.0", + "gl": "35.6" +}, { + "id": 1166, + "code": "mianbao_junzhi", + "name": "面包", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d6ca69ac1afb226f83f4758441c3c75a.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 2, + "weight": "100", + "calory": "313", + "fat": "5.1", + "protein": "8.3", + "fiber_dietary": "0.5", + "carbohydrate": "58.6", + "vitamin_a": "", + "thiamine": "0.03", + "lactoflavin": "0.06", + "vitamin_c": "", + "vitamin_e": "1.66", + "niacin": "1.7", + "natrium": "230.4", + "calcium": "49.0", + "iron": "2.0", + "kalium": "88.0", + "iodine": "", + "zinc": "0.75", + "selenium": "3.15", + "magnesium": "31.0", + "copper": "0.27", + "manganese": "0.37", + "cholesterol": "", + "folacin": "", + "saturated_fat": "0.3", + "sugar": "", + "vitamin_b6": "0.08", + "phosphor": "107.0", + "gi": "88.0", + "gl": "51.1" +}, { + "id": 346, + "code": "shanyao", + "name": "山药", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43b6d0454b50ebf35facd9013d16afd3.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "57", + "fat": "0.2", + "protein": "1.9", + "fiber_dietary": "0.8", + "carbohydrate": "12.4", + "vitamin_a": "3.0", + "thiamine": "0.05", + "lactoflavin": "0.02", + "vitamin_c": "5.0", + "vitamin_e": "0.24", + "niacin": "0.3", + "natrium": "18.6", + "calcium": "16.0", + "iron": "0.3", + "kalium": "213.0", + "iodine": "3.6", + "zinc": "0.27", + "selenium": "0.55", + "magnesium": "20.0", + "copper": "0.24", + "manganese": "0.12", + "cholesterol": "0.0", + "folacin": "7.8", + "saturated_fat": "", + "sugar": "0.22", + "vitamin_b6": "0.29", + "phosphor": "34.0", + "gi": "51.0", + "gl": "5.9" +}, { + "id": 31, + "code": "daomi_junzhi", + "name": "大米", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_3e01a32158e941ccb328d808d6955684.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "346", + "fat": "0.9", + "protein": "7.9", + "fiber_dietary": "0.6", + "carbohydrate": "77.2", + "vitamin_a": "0.0", + "thiamine": "0.15", + "lactoflavin": "0.04", + "vitamin_c": "0.0", + "vitamin_e": "0.43", + "niacin": "2.0", + "natrium": "1.8", + "calcium": "8.0", + "iron": "1.1", + "kalium": "112.0", + "iodine": "2.3", + "zinc": "1.54", + "selenium": "2.83", + "magnesium": "31.0", + "copper": "0.25", + "manganese": "1.13", + "cholesterol": "0.0", + "folacin": "23.7", + "saturated_fat": "0.3", + "sugar": "0.09", + "vitamin_b6": "", + "phosphor": "112.0", + "gi": "87.0", + "gl": "66.6" +}, { + "id": 76, + "code": "xiaomizhou", + "name": "小米粥", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_ef353b12d4e89108a469f0a38dff4404.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "46", + "fat": "0.7", + "protein": "1.4", + "fiber_dietary": "0.0", + "carbohydrate": "8.4", + "vitamin_a": "0.0", + "thiamine": "0.02", + "lactoflavin": "0.07", + "vitamin_c": "0.0", + "vitamin_e": "0.26", + "niacin": "0.9", + "natrium": "4.1", + "calcium": "10.0", + "iron": "1.0", + "kalium": "19.0", + "iodine": "", + "zinc": "0.41", + "selenium": "0.3", + "magnesium": "22.0", + "copper": "0.07", + "manganese": "0.16", + "cholesterol": "0.0", + "folacin": "", + "saturated_fat": "", + "sugar": "", + "vitamin_b6": "", + "phosphor": "32.0", + "gi": "60.0", + "gl": "5.0" +}, { + "id": 88, + "code": "malingshu", + "name": "马铃薯", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_8a7ff30a30cec1f7633e98a2388b545d.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "81", + "fat": "0.2", + "protein": "2.6", + "fiber_dietary": "1.1", + "carbohydrate": "17.8", + "vitamin_a": "1.0", + "thiamine": "0.1", + "lactoflavin": "0.02", + "vitamin_c": "14.0", + "vitamin_e": "0.34", + "niacin": "1.1", + "natrium": "5.9", + "calcium": "7.0", + "iron": "0.4", + "kalium": "347.0", + "iodine": "1.2", + "zinc": "0.3", + "selenium": "0.47", + "magnesium": "24.0", + "copper": "0.09", + "manganese": "0.1", + "cholesterol": "0.0", + "folacin": "15.7", + "saturated_fat": "", + "sugar": "1.61", + "vitamin_b6": "", + "phosphor": "46.0", + "gi": "62.0", + "gl": "10.4" +}, { + "id": 1944, + "code": "baozi_zhurouxian", + "name": "包子(猪肉馅)", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_210714ad3b3bef4c9f899c8d485ae5ad.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 2, + "weight": "100", + "calory": "227", + "fat": "10.0", + "protein": "7.3", + "fiber_dietary": "1.7", + "carbohydrate": "30.3", + "vitamin_a": "", + "thiamine": "", + "lactoflavin": "", + "vitamin_c": "", + "vitamin_e": "", + "niacin": "", + "natrium": "", + "calcium": "", + "iron": "", + "kalium": "", + "iodine": "", + "zinc": "", + "selenium": "", + "magnesium": "", + "copper": "", + "manganese": "", + "cholesterol": "", + "folacin": "", + "saturated_fat": "", + "sugar": "", + "vitamin_b6": "", + "phosphor": "", + "gi": "39.1", + "gl": "11.2" +}, { + "id": 91, + "code": "ganshu_baixin", + "name": "白薯", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_60601e92dbb659a70d9ec8867d13ead3.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "106", + "fat": "0.2", + "protein": "1.4", + "fiber_dietary": "1.0", + "carbohydrate": "25.2", + "vitamin_a": "18.0", + "thiamine": "0.07", + "lactoflavin": "0.04", + "vitamin_c": "24.0", + "vitamin_e": "0.43", + "niacin": "0.6", + "natrium": "58.2", + "calcium": "24.0", + "iron": "0.8", + "kalium": "174.0", + "iodine": "0.0", + "zinc": "0.22", + "selenium": "0.63", + "magnesium": "17.0", + "copper": "0.16", + "manganese": "0.21", + "cholesterol": "0.0", + "folacin": "0.0", + "saturated_fat": "0.0", + "sugar": "", + "vitamin_b6": "0.0", + "phosphor": "46.0", + "gi": "", + "gl": "" +}, { + "id": 22, + "code": "laobing_biaozhunfen", + "name": "烙饼", + "thumb_image_url": "https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg?x-oss-process=image/resize,w_200,h_200", + "is_liquid": false, + "health_light": 1, + "weight": "100", + "calory": "258", + "fat": "2.3", + "protein": "7.5", + "fiber_dietary": "1.9", + "carbohydrate": "52.9", + "vitamin_a": "0.0", + "thiamine": "0.02", + "lactoflavin": "0.04", + "vitamin_c": "0.0", + "vitamin_e": "1.03", + "niacin": "0.0", + "natrium": "149.3", + "calcium": "20.0", + "iron": "2.4", + "kalium": "141.0", + "iodine": "", + "zinc": "0.94", + "selenium": "7.5", + "magnesium": "51.0", + "copper": "0.15", + "manganese": "1.15", + "cholesterol": "0.0", + "folacin": "92.0", + "saturated_fat": "", + "sugar": "", + "vitamin_b6": "", + "phosphor": "146.0", + "gi": "80.0", + "gl": "40.8" +} + +] \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/grace.ttf b/src/cyxproject/healthy_diet/jiankangAPP/static/grace.ttf new file mode 100644 index 0000000..c18a4e3 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/grace.ttf differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/location.png b/src/cyxproject/healthy_diet/jiankangAPP/static/location.png new file mode 100644 index 0000000..131e567 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/location.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1.png new file mode 100644 index 0000000..c8abf68 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1a.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1a.png new file mode 100644 index 0000000..984ca49 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_1a.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2.png new file mode 100644 index 0000000..3ad0258 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2a.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2a.png new file mode 100644 index 0000000..92a255d Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/menu_2a.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ.png new file mode 100644 index 0000000..1592a3a Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ2.png b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ2.png new file mode 100644 index 0000000..34243ac Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/static/menu_imgs/squ2.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/changelog.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/changelog.md new file mode 100644 index 0000000..407a4b8 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/changelog.md @@ -0,0 +1,21 @@ +## 0.1.0(2023-04-13) +- chore: 修改文档中的错误 +## 0.0.9(2023-04-13) +- chore: 文档增加vue2使用方法示例 +## 0.0.8(2023-04-04) +- chore: 去掉 script-setup 语法糖 +- chore: 文档增加 vue2 使用方法 +## 0.0.7(2022-11-09) +- feat: 破坏性更新,由原来的canvas改为css3实现 +## 0.0.6(2022-11-04) +- feat: 增加使用uni-popup示例 +## 0.0.5(2022-11-03) +- fix: 修复 有毛点问题(因清空尺寸不对) +## 0.0.4(2022-11-02) +- feat: 增加 `delay` props 延时渲染,用于把组件放在弹窗时,无法正确获取尺寸时。 +## 0.0.3(2022-11-02) +更新文档 +## 0.0.2(2022-11-01) +更新文档 +## 0.0.1(2022-11-01) +首次上传 diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/bezier.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/bezier.ts new file mode 100644 index 0000000..062909a --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/bezier.ts @@ -0,0 +1,82 @@ +export function cubicBezier(p1x: number, p1y: number, p2x: number, p2y: number) { + const ZERO_LIMIT = 1e-6; + // Calculate the polynomial coefficients, + // implicit first and last control points are (0,0) and (1,1). + const ax = 3 * p1x - 3 * p2x + 1; + const bx = 3 * p2x - 6 * p1x; + const cx = 3 * p1x; + + const ay = 3 * p1y - 3 * p2y + 1; + const by = 3 * p2y - 6 * p1y; + const cy = 3 * p1y; + + function sampleCurveDerivativeX(t: number) { + // `ax t^3 + bx t^2 + cx t` expanded using Horner's rule + return (3 * ax * t + 2 * bx) * t + cx; + } + + function sampleCurveX(t: number) { + return ((ax * t + bx) * t + cx) * t; + } + + function sampleCurveY(t: number) { + return ((ay * t + by) * t + cy) * t; + } + + // Given an x value, find a parametric value it came from. + function solveCurveX(x: number) { + let t2 = x; + let derivative: number; + let x2: number; + + // https://trac.webkit.org/browser/trunk/Source/WebCore/platform/animation + // first try a few iterations of Newton's method -- normally very fast. + // http://en.wikipedia.org/wikiNewton's_method + for (let i = 0; i < 8; i++) { + // f(t) - x = 0 + x2 = sampleCurveX(t2) - x; + if (Math.abs(x2) < ZERO_LIMIT) { + return t2; + } + derivative = sampleCurveDerivativeX(t2); + // == 0, failure + /* istanbul ignore if */ + if (Math.abs(derivative) < ZERO_LIMIT) { + break; + } + t2 -= x2 / derivative; + } + + // Fall back to the bisection method for reliability. + // bisection + // http://en.wikipedia.org/wiki/Bisection_method + let t1 = 1; + /* istanbul ignore next */ + let t0 = 0; + + /* istanbul ignore next */ + t2 = x; + /* istanbul ignore next */ + while (t1 > t0) { + x2 = sampleCurveX(t2) - x; + if (Math.abs(x2) < ZERO_LIMIT) { + return t2; + } + if (x2 > 0) { + t1 = t2; + } else { + t0 = t2; + } + t2 = (t1 + t0) / 2; + } + + // Failure + return t2; + } + + function solve(x: number) { + return sampleCurveY(solveCurveX(x)); + } + + return solve; +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/ease.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/ease.ts new file mode 100644 index 0000000..9358c6d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/ease.ts @@ -0,0 +1,2 @@ +import {cubicBezier} from './bezier'; +export let ease = cubicBezier(0.25, 0.1, 0.25, 1); \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/index.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/index.ts new file mode 100644 index 0000000..bf1633e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/animation/index.ts @@ -0,0 +1,99 @@ +// @ts-nocheck +const TICK = Symbol('tick'); +const TICK_HANDLER = Symbol('tick-handler'); +const ANIMATIONS = Symbol('animations'); +const START_TIMES = Symbol('start-times'); +const PAUSE_START = Symbol('pause-start'); +const PAUSE_TIME = Symbol('pause-time'); +const _raf = typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame : function(cb: Function) {return setTimeout(cb, 1000/60)} +const _caf = typeof cancelAnimationFrame !== 'undefined' ? cancelAnimationFrame: function(id: any) {clearTimeout(id)} + +export class Timeline { + state: string + constructor() { + this.state = 'Initiated'; + this[ANIMATIONS] = new Set(); + this[START_TIMES] = new Map(); + } + start() { + if (!(this.state === 'Initiated')) return; + this.state = 'Started'; + + let startTime = Date.now(); + this[PAUSE_TIME] = 0; + this[TICK] = () => { + let now = Date.now(); + for (let animation of this[ANIMATIONS]) { + let t: number; + + if (this[START_TIMES].get(animation) < startTime) { + t = now - startTime - animation.delay - this[PAUSE_TIME]; + } else { + t = now - this[START_TIMES].get(animation) - animation.delay - this[PAUSE_TIME]; + } + + if (t > animation.duration) { + this[ANIMATIONS].delete(animation); + t = animation.duration; + } + if (t > 0) animation.run(t); + } + this[TICK_HANDLER] = _raf(this[TICK]); + }; + this[TICK](); + } + pause() { + if (!(this.state === 'Started')) return; + this.state = 'Paused'; + + this[PAUSE_START] = Date.now(); + _caf(this[TICK_HANDLER]); + } + resume() { + if (!(this.state === 'Paused')) return; + this.state = 'Started'; + + this[PAUSE_TIME] += Date.now() - this[PAUSE_START]; + this[TICK](); + } + reset() { + this.pause(); + this.state = 'Initiated'; + this[PAUSE_TIME] = 0; + this[PAUSE_START] = 0; + this[ANIMATIONS] = new Set(); + this[START_TIMES] = new Map(); + this[TICK_HANDLER] = null; + } + add(animation: any, startTime?: number) { + if (arguments.length < 2) startTime = Date.now(); + this[ANIMATIONS].add(animation); + this[START_TIMES].set(animation, startTime); + } +} + +export class Animation { + startValue: number + endValue: number + duration: number + timingFunction: (t: number) => number + delay: number + template: (t: number) => void + constructor(startValue: number, endValue: number, duration: number, delay: number, timingFunction: (t: number) => number, template: (v: number) => void) { + timingFunction = timingFunction || (v => v); + template = template || (v => v); + + this.startValue = startValue; + this.endValue = endValue; + this.duration = duration; + this.timingFunction = timingFunction; + this.delay = delay; + this.template = template; + } + + run(time: number) { + let range = this.endValue - this.startValue; + let progress = this.timingFunction(time / this.duration); + this.template(this.startValue + range * progress) + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/index.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/index.scss new file mode 100644 index 0000000..a017dad --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/index.scss @@ -0,0 +1,100 @@ +/* #ifndef APP-NVUE */ +// @import '@/uni_modules/lime-ui/style/index.scss'; +@property --l-circle-percent { + syntax: ''; + initial-value: 25%; + inherits: false; +} +$fill-2: var(--l-fill-2, rgba(0, 0, 0, 0.06)); +$circle-trail-cap-size: var(--l-circle-trail-cap-size, 6px); +$circle-trail-cap-color: currentColor;//var(--l-circle-trail-cap-color, currentColor); +$circle-stroke-cap-size: var(--l-circle-stroke-cap-size, 6px); +$circle-stroke-cap-start-color: var(--l-circle-stroke-cap-start-color, $fill-2); +$circle-stroke-cap-end-color: var(--l-circle-stroke-cap-end-color, $fill-2); +/* #endif */ +:root { + display: inline-block; +} +.l-circle { + position: relative; + display: inline-block; + &__inner{ + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + align-items: center; + justify-content: center; + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + } + /* #ifdef APP-NVUE */ + &__view { + flex: 1; + } + /* #endif */ + /* #ifndef APP-NVUE */ + &__trail,&__stroke { + position: absolute; + width: 100%; + height: 100%; + border-radius: 50%; + } + /* #endif */ +} + +/* #ifndef APP-NVUE */ +.is-round { + .l-circle { + &__trail { + .cap { + position: absolute; + display: block; + width: $circle-trail-cap-size; + height: $circle-trail-cap-size; + background-color: $circle-trail-cap-color; + z-index: 10; + border-radius: 50%; + &.start { + left: var(--l-circle-trail-cap-start-x, 14%); + top: var(--l-circle-trail-cap-start-y, 81%); + } + &.end { + left: var(--l-circle-trail-cap-end-x, 14%); + top: var(--l-circle-trail-cap-end-y, 81%); + } + } + } + &__stroke .cap{ + position: absolute; + display: block; + width: $circle-stroke-cap-size; + height: $circle-stroke-cap-size; + background-color: $circle-stroke-cap-start-color; + /* z-index: 10; */ + border-radius: 50%; + transition: opacity 350ms ease-out; + opacity: var(--l-circle-stroke-cap-opacity, 0); + &.start { + left: var(--l-circle-stroke-cap-start-x, 14%); + top: var(--l-circle-stroke-cap-start-y, 81%); + background-color: $circle-stroke-cap-start-color; + } + &.end { + left: var(--l-circle-stroke-cap-end-x, 14%); + top: var(--l-circle-stroke-cap-end-y, 81%); + z-index: -1; + background-color: $circle-stroke-cap-end-color; + } + } + } +} +.clockwise { + transform: translateY(var(--l-circle-offset-top, 0)) scale(-1,1); +} +.clockwise .l-circle__inner{ + transform: scale(-1,1); +} +/* #endif */ \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/l-circle.vue b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/l-circle.vue new file mode 100644 index 0000000..bc5d184 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/l-circle.vue @@ -0,0 +1,220 @@ + + + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/props.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/props.ts new file mode 100644 index 0000000..2bdfda1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/props.ts @@ -0,0 +1,46 @@ +// import { CircleProps} from './type'; +// import { PropType } from 'vue'; + +export default { + percent: { + type: Number, + default: 0 + }, + size: { + type: String, + default: '120px' + }, + lineCap: { + type: String, + default: 'round' + }, + strokeWidth: { + type: [String, Number], + default: 6 + }, + strokeColor: { + type: [String , Array], + default: '#2db7f5' + }, + trailWidth: { + type: [String, Number], + default: 6 + }, + trailColor: { + type: String, + default: '#ddd' + }, + dashborad: Boolean, + clockwise: { + type: Boolean, + default: true + }, + duration: { + type: Number, + default: 300 + }, + max: { + type: Number, + default: 100 + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/type.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/type.ts new file mode 100644 index 0000000..47ce5c4 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/type.ts @@ -0,0 +1,59 @@ + + +export interface CircleProps { + /** + * 进度环尺寸 + * @default 120pxs + */ + size: string + /** + * 百分比 + * @default 0 + */ + percent: number + /** + * 顶端形态 + * @default 'round' + */ + lineCap: string + /** + * 进度环线宽 + * @default 6 + */ + strokeWidth: number | string + /** + * 进度环颜色 + * @default #2db7f5 + */ + strokeColor: string | string[] + /** + * 轨道环线宽 + * @default 6 + */ + trailWidth: number | string + /** + * 轨道环颜色 + * @default #eaeef2 + */ + trailColor: string + /** + * 是否显示为仪表盘 + * @default false + */ + dashboard: boolean + /** + * 是否为顺时针 + * @default true + */ + clockwise: boolean + /** + * 持续时间 + * @default 300 + */ + duration: number + /** + * 总长度 + * @default 100 + */ + max: number +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/useTransition.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/useTransition.ts new file mode 100644 index 0000000..59f71e1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/useTransition.ts @@ -0,0 +1,27 @@ +// @ts-nocheck +import {ease} from './animation/ease'; +import {Timeline, Animation} from './animation/'; +import {ref, watch, Ref} from './vue' + +export function useTransition(percent: Ref, options: {duration: number}) { + const current = ref(0) + let tl = new Timeline(); + + watch(() => percent.value, (v) => { + tl.start(); + tl.add( + new Animation( + current.value, + v, + options.duration, + 0, + ease, + v => { + current.value = v < 0.0001 ? 0: v + } + ) + ); + }, {immediate: true}) + + return current +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/utils.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/utils.ts new file mode 100644 index 0000000..979f271 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/utils.ts @@ -0,0 +1,50 @@ +// @ts-nocheck +export function isDef(value: unknown): boolean { + return value !== undefined && value !== null; +} + +export function isNumber(value: string) { + return /^\d+(\.\d+)?$/.test(value); +} + +/** + * 换成 px number + */ + +export function toPx(value: string | number) { + // 如果是数字 + if (typeof value === 'number') { + return value + } + // 如果是字符串数字 + if (isNumber(value)) { + return Number(value) + } + // 如果有单位 + if (typeof value === 'string') { + const reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g + const results = reg.exec(value); + if (!value || !results) { + return 0; + } + const unit = results[3]; + value = parseFloat(value); + if (unit === 'rpx') { + return uni.upx2px(value); + } + if (unit === 'px') { + return value * 1; + } + } + return 0 +} + + +export function addUnit(value?: string | number): string | undefined { + if (!isDef(value)) { + return undefined; + } + + value = String(value); + return isNumber(value) ? `${value}px` : value; +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/vue.ts b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/vue.ts new file mode 100644 index 0000000..de8fe1b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/l-circle/vue.ts @@ -0,0 +1,9 @@ +// @ts-nocheck +// export * from '@/uni_modules/lime-vue' + +// #ifdef VUE3 +export * from 'vue'; +// #endif +// #ifndef VUE3 +export * from '@vue/composition-api'; +// #endif diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/lime-circle/lime-circle.vue b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/lime-circle/lime-circle.vue new file mode 100644 index 0000000..f4227d7 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/components/lime-circle/lime-circle.vue @@ -0,0 +1,83 @@ + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/hybrid/html/index.html b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/hybrid/html/index.html new file mode 100644 index 0000000..f2d065c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/hybrid/html/index.html @@ -0,0 +1,158 @@ + + + + + + + lime-circle + + + +
+
+ + +
+
+ + +
+
+ + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/package.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/package.json new file mode 100644 index 0000000..44371e1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/package.json @@ -0,0 +1,85 @@ +{ + "id": "lime-circle", + "displayName": "进度环-圆形进度条-LimeUI", + "version": "0.1.0", + "description": "uniapp vue3 纯css圆形进度环, 弧形进度条,有渐变色,仪表盘等配置,基本全端兼容,vue2只要配置@vue/composition-api", + "keywords": [ + "进度环", + "弧形进度条", + "圆形进度条", + "渐变进度条", + "仪表盘进度条" +], + "repository": "", + "engines": { + "HBuilderX": "^3.6.4" + }, + "dcloudext": { + "type": "component-vue", + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "u", + "Edge": "u", + "Firefox": "u", + "Safari": "u" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "钉钉": "u", + "快手": "u", + "飞书": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/readme.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/readme.md new file mode 100644 index 0000000..1e9505e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/lime-circle/readme.md @@ -0,0 +1,98 @@ +# lime-circle 进度环 +- 基于uniapp vue3 css3实现的环形进度条 +- Q群 1169785031 + +## 使用 + + 导入插件后直接使用 +```html + + {{modelVale}}% + +``` +```js +const target = ref(50) +const modelVale = ref(0) +``` + +### 查看示例 +导入后直接使用这个标签查看演示效果, +```html +// 代码位于 uni_modules/lime-circle/compoents/lime-circle + +``` + + +### 插件标签 +- 默认 l-circle 为 component +- 默认 lime-circle 为 demo + +### 关于vue2的使用方式 +- 插件使用了`composition-api`, 如果你希望在vue2中使用请按官方的教程[vue-composition-api](https://uniapp.dcloud.net.cn/tutorial/vue-composition-api.html)配置 +- 关键代码是: 在main.js中 在vue2部分加上这一段即可,官方是把它单独成了一个文件. + +```js +// main.js vue2 +import Vue from 'vue' +import VueCompositionAPI from '@vue/composition-api' +Vue.use(VueCompositionAPI) +``` +另外插件也用到了TS,vue2可能会遇过官方的TS版本过低的问题,找到HX目录下的`compile-typescript`目录 +```cmd +// \HBuilderX\plugins\compile-typescript +yarn add typescript -D +- or - +npm install typescript -D +``` + +#### 使用 +```html + + {{modelVale}}% + + + +``` +```js +export default { + data() { + return { + modelVale: 0, + target: 50 + } + }, + methods: { + onClick(number) { + this.target = Math.max(Math.min(100, this.target + number), 0) + } + } +} +``` + + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | +| --------------------------| ------------------------------------------------------------ | ---------------- | ------------ | +| percent | 进度环目标值 | number | `0` | +| v-model:current | 进度环当前值 | number | `-` | +| size | 进度环尺寸 | string | `120px` | +| lineCap | 进度条顶端形态 , 可选值 `-` `round` | string | `round` | +| strokeWidth | 进度条宽度 | number | `6` | +| strokeColor | 进度条颜色, 若为数组即为渐变色(渐变色值仅支持hex) | string、string[] | `#2db7f5` | +| trailWidth | 轨道环线宽度 | number | `6` | +| trailColor | 轨道环线颜色 | string | `#eaeef2` | +| dashboard | 是否为仪表盘样式 | boolean | `false` | +| clockwise | 是否为顺时针 | boolean | `true` | +| duration | 变化过渡时间, ms | number | `300` | +| max | 总长度 | number | `100` | + + + +## 打赏 + +如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。 +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/alipay.png) +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/wpay.png) \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/changelog.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/changelog.md new file mode 100644 index 0000000..eb3d1ce --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/changelog.md @@ -0,0 +1,35 @@ +## 1.0.6(2023-04-12) +- 修复 微信小程序点击时会改变背景颜色的 bug +## 1.0.5(2023-02-03) +- 修复 禁用时会显示清空按钮 +## 1.0.4(2023-02-02) +- 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +## 1.0.3(2023-01-16) +- 修复 不关联服务空间报错的问题 +## 1.0.2(2023-01-14) +- 新增 属性 `format` 可用于格式化显示选项内容 +## 1.0.1(2022-12-06) +- 修复 当where变化时,数据不会自动更新的问题 +## 0.1.9(2022-09-05) +- 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +## 0.1.8(2022-08-29) +- 修复 点击的位置不准确 +## 0.1.7(2022-08-12) +- 新增 支持 disabled 属性 +## 0.1.6(2022-07-06) +- 修复 pc端宽度异常的bug +## 0.1.5 +- 修复 pc端宽度异常的bug +## 0.1.4(2022-07-05) +- 优化 显示样式 +## 0.1.3(2022-06-02) +- 修复 localdata 赋值不生效的 bug +- 新增 支持 uni.scss 修改颜色 +- 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +## 0.1.2(2022-05-08) +- 修复 当 value 为 0 时选择不生效的 bug +## 0.1.1(2022-05-07) +- 新增 记住上次的选项(仅 collection 存在时有效) +## 0.1.0(2022-04-22) +- 初始化 diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue new file mode 100644 index 0000000..9b32348 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue @@ -0,0 +1,517 @@ + + + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/package.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/package.json new file mode 100644 index 0000000..0187429 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-data-select", + "displayName": "uni-data-select 下拉框选择器", + "version": "1.0.6", + "description": "通过数据驱动的下拉框选择器", + "keywords": [ + "uni-ui", + "select", + "uni-data-select", + "下拉框", + "下拉选" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.1" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-load-more"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "u", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/readme.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/readme.md new file mode 100644 index 0000000..eb58de3 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-data-select/readme.md @@ -0,0 +1,8 @@ +## DataSelect 下拉框选择器 +> **组件名:uni-data-select** +> 代码块: `uDataSelect` + +当选项过多时,使用下拉菜单展示并选择内容 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/changelog.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..8f03f1d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..e5eff4d --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/package.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..2fa6f04 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/readme.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/changelog.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/index.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/package.json b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/readme.md b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/index.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_border.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_color.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_radius.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_space.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_styles.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_text.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_variables.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/tools/functions.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/theme.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/variables.scss b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/.automator/app-plus/.automator.json b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/.automator/app-plus/.automator.json new file mode 100644 index 0000000..e69de29 diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappchooselocation.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappchooselocation.js new file mode 100644 index 0000000..bd11f4b --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappchooselocation.js @@ -0,0 +1 @@ +!function(e){var t={};function A(a){if(t[a])return t[a].exports;var i=t[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,A),i.l=!0,i.exports}A.m=e,A.c=t,A.d=function(e,t,a){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},A.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(A.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)A.d(a,i,function(t){return e[t]}.bind(null,i));return a},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=41)}([function(e,t){e.exports={}},function(e,t,A){"use strict";function a(e,t,A,a,i,n,o,s,r,c){var l,u="function"==typeof e?e.options:e;if(r){u.components||(u.components={});var d=Object.prototype.hasOwnProperty;for(var h in r)d.call(r,h)&&!d.call(u.components,h)&&(u.components[h]=r[h])}if(c&&((c.beforeCreate||(c.beforeCreate=[])).unshift((function(){this[c.__module]=this})),(u.mixins||(u.mixins=[])).push(c)),t&&(u.render=t,u.staticRenderFns=A,u._compiled=!0),a&&(u.functional=!0),n&&(u._scopeId="data-v-"+n),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):i&&(l=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var f=u.render;u.render=function(e,t){return l.call(t),f(e,t)}}else{var g=u.beforeCreate;u.beforeCreate=g?[].concat(g,l):[l]}return{exports:e,options:u}}A.d(t,"a",(function(){return a}))},function(e,t,A){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.weexPlus=t.default=void 0,a="function"==typeof getUni?getUni:function(){var e=function(e){return"function"==typeof e},t=function(e){return e.then((function(e){return[null,e]})).catch((function(e){return[e]}))},A=/^\$|^on|^create|Sync$|Manager$|^pause/,a=["os","getCurrentSubNVue","getSubNVueById","stopRecord","stopVoice","stopBackgroundAudio","stopPullDownRefresh","hideKeyboard","hideToast","hideLoading","showNavigationBarLoading","hideNavigationBarLoading","canIUse","navigateBack","closeSocket","pageScrollTo","drawCanvas"],n=function(e){return(!A.test(e)||"createBLEConnection"===e)&&!~a.indexOf(e)},o=function(A){return function(){for(var a=arguments.length,i=Array(a>1?a-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:{};return e(o.success)||e(o.fail)||e(o.complete)?A.apply(void 0,[o].concat(i)):t(new Promise((function(e,t){A.apply(void 0,[Object.assign({},o,{success:e,fail:t})].concat(i)),Promise.prototype.finally=function(e){var t=this.constructor;return this.then((function(A){return t.resolve(e()).then((function(){return A}))}),(function(A){return t.resolve(e()).then((function(){throw A}))}))}})))}},s=[],r=void 0;function c(e){s.forEach((function(t){return t({origin:r,data:e})}))}var l=i.webview.currentWebview().id,u=new BroadcastChannel("UNI-APP-SUBNVUE");function d(e){var t=i.webview.getWebviewById(e);return t&&!t.$processed&&function(e){e.$processed=!0;var t=i.webview.currentWebview().id===e.id,A="uniNView"===e.__uniapp_origin_type&&e.__uniapp_origin_id,a=e.id;if(e.postMessage=function(e){A?u.postMessage({data:e,to:t?A:a}):w({type:"UniAppSubNVue",data:e})},e.onMessage=function(e){s.push(e)},e.__uniapp_mask_id){r=e.__uniapp_host;var n=e.__uniapp_mask,o=i.webview.getWebviewById(e.__uniapp_mask_id);o=o.parent()||o;var c=e.show,l=e.hide,d=e.close,h=function(){o.setStyle({mask:n})},f=function(){o.setStyle({mask:"none"})};e.show=function(){h();for(var t=arguments.length,A=Array(t),a=0;a1&&void 0!==arguments[1]?arguments[1]:"GET",A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/x-www-form-urlencoded";return"object"===(void 0===e?"undefined":j(e))?"POST"===t.toUpperCase()&&"application/json"===A.toLowerCase()?JSON.stringify(e):Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&"):e},G=weex.requireModule("plusstorage"),T=weex.requireModule("clipboard"),Q=function(){if("function"==typeof getUniEmitter)return getUniEmitter;var e={$on:function(){console.warn("uni.$on failed")},$off:function(){console.warn("uni.$off failed")},$once:function(){console.warn("uni.$once failed")},$emit:function(){console.warn("uni.$emit failed")}};return function(){return e}}();function U(e,t,A){return e[t].apply(e,A)}var F=Object.freeze({loadFontFace:function(t){var A=t.family,a=t.source,i=(t.desc,t.success),n=(t.fail,t.complete);E.addRule("fontFace",{fontFamily:A,src:a.replace(/"/g,"'")});var o={errMsg:"loadFontFace:ok",status:"loaded"};e(i)&&i(o),e(n)&&n(o)},ready:N,request:function(t){var A=t.url,a=t.data,i=t.header,n=t.method,o=void 0===n?"GET":n,s=t.dataType,r=void 0===s?"json":s,c=(t.responseType,t.success),l=t.fail,u=t.complete,d=!1,h=!1,f={};if(i)for(var g in i)h||"content-type"!==g.toLowerCase()?f[g]=i[g]:(h=!0,f["Content-Type"]=i[g]);return"GET"===o&&a&&(A=A+(~A.indexOf("?")?"&"===A.substr(-1)||"?"===A.substr(-1)?"":"&":"?")+P(a)),O.fetch({url:A,method:o,headers:f,type:"json"===r?"json":"text",body:"GET"!==o?P(a,o,f["Content-Type"]):""},(function(t){var A=t.status,a=(t.ok,t.statusText,t.data),i=t.headers,n={};!A||-1===A||d?(n.errMsg="request:fail",e(l)&&l(n)):(n.data=a,n.statusCode=A,n.header=i,e(c)&&c(n)),e(u)&&u(n)})),{abort:function(){d=!0}}},getStorage:function(t){var A=t.key,a=(t.data,t.success),i=t.fail,n=t.complete;G.getItem(A+"__TYPE",(function(t){if("success"===t.result){var o=t.data;G.getItem(A,(function(t){if("success"===t.result){var A=t.data;o&&A?("String"!==o&&(A=JSON.parse(A)),e(a)&&a({errMsg:"getStorage:ok",data:A})):(t.errMsg="setStorage:fail",e(i)&&i(t))}else t.errMsg="setStorage:fail",e(i)&&i(t);e(n)&&n(t)}))}else t.errMsg="setStorage:fail",e(i)&&i(t),e(n)&&n(t)}))},setStorage:function(t){var A=t.key,a=t.data,i=t.success,n=t.fail,o=t.complete,s="String";"object"===(void 0===a?"undefined":j(a))&&(s="Object",a=JSON.stringify(a)),G.setItem(A,a,(function(t){"success"===t.result?G.setItem(A+"__TYPE",s,(function(t){"success"===t.result?e(i)&&i({errMsg:"setStorage:ok"}):(t.errMsg="setStorage:fail",e(n)&&n(t))})):(t.errMsg="setStorage:fail",e(n)&&n(t)),e(o)&&o(t)}))},removeStorage:function(t){var A=t.key,a=(t.data,t.success),i=t.fail,n=t.complete;G.removeItem(A,(function(t){"success"===t.result?e(a)&&a({errMsg:"removeStorage:ok"}):(t.errMsg="removeStorage:fail",e(i)&&i(t)),e(n)&&n(t)})),G.removeItem(A+"__TYPE")},clearStorage:function(e){e.key,e.data,e.success,e.fail,e.complete},getClipboardData:function(t){var A=t.success,a=(t.fail,t.complete);T.getString((function(t){var i={errMsg:"getClipboardData:ok",data:t.data};e(A)&&A(i),e(a)&&a(i)}))},setClipboardData:function(t){var A=t.data,a=t.success,i=(t.fail,t.complete),n={errMsg:"setClipboardData:ok"};T.setString(A),e(a)&&a(n),e(i)&&i(n)},onSubNVueMessage:c,getSubNVueById:d,getCurrentSubNVue:function(){return d(i.webview.currentWebview().id)},$on:function(){return U(Q(),"$on",[].concat(Array.prototype.slice.call(arguments)))},$off:function(){return U(Q(),"$off",[].concat(Array.prototype.slice.call(arguments)))},$once:function(){return U(Q(),"$once",[].concat(Array.prototype.slice.call(arguments)))},$emit:function(){return U(Q(),"$emit",[].concat(Array.prototype.slice.call(arguments)))}}),R={os:{nvue:!0}},V={};return"undefined"!=typeof Proxy?V=new Proxy({},{get:function(e,t){if("os"===t)return{nvue:!0};if("postMessage"===t)return w;if("requireNativePlugin"===t)return I;if("onNavigationBarButtonTap"===t)return S;if("onNavigationBarSearchInputChanged"===t)return C;if("onNavigationBarSearchInputConfirmed"===t)return D;if("onNavigationBarSearchInputClicked"===t)return L;var A=F[t];return A||(A=b(t)),n(t)?o(A):A}}):(Object.keys(R).forEach((function(e){V[e]=R[e]})),V.postMessage=w,V.requireNativePlugin=I,V.onNavigationBarButtonTap=S,V.onNavigationBarSearchInputChanged=C,V.onNavigationBarSearchInputConfirmed=D,V.onNavigationBarSearchInputClicked=L,Object.keys({uploadFile:!0,downloadFile:!0,chooseImage:!0,previewImage:!0,getImageInfo:!0,saveImageToPhotosAlbum:!0,chooseVideo:!0,saveVideoToPhotosAlbum:!0,saveFile:!0,getSavedFileList:!0,getSavedFileInfo:!0,removeSavedFile:!0,openDocument:!0,setStorage:!0,getStorage:!0,getStorageInfo:!0,removeStorage:!0,clearStorage:!0,getLocation:!0,chooseLocation:!0,openLocation:!0,getSystemInfo:!0,getNetworkType:!0,makePhoneCall:!0,scanCode:!0,setScreenBrightness:!0,getScreenBrightness:!0,setKeepScreenOn:!0,vibrateLong:!0,vibrateShort:!0,addPhoneContact:!0,showToast:!0,showLoading:!0,hideToast:!0,hideLoading:!0,showModal:!0,showActionSheet:!0,setNavigationBarTitle:!0,setNavigationBarColor:!0,navigateTo:!0,redirectTo:!0,reLaunch:!0,switchTab:!0,navigateBack:!0,getProvider:!0,login:!0,getUserInfo:!0,share:!0,requestPayment:!0,subscribePush:!0,unsubscribePush:!0,onPush:!0,offPush:!0}).forEach((function(e){var t=F[e];t||(t=b(e)),n(e)?V[e]=o(t):V[e]=t}))),V};var i=new WeexPlus(weex);t.weexPlus=i;var n=a(weex,i,BroadcastChannel);t.default=n},function(e,t,A){Vue.prototype.__$appStyle__={},Vue.prototype.__merge_style&&Vue.prototype.__merge_style(A(4).default,Vue.prototype.__$appStyle__)},function(e,t,A){"use strict";A.r(t);var a=A(0),i=A.n(a);for(var n in a)"default"!==n&&function(e){A.d(t,e,(function(){return a[e]}))}(n);t.default=i.a},function(e,t,A){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var A={onLoad:function(){this.initMessage()},methods:{initMessage:function(){var t=this,A=e.webview.currentWebview().extras||{},a=A.from,i=(A.callback,A.runtime),n=A.data,o=void 0===n?{}:n,s=A.useGlobalEvent;this.__from=a,this.__runtime=i,this.__page=e.webview.currentWebview().id,this.__useGlobalEvent=s,this.data=JSON.parse(JSON.stringify(o)),e.key.addEventListener("backbutton",(function(){"function"==typeof t.onClose?t.onClose():e.webview.currentWebview().close("auto")}));var r=this,c=function(e){var t=e.data&&e.data.__message;t&&r.__onMessageCallback&&r.__onMessageCallback(t.data)};this.__useGlobalEvent?weex.requireModule("globalEvent").addEventListener("plusMessage",c):new BroadcastChannel(this.__page).onmessage=c},postMessage:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=JSON.parse(JSON.stringify({__message:{__page:this.__page,data:t,keep:A}})),i=this.__from;if("v8"===this.__runtime)if(this.__useGlobalEvent)e.webview.postMessageToUniNView(a,i);else{var n=new BroadcastChannel(i);n.postMessage(a)}else{var o=e.webview.getWebviewById(i);o&&o.evalJS("__plusMessage&&__plusMessage(".concat(JSON.stringify({data:a}),")"))}},onMessage:function(e){this.__onMessageCallback=e}}};t.default=A}).call(this,A(2).weexPlus)},function(e,t,A){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var A={data:function(){return{locale:"en",fallbackLocale:"en",localization:{en:{done:"OK",cancel:"Cancel"},zh:{done:"完成",cancel:"取消"},"zh-hans":{},"zh-hant":{},messages:{}}}},onLoad:function(){this.initLocale()},created:function(){this.initLocale()},methods:{initLocale:function(){if(!this.__initLocale){this.__initLocale=!0;var t=(e.webview.currentWebview().extras||{}).data||{};if(t.messages&&(this.localization.messages=t.messages),t.locale)this.locale=t.locale.toLowerCase();else{var A=e.os.language.toLowerCase().split("/")[0].replace("_","-").split("-"),a=A[1];a&&(A[1]={chs:"hans",cn:"hans",sg:"hans",cht:"hant",tw:"hant",hk:"hant",mo:"hant"}[a]||a),A.length=A.length>2?2:A.length,this.locale=A.join("-")}}},localize:function(e){var t=this.locale,A=t.split("-")[0],a=this.fallbackLocale,i=this.localization;function n(e){return i[e]||{}}return n("messages")[e]||n(t)[e]||n(A)[e]||n(a)[e]||e}}};t.default=A}).call(this,A(2).weexPlus)},function(e,t,A){"use strict";var a=A(29),i=A(12),n=A(1);var o=Object(n.a)(i.default,a.b,a.c,!1,null,null,"14d2bcf2",!1,a.a,void 0);(function(e){this.options.style||(this.options.style={}),Vue.prototype.__merge_style&&Vue.prototype.__$appStyle__&&Vue.prototype.__merge_style(Vue.prototype.__$appStyle__,this.options.style),Vue.prototype.__merge_style?Vue.prototype.__merge_style(A(36).default,this.options.style):Object.assign(this.options.style,A(36).default)}).call(o),t.default=o.exports},,,,,function(e,t,A){"use strict";var a=A(13),i=A.n(a);t.default=i.a},function(e,t,A){"use strict";(function(e,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(A(5)),n=o(A(6));function o(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,a)}return A}function r(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}weex.requireModule("dom").addRule("fontFace",{fontFamily:"unichooselocation",src:"url('data:font/truetype;charset=utf-8;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzI8gE4kAAABfAAAAFZjbWFw4nGd6QAAAegAAAGyZ2x5Zn61L/EAAAOoAAACJGhlYWQXJ/zZAAAA4AAAADZoaGVhB94DhgAAALwAAAAkaG10eBQAAAAAAAHUAAAAFGxvY2EBUAGyAAADnAAAAAxtYXhwARMAZgAAARgAAAAgbmFtZWs+cdAAAAXMAAAC2XBvc3SV1XYLAAAIqAAAAE4AAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAUAAQAAAAEAAFP+qyxfDzz1AAsEAAAAAADaBFxuAAAAANoEXG4AAP+gBAADYAAAAAgAAgAAAAAAAAABAAAABQBaAAQAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQQAAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5grsMgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAFAAAAAwAAACwAAAAEAAABcgABAAAAAABsAAMAAQAAACwAAwAKAAABcgAEAEAAAAAKAAgAAgAC5grmHOZR7DL//wAA5grmHOZR7DL//wAAAAAAAAAAAAEACgAKAAoACgAAAAQAAwACAAEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAEAAAAAAAAAABAAA5goAAOYKAAAABAAA5hwAAOYcAAAAAwAA5lEAAOZRAAAAAgAA7DIAAOwyAAAAAQAAAAAAAAB+AKAA0gESAAQAAP+gA+ADYAAAAAkAMQBZAAABIx4BMjY0JiIGBSMuASc1NCYiBh0BDgEHIyIGFBY7AR4BFxUUFjI2PQE+ATczMjY0JgE1NCYiBh0BLgEnMzI2NCYrAT4BNxUUFjI2PQEeARcjIgYUFjsBDgECAFABLUQtLUQtAg8iD9OcEhwSnNMPIg4SEg4iD9OcEhwSnNMPIg4SEv5SEhwSga8OPg4SEg4+Dq+BEhwSga8OPg4SEg4+Dq8BgCItLUQtLQKc0w8iDhISDiIP05wSHBKc0w8iDhISDiIP05wSHBL+gj4OEhIOPg6vgRIcEoGvDj4OEhIOPg6vgRIcEoGvAAEAAAAAA4ECgQAQAAABPgEeAQcBDgEvASY0NhYfAQM2DCIbAgz+TA0kDfcMGiIN1wJyDQIZIg3+IQ4BDf4NIhoBDd0AAQAAAAADAgKCAB0AAAE3PgEuAgYPAScmIgYUHwEHBhQWMj8BFxYyNjQnAjy4CAYGEBcWCLe3DSIaDLi4DBkjDbe3DSMZDAGAtwgWFxAGBgi4uAwaIg23tw0jGQy4uAwZIw0AAAIAAP/fA6EDHgAVACYAACUnPgE3LgEnDgEHHgEXMjY3FxYyNjQlBiIuAjQ+AjIeAhQOAQOX2CcsAQTCkpLCAwPCkj5uLdkJGRH+ijV0Z08rK09ndGdPLCxPE9MtckGSwgQEwpKSwgMoJdQIEhi3FixOaHNnTywsT2dzaE4AAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQARABUAAQAAAAAAAgAHACYAAQAAAAAAAwARAC0AAQAAAAAABAARAD4AAQAAAAAABQALAE8AAQAAAAAABgARAFoAAQAAAAAACgArAGsAAQAAAAAACwATAJYAAwABBAkAAAAqAKkAAwABBAkAAQAiANMAAwABBAkAAgAOAPUAAwABBAkAAwAiAQMAAwABBAkABAAiASUAAwABBAkABQAWAUcAAwABBAkABgAiAV0AAwABBAkACgBWAX8AAwABBAkACwAmAdUKQ3JlYXRlZCBieSBpY29uZm9udAp1bmljaG9vc2Vsb2NhdGlvblJlZ3VsYXJ1bmljaG9vc2Vsb2NhdGlvbnVuaWNob29zZWxvY2F0aW9uVmVyc2lvbiAxLjB1bmljaG9vc2Vsb2NhdGlvbkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgBSAGUAZwB1AGwAYQByAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgB1AG4AaQBjAGgAbwBvAHMAZQBsAG8AYwBhAHQAaQBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAQIBAwEEAQUBBgAKbXlsb2NhdGlvbgZ4dWFuemUFY2xvc2UGc291c3VvAAAAAA==')"});var c=weex.requireModule("mapSearch"),l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAACcCAMAAAC3Fl5oAAAB3VBMVEVMaXH/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/EhL/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/Dw//AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/GRn/NTX/Dw//Fhb/AAD/AAD/AAD/GRn/GRn/Y2P/AAD/AAD/ExP/Ghr/AAD/AAD/MzP/GRn/AAD/Hh7/AAD/RUX/AAD/AAD/AAD/AAD/AAD/AAD/Dg7/AAD/HR3/Dw//FRX/SUn/AAD/////kJD/DQ3/Zmb/+/v/wMD/mJj/6en/vb3/1NT//Pz/ODj/+fn/3Nz/nJz/j4//9/f/7e3/9vb/7Oz/2Nj/x8f/Ozv/+Pj/3d3/nZ3/2dn//f3/6Oj/2tr/v7//09P/vr7/mZn/l5cdSvP3AAAAe3RSTlMAAhLiZgTb/vztB/JMRhlp6lQW86g8mQ4KFPs3UCH5U8huwlesWtTYGI7RsdVeJGfTW5rxnutLsvXWF8vQNdo6qQbuz7D4hgVIx2xtw8GC1TtZaIw0i84P98tU0/fsj7PKaAgiZZxeVfo8Z52eg1P0nESrENnjXVPUgw/uuSmDAAADsUlEQVR42u3aZ3cTRxgF4GtbYleSLdnGcsENG2ODjbExEHrvhAQCIb1Bem+QdkeuuFMNBBJIfmuOckzZI8/srHYmH3Lm+QNXK632LTvQ03Tu/IWeU/tTGTKT2n+q58L5c00wpXJd47DHEt5w47pKxLbhdLdPKb/7dBYxVLxw1GcI/2h1BcpzKNFHLX2JQ4gumaiitqpEEhEdOMJI9h5AFC3feYzI+7IF2tpSLEOqDXpObPRYFm/jCWho/4Ble7MdoT7fzhhq9yHEz28wltU1UPrJZ0wd66HwicfYvEFIfePTAP8tSLTupBHvtGJFH9bSkNrNWEHzERrT34xSH9Ogr1CijkbVAUH1KRqVqkdQAw07iIAaGlcTqI+/0LjeJJ5J0IIEnkpXMdzs4sTtW9dnZq7fuj2xOMtwVWk88RHDjBYejYvnjD8qjOpfQsUqhvj7oSjxcJIhVj3pyKqpNjYvVjQ/RrXq5YABKi3MCYm5BSrtWO5v11DlmlC4RpU1WRS9SJU7QukOVbpQ9JLu549+Dd0AUOlTbkGEuk85vxLAK5QbuytC3R2j3HoAjZSbFxrmKTcCoJdSk0LLJKV6gSaPMqNTQsvUKGW8JrxKqUWhaZFSeWyh1LTQNE2pHF6mzOy40DQ+S5mLimJcENoKlOnBWsr8KbRNUGYt5LXgd6HtD3lNQIoyN4S2G5RJIUOZm0LbTcqsBqVmhLYZSlkPsP4VWf+Rrd+m1v9o9h8Vv5p42C1R5qL1x7WRglOgVN52yfwNOBu76P+lLPoYidu23KPciIHGa07ZeIW1jvcNtI7q5vexCPGYCmf+m/Y9a3sAwQ5bI9T7ukPgPcn9GToEao+xk1OixJT+GIsvNAbx6eAgPq0xiF+KtkpYKhRXCQ8eFFcJhSWGu3rZ8jJkCM8kz9K4TUnrC6mAgzTsB9tLwQ2W15qfosQ2GrQNpZr7aczbzVjBZsvLcaC1g0bsbIVEnU8DOr6H1KDH2LwtUBi0/JII6Dxm9zUXkH+XMWzfh1Dte1i2Pe3QkC77Zel7aehpO8wyHG6Dtt0NjKxhN6I4uSli/TqJiJJDUQ4NDCURXTrXRy1XcumyD24M+AzhD1RXIIZsl/LoyZmurJHDM7s8lvB2FQ/PmPJ6PseAXP5HGMYAAC7ABbgAF+ACXIALcAEuwAW4ABfgAlyAC3ABLsAFuID/d8Cx4NEt8/byOf0wLnis8zjMq9/Kp7bWw4JOj8u8TlhRl+G/Mp2wpOX48GffvvZ1CyL4B53LAS6zb08EAAAAAElFTkSuQmCC";var u={mixins:[i.default,n.default],data:function(){return{positionIcon:l,mapScale:16,userKeyword:"",showLocation:!0,latitude:39.908692,longitude:116.397477,nearList:[],nearSelectedIndex:-1,nearLoading:!1,nearLoadingEnd:!1,noNearData:!1,isUserLocation:!1,statusBarHeight:20,mapHeight:250,markers:[{id:"location",latitude:39.908692,longitude:116.397477,zIndex:"1",iconPath:l,width:26,height:36}],showSearch:!1,searchList:[],searchSelectedIndex:-1,searchLoading:!1,searchEnd:!1,noSearchData:!1,localization:{en:{search_tips:"Search for a place",no_found:"No results found",nearby:"Nearby",more:"More"},zh:{search_tips:"搜索地点",no_found:"对不起,没有搜索到相关数据",nearby:"附近",more:"更多"}},searchNearFlag:!0,searchMethod:"poiSearchNearBy"}},computed:{disableOK:function(){return this.nearSelectedIndex<0&&this.searchSelectedIndex<0},searchMethods:function(){return[{title:this.localize("nearby"),method:"poiSearchNearBy"},{title:this.localize("more"),method:"poiKeywordsSearch"}]}},filters:{distance:function(e){return e>100?"".concat(e>1e3?(e/1e3).toFixed(1)+"k":e.toFixed(0),"m | "):e>0?"100m内 | ":""}},watch:{searchMethod:function(){this._searchPageIndex=1,this.searchEnd=!1,this.searchList=[],this._searchKeyword&&this.search()}},onLoad:function(){this.statusBarHeight=e.navigator.getStatusbarHeight(),this.mapHeight=e.screen.resolutionHeight/2;var t=this.data;this.userKeyword=t.keyword||"",this._searchInputTimer=null,this._searchPageIndex=1,this._searchKeyword="",this._nearPageIndex=1,this._hasUserLocation=!1,this._userLatitude=0,this._userLongitude=0},onReady:function(){this.mapContext=this.$refs.map1,this.data.latitude&&this.data.longitude?(this._hasUserLocation=!0,this.moveToCenter({latitude:this.data.latitude,longitude:this.data.longitude})):this.getUserLocation()},onUnload:function(){this.clearSearchTimer()},methods:{cancelClick:function(){this.postMessage({event:"cancel"})},doneClick:function(){if(!this.disableOK){var e=this.showSearch&&this.searchSelectedIndex>=0?this.searchList[this.searchSelectedIndex]:this.nearList[this.nearSelectedIndex],t={name:e.name,address:e.address,latitude:e.location.latitude,longitude:e.location.longitude};this.postMessage({event:"selected",detail:t})}},getUserLocation:function(){var t=this;e.geolocation.getCurrentPosition((function(e){var A=e.coordsType,a=e.coords;"wgs84"===A.toLowerCase()?t.wgs84togcjo2(a,(function(e){t.getUserLocationSuccess(e)})):t.getUserLocationSuccess(a)}),(function(e){t._hasUserLocation=!0,a("log","Gelocation Error: code - "+e.code+"; message - "+e.message," at template/__uniappchooselocation.nvue:292")}),{geocode:!1})},getUserLocationSuccess:function(e){this._userLatitude=e.latitude,this._userLongitude=e.longitude,this._hasUserLocation=!0,this.moveToCenter({latitude:e.latitude,longitude:e.longitude})},searchclick:function(t){this.showSearch=t,!1===t&&e.key.hideSoftKeybord()},showSearchView:function(){this.searchList=[],this.showSearch=!0},hideSearchView:function(){this.showSearch=!1,e.key.hideSoftKeybord(),this.noSearchData=!1,this.searchSelectedIndex=-1,this._searchKeyword=""},onregionchange:function(e){var t=this,A=e.detail,a=A.type||e.type;"drag"===(A.causedBy||e.causedBy)&&"end"===a&&this.mapContext.getCenterLocation((function(e){t.searchNearFlag?t.moveToCenter({latitude:e.latitude,longitude:e.longitude}):t.searchNearFlag=!t.searchNearFlag}))},onItemClick:function(e,t){this.searchNearFlag=!1,t.stopPropagation&&t.stopPropagation(),this.nearSelectedIndex!==e&&(this.nearSelectedIndex=e),this.moveToLocation(this.nearList[e]&&this.nearList[e].location)},moveToCenter:function(e){this.latitude===e.latitude&&this.longitude===e.longitude||(this.latitude=e.latitude,this.longitude=e.longitude,this.updateCenter(e),this.moveToLocation(e),this.isUserLocation=this._userLatitude===e.latitude&&this._userLongitude===e.longitude)},updateCenter:function(e){var t=this;this.nearSelectedIndex=-1,this.nearList=[],this._hasUserLocation&&(this._nearPageIndex=1,this.nearLoadingEnd=!1,this.reverseGeocode(e),this.searchNearByPoint(e),this.onItemClick(0,{stopPropagation:function(){t.searchNearFlag=!0}}),this.$refs.nearListLoadmore.resetLoadmore())},searchNear:function(){this.nearLoadingEnd||this.searchNearByPoint({latitude:this.latitude,longitude:this.longitude})},searchNearByPoint:function(e){var t=this;this.noNearData=!1,this.nearLoading=!0,c.poiSearchNearBy({point:{latitude:e.latitude,longitude:e.longitude},key:this.userKeyword,sortrule:1,index:this._nearPageIndex,radius:1e3},(function(e){t.nearLoading=!1,t._nearPageIndex=e.pageIndex+1,t.nearLoadingEnd=e.pageIndex===e.pageNumber,e.poiList&&e.poiList.length?(t.fixPois(e.poiList),t.nearList=t.nearList.concat(e.poiList),t.fixNearList()):t.noNearData=0===t.nearList.length}))},moveToLocation:function(e){e&&this.mapContext.moveToLocation(function(e){for(var t=1;t=2&&"地图位置"===e[0].name){var t=this.getAddressStart(e[1]),A=e[0].address;A.startsWith(t)&&(e[0].name=A.substring(t.length))}},onsearchinput:function(e){var t=this,A=e.detail.value.replace(/^\s+|\s+$/g,"");this.clearSearchTimer(),this._searchInputTimer=setTimeout((function(){clearTimeout(t._searchInputTimer),t._searchPageIndex=1,t.searchEnd=!1,t._searchKeyword=A,t.searchList=[],t.search()}),300)},clearSearchTimer:function(){this._searchInputTimer&&clearTimeout(this._searchInputTimer)},search:function(){var e=this;0===this._searchKeyword.length||this._searchEnd||this.searchLoading||(this.searchLoading=!0,this.noSearchData=!1,c[this.searchMethod]({point:{latitude:this.latitude,longitude:this.longitude},key:this._searchKeyword,sortrule:1,index:this._searchPageIndex,radius:5e4},(function(t){e.searchLoading=!1,e._searchPageIndex=t.pageIndex+1,e.searchEnd=t.pageIndex===t.pageNumber,t.poiList&&t.poiList.length?(e.fixPois(t.poiList),e.searchList=e.searchList.concat(t.poiList)):e.noSearchData=0===e.searchList.length})))},onSearchListTouchStart:function(){e.key.hideSoftKeybord()},onSearchItemClick:function(e,t){t.stopPropagation(),this.searchSelectedIndex!==e&&(this.searchSelectedIndex=e),this.moveToLocation(this.searchList[e]&&this.searchList[e].location)},getAddressStart:function(e){var t=e.addressOrigin||e.address;return e.province+(e.province===e.city?"":e.city)+(/^\d+$/.test(e.district)?"":t.startsWith(e.district)?"":e.district)},fixPois:function(e){for(var t=0;t1?t-1:0),a=1;a1){var r=o.pop();s=o.join("---COMMA---"),0===r.indexOf(" at ")?s+=r:s+="---COMMA---"+r}else s=o[0];console[n](s)}},function(e,t,A){"use strict";A.r(t);var a=A(14),i=A.n(a);for(var n in a)"default"!==n&&function(e){A.d(t,e,(function(){return a[e]}))}(n);t.default=i.a},,,,,function(e,t,A){"use strict";A.r(t);A(3);var a=A(7);a.default.mpType="page",a.default.route="template/__uniappchooselocation",a.default.el="#root",new Vue(a.default)}]); \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniapperror.png b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniapperror.png new file mode 100644 index 0000000..4743b25 Binary files /dev/null and b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniapperror.png differ diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappes6.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappes6.js new file mode 100644 index 0000000..d4018e8 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/__uniappes6.js @@ -0,0 +1 @@ +!function(t){"use strict";!function(t){var r={};function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:e})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var o in t)n.d(e,o,function(r){return t[r]}.bind(null,o));return e},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p="",n(n.s=0)}([function(t,r,n){n(1),n(54),n(61),n(66),n(68),n(69),n(70),n(71),n(73),n(74),n(76),n(84),n(85),n(86),n(95),n(96),n(98),n(99),n(100),n(102),n(103),n(104),n(105),n(106),n(107),n(109),n(110),n(111),n(112),n(121),n(124),n(125),n(127),n(129),n(130),n(131),n(132),n(133),n(135),n(137),n(140),n(141),n(143),n(145),n(146),n(147),n(148),n(150),n(151),n(152),n(153),n(154),n(156),n(157),n(159),n(160),n(161),n(162),n(163),n(164),n(165),n(166),n(167),n(168),n(170),n(171),n(172),n(174),n(178),n(179),n(180),n(181),n(187),n(189),n(192),n(193),n(194),n(195),n(196),n(197),n(198),n(199),n(201),n(202),n(203),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),t.exports=n(217)},function(r,n,e){var o=e(2),i=e(6),u=e(45),c=e(14),a=e(46),f=e(39),s=e(47),l=e(48),p=e(51),g=e(49),v=e(52),h=g("isConcatSpreadable"),d=v>=51||!i(function(){var t=[];return t[h]=!1,t.concat()[0]!==t}),x=p("concat"),y=function(r){if(!c(r))return!1;var n=r[h];return n!==t?!!n:u(r)};o({target:"Array",proto:!0,forced:!d||!x},{concat:function(t){var r,n,e,o,i,u=a(this),c=l(u,0),p=0;for(r=-1,e=arguments.length;r9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(c,p++,i)}return c.length=p,c}})},function(r,n,e){var o=e(3),i=e(4).f,u=e(18),c=e(21),a=e(25),f=e(32),s=e(44);r.exports=function(r,n){var e,l,p,g,v,h=r.target,d=r.global,x=r.stat;if(e=d?o:x?o[h]||a(h,{}):(o[h]||{}).prototype)for(l in n){if(g=n[l],p=r.noTargetGet?(v=i(e,l))&&v.value:e[l],!s(d?l:h+(x?".":"#")+l,r.forced)&&p!==t){if(typeof g==typeof p)continue;f(g,p)}(r.sham||p&&p.sham)&&u(g,"sham",!0),c(e,l,g,r)}}},function(t,r){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof global&&global)||Function("return this")()},function(t,r,n){var e=n(5),o=n(7),i=n(8),u=n(9),c=n(13),a=n(15),f=n(16),s=Object.getOwnPropertyDescriptor;r.f=e?s:function(t,r){if(t=u(t),r=c(r,!0),f)try{return s(t,r)}catch(t){}if(a(t,r))return i(!o.f.call(t,r),t[r])}},function(t,r,n){var e=n(6);t.exports=!e(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,r){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,r,n){var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);r.f=i?function(t){var r=o(this,t);return!!r&&r.enumerable}:e},function(t,r){t.exports=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}}},function(t,r,n){var e=n(10),o=n(12);t.exports=function(t){return e(o(t))}},function(t,r,n){var e=n(6),o=n(11),i="".split;t.exports=e(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,r){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(r,n){r.exports=function(r){if(r==t)throw TypeError("Can't call method on "+r);return r}},function(t,r,n){var e=n(14);t.exports=function(t,r){if(!e(t))return t;var n,o;if(r&&"function"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!e(o=n.call(t)))return o;if(!r&&"function"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,r){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,r){var n={}.hasOwnProperty;t.exports=function(t,r){return n.call(t,r)}},function(t,r,n){var e=n(5),o=n(6),i=n(17);t.exports=!e&&!o(function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a})},function(t,r,n){var e=n(3),o=n(14),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,r,n){var e=n(5),o=n(19),i=n(8);t.exports=e?function(t,r,n){return o.f(t,r,i(1,n))}:function(t,r,n){return t[r]=n,t}},function(t,r,n){var e=n(5),o=n(16),i=n(20),u=n(13),c=Object.defineProperty;r.f=e?c:function(t,r,n){if(i(t),r=u(r,!0),i(n),o)try{return c(t,r,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[r]=n.value),t}},function(t,r,n){var e=n(14);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,r,n){var e=n(3),o=n(22),i=n(18),u=n(15),c=n(25),a=n(26),f=n(27),s=f.get,l=f.enforce,p=String(a).split("toString");o("inspectSource",function(t){return a.call(t)}),(t.exports=function(t,r,n,o){var a=!!o&&!!o.unsafe,f=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof n&&("string"!=typeof r||u(n,"name")||i(n,"name",r),l(n).source=p.join("string"==typeof r?r:"")),t!==e?(a?!s&&t[r]&&(f=!0):delete t[r],f?t[r]=n:i(t,r,n)):f?t[r]=n:c(r,n)})(Function.prototype,"toString",function(){return"function"==typeof this&&s(this).source||a.call(this)})},function(r,n,e){var o=e(23),i=e(24);(r.exports=function(r,n){return i[r]||(i[r]=n!==t?n:{})})("versions",[]).push({version:"3.3.6",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,r){t.exports=!1},function(t,r,n){var e=n(3),o=n(25),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,r,n){var e=n(3),o=n(18);t.exports=function(t,r){try{o(e,t,r)}catch(n){e[t]=r}return r}},function(t,r,n){var e=n(22);t.exports=e("native-function-to-string",Function.toString)},function(t,r,n){var e,o,i,u=n(28),c=n(3),a=n(14),f=n(18),s=n(15),l=n(29),p=n(31),g=c.WeakMap;if(u){var v=new g,h=v.get,d=v.has,x=v.set;e=function(t,r){return x.call(v,t,r),r},o=function(t){return h.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var y=l("state");p[y]=!0,e=function(t,r){return f(t,y,r),r},o=function(t){return s(t,y)?t[y]:{}},i=function(t){return s(t,y)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(r){var n;if(!a(r)||(n=o(r)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},function(t,r,n){var e=n(3),o=n(26),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o.call(i))},function(t,r,n){var e=n(22),o=n(30),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(r,n){var e=0,o=Math.random();r.exports=function(r){return"Symbol("+String(r===t?"":r)+")_"+(++e+o).toString(36)}},function(t,r){t.exports={}},function(t,r,n){var e=n(15),o=n(33),i=n(4),u=n(19);t.exports=function(t,r){for(var n=o(r),c=u.f,a=i.f,f=0;fa;)e(c,n=r[a++])&&(~i(f,n)||f.push(n));return f}},function(t,r,n){var e=n(9),o=n(39),i=n(41),u=function(t){return function(r,n,u){var c,a=e(r),f=o(a.length),s=i(u,f);if(t&&n!=n){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===n)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,r,n){var e=n(40),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,r){var n=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:n)(t)}},function(t,r,n){var e=n(40),o=Math.max,i=Math.min;t.exports=function(t,r){var n=e(t);return n<0?o(n+r,0):i(n,r)}},function(t,r){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,r){r.f=Object.getOwnPropertySymbols},function(t,r,n){var e=n(6),o=/#|\.prototype\./,i=function(t,r){var n=c[u(t)];return n==f||n!=a&&("function"==typeof r?e(r):!!r)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,r,n){var e=n(11);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,r,n){var e=n(12);t.exports=function(t){return Object(e(t))}},function(t,r,n){var e=n(13),o=n(19),i=n(8);t.exports=function(t,r,n){var u=e(r);u in t?o.f(t,u,i(0,n)):t[u]=n}},function(r,n,e){var o=e(14),i=e(45),u=e(49)("species");r.exports=function(r,n){var e;return i(r)&&("function"!=typeof(e=r.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[u])&&(e=t):e=t),new(e===t?Array:e)(0===n?0:n)}},function(t,r,n){var e=n(3),o=n(22),i=n(30),u=n(50),c=e.Symbol,a=o("wks");t.exports=function(t){return a[t]||(a[t]=u&&c[t]||(u?c:i)("Symbol."+t))}},function(t,r,n){var e=n(6);t.exports=!!Object.getOwnPropertySymbols&&!e(function(){return!String(Symbol())})},function(t,r,n){var e=n(6),o=n(49),i=n(52),u=o("species");t.exports=function(t){return i>=51||!e(function(){var r=[];return(r.constructor={})[u]=function(){return{foo:1}},1!==r[t](Boolean).foo})}},function(t,r,n){var e,o,i=n(3),u=n(53),c=i.process,a=c&&c.versions,f=a&&a.v8;f?o=(e=f.split("."))[0]+e[1]:u&&(!(e=u.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=u.match(/Chrome\/(\d+)/))&&(o=e[1]),t.exports=o&&+o},function(t,r,n){var e=n(34);t.exports=e("navigator","userAgent")||""},function(t,r,n){var e=n(2),o=n(55),i=n(56);e({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(r,n,e){var o=e(46),i=e(41),u=e(39),c=Math.min;r.exports=[].copyWithin||function(r,n){var e=o(this),a=u(e.length),f=i(r,a),s=i(n,a),l=arguments.length>2?arguments[2]:t,p=c((l===t?a:i(l,a))-s,a-f),g=1;for(s0;)s in e?e[f]=e[s]:delete e[f],f+=g,s+=g;return e}},function(r,n,e){var o=e(49),i=e(57),u=e(18),c=o("unscopables"),a=Array.prototype;a[c]==t&&u(a,c,i(null)),r.exports=function(t){a[c][t]=!0}},function(r,n,e){var o=e(20),i=e(58),u=e(42),c=e(31),a=e(60),f=e(17),s=e(29)("IE_PROTO"),l=function(){},p=function(){var t,r=f("iframe"),n=u.length;for(r.style.display="none",a.appendChild(r),r.src=String("javascript:"),(t=r.contentWindow.document).open(),t.write(" + View + + + + +
+ + + + + + diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config-service.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config-service.js new file mode 100644 index 0000000..c9a9778 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config-service.js @@ -0,0 +1,8 @@ + +var isReady=false;var onReadyCallbacks=[]; +var isServiceReady=false;var onServiceReadyCallbacks=[]; +var __uniConfig = {"pages":["pages/switchPages/index","pages/switchPages/about","pages/list/list","pages/foodInfo/foodInfo","pages/login/login","pages/register/register","pages/c-list/c-list","pages/c-move-list/c-move-list","pages/userInfo/userInfo","pages/myLove/myLove","pages/uSpeak/uSpeak"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"GraceUI","navigationBarBackgroundColor":"#FFFFFF","backgroundColor":"#FFFFFF"},"tabBar":{"color":"#B6C3D2","selectedColor":"#2B2E3D","borderStyle":"black","backgroundColor":"#FFFFFF","list":[{"pagePath":"pages/switchPages/index","iconPath":"static/menu_imgs/menu_1.png","selectedIconPath":"static/menu_imgs/menu_1a.png","text":"首页"},{"pagePath":"pages/uSpeak/uSpeak","iconPath":"static/menu_imgs/squ.png","selectedIconPath":"static/menu_imgs/squ2.png","text":"社区"},{"pagePath":"pages/switchPages/about","iconPath":"static/menu_imgs/menu_2.png","selectedIconPath":"static/menu_imgs/menu_2a.png","text":"我的"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"weex","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"you app name","compilerVersion":"3.96","entryPagePath":"pages/switchPages/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; +var __uniRoutes = [{"path":"/pages/switchPages/index","meta":{"isQuit":true,"isNVue":true,"isTabBar":true},"window":{"navigationBarTitleText":"GraceUI","navigationStyle":"custom"}},{"path":"/pages/switchPages/about","meta":{"isQuit":true,"isNVue":true,"isTabBar":true},"window":{"navigationBarTitleText":"GraceUI · 关于","navigationStyle":"custom"}},{"path":"/pages/list/list","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/foodInfo/foodInfo","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/login/login","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/register/register","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/c-list/c-list","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/c-move-list/c-move-list","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/userInfo/userInfo","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/myLove/myLove","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/uSpeak/uSpeak","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false,"navigationStyle":"custom"}}]; +__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); +__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); +service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}}); diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config.js new file mode 100644 index 0000000..1d5eae3 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-config.js @@ -0,0 +1,154 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // install a JSONP callback for chunk loading +/******/ function webpackJsonpCallback(data) { +/******/ var chunkIds = data[0]; +/******/ var moreModules = data[1]; +/******/ var executeModules = data[2]; +/******/ +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0, resolves = []; +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ resolves.push(installedChunks[chunkId][0]); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ for(moduleId in moreModules) { +/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { +/******/ modules[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(parentJsonpFunction) parentJsonpFunction(data); +/******/ +/******/ while(resolves.length) { +/******/ resolves.shift()(); +/******/ } +/******/ +/******/ // add entry modules from loaded chunk to deferred list +/******/ deferredModules.push.apply(deferredModules, executeModules || []); +/******/ +/******/ // run deferred modules when all chunks ready +/******/ return checkDeferredModules(); +/******/ }; +/******/ function checkDeferredModules() { +/******/ var result; +/******/ for(var i = 0; i < deferredModules.length; i++) { +/******/ var deferredModule = deferredModules[i]; +/******/ var fulfilled = true; +/******/ for(var j = 1; j < deferredModule.length; j++) { +/******/ var depId = deferredModule[j]; +/******/ if(installedChunks[depId] !== 0) fulfilled = false; +/******/ } +/******/ if(fulfilled) { +/******/ deferredModules.splice(i--, 1); +/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); +/******/ } +/******/ } +/******/ +/******/ return result; +/******/ } +/******/ +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // Promise = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "app-config": 0 +/******/ }; +/******/ +/******/ var deferredModules = []; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/"; +/******/ +/******/ var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || []; +/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); +/******/ jsonpArray.push = webpackJsonpCallback; +/******/ jsonpArray = jsonpArray.slice(); +/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); +/******/ var parentJsonpFunction = oldJsonpFunction; +/******/ +/******/ +/******/ // run deferred modules from other chunks +/******/ checkDeferredModules(); +/******/ }) +/************************************************************************/ +/******/ ([]); \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-service.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-service.js new file mode 100644 index 0000000..be8e0e5 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-service.js @@ -0,0 +1,10251 @@ +(this["webpackJsonp"] = this["webpackJsonp"] || []).push([["app-service"],[ +/* 0 */ +/*!***************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/main.js ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\n__webpack_require__(/*! uni-pages */ 6);\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 48));\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 130));\nvar _compositionApi = _interopRequireDefault(__webpack_require__(/*! @vue/composition-api */ 46));\nvar _request = _interopRequireDefault(__webpack_require__(/*! ./GraceUI5/js/request/request.js */ 76));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n_vue.default.use(_compositionApi.default);\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\n/* 全局挂载请求库 */\n\nvar GraceRequestConfig = __webpack_require__(/*! @/GraceUI5/js/request/config.js */ 86);\nuni.gRequest = _request.default;\n_vue.default.config.silent = true;\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJ1c2UiLCJWdWVDb21wb3NpdGlvbkFQSSIsImNvbmZpZyIsInByb2R1Y3Rpb25UaXAiLCJBcHAiLCJtcFR5cGUiLCJHcmFjZVJlcXVlc3RDb25maWciLCJyZXF1aXJlIiwidW5pIiwiZ1JlcXVlc3QiLCJHcmFjZVJlcXVlc3QiLCJzaWxlbnQiLCJhcHAiLCIkbW91bnQiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUFtQjtBQUNuQjtBQUNBO0FBS0E7QUFBMkQ7QUFBQTtBQUozREEsWUFBRyxDQUFDQyxHQUFHLENBQUNDLHVCQUFpQixDQUFDO0FBQzFCRixZQUFHLENBQUNHLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7QUFDaENDLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHLEtBQUs7QUFDbEI7O0FBRUEsSUFBSUMsa0JBQWtCLEdBQUdDLG1CQUFPLENBQUMseUNBQWlDLENBQUM7QUFDbkVDLEdBQUcsQ0FBQ0MsUUFBUSxHQUFHQyxnQkFBWTtBQUMzQlgsWUFBRyxDQUFDRyxNQUFNLENBQUNTLE1BQU0sR0FBRyxJQUFJO0FBQ3hCLElBQU1DLEdBQUcsR0FBRyxJQUFJYixZQUFHLG1CQUNaSyxZQUFHLEVBQ1I7QUFDRlEsR0FBRyxDQUFDQyxNQUFNLEVBQUUiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAndW5pLXBhZ2VzJztpbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcclxuaW1wb3J0IEFwcCBmcm9tICcuL0FwcCdcclxuaW1wb3J0IFZ1ZUNvbXBvc2l0aW9uQVBJIGZyb20gJ0B2dWUvY29tcG9zaXRpb24tYXBpJ1xyXG5WdWUudXNlKFZ1ZUNvbXBvc2l0aW9uQVBJKVxyXG5WdWUuY29uZmlnLnByb2R1Y3Rpb25UaXAgPSBmYWxzZVxyXG5BcHAubXBUeXBlID0gJ2FwcCdcclxuLyog5YWo5bGA5oyC6L296K+35rGC5bqTICovXHJcbmltcG9ydCBHcmFjZVJlcXVlc3QgZnJvbSAnLi9HcmFjZVVJNS9qcy9yZXF1ZXN0L3JlcXVlc3QuanMnXHJcbnZhciBHcmFjZVJlcXVlc3RDb25maWcgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL3JlcXVlc3QvY29uZmlnLmpzJyk7XHJcbnVuaS5nUmVxdWVzdCA9IEdyYWNlUmVxdWVzdDtcclxuVnVlLmNvbmZpZy5zaWxlbnQgPSB0cnVlXHJcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xyXG4gICAgLi4uQXBwXHJcbn0pXHJcbmFwcC4kbW91bnQoKSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n"); + +/***/ }), +/* 1 */ +/*!**********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} +module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 2 */ +/*!***************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3); +function _defineProperty(obj, key, value) { + key = toPropertyKey(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 3 */ +/*!**************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"]; +var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 5); +function _toPropertyKey(arg) { + var key = toPrimitive(arg, "string"); + return _typeof(key) === "symbol" ? key : String(key); +} +module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 4 */ +/*!*******************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! + \*******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _typeof(obj) { + "@babel/helpers - typeof"; + + return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj); +} +module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 5 */ +/*!************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***! + \************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"]; +function _toPrimitive(input, hint) { + if (_typeof(input) !== "object" || input === null) return input; + var prim = input[Symbol.toPrimitive]; + if (prim !== undefined) { + var res = prim.call(input, hint || "default"); + if (_typeof(res) !== "object") return res; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return (hint === "string" ? String : Number)(input); +} +module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 6 */ +/*!******************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages.json ***! + \******************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +if (typeof Promise !== 'undefined' && !Promise.prototype.finally) { + Promise.prototype.finally = function (callback) { + var promise = this.constructor; + return this.then(function (value) { + return promise.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return promise.resolve(callback()).then(function () { + throw reason; + }); + }); + }; +} +if (typeof uni !== 'undefined' && uni && uni.requireGlobal) { + var global = uni.requireGlobal(); + ArrayBuffer = global.ArrayBuffer; + Int8Array = global.Int8Array; + Uint8Array = global.Uint8Array; + Uint8ClampedArray = global.Uint8ClampedArray; + Int16Array = global.Int16Array; + Uint16Array = global.Uint16Array; + Int32Array = global.Int32Array; + Uint32Array = global.Uint32Array; + Float32Array = global.Float32Array; + Float64Array = global.Float64Array; + BigInt64Array = global.BigInt64Array; + BigUint64Array = global.BigUint64Array; +} +if (uni.restoreGlobal) { + uni.restoreGlobal(weex, plus, setTimeout, clearTimeout, setInterval, clearInterval); +} +__definePage('pages/list/list', function () { + return Vue.extend(__webpack_require__(/*! pages/list/list.vue?mpType=page */ 7).default); +}); +__definePage('pages/foodInfo/foodInfo', function () { + return Vue.extend(__webpack_require__(/*! pages/foodInfo/foodInfo.vue?mpType=page */ 17).default); +}); +__definePage('pages/login/login', function () { + return Vue.extend(__webpack_require__(/*! pages/login/login.vue?mpType=page */ 69).default); +}); +__definePage('pages/register/register', function () { + return Vue.extend(__webpack_require__(/*! pages/register/register.vue?mpType=page */ 87).default); +}); +__definePage('pages/c-list/c-list', function () { + return Vue.extend(__webpack_require__(/*! pages/c-list/c-list.vue?mpType=page */ 92).default); +}); +__definePage('pages/c-move-list/c-move-list', function () { + return Vue.extend(__webpack_require__(/*! pages/c-move-list/c-move-list.vue?mpType=page */ 103).default); +}); +__definePage('pages/userInfo/userInfo', function () { + return Vue.extend(__webpack_require__(/*! pages/userInfo/userInfo.vue?mpType=page */ 108).default); +}); +__definePage('pages/myLove/myLove', function () { + return Vue.extend(__webpack_require__(/*! pages/myLove/myLove.vue?mpType=page */ 113).default); +}); +__definePage('pages/uSpeak/uSpeak', function () { + return Vue.extend(__webpack_require__(/*! pages/uSpeak/uSpeak.vue?mpType=page */ 118).default); +}); + +/***/ }), +/* 7 */ +/*!***************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?mpType=page ***! + \***************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.vue?vue&type=template&id=2da1dc16&mpType=page */ 8);\n/* harmony import */ var _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.vue?vue&type=script&lang=js&mpType=page */ 10);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/list/list.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vbGlzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmRhMWRjMTYmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvbGlzdC9saXN0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n"); + +/***/ }), +/* 8 */ +/*!*********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=template&id=2da1dc16&mpType=page ***! + \*********************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./list.vue?vue&type=template&id=2da1dc16&mpType=page */ 9); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 9 */ +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=template&id=2da1dc16&mpType=page ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s(0, "sc", "gui-margin"), + attrs: { _i: 0 }, + slot: "gBody", + }, + [ + _c( + "view", + { staticClass: _vm._$s(1, "sc", "my-list"), attrs: { _i: 1 } }, + _vm._l( + _vm._$s(2, "f", { forItems: _vm.list }), + function (item, $10, $20, $30) { + return _c( + "navigator", + { + key: _vm._$s(2, "f", { forIndex: $20, key: 2 + "-" + $30 }), + staticClass: _vm._$s("2-" + $30, "sc", "gui-list-items"), + attrs: { + url: _vm._$s( + "2-" + $30, + "a-url", + "/pages/foodInfo/foodInfo?item=" + + encodeURIComponent(JSON.stringify(item)) + ), + _i: "2-" + $30, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "3-" + $30, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: "3-" + $30 }, + }, + [ + _c("image", { + staticClass: _vm._$s("4-" + $30, "sc", "gui-list-image"), + attrs: { + src: _vm._$s("4-" + $30, "a-src", item.thumbImageUrl), + _i: "4-" + $30, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + "5-" + $30, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: "5-" + $30 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "6-" + $30, + "sc", + "gui-list-title" + ), + attrs: { _i: "6-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "7-" + $30, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: "7-" + $30 }, + }, + [ + _vm._v( + _vm._$s("7-" + $30, "t0-0", _vm._s(item.name)) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "8-" + $30, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: "8-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "9-" + $30, + "sc", + "gui-color-red" + ), + attrs: { _i: "9-" + $30 }, + }, + [ + _vm._v( + _vm._$s("9-" + $30, "t0-0", _vm._s(item.calory)) + ), + ] + ), + _vm._v( + _vm._$s("8-" + $30, "t1-0", _vm._s(item.weight)) + ), + ] + ), + ] + ), + _vm._$s("10-" + $30, "i", item.healthLight == 1) + ? _c("text", { + staticClass: _vm._$s( + "10-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-green" + ), + attrs: { _i: "10-" + $30 }, + }) + : _vm._e(), + _vm._$s("11-" + $30, "i", item.healthLight == 2) + ? _c("text", { + staticClass: _vm._$s( + "11-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-yellow" + ), + attrs: { _i: "11-" + $30 }, + }) + : _vm._e(), + _vm._$s("12-" + $30, "i", item.healthLight == 3) + ? _c("text", { + staticClass: _vm._$s( + "12-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-red" + ), + attrs: { _i: "12-" + $30 }, + }) + : _vm._e(), + _vm._$s("13-" + $30, "i", item.healthLight == 4) + ? _c("text", { + staticClass: _vm._$s( + "13-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-black" + ), + attrs: { _i: "13-" + $30 }, + }) + : _vm._e(), + ] + ) + } + ), + 0 + ), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 10 */ +/*!***************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=script&lang=js&mpType=page ***! + \***************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./list.vue?vue&type=script&lang=js&mpType=page */ 11);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVzQixDQUFnQixpckJBQUcsRUFBQyIsImZpbGUiOiIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///10\n"); + +/***/ }), +/* 11 */ +/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=script&lang=js&mpType=page ***! + \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar list = __webpack_require__(/*! @/data/food.json */ 13);\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar _default = {\n data: function data() {\n return {\n list: []\n };\n },\n onLoad: function onLoad(data) {\n var _this = this;\n var pamars = {\n 'pid': parseInt(data.id)\n };\n __f__(\"log\", pamars, \" at pages/list/list.vue:53\");\n uni.gRequest.post(\"bohe/byCategorisIdFood\", {\n data: pamars\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/list/list.vue:57\");\n if (res.data.code == 200) {\n _this.list = res.data.data;\n }\n });\n\n // let l = JSON.stringify(list)\n // l = JSON.parse(l)\n // console.log(l)\n // graceJS.get('/static/food.json',\n // \t(res) => {\n // \t\tconsole.log(res);\n // \t}\n // );\n // this.list = l.foods\n },\n\n methods: {}\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbGlzdC9saXN0LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwibGlzdCIsIm9uTG9hZCIsInVuaSIsIm1ldGhvZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3Q0E7QUFDQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0FIO0lBQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUVBOztJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUlBOztFQUNBSSxVQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBzbG90PVwiZ0JvZHlcIiBjbGFzcz1cImd1aS1tYXJnaW5cIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOjUwcnB4OyBcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwibXktbGlzdFwiPlxyXG5cclxuXHRcdFx0PG5hdmlnYXRvciAgY2xhc3M9XCJndWktbGlzdC1pdGVtc1wiIHYtZm9yPVwiaXRlbSBpbiBsaXN0XCJcclxuXHRcdFx0XHQ6dXJsPVwiJy9wYWdlcy9mb29kSW5mby9mb29kSW5mbz9pdGVtPScrIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpdGVtKSlcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LWltYWdlIGd1aS1yZWxhdGl2ZVwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZ3VpLWxpc3QtaW1hZ2VcIiA6c3JjPVwiaXRlbS50aHVtYkltYWdlVXJsXCI+PC9pbWFnZT5cclxuXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtYm9keSBndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtdGl0bGVcIj5cclxuXHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtdGl0bGUtdGV4dCBndWktcHJpbWFyeS1jb2xvclwiPnt7aXRlbS5uYW1lfX08L3RleHQ+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYm9keS1kZXNjIGd1aS1jb2xvci1ncmF5XCI+PHRleHQgY2xhc3M9XCJndWktY29sb3ItcmVkXCI+e3tpdGVtLmNhbG9yeX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHTljYPljaEve3tpdGVtLndlaWdodH195YWLPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1ncmVlblwiIHYtaWY9XCJpdGVtLmhlYWx0aExpZ2h0ID09IDFcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYXJyb3ctcmlnaHQgZ3VpLWljb25zIGd1aS1jb2xvci1yZWQgZ3VpLWJnLXllbGxvd1wiIHYtaWY9XCJpdGVtLmhlYWx0aExpZ2h0ID09IDJcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYXJyb3ctcmlnaHQgZ3VpLWljb25zIGd1aS1jb2xvci1yZWQgZ3VpLWJnLXJlZFwiIHYtaWY9XCJpdGVtLmhlYWx0aExpZ2h0ID09IDNcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYXJyb3ctcmlnaHQgZ3VpLWljb25zIGd1aS1jb2xvci1yZWQgZ3VpLWJnLWJsYWNrXCIgdi1pZj1cIml0ZW0uaGVhbHRoTGlnaHQgPT0gNFwiXHJcblx0XHRcdFx0XHRzdHlsZT1cImJvcmRlci1yYWRpdXM6IDEwMCU7d2lkdGg6IDIwdXB4O2hlaWdodDoyMHVweDtcIj48L3RleHQ+XHJcblx0XHRcdDwvbmF2aWdhdG9yPlxyXG5cclxuXHJcblxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdFxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGNvbnN0IGxpc3QgPSByZXF1aXJlKCdAL2RhdGEvZm9vZC5qc29uJylcclxuXHR2YXIgZ3JhY2VKUyA9IHJlcXVpcmUoJ0AvR3JhY2VVSTUvanMvZ3JhY2UuanMnKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxpc3Q6IFtdXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoZGF0YSkge1xyXG5cdFx0XHR2YXIgcGFtYXJzID0ge1xyXG5cdFx0XHRcdCdwaWQnOiBwYXJzZUludChkYXRhLmlkKVxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnNvbGUubG9nKHBhbWFycylcclxuXHRcdFx0dW5pLmdSZXF1ZXN0LnBvc3QoXCJib2hlL2J5Q2F0ZWdvcmlzSWRGb29kXCIsIHtcclxuXHRcdFx0XHRkYXRhOiBwYW1hcnNcclxuXHRcdFx0fSwgKHJlcykgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG5cdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5saXN0ID0gcmVzLmRhdGEuZGF0YVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0pXHJcblxyXG5cclxuXHRcdFx0Ly8gbGV0IGwgPSBKU09OLnN0cmluZ2lmeShsaXN0KVxyXG5cdFx0XHQvLyBsID0gSlNPTi5wYXJzZShsKVxyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhsKVxyXG5cdFx0XHQvLyBncmFjZUpTLmdldCgnL3N0YXRpYy9mb29kLmpzb24nLFxyXG5cdFx0XHQvLyBcdChyZXMpID0+IHtcclxuXHRcdFx0Ly8gXHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyApO1xyXG5cdFx0XHQvLyB0aGlzLmxpc3QgPSBsLmZvb2RzXHJcblxyXG5cclxuXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///11\n"); + +/***/ }), +/* 12 */ +/*!*********************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js ***! + \*********************************************************************/ +/*! exports provided: log, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return formatLog; }); +function typof (v) { + var s = Object.prototype.toString.call(v) + return s.substring(8, s.length - 1) +} + +function isDebugMode () { + /* eslint-disable no-undef */ + return typeof __channelId__ === 'string' && __channelId__ +} + +function jsonStringifyReplacer (k, p) { + switch (typof(p)) { + case 'Function': + return 'function() { [native code] }' + default : + return p + } +} + +function log (type) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key] + } + console[type].apply(console, args) +} + +function formatLog () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key] + } + var type = args.shift() + if (isDebugMode()) { + args.push(args.pop().replace('at ', 'uni-app:///')) + return console[type].apply(console, args) + } + + var msgs = args.map(function (v) { + var type = Object.prototype.toString.call(v).toLowerCase() + + if (type === '[object object]' || type === '[object array]') { + try { + v = '---BEGIN:JSON---' + JSON.stringify(v, jsonStringifyReplacer) + '---END:JSON---' + } catch (e) { + v = type + } + } else { + if (v === null) { + v = '---NULL---' + } else if (v === undefined) { + v = '---UNDEFINED---' + } else { + var vType = typof(v).toUpperCase() + + if (vType === 'NUMBER' || vType === 'BOOLEAN') { + v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---' + } else { + v = String(v) + } + } + } + + return v + }) + var msg = '' + + if (msgs.length > 1) { + var lastMsg = msgs.pop() + msg = msgs.join('---COMMA---') + + if (lastMsg.indexOf(' at ') === 0) { + msg += lastMsg + } else { + msg += '---COMMA---' + lastMsg + } + } else { + msg = msgs[0] + } + + console[type](msg) +} + + +/***/ }), +/* 13 */ +/*!**********************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/data/food.json ***! + \**********************************************************************************/ +/*! exports provided: easter_egg_level, page, total_pages, foods, default */ +/***/ (function(module) { + +eval("module.exports = JSON.parse(\"{\\\"easter_egg_level\\\":null,\\\"page\\\":1,\\\"total_pages\\\":674,\\\"foods\\\":[{\\\"id\\\":56,\\\"code\\\":\\\"mifan_zheng\\\",\\\"name\\\":\\\"米饭\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_f81e8de29f76e6d0c39d4142fe45764f.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"116\\\",\\\"fat\\\":\\\"0.3\\\",\\\"protein\\\":\\\"2.6\\\",\\\"fiber_dietary\\\":\\\"0.3\\\",\\\"carbohydrate\\\":\\\"25.9\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.02\\\",\\\"lactoflavin\\\":\\\"0.03\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.0\\\",\\\"niacin\\\":\\\"1.9\\\",\\\"natrium\\\":\\\"2.5\\\",\\\"calcium\\\":\\\"7.0\\\",\\\"iron\\\":\\\"1.3\\\",\\\"kalium\\\":\\\"30.0\\\",\\\"iodine\\\":\\\"0.0\\\",\\\"zinc\\\":\\\"0.92\\\",\\\"selenium\\\":\\\"0.4\\\",\\\"magnesium\\\":\\\"15.0\\\",\\\"copper\\\":\\\"0.06\\\",\\\"manganese\\\":\\\"0.58\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"3.4\\\",\\\"saturated_fat\\\":\\\"0.0\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"0.0\\\",\\\"phosphor\\\":\\\"62.0\\\",\\\"gi\\\":\\\"90.0\\\",\\\"gl\\\":\\\"23.0\\\"},{\\\"id\\\":63,\\\"code\\\":\\\"yumi_xian\\\",\\\"name\\\":\\\"鲜玉米\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_c2151343a69cae01925e8599d66bcc8c.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"112\\\",\\\"fat\\\":\\\"1.2\\\",\\\"protein\\\":\\\"4.0\\\",\\\"fiber_dietary\\\":\\\"2.9\\\",\\\"carbohydrate\\\":\\\"22.8\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.16\\\",\\\"lactoflavin\\\":\\\"0.11\\\",\\\"vitamin_c\\\":\\\"16.0\\\",\\\"vitamin_e\\\":\\\"0.46\\\",\\\"niacin\\\":\\\"1.8\\\",\\\"natrium\\\":\\\"1.1\\\",\\\"calcium\\\":\\\"0.0\\\",\\\"iron\\\":\\\"1.1\\\",\\\"kalium\\\":\\\"238.0\\\",\\\"iodine\\\":\\\"1.1\\\",\\\"zinc\\\":\\\"0.9\\\",\\\"selenium\\\":\\\"1.63\\\",\\\"magnesium\\\":\\\"32.0\\\",\\\"copper\\\":\\\"0.09\\\",\\\"manganese\\\":\\\"0.22\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"31.9\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"8.89\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"117.0\\\",\\\"gi\\\":\\\"55.0\\\",\\\"gl\\\":\\\"10.9\\\"},{\\\"id\\\":1173,\\\"code\\\":\\\"maipeimianbao\\\",\\\"name\\\":\\\"全麦面包\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_m_big_photo_url_734d51cb0453db04bb275a477a1e5be4.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"254\\\",\\\"fat\\\":\\\"3.6\\\",\\\"protein\\\":\\\"12.3\\\",\\\"fiber_dietary\\\":\\\"6.0\\\",\\\"carbohydrate\\\":\\\"43.1\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.39\\\",\\\"lactoflavin\\\":\\\"0.17\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.54\\\",\\\"niacin\\\":\\\"4.43\\\",\\\"natrium\\\":\\\"449.0\\\",\\\"calcium\\\":\\\"163.0\\\",\\\"iron\\\":\\\"2.56\\\",\\\"kalium\\\":\\\"250.0\\\",\\\"iodine\\\":\\\"0.0\\\",\\\"zinc\\\":\\\"1.76\\\",\\\"selenium\\\":\\\"19.9\\\",\\\"magnesium\\\":\\\"77.0\\\",\\\"copper\\\":\\\"0.23\\\",\\\"manganese\\\":\\\"0.35\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"42.0\\\",\\\"saturated_fat\\\":\\\"0.73\\\",\\\"sugar\\\":\\\"4.41\\\",\\\"vitamin_b6\\\":\\\"0.22\\\",\\\"phosphor\\\":\\\"212.0\\\",\\\"gi\\\":\\\"69.0\\\",\\\"gl\\\":\\\"\\\"},{\\\"id\\\":92,\\\"code\\\":\\\"ganshu_hongxin\\\",\\\"name\\\":\\\"红薯\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_bc7c36b31c994c9dae4b730003d82661.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"86\\\",\\\"fat\\\":\\\"0.1\\\",\\\"protein\\\":\\\"1.6\\\",\\\"fiber_dietary\\\":\\\"3.0\\\",\\\"carbohydrate\\\":\\\"20.1\\\",\\\"vitamin_a\\\":\\\"63.0\\\",\\\"thiamine\\\":\\\"0.08\\\",\\\"lactoflavin\\\":\\\"0.06\\\",\\\"vitamin_c\\\":\\\"2.4\\\",\\\"vitamin_e\\\":\\\"0.26\\\",\\\"niacin\\\":\\\"0.56\\\",\\\"natrium\\\":\\\"55.0\\\",\\\"calcium\\\":\\\"30.0\\\",\\\"iron\\\":\\\"0.61\\\",\\\"kalium\\\":\\\"337.0\\\",\\\"iodine\\\":\\\"1.2\\\",\\\"zinc\\\":\\\"0.3\\\",\\\"selenium\\\":\\\"0.6\\\",\\\"magnesium\\\":\\\"25.0\\\",\\\"copper\\\":\\\"0.15\\\",\\\"manganese\\\":\\\"0.26\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"8.3\\\",\\\"saturated_fat\\\":\\\"0.0\\\",\\\"sugar\\\":\\\"4.04\\\",\\\"vitamin_b6\\\":\\\"0.19\\\",\\\"phosphor\\\":\\\"47.0\\\",\\\"gi\\\":\\\"54.0\\\",\\\"gl\\\":\\\"9.2\\\"},{\\\"id\\\":1163,\\\"code\\\":\\\"yanmaipian\\\",\\\"name\\\":\\\"燕麦片\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_f9e08db17252ddef1f7a08d0fbb8f6fb.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"338\\\",\\\"fat\\\":\\\"0.2\\\",\\\"protein\\\":\\\"10.1\\\",\\\"fiber_dietary\\\":\\\"6.0\\\",\\\"carbohydrate\\\":\\\"77.4\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.46\\\",\\\"lactoflavin\\\":\\\"0.07\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.91\\\",\\\"niacin\\\":\\\"0.0\\\",\\\"natrium\\\":\\\"2.1\\\",\\\"calcium\\\":\\\"58.0\\\",\\\"iron\\\":\\\"2.9\\\",\\\"kalium\\\":\\\"356.0\\\",\\\"iodine\\\":\\\"0.0\\\",\\\"zinc\\\":\\\"1.75\\\",\\\"selenium\\\":\\\"0.0\\\",\\\"magnesium\\\":\\\"116.0\\\",\\\"copper\\\":\\\"0.21\\\",\\\"manganese\\\":\\\"3.91\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"30.1\\\",\\\"saturated_fat\\\":\\\"0.0\\\",\\\"sugar\\\":\\\"1.0\\\",\\\"vitamin_b6\\\":\\\"0.0\\\",\\\"phosphor\\\":\\\"342.0\\\",\\\"gi\\\":\\\"55.0\\\",\\\"gl\\\":\\\"\\\"},{\\\"id\\\":27008,\\\"code\\\":\\\"zishu\\\",\\\"name\\\":\\\"紫薯\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/19/slim_mid_photo_url_big_photo_url_b48f483c506a51c70b22fd54f18dc2ef.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"123\\\",\\\"fat\\\":\\\"0.3\\\",\\\"protein\\\":\\\"1.2\\\",\\\"fiber_dietary\\\":\\\"2.5\\\",\\\"carbohydrate\\\":\\\"31.7\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.12\\\",\\\"lactoflavin\\\":\\\"0.02\\\",\\\"vitamin_c\\\":\\\"0.1\\\",\\\"vitamin_e\\\":\\\"1.3\\\",\\\"niacin\\\":\\\"1.3\\\",\\\"natrium\\\":\\\"30.0\\\",\\\"calcium\\\":\\\"24.0\\\",\\\"iron\\\":\\\"0.6\\\",\\\"kalium\\\":\\\"370.0\\\",\\\"iodine\\\":\\\"0.0\\\",\\\"zinc\\\":\\\"0.2\\\",\\\"selenium\\\":\\\"0.0\\\",\\\"magnesium\\\":\\\"26.0\\\",\\\"copper\\\":\\\"0.21\\\",\\\"manganese\\\":\\\"0.5\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"22.0\\\",\\\"saturated_fat\\\":\\\"0.05\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"0.18\\\",\\\"phosphor\\\":\\\"56.0\\\",\\\"gi\\\":\\\"77.0\\\",\\\"gl\\\":\\\"15.0\\\"},{\\\"id\\\":59,\\\"code\\\":\\\"jingmizhou\\\",\\\"name\\\":\\\"白粥\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_5496722b20671a0388e5834b068e2ca2.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"46\\\",\\\"fat\\\":\\\"0.3\\\",\\\"protein\\\":\\\"1.1\\\",\\\"fiber_dietary\\\":\\\"0.1\\\",\\\"carbohydrate\\\":\\\"9.9\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.0\\\",\\\"lactoflavin\\\":\\\"0.03\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.0\\\",\\\"niacin\\\":\\\"0.2\\\",\\\"natrium\\\":\\\"2.8\\\",\\\"calcium\\\":\\\"7.0\\\",\\\"iron\\\":\\\"0.1\\\",\\\"kalium\\\":\\\"13.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.2\\\",\\\"selenium\\\":\\\"0.2\\\",\\\"magnesium\\\":\\\"7.0\\\",\\\"copper\\\":\\\"0.03\\\",\\\"manganese\\\":\\\"0.2\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"20.0\\\",\\\"gi\\\":\\\"69.0\\\",\\\"gl\\\":\\\"6.8\\\"},{\\\"id\\\":28,\\\"code\\\":\\\"youtiao\\\",\\\"name\\\":\\\"油条\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_552a534384ecbc8888f957067c13942f.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":3,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"388\\\",\\\"fat\\\":\\\"17.6\\\",\\\"protein\\\":\\\"6.9\\\",\\\"fiber_dietary\\\":\\\"0.9\\\",\\\"carbohydrate\\\":\\\"51.0\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.01\\\",\\\"lactoflavin\\\":\\\"0.07\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"3.19\\\",\\\"niacin\\\":\\\"0.7\\\",\\\"natrium\\\":\\\"585.2\\\",\\\"calcium\\\":\\\"6.0\\\",\\\"iron\\\":\\\"1.0\\\",\\\"kalium\\\":\\\"227.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.75\\\",\\\"selenium\\\":\\\"8.6\\\",\\\"magnesium\\\":\\\"19.0\\\",\\\"copper\\\":\\\"0.19\\\",\\\"manganese\\\":\\\"0.52\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"6.0\\\",\\\"saturated_fat\\\":\\\"0.5\\\",\\\"sugar\\\":\\\"0.64\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"77.0\\\",\\\"gi\\\":\\\"75.0\\\",\\\"gl\\\":\\\"37.6\\\"},{\\\"id\\\":348,\\\"code\\\":\\\"yutou\\\",\\\"name\\\":\\\"芋头\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_b55cb3edd355334376a0c2462a291d1f.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"56\\\",\\\"fat\\\":\\\"0.2\\\",\\\"protein\\\":\\\"1.3\\\",\\\"fiber_dietary\\\":\\\"1.0\\\",\\\"carbohydrate\\\":\\\"12.7\\\",\\\"vitamin_a\\\":\\\"1.0\\\",\\\"thiamine\\\":\\\"0.05\\\",\\\"lactoflavin\\\":\\\"0.02\\\",\\\"vitamin_c\\\":\\\"1.5\\\",\\\"vitamin_e\\\":\\\"0.0\\\",\\\"niacin\\\":\\\"0.28\\\",\\\"natrium\\\":\\\"5.5\\\",\\\"calcium\\\":\\\"11.0\\\",\\\"iron\\\":\\\"0.3\\\",\\\"kalium\\\":\\\"25.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.19\\\",\\\"selenium\\\":\\\"0.91\\\",\\\"magnesium\\\":\\\"19.0\\\",\\\"copper\\\":\\\"0.06\\\",\\\"manganese\\\":\\\"0.3\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"7.8\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"0.98\\\",\\\"vitamin_b6\\\":\\\"0.28\\\",\\\"phosphor\\\":\\\"50.0\\\",\\\"gi\\\":\\\"48.0\\\",\\\"gl\\\":\\\"5.6\\\"},{\\\"id\\\":16,\\\"code\\\":\\\"miantiao_fuqiangfen_zhu\\\",\\\"name\\\":\\\"煮面条\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_7fa30a00fecb65c0533b9142a0072e42.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"107\\\",\\\"fat\\\":\\\"0.4\\\",\\\"protein\\\":\\\"3.9\\\",\\\"fiber_dietary\\\":\\\"0.0\\\",\\\"carbohydrate\\\":\\\"22.8\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.02\\\",\\\"lactoflavin\\\":\\\"0.01\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.0\\\",\\\"niacin\\\":\\\"0.56\\\",\\\"natrium\\\":\\\"26.9\\\",\\\"calcium\\\":\\\"4.0\\\",\\\"iron\\\":\\\"0.2\\\",\\\"kalium\\\":\\\"15.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.1\\\",\\\"selenium\\\":\\\"1.16\\\",\\\"magnesium\\\":\\\"10.0\\\",\\\"copper\\\":\\\"0.01\\\",\\\"manganese\\\":\\\"0.01\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"2.1\\\",\\\"saturated_fat\\\":\\\"0.1\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"24.0\\\",\\\"gi\\\":\\\"41.0\\\",\\\"gl\\\":\\\"9.3\\\"},{\\\"id\\\":12,\\\"code\\\":\\\"miantiao_junzhi\\\",\\\"name\\\":\\\"面条(生)\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_67e3a4544d0676c61e002e19dd8119fd.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"301\\\",\\\"fat\\\":\\\"0.6\\\",\\\"protein\\\":\\\"8.9\\\",\\\"fiber_dietary\\\":\\\"0.8\\\",\\\"carbohydrate\\\":\\\"65.6\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.22\\\",\\\"lactoflavin\\\":\\\"0.07\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.47\\\",\\\"niacin\\\":\\\"1.8\\\",\\\"natrium\\\":\\\"21.4\\\",\\\"calcium\\\":\\\"12.0\\\",\\\"iron\\\":\\\"4.3\\\",\\\"kalium\\\":\\\"123.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"1.09\\\",\\\"selenium\\\":\\\"6.59\\\",\\\"magnesium\\\":\\\"42.0\\\",\\\"copper\\\":\\\"0.15\\\",\\\"manganese\\\":\\\"0.71\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"\\\",\\\"saturated_fat\\\":\\\"0.1\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"139.0\\\",\\\"gi\\\":\\\"55.0\\\",\\\"gl\\\":\\\"35.6\\\"},{\\\"id\\\":1166,\\\"code\\\":\\\"mianbao_junzhi\\\",\\\"name\\\":\\\"面包\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_d6ca69ac1afb226f83f4758441c3c75a.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":2,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"313\\\",\\\"fat\\\":\\\"5.1\\\",\\\"protein\\\":\\\"8.3\\\",\\\"fiber_dietary\\\":\\\"0.5\\\",\\\"carbohydrate\\\":\\\"58.6\\\",\\\"vitamin_a\\\":\\\"\\\",\\\"thiamine\\\":\\\"0.03\\\",\\\"lactoflavin\\\":\\\"0.06\\\",\\\"vitamin_c\\\":\\\"\\\",\\\"vitamin_e\\\":\\\"1.66\\\",\\\"niacin\\\":\\\"1.7\\\",\\\"natrium\\\":\\\"230.4\\\",\\\"calcium\\\":\\\"49.0\\\",\\\"iron\\\":\\\"2.0\\\",\\\"kalium\\\":\\\"88.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.75\\\",\\\"selenium\\\":\\\"3.15\\\",\\\"magnesium\\\":\\\"31.0\\\",\\\"copper\\\":\\\"0.27\\\",\\\"manganese\\\":\\\"0.37\\\",\\\"cholesterol\\\":\\\"\\\",\\\"folacin\\\":\\\"\\\",\\\"saturated_fat\\\":\\\"0.3\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"0.08\\\",\\\"phosphor\\\":\\\"107.0\\\",\\\"gi\\\":\\\"88.0\\\",\\\"gl\\\":\\\"51.1\\\"},{\\\"id\\\":346,\\\"code\\\":\\\"shanyao\\\",\\\"name\\\":\\\"山药\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_43b6d0454b50ebf35facd9013d16afd3.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"57\\\",\\\"fat\\\":\\\"0.2\\\",\\\"protein\\\":\\\"1.9\\\",\\\"fiber_dietary\\\":\\\"0.8\\\",\\\"carbohydrate\\\":\\\"12.4\\\",\\\"vitamin_a\\\":\\\"3.0\\\",\\\"thiamine\\\":\\\"0.05\\\",\\\"lactoflavin\\\":\\\"0.02\\\",\\\"vitamin_c\\\":\\\"5.0\\\",\\\"vitamin_e\\\":\\\"0.24\\\",\\\"niacin\\\":\\\"0.3\\\",\\\"natrium\\\":\\\"18.6\\\",\\\"calcium\\\":\\\"16.0\\\",\\\"iron\\\":\\\"0.3\\\",\\\"kalium\\\":\\\"213.0\\\",\\\"iodine\\\":\\\"3.6\\\",\\\"zinc\\\":\\\"0.27\\\",\\\"selenium\\\":\\\"0.55\\\",\\\"magnesium\\\":\\\"20.0\\\",\\\"copper\\\":\\\"0.24\\\",\\\"manganese\\\":\\\"0.12\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"7.8\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"0.22\\\",\\\"vitamin_b6\\\":\\\"0.29\\\",\\\"phosphor\\\":\\\"34.0\\\",\\\"gi\\\":\\\"51.0\\\",\\\"gl\\\":\\\"5.9\\\"},{\\\"id\\\":31,\\\"code\\\":\\\"daomi_junzhi\\\",\\\"name\\\":\\\"大米\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_3e01a32158e941ccb328d808d6955684.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"346\\\",\\\"fat\\\":\\\"0.9\\\",\\\"protein\\\":\\\"7.9\\\",\\\"fiber_dietary\\\":\\\"0.6\\\",\\\"carbohydrate\\\":\\\"77.2\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.15\\\",\\\"lactoflavin\\\":\\\"0.04\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.43\\\",\\\"niacin\\\":\\\"2.0\\\",\\\"natrium\\\":\\\"1.8\\\",\\\"calcium\\\":\\\"8.0\\\",\\\"iron\\\":\\\"1.1\\\",\\\"kalium\\\":\\\"112.0\\\",\\\"iodine\\\":\\\"2.3\\\",\\\"zinc\\\":\\\"1.54\\\",\\\"selenium\\\":\\\"2.83\\\",\\\"magnesium\\\":\\\"31.0\\\",\\\"copper\\\":\\\"0.25\\\",\\\"manganese\\\":\\\"1.13\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"23.7\\\",\\\"saturated_fat\\\":\\\"0.3\\\",\\\"sugar\\\":\\\"0.09\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"112.0\\\",\\\"gi\\\":\\\"87.0\\\",\\\"gl\\\":\\\"66.6\\\"},{\\\"id\\\":76,\\\"code\\\":\\\"xiaomizhou\\\",\\\"name\\\":\\\"小米粥\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_ef353b12d4e89108a469f0a38dff4404.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"46\\\",\\\"fat\\\":\\\"0.7\\\",\\\"protein\\\":\\\"1.4\\\",\\\"fiber_dietary\\\":\\\"0.0\\\",\\\"carbohydrate\\\":\\\"8.4\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.02\\\",\\\"lactoflavin\\\":\\\"0.07\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"0.26\\\",\\\"niacin\\\":\\\"0.9\\\",\\\"natrium\\\":\\\"4.1\\\",\\\"calcium\\\":\\\"10.0\\\",\\\"iron\\\":\\\"1.0\\\",\\\"kalium\\\":\\\"19.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.41\\\",\\\"selenium\\\":\\\"0.3\\\",\\\"magnesium\\\":\\\"22.0\\\",\\\"copper\\\":\\\"0.07\\\",\\\"manganese\\\":\\\"0.16\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"32.0\\\",\\\"gi\\\":\\\"60.0\\\",\\\"gl\\\":\\\"5.0\\\"},{\\\"id\\\":88,\\\"code\\\":\\\"malingshu\\\",\\\"name\\\":\\\"马铃薯\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_8a7ff30a30cec1f7633e98a2388b545d.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"81\\\",\\\"fat\\\":\\\"0.2\\\",\\\"protein\\\":\\\"2.6\\\",\\\"fiber_dietary\\\":\\\"1.1\\\",\\\"carbohydrate\\\":\\\"17.8\\\",\\\"vitamin_a\\\":\\\"1.0\\\",\\\"thiamine\\\":\\\"0.1\\\",\\\"lactoflavin\\\":\\\"0.02\\\",\\\"vitamin_c\\\":\\\"14.0\\\",\\\"vitamin_e\\\":\\\"0.34\\\",\\\"niacin\\\":\\\"1.1\\\",\\\"natrium\\\":\\\"5.9\\\",\\\"calcium\\\":\\\"7.0\\\",\\\"iron\\\":\\\"0.4\\\",\\\"kalium\\\":\\\"347.0\\\",\\\"iodine\\\":\\\"1.2\\\",\\\"zinc\\\":\\\"0.3\\\",\\\"selenium\\\":\\\"0.47\\\",\\\"magnesium\\\":\\\"24.0\\\",\\\"copper\\\":\\\"0.09\\\",\\\"manganese\\\":\\\"0.1\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"15.7\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"1.61\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"46.0\\\",\\\"gi\\\":\\\"62.0\\\",\\\"gl\\\":\\\"10.4\\\"},{\\\"id\\\":1944,\\\"code\\\":\\\"baozi_zhurouxian\\\",\\\"name\\\":\\\"包子(猪肉馅)\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_210714ad3b3bef4c9f899c8d485ae5ad.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":2,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"227\\\",\\\"fat\\\":\\\"10.0\\\",\\\"protein\\\":\\\"7.3\\\",\\\"fiber_dietary\\\":\\\"1.7\\\",\\\"carbohydrate\\\":\\\"30.3\\\",\\\"vitamin_a\\\":\\\"\\\",\\\"thiamine\\\":\\\"\\\",\\\"lactoflavin\\\":\\\"\\\",\\\"vitamin_c\\\":\\\"\\\",\\\"vitamin_e\\\":\\\"\\\",\\\"niacin\\\":\\\"\\\",\\\"natrium\\\":\\\"\\\",\\\"calcium\\\":\\\"\\\",\\\"iron\\\":\\\"\\\",\\\"kalium\\\":\\\"\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"\\\",\\\"selenium\\\":\\\"\\\",\\\"magnesium\\\":\\\"\\\",\\\"copper\\\":\\\"\\\",\\\"manganese\\\":\\\"\\\",\\\"cholesterol\\\":\\\"\\\",\\\"folacin\\\":\\\"\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"\\\",\\\"gi\\\":\\\"39.1\\\",\\\"gl\\\":\\\"11.2\\\"},{\\\"id\\\":91,\\\"code\\\":\\\"ganshu_baixin\\\",\\\"name\\\":\\\"白薯\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_big_photo_url_60601e92dbb659a70d9ec8867d13ead3.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"106\\\",\\\"fat\\\":\\\"0.2\\\",\\\"protein\\\":\\\"1.4\\\",\\\"fiber_dietary\\\":\\\"1.0\\\",\\\"carbohydrate\\\":\\\"25.2\\\",\\\"vitamin_a\\\":\\\"18.0\\\",\\\"thiamine\\\":\\\"0.07\\\",\\\"lactoflavin\\\":\\\"0.04\\\",\\\"vitamin_c\\\":\\\"24.0\\\",\\\"vitamin_e\\\":\\\"0.43\\\",\\\"niacin\\\":\\\"0.6\\\",\\\"natrium\\\":\\\"58.2\\\",\\\"calcium\\\":\\\"24.0\\\",\\\"iron\\\":\\\"0.8\\\",\\\"kalium\\\":\\\"174.0\\\",\\\"iodine\\\":\\\"0.0\\\",\\\"zinc\\\":\\\"0.22\\\",\\\"selenium\\\":\\\"0.63\\\",\\\"magnesium\\\":\\\"17.0\\\",\\\"copper\\\":\\\"0.16\\\",\\\"manganese\\\":\\\"0.21\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"0.0\\\",\\\"saturated_fat\\\":\\\"0.0\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"0.0\\\",\\\"phosphor\\\":\\\"46.0\\\",\\\"gi\\\":\\\"\\\",\\\"gl\\\":\\\"\\\"},{\\\"id\\\":22,\\\"code\\\":\\\"laobing_biaozhunfen\\\",\\\"name\\\":\\\"烙饼\\\",\\\"thumb_image_url\\\":\\\"https://s.boohee.cn/house/upload_food/2022/1/18/slim_mid_photo_url_a34dd702004e7915602df737d2895953.jpg?x-oss-process=image/resize,w_200,h_200\\\",\\\"is_liquid\\\":false,\\\"health_light\\\":1,\\\"weight\\\":\\\"100\\\",\\\"calory\\\":\\\"258\\\",\\\"fat\\\":\\\"2.3\\\",\\\"protein\\\":\\\"7.5\\\",\\\"fiber_dietary\\\":\\\"1.9\\\",\\\"carbohydrate\\\":\\\"52.9\\\",\\\"vitamin_a\\\":\\\"0.0\\\",\\\"thiamine\\\":\\\"0.02\\\",\\\"lactoflavin\\\":\\\"0.04\\\",\\\"vitamin_c\\\":\\\"0.0\\\",\\\"vitamin_e\\\":\\\"1.03\\\",\\\"niacin\\\":\\\"0.0\\\",\\\"natrium\\\":\\\"149.3\\\",\\\"calcium\\\":\\\"20.0\\\",\\\"iron\\\":\\\"2.4\\\",\\\"kalium\\\":\\\"141.0\\\",\\\"iodine\\\":\\\"\\\",\\\"zinc\\\":\\\"0.94\\\",\\\"selenium\\\":\\\"7.5\\\",\\\"magnesium\\\":\\\"51.0\\\",\\\"copper\\\":\\\"0.15\\\",\\\"manganese\\\":\\\"1.15\\\",\\\"cholesterol\\\":\\\"0.0\\\",\\\"folacin\\\":\\\"92.0\\\",\\\"saturated_fat\\\":\\\"\\\",\\\"sugar\\\":\\\"\\\",\\\"vitamin_b6\\\":\\\"\\\",\\\"phosphor\\\":\\\"146.0\\\",\\\"gi\\\":\\\"80.0\\\",\\\"gl\\\":\\\"40.8\\\"}]}\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiIxMy5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///13\n"); + +/***/ }), +/* 14 */ +/*!****************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/grace.js ***! + \****************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(__f__) {var _md = __webpack_require__(/*! @/GraceUI5/js/md5.js */ 15);\nmodule.exports = {\n // 版本检查\n verson: function verson() {\n var currentVersion = '5.0';\n __f__(\"log\", currentVersion, \" at GraceUI5/js/grace.js:6\");\n },\n // --- 页面跳转相关 ---\n // 页面跳转\n navigate: function navigate(url, type, success, fail, complete) {\n if (!type) {\n type = 'navigateTo';\n }\n if (!success) {\n success = function success() {};\n }\n if (!fail) {\n fail = function fail() {};\n }\n if (!complete) {\n complete = function complete() {};\n }\n switch (type) {\n case 'navigateTo':\n uni.navigateTo({\n url: url,\n success: success,\n fail: fail,\n complete: complete\n });\n break;\n case 'redirectTo':\n uni.redirectTo({\n url: url,\n success: success,\n fail: fail,\n complete: complete\n });\n break;\n case 'switchTab':\n uni.switchTab({\n url: url,\n success: success,\n fail: fail,\n complete: complete\n });\n break;\n case 'reLaunch':\n uni.reLaunch({\n url: url,\n success: success,\n fail: fail,\n complete: complete\n });\n break;\n }\n },\n // 返回\n back: function back(delta) {\n if (!delta) {\n delta = 1;\n }\n uni.navigateBack({\n delta: delta\n });\n },\n // --- 网络请求 ---\n // get\n get: function get(url, data, headers, _success, fail) {\n var _this2 = this;\n if (!fail) {\n fail = function fail() {\n _this2.msg(\"网络请求失败\");\n };\n }\n if (!headers) {\n headers = {};\n }\n if (this.__before != null) {\n this.__before();\n this.__before = null;\n }\n uni.request({\n url: url,\n data: data,\n method: \"GET\",\n dataType: \"json\",\n header: headers,\n success: function success(res) {\n _success(res.data);\n },\n fail: fail,\n complete: function complete() {\n if (_this2.__after != null) {\n _this2.__after();\n _this2.__after = null;\n }\n }\n });\n },\n // post\n post: function post(url, data, contentType, headers, _success2, fail) {\n var _this3 = this;\n if (!fail) {\n fail = function fail() {\n _this3.msg(\"网络请求失败\");\n };\n }\n if (!headers) {\n headers = {};\n }\n if (!contentType) {\n contentType = 'form';\n }\n if (this.__before != null) {\n this.__before();\n this.__before = null;\n }\n switch (contentType) {\n case \"form\":\n headers['content-type'] = 'application/x-www-form-urlencoded';\n break;\n case \"json\":\n headers['content-type'] = 'application/json';\n break;\n default:\n headers['content-type'] = 'application/x-www-form-urlencoded';\n }\n uni.request({\n url: url,\n data: data,\n method: \"POST\",\n dataType: \"json\",\n header: headers,\n success: function success(res) {\n _success2(res.data);\n },\n fail: fail,\n complete: function complete() {\n if (_this3.__after != null) {\n _this3.__after();\n _this3.__after = null;\n }\n }\n });\n },\n // 请求前置函数\n __before: null,\n setBefore: function setBefore(func) {\n this.__before = func;\n },\n // 请求后置函数\n __after: null,\n setAfter: function setAfter(func) {\n this.__after = func;\n },\n // --- 数据缓存 ---\n setStorage: function setStorage(data) {\n try {\n for (var k in data) {\n uni.setStorageSync(k, data[k] + '');\n }\n return true;\n } catch (e) {\n return false;\n }\n },\n getStorage: function getStorage(keyName) {\n try {\n var tmpVal = uni.getStorageSync(keyName);\n if (tmpVal == '') {\n return false;\n }\n return tmpVal;\n } catch (e) {\n return false;\n }\n },\n removeStorage: function removeStorage(keyName) {\n try {\n uni.removeStorageSync(keyName);\n return true;\n } catch (e) {\n return false;\n }\n },\n clearStorage: function clearStorage() {\n try {\n uni.clearStorageSync();\n } catch (e) {}\n },\n // --- 图片相关 ---\n chooseImgs: function chooseImgs(sets, _success3, _fail, _complete) {\n if (!sets.count) {\n sets.count = 1;\n }\n if (!sets.sizeType) {\n sets.sizeType = ['original', 'compressed'];\n }\n if (!sets.sourceType) {\n sets.sourceType = ['album', 'camera'];\n }\n uni.chooseImage({\n count: sets.count,\n //默认9\n sizeType: sets.sizeType,\n //可以指定是原图还是压缩图,默认二者都有\n sourceType: sets.sourceType,\n //从相册选择\n success: function success(res) {\n _success3(res.tempFilePaths);\n },\n fail: function fail(e) {\n if (_fail) {\n _fail(e);\n }\n },\n complete: function complete(e) {\n if (_complete) {\n _complete(e);\n }\n }\n });\n },\n getImageInfo: function getImageInfo(imgUrl, _success4, _fail2, _complete2) {\n uni.getImageInfo({\n src: imgUrl,\n success: function success(info) {\n _success4(info);\n },\n fail: function fail(e) {\n if (_fail2) {\n _fail2(e);\n }\n },\n complete: function complete(e) {\n if (_complete2) {\n _complete2(e);\n }\n }\n });\n },\n previewImage: function previewImage(items, currentImg) {\n uni.previewImage({\n urls: items,\n current: currentImg\n });\n },\n // --- 系统信息 ---\n system: function system() {\n try {\n var res = uni.getSystemInfoSync();\n var iPhoneXBottom = 0;\n if (!res.model) {\n res.model = 'no';\n }\n res.model = res.model.replace(' ', '');\n res.model = res.model.toLowerCase();\n var res1 = res.model.indexOf('iphonex');\n if (res1 > 5) {\n res1 = -1;\n }\n var res2 = res.model.indexOf('iphone1');\n if (res2 > 5) {\n res2 = -1;\n }\n if (res1 != -1 || res2 != -1) {\n res.iPhoneXBottomHeightRpx = 50;\n res.iPhoneXBottomHeightPx = uni.upx2px(50);\n } else {\n res.iPhoneXBottomHeightRpx = 0;\n res.iPhoneXBottomHeightPx = 0;\n }\n return res;\n } catch (e) {\n return null;\n }\n },\n // --- 消息弹框 ---\n msg: function msg(_msg) {\n uni.showToast({\n title: _msg,\n icon: \"none\"\n });\n },\n showLoading: function showLoading(title) {\n uni.showLoading({\n title: title,\n mask: true\n });\n },\n // --- 导航条设置 ---\n setNavBar: function setNavBar(sets) {\n if (sets.title) {\n uni.setNavigationBarTitle({\n title: sets.title\n });\n }\n if (sets.color) {\n uni.setNavigationBarColor({\n frontColor: sets.color.frontColor,\n backgroundColor: sets.color.backgroundColor,\n animation: {\n duration: 400,\n timingFunc: 'easeIn'\n }\n });\n }\n if (sets.loading) {\n uni.showNavigationBarLoading();\n } else {\n uni.hideNavigationBarLoading();\n }\n },\n // --- 元素选择 ---\n // 单个元素选择\n select: function select(selector, callBack) {\n uni.createSelectorQuery().select(selector).boundingClientRect().exec(function (res) {\n callBack(res[0]);\n });\n },\n // 多个元素获取\n selectAll: function selectAll(selector, callBack) {\n uni.createSelectorQuery().selectAll(selector).boundingClientRect().exec(function (res) {\n callBack(res[0]);\n });\n },\n // --- 数组操作 ---\n // 数组合并\n arrayConcat: function arrayConcat() {\n var tmpArr = [];\n for (var i = 0; i < arguments.length; i++) {\n tmpArr = tmpArr.concat(arguments[i]);\n }\n return tmpArr;\n },\n arrayDrop: function arrayDrop(array, index, howmany) {\n if (!index) {\n index = 0;\n }\n if (!howmany) {\n howmany = 1;\n }\n array.splice(index, howmany);\n return array;\n },\n arrayIndexOf: function arrayIndexOf(arr, needFind) {\n var index = -1;\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] == needFind) {\n index = i;\n return i;\n }\n }\n return index;\n },\n arrayDifference: function arrayDifference(a, b) {\n var set = new Set(b);\n return a.filter(function (x) {\n return !set.has(x);\n });\n },\n arrayShuffle: function arrayShuffle(arr) {\n var l = arr.length;\n while (l) {\n var i = Math.floor(Math.random() * l--);\n var _ref = [arr[i], arr[l]];\n arr[l] = _ref[0];\n arr[i] = _ref[1];\n }\n return arr;\n },\n arraySum: function arraySum(arr) {\n return arr.reduce(function (acc, val) {\n return acc + val;\n }, 0);\n },\n arrayAvg: function arrayAvg(arr) {\n return arr.reduce(function (acc, val) {\n return acc + val;\n }, 0) / arr.length;\n },\n arrayEach: function arrayEach(arr, fun) {\n for (var i = 0; i < arr.length; i++) {\n fun(arr[i], i);\n }\n },\n // 2数之间的随机数\n random: function random(min, max) {\n switch (arguments.length) {\n case 1:\n return parseInt(Math.random() * min + 1, 10);\n break;\n case 2:\n return parseInt(Math.random() * (max - min + 1) + min, 10);\n break;\n default:\n return 0;\n }\n },\n // UUID\n uuid: function uuid(len) {\n var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\n var uuid = [],\n i;\n if (len) {\n for (i = 0; i < len; i++) {\n uuid[i] = chars[0 | Math.random() * chars.length];\n }\n } else {\n var r;\n uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\n uuid[14] = '4';\n for (i = 0; i < 36; i++) {\n if (!uuid[i]) {\n r = 0 | Math.random() * 16;\n uuid[i] = chars[i == 19 ? r & 0x3 | 0x8 : r];\n }\n }\n }\n return uuid.join('');\n },\n // --- 日期时间 ---\n now: function now(type, addTime) {\n var dateObj = new Date();\n var cTime = dateObj.getTime();\n if (addTime) {\n cTime += addTime;\n }\n if (!type) {\n type = 'number';\n }\n if (type == 'number') {\n return cTime;\n } else if (type == 'str') {\n return this.toDate(cTime / 1000, 'str');\n } else if (type == 'array') {\n return this.toDate(cTime / 1000, 'array');\n }\n },\n // 时间戳转 YY-mm-dd HH:ii:ss\n toDate: function toDate(timeStamp, returnType) {\n timeStamp = parseInt(timeStamp);\n var date = new Date();\n if (timeStamp < 90000000000) {\n date.setTime(timeStamp * 1000);\n } else {\n date.setTime(timeStamp);\n }\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = d < 10 ? '0' + d : d;\n var h = date.getHours();\n h = h < 10 ? '0' + h : h;\n var minute = date.getMinutes();\n var second = date.getSeconds();\n minute = minute < 10 ? '0' + minute : minute;\n second = second < 10 ? '0' + second : second;\n if (returnType == 'str') {\n return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;\n }\n return [y, m, d, h, minute, second];\n },\n // 字符串转时间戳\n toTimeStamp: function toTimeStamp(timeStamp) {\n var reg = /^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/;\n var res = timeStamp.match(reg);\n if (res == null) {\n var reg2 = /^([0-9]{2})\\/([0-9]{2})\\/([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/;\n var res2 = timeStamp.match(reg2);\n if (res2 == null) {\n __f__(\"log\", '时间格式错误 E001', \" at GraceUI5/js/grace.js:472\");\n return false;\n }\n var year = parseInt(res2[3]);\n var month = parseInt(res2[1]);\n var day = parseInt(res2[2]);\n var h = parseInt(res2[4]);\n var i = parseInt(res2[5]);\n var s = parseInt(res2[6]);\n } else {\n var year = parseInt(res[1]);\n var month = parseInt(res[2]);\n var day = parseInt(res[3]);\n var h = parseInt(res[4]);\n var i = parseInt(res[5]);\n var s = parseInt(res[6]);\n }\n if (year < 1000) {\n __f__(\"log\", '时间格式错误', \" at GraceUI5/js/grace.js:490\");\n return false;\n }\n if (h < 0 || h > 24) {\n __f__(\"log\", '时间格式错误', \" at GraceUI5/js/grace.js:494\");\n return false;\n }\n if (i < 0 || i > 60) {\n __f__(\"log\", '时间格式错误', \" at GraceUI5/js/grace.js:498\");\n return false;\n }\n if (s < 0 || s > 60) {\n __f__(\"log\", '时间格式错误', \" at GraceUI5/js/grace.js:502\");\n return false;\n }\n return Date.parse(new Date(year, month - 1, day, h, i, s));\n },\n // 根据时间戳计算多少分钟/小时/天之前\n fromTime: function fromTime(time) {\n if (time < 90000000000) {\n time *= 1000;\n }\n var timer = new Date().getTime() - time;\n timer = parseInt(timer / 1000);\n if (timer < 180) {\n return '刚刚';\n } else if (timer >= 180 && timer < 3600) {\n return parseInt(timer / 60) + '分钟前';\n } else if (timer >= 3600 && timer < 86400) {\n return parseInt(timer / 3600) + '小时前';\n } else if (timer >= 86400 && timer < 2592000) {\n return parseInt(timer / 86400) + '天前';\n } else {\n return this.toDate(time, 'str');\n }\n },\n // 延迟操作\n delay: function delay(timer, func) {\n return setTimeout(func, timer);\n },\n // 间隔指定时间循环某个函数\n interval: function interval(timer, func) {\n return setInterval(func, timer);\n },\n // 对象操作\n assign: function assign(obj, key, val) {\n obj[key] = val;\n },\n removeByKey: function removeByKey(obj, key) {\n delete obj[key];\n },\n each: function each(obj, func) {\n for (var k in obj) {\n func(k, obj[k]);\n }\n },\n isEmptyObj: function isEmptyObj(obj) {\n return JSON.stringify(obj) === '{}';\n },\n // 获取ref ( 循环获取,直到 组件创建完成并获取成功 )\n getRefs: function getRefs(ref, _this, count, fun) {\n var _this4 = this;\n if (count >= 50) {\n fun(_this.$refs[ref]);\n return false;\n }\n var refReturn = _this.$refs[ref];\n if (refReturn) {\n fun(refReturn);\n } else {\n count++;\n setTimeout(function () {\n _this4.getRefs(ref, _this, count, fun);\n }, 100);\n }\n },\n // md5\n md5: function md5(str) {\n return _md.md5(str);\n }\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvZ3JhY2UuanMiXSwibmFtZXMiOlsibWQ1IiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJ2ZXJzb24iLCJjdXJyZW50VmVyc2lvbiIsIm5hdmlnYXRlIiwidXJsIiwidHlwZSIsInN1Y2Nlc3MiLCJmYWlsIiwiY29tcGxldGUiLCJ1bmkiLCJuYXZpZ2F0ZVRvIiwicmVkaXJlY3RUbyIsInN3aXRjaFRhYiIsInJlTGF1bmNoIiwiYmFjayIsImRlbHRhIiwibmF2aWdhdGVCYWNrIiwiZ2V0IiwiZGF0YSIsImhlYWRlcnMiLCJtc2ciLCJfX2JlZm9yZSIsInJlcXVlc3QiLCJtZXRob2QiLCJkYXRhVHlwZSIsImhlYWRlciIsInJlcyIsIl9fYWZ0ZXIiLCJwb3N0IiwiY29udGVudFR5cGUiLCJzZXRCZWZvcmUiLCJmdW5jIiwic2V0QWZ0ZXIiLCJzZXRTdG9yYWdlIiwiayIsInNldFN0b3JhZ2VTeW5jIiwiZSIsImdldFN0b3JhZ2UiLCJrZXlOYW1lIiwidG1wVmFsIiwiZ2V0U3RvcmFnZVN5bmMiLCJyZW1vdmVTdG9yYWdlIiwicmVtb3ZlU3RvcmFnZVN5bmMiLCJjbGVhclN0b3JhZ2UiLCJjbGVhclN0b3JhZ2VTeW5jIiwiY2hvb3NlSW1ncyIsInNldHMiLCJjb3VudCIsInNpemVUeXBlIiwic291cmNlVHlwZSIsImNob29zZUltYWdlIiwidGVtcEZpbGVQYXRocyIsImdldEltYWdlSW5mbyIsImltZ1VybCIsInNyYyIsImluZm8iLCJwcmV2aWV3SW1hZ2UiLCJpdGVtcyIsImN1cnJlbnRJbWciLCJ1cmxzIiwiY3VycmVudCIsInN5c3RlbSIsImdldFN5c3RlbUluZm9TeW5jIiwiaVBob25lWEJvdHRvbSIsIm1vZGVsIiwicmVwbGFjZSIsInRvTG93ZXJDYXNlIiwicmVzMSIsImluZGV4T2YiLCJyZXMyIiwiaVBob25lWEJvdHRvbUhlaWdodFJweCIsImlQaG9uZVhCb3R0b21IZWlnaHRQeCIsInVweDJweCIsInNob3dUb2FzdCIsInRpdGxlIiwiaWNvbiIsInNob3dMb2FkaW5nIiwibWFzayIsInNldE5hdkJhciIsInNldE5hdmlnYXRpb25CYXJUaXRsZSIsImNvbG9yIiwic2V0TmF2aWdhdGlvbkJhckNvbG9yIiwiZnJvbnRDb2xvciIsImJhY2tncm91bmRDb2xvciIsImFuaW1hdGlvbiIsImR1cmF0aW9uIiwidGltaW5nRnVuYyIsImxvYWRpbmciLCJzaG93TmF2aWdhdGlvbkJhckxvYWRpbmciLCJoaWRlTmF2aWdhdGlvbkJhckxvYWRpbmciLCJzZWxlY3QiLCJzZWxlY3RvciIsImNhbGxCYWNrIiwiY3JlYXRlU2VsZWN0b3JRdWVyeSIsImJvdW5kaW5nQ2xpZW50UmVjdCIsImV4ZWMiLCJzZWxlY3RBbGwiLCJhcnJheUNvbmNhdCIsInRtcEFyciIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJjb25jYXQiLCJhcnJheURyb3AiLCJhcnJheSIsImluZGV4IiwiaG93bWFueSIsInNwbGljZSIsImFycmF5SW5kZXhPZiIsImFyciIsIm5lZWRGaW5kIiwiYXJyYXlEaWZmZXJlbmNlIiwiYSIsImIiLCJzZXQiLCJTZXQiLCJmaWx0ZXIiLCJ4IiwiaGFzIiwiYXJyYXlTaHVmZmxlIiwibCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsImFycmF5U3VtIiwicmVkdWNlIiwiYWNjIiwidmFsIiwiYXJyYXlBdmciLCJhcnJheUVhY2giLCJmdW4iLCJtaW4iLCJtYXgiLCJwYXJzZUludCIsInV1aWQiLCJsZW4iLCJjaGFycyIsInNwbGl0IiwiciIsImpvaW4iLCJub3ciLCJhZGRUaW1lIiwiZGF0ZU9iaiIsIkRhdGUiLCJjVGltZSIsImdldFRpbWUiLCJ0b0RhdGUiLCJ0aW1lU3RhbXAiLCJyZXR1cm5UeXBlIiwiZGF0ZSIsInNldFRpbWUiLCJ5IiwiZ2V0RnVsbFllYXIiLCJtIiwiZ2V0TW9udGgiLCJkIiwiZ2V0RGF0ZSIsImgiLCJnZXRIb3VycyIsIm1pbnV0ZSIsImdldE1pbnV0ZXMiLCJzZWNvbmQiLCJnZXRTZWNvbmRzIiwidG9UaW1lU3RhbXAiLCJyZWciLCJtYXRjaCIsInJlZzIiLCJ5ZWFyIiwibW9udGgiLCJkYXkiLCJzIiwicGFyc2UiLCJmcm9tVGltZSIsInRpbWUiLCJ0aW1lciIsImRlbGF5Iiwic2V0VGltZW91dCIsImludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJhc3NpZ24iLCJvYmoiLCJrZXkiLCJyZW1vdmVCeUtleSIsImVhY2giLCJpc0VtcHR5T2JqIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFJlZnMiLCJyZWYiLCJfdGhpcyIsIiRyZWZzIiwicmVmUmV0dXJuIiwic3RyIl0sIm1hcHBpbmdzIjoiQUFBQSxpREFBSUEsR0FBRyxHQUFHQyxtQkFBTyxDQUFDLDhCQUFzQixDQUFDO0FBQ3pDQyxNQUFNLENBQUNDLE9BQU8sR0FBRztFQUNoQjtFQUNBQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsSUFBSUMsY0FBYyxHQUFHLEtBQUs7SUFDMUIsYUFBWUEsY0FBYztFQUMzQixDQUFDO0VBQ0Q7RUFDQTtFQUNBQyxRQUFRLEVBQUUsa0JBQVNDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFO0lBQ3RELElBQUksQ0FBQ0gsSUFBSSxFQUFFO01BQ1ZBLElBQUksR0FBRyxZQUFZO0lBQ3BCO0lBQ0EsSUFBSSxDQUFDQyxPQUFPLEVBQUU7TUFDYkEsT0FBTyxHQUFHLG1CQUFXLENBQUMsQ0FBQztJQUN4QjtJQUNBLElBQUksQ0FBQ0MsSUFBSSxFQUFFO01BQ1ZBLElBQUksR0FBRyxnQkFBVyxDQUFDLENBQUM7SUFDckI7SUFDQSxJQUFJLENBQUNDLFFBQVEsRUFBRTtNQUNkQSxRQUFRLEdBQUcsb0JBQVcsQ0FBQyxDQUFDO0lBQ3pCO0lBQ0EsUUFBUUgsSUFBSTtNQUNYLEtBQUssWUFBWTtRQUNoQkksR0FBRyxDQUFDQyxVQUFVLENBQUM7VUFDZE4sR0FBRyxFQUFFQSxHQUFHO1VBQ1JFLE9BQU8sRUFBRUEsT0FBTztVQUNoQkMsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZDLFFBQVEsRUFBRUE7UUFDWCxDQUFDLENBQUM7UUFDRjtNQUNELEtBQUssWUFBWTtRQUNoQkMsR0FBRyxDQUFDRSxVQUFVLENBQUM7VUFDZFAsR0FBRyxFQUFFQSxHQUFHO1VBQ1JFLE9BQU8sRUFBRUEsT0FBTztVQUNoQkMsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZDLFFBQVEsRUFBRUE7UUFDWCxDQUFDLENBQUM7UUFDRjtNQUNELEtBQUssV0FBVztRQUNmQyxHQUFHLENBQUNHLFNBQVMsQ0FBQztVQUNiUixHQUFHLEVBQUVBLEdBQUc7VUFDUkUsT0FBTyxFQUFFQSxPQUFPO1VBQ2hCQyxJQUFJLEVBQUVBLElBQUk7VUFDVkMsUUFBUSxFQUFFQTtRQUNYLENBQUMsQ0FBQztRQUNGO01BQ0QsS0FBSyxVQUFVO1FBQ2RDLEdBQUcsQ0FBQ0ksUUFBUSxDQUFDO1VBQ1pULEdBQUcsRUFBRUEsR0FBRztVQUNSRSxPQUFPLEVBQUVBLE9BQU87VUFDaEJDLElBQUksRUFBRUEsSUFBSTtVQUNWQyxRQUFRLEVBQUVBO1FBQ1gsQ0FBQyxDQUFDO1FBQ0Y7SUFBTTtFQUVULENBQUM7RUFDRDtFQUNBTSxJQUFJLEVBQUUsY0FBU0MsS0FBSyxFQUFFO0lBQ3JCLElBQUksQ0FBQ0EsS0FBSyxFQUFFO01BQ1hBLEtBQUssR0FBRyxDQUFDO0lBQ1Y7SUFDQU4sR0FBRyxDQUFDTyxZQUFZLENBQUM7TUFDaEJELEtBQUssRUFBRUE7SUFDUixDQUFDLENBQUM7RUFDSCxDQUFDO0VBRUQ7RUFDQTtFQUNBRSxHQUFHLEVBQUUsYUFBU2IsR0FBRyxFQUFFYyxJQUFJLEVBQUVDLE9BQU8sRUFBRWIsUUFBTyxFQUFFQyxJQUFJLEVBQUU7SUFBQTtJQUNoRCxJQUFJLENBQUNBLElBQUksRUFBRTtNQUNWQSxJQUFJLEdBQUcsZ0JBQU07UUFDWixNQUFJLENBQUNhLEdBQUcsQ0FBQyxRQUFRLENBQUM7TUFDbkIsQ0FBQztJQUNGO0lBQ0EsSUFBSSxDQUFDRCxPQUFPLEVBQUU7TUFDYkEsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNiO0lBQ0EsSUFBSSxJQUFJLENBQUNFLFFBQVEsSUFBSSxJQUFJLEVBQUU7TUFDMUIsSUFBSSxDQUFDQSxRQUFRLEVBQUU7TUFDZixJQUFJLENBQUNBLFFBQVEsR0FBRyxJQUFJO0lBQ3JCO0lBQ0FaLEdBQUcsQ0FBQ2EsT0FBTyxDQUFDO01BQ1hsQixHQUFHLEVBQUVBLEdBQUc7TUFDUmMsSUFBSSxFQUFFQSxJQUFJO01BQ1ZLLE1BQU0sRUFBRSxLQUFLO01BQ2JDLFFBQVEsRUFBRSxNQUFNO01BQ2hCQyxNQUFNLEVBQUVOLE9BQU87TUFDZmIsT0FBTyxFQUFFLGlCQUFDb0IsR0FBRyxFQUFLO1FBQ2pCcEIsUUFBTyxDQUFDb0IsR0FBRyxDQUFDUixJQUFJLENBQUM7TUFDbEIsQ0FBQztNQUNEWCxJQUFJLEVBQUVBLElBQUk7TUFDVkMsUUFBUSxFQUFFLG9CQUFNO1FBQ2YsSUFBSSxNQUFJLENBQUNtQixPQUFPLElBQUksSUFBSSxFQUFFO1VBQ3pCLE1BQUksQ0FBQ0EsT0FBTyxFQUFFO1VBQ2QsTUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSTtRQUNwQjtNQUNEO0lBQ0QsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUNEO0VBQ0FDLElBQUksRUFBRSxjQUFTeEIsR0FBRyxFQUFFYyxJQUFJLEVBQUVXLFdBQVcsRUFBRVYsT0FBTyxFQUFFYixTQUFPLEVBQUVDLElBQUksRUFBRTtJQUFBO0lBQzlELElBQUksQ0FBQ0EsSUFBSSxFQUFFO01BQ1ZBLElBQUksR0FBRyxnQkFBTTtRQUNaLE1BQUksQ0FBQ2EsR0FBRyxDQUFDLFFBQVEsQ0FBQztNQUNuQixDQUFDO0lBQ0Y7SUFDQSxJQUFJLENBQUNELE9BQU8sRUFBRTtNQUNiQSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2I7SUFDQSxJQUFJLENBQUNVLFdBQVcsRUFBRTtNQUNqQkEsV0FBVyxHQUFHLE1BQU07SUFDckI7SUFDQSxJQUFJLElBQUksQ0FBQ1IsUUFBUSxJQUFJLElBQUksRUFBRTtNQUMxQixJQUFJLENBQUNBLFFBQVEsRUFBRTtNQUNmLElBQUksQ0FBQ0EsUUFBUSxHQUFHLElBQUk7SUFDckI7SUFDQSxRQUFRUSxXQUFXO01BQ2xCLEtBQUssTUFBTTtRQUNWVixPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsbUNBQW1DO1FBQzdEO01BQ0QsS0FBSyxNQUFNO1FBQ1ZBLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxrQkFBa0I7UUFDNUM7TUFDRDtRQUNDQSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsbUNBQW1DO0lBQUM7SUFFaEVWLEdBQUcsQ0FBQ2EsT0FBTyxDQUFDO01BQ1hsQixHQUFHLEVBQUVBLEdBQUc7TUFDUmMsSUFBSSxFQUFFQSxJQUFJO01BQ1ZLLE1BQU0sRUFBRSxNQUFNO01BQ2RDLFFBQVEsRUFBRSxNQUFNO01BQ2hCQyxNQUFNLEVBQUVOLE9BQU87TUFDZmIsT0FBTyxFQUFFLGlCQUFDb0IsR0FBRyxFQUFLO1FBQ2pCcEIsU0FBTyxDQUFDb0IsR0FBRyxDQUFDUixJQUFJLENBQUM7TUFDbEIsQ0FBQztNQUNEWCxJQUFJLEVBQUVBLElBQUk7TUFDVkMsUUFBUSxFQUFFLG9CQUFNO1FBQ2YsSUFBSSxNQUFJLENBQUNtQixPQUFPLElBQUksSUFBSSxFQUFFO1VBQ3pCLE1BQUksQ0FBQ0EsT0FBTyxFQUFFO1VBQ2QsTUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSTtRQUNwQjtNQUNEO0lBQ0QsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUNEO0VBQ0FOLFFBQVEsRUFBRSxJQUFJO0VBQ2RTLFNBQVMsRUFBRSxtQkFBU0MsSUFBSSxFQUFFO0lBQ3pCLElBQUksQ0FBQ1YsUUFBUSxHQUFHVSxJQUFJO0VBQ3JCLENBQUM7RUFDRDtFQUNBSixPQUFPLEVBQUUsSUFBSTtFQUNiSyxRQUFRLEVBQUUsa0JBQVNELElBQUksRUFBRTtJQUN4QixJQUFJLENBQUNKLE9BQU8sR0FBR0ksSUFBSTtFQUNwQixDQUFDO0VBRUQ7RUFDQUUsVUFBVSxFQUFFLG9CQUFTZixJQUFJLEVBQUU7SUFDMUIsSUFBSTtNQUNILEtBQUssSUFBSWdCLENBQUMsSUFBSWhCLElBQUksRUFBRTtRQUNuQlQsR0FBRyxDQUFDMEIsY0FBYyxDQUFDRCxDQUFDLEVBQUVoQixJQUFJLENBQUNnQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7TUFDcEM7TUFDQSxPQUFPLElBQUk7SUFDWixDQUFDLENBQUMsT0FBT0UsQ0FBQyxFQUFFO01BQ1gsT0FBTyxLQUFLO0lBQ2I7RUFDRCxDQUFDO0VBQ0RDLFVBQVUsRUFBRSxvQkFBU0MsT0FBTyxFQUFFO0lBQzdCLElBQUk7TUFDSCxJQUFJQyxNQUFNLEdBQUc5QixHQUFHLENBQUMrQixjQUFjLENBQUNGLE9BQU8sQ0FBQztNQUN4QyxJQUFJQyxNQUFNLElBQUksRUFBRSxFQUFFO1FBQ2pCLE9BQU8sS0FBSztNQUNiO01BQ0EsT0FBT0EsTUFBTTtJQUNkLENBQUMsQ0FBQyxPQUFPSCxDQUFDLEVBQUU7TUFDWCxPQUFPLEtBQUs7SUFDYjtFQUNELENBQUM7RUFDREssYUFBYSxFQUFFLHVCQUFTSCxPQUFPLEVBQUU7SUFDaEMsSUFBSTtNQUNIN0IsR0FBRyxDQUFDaUMsaUJBQWlCLENBQUNKLE9BQU8sQ0FBQztNQUM5QixPQUFPLElBQUk7SUFDWixDQUFDLENBQUMsT0FBT0YsQ0FBQyxFQUFFO01BQ1gsT0FBTyxLQUFLO0lBQ2I7RUFDRCxDQUFDO0VBQ0RPLFlBQVksRUFBRSx3QkFBVztJQUN4QixJQUFJO01BQ0hsQyxHQUFHLENBQUNtQyxnQkFBZ0IsRUFBRTtJQUN2QixDQUFDLENBQUMsT0FBT1IsQ0FBQyxFQUFFLENBQUM7RUFDZCxDQUFDO0VBRUQ7RUFDQVMsVUFBVSxFQUFFLG9CQUFTQyxJQUFJLEVBQUV4QyxTQUFPLEVBQUVDLEtBQUksRUFBRUMsU0FBUSxFQUFFO0lBQ25ELElBQUksQ0FBQ3NDLElBQUksQ0FBQ0MsS0FBSyxFQUFFO01BQ2hCRCxJQUFJLENBQUNDLEtBQUssR0FBRyxDQUFDO0lBQ2Y7SUFDQSxJQUFJLENBQUNELElBQUksQ0FBQ0UsUUFBUSxFQUFFO01BQ25CRixJQUFJLENBQUNFLFFBQVEsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDM0M7SUFDQSxJQUFJLENBQUNGLElBQUksQ0FBQ0csVUFBVSxFQUFFO01BQ3JCSCxJQUFJLENBQUNHLFVBQVUsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7SUFDdEM7SUFDQXhDLEdBQUcsQ0FBQ3lDLFdBQVcsQ0FBQztNQUNmSCxLQUFLLEVBQUVELElBQUksQ0FBQ0MsS0FBSztNQUFFO01BQ25CQyxRQUFRLEVBQUVGLElBQUksQ0FBQ0UsUUFBUTtNQUFFO01BQ3pCQyxVQUFVLEVBQUVILElBQUksQ0FBQ0csVUFBVTtNQUFFO01BQzdCM0MsT0FBTyxFQUFFLGlCQUFDb0IsR0FBRyxFQUFLO1FBQ2pCcEIsU0FBTyxDQUFDb0IsR0FBRyxDQUFDeUIsYUFBYSxDQUFDO01BQzNCLENBQUM7TUFDRDVDLElBQUksRUFBRSxjQUFDNkIsQ0FBQyxFQUFLO1FBQ1osSUFBSTdCLEtBQUksRUFBRTtVQUNUQSxLQUFJLENBQUM2QixDQUFDLENBQUM7UUFDUjtNQUNELENBQUM7TUFDRDVCLFFBQVEsRUFBRSxrQkFBQzRCLENBQUMsRUFBSztRQUNoQixJQUFJNUIsU0FBUSxFQUFFO1VBQ2JBLFNBQVEsQ0FBQzRCLENBQUMsQ0FBQztRQUNaO01BQ0Q7SUFDRCxDQUFDLENBQUM7RUFDSCxDQUFDO0VBQ0RnQixZQUFZLEVBQUUsc0JBQVNDLE1BQU0sRUFBRS9DLFNBQU8sRUFBRUMsTUFBSSxFQUFFQyxVQUFRLEVBQUU7SUFDdkRDLEdBQUcsQ0FBQzJDLFlBQVksQ0FBQztNQUNoQkUsR0FBRyxFQUFFRCxNQUFNO01BQ1gvQyxPQUFPLEVBQUUsaUJBQVNpRCxJQUFJLEVBQUU7UUFDdkJqRCxTQUFPLENBQUNpRCxJQUFJLENBQUM7TUFDZCxDQUFDO01BQ0RoRCxJQUFJLEVBQUUsY0FBQzZCLENBQUMsRUFBSztRQUNaLElBQUk3QixNQUFJLEVBQUU7VUFDVEEsTUFBSSxDQUFDNkIsQ0FBQyxDQUFDO1FBQ1I7TUFDRCxDQUFDO01BQ0Q1QixRQUFRLEVBQUUsa0JBQUM0QixDQUFDLEVBQUs7UUFDaEIsSUFBSTVCLFVBQVEsRUFBRTtVQUNiQSxVQUFRLENBQUM0QixDQUFDLENBQUM7UUFDWjtNQUNEO0lBQ0QsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUNEb0IsWUFBWSxFQUFFLHNCQUFTQyxLQUFLLEVBQUVDLFVBQVUsRUFBRTtJQUN6Q2pELEdBQUcsQ0FBQytDLFlBQVksQ0FBQztNQUNoQkcsSUFBSSxFQUFFRixLQUFLO01BQ1hHLE9BQU8sRUFBRUY7SUFDVixDQUFDLENBQUM7RUFDSCxDQUFDO0VBRUQ7RUFDQUcsTUFBTSxFQUFFLGtCQUFXO0lBQ2xCLElBQUk7TUFDSCxJQUFJbkMsR0FBRyxHQUFHakIsR0FBRyxDQUFDcUQsaUJBQWlCLEVBQUU7TUFDakMsSUFBSUMsYUFBYSxHQUFHLENBQUM7TUFDckIsSUFBSSxDQUFDckMsR0FBRyxDQUFDc0MsS0FBSyxFQUFFO1FBQ2Z0QyxHQUFHLENBQUNzQyxLQUFLLEdBQUcsSUFBSTtNQUNqQjtNQUNBdEMsR0FBRyxDQUFDc0MsS0FBSyxHQUFHdEMsR0FBRyxDQUFDc0MsS0FBSyxDQUFDQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztNQUN0Q3ZDLEdBQUcsQ0FBQ3NDLEtBQUssR0FBR3RDLEdBQUcsQ0FBQ3NDLEtBQUssQ0FBQ0UsV0FBVyxFQUFFO01BQ25DLElBQUlDLElBQUksR0FBR3pDLEdBQUcsQ0FBQ3NDLEtBQUssQ0FBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQztNQUN2QyxJQUFJRCxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQ2JBLElBQUksR0FBRyxDQUFDLENBQUM7TUFDVjtNQUNBLElBQUlFLElBQUksR0FBRzNDLEdBQUcsQ0FBQ3NDLEtBQUssQ0FBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQztNQUN2QyxJQUFJQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQ2JBLElBQUksR0FBRyxDQUFDLENBQUM7TUFDVjtNQUNBLElBQUlGLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFO1FBQzdCM0MsR0FBRyxDQUFDNEMsc0JBQXNCLEdBQUcsRUFBRTtRQUMvQjVDLEdBQUcsQ0FBQzZDLHFCQUFxQixHQUFHOUQsR0FBRyxDQUFDK0QsTUFBTSxDQUFDLEVBQUUsQ0FBQztNQUMzQyxDQUFDLE1BQU07UUFDTjlDLEdBQUcsQ0FBQzRDLHNCQUFzQixHQUFHLENBQUM7UUFDOUI1QyxHQUFHLENBQUM2QyxxQkFBcUIsR0FBRyxDQUFDO01BQzlCO01BQ0EsT0FBTzdDLEdBQUc7SUFDWCxDQUFDLENBQUMsT0FBT1UsQ0FBQyxFQUFFO01BQ1gsT0FBTyxJQUFJO0lBQ1o7RUFDRCxDQUFDO0VBRUQ7RUFDQWhCLEdBQUcsRUFBRSxhQUFTQSxJQUFHLEVBQUU7SUFDbEJYLEdBQUcsQ0FBQ2dFLFNBQVMsQ0FBQztNQUNiQyxLQUFLLEVBQUV0RCxJQUFHO01BQ1Z1RCxJQUFJLEVBQUU7SUFDUCxDQUFDLENBQUM7RUFDSCxDQUFDO0VBQ0RDLFdBQVcsRUFBRSxxQkFBU0YsS0FBSyxFQUFFO0lBQzVCakUsR0FBRyxDQUFDbUUsV0FBVyxDQUFDO01BQ2ZGLEtBQUssRUFBRUEsS0FBSztNQUNaRyxJQUFJLEVBQUU7SUFDUCxDQUFDLENBQUM7RUFDSCxDQUFDO0VBRUQ7RUFDQUMsU0FBUyxFQUFFLG1CQUFTaEMsSUFBSSxFQUFFO0lBQ3pCLElBQUlBLElBQUksQ0FBQzRCLEtBQUssRUFBRTtNQUNmakUsR0FBRyxDQUFDc0UscUJBQXFCLENBQUM7UUFDekJMLEtBQUssRUFBRTVCLElBQUksQ0FBQzRCO01BQ2IsQ0FBQyxDQUFDO0lBQ0g7SUFDQSxJQUFJNUIsSUFBSSxDQUFDa0MsS0FBSyxFQUFFO01BQ2Z2RSxHQUFHLENBQUN3RSxxQkFBcUIsQ0FBQztRQUN6QkMsVUFBVSxFQUFFcEMsSUFBSSxDQUFDa0MsS0FBSyxDQUFDRSxVQUFVO1FBQ2pDQyxlQUFlLEVBQUVyQyxJQUFJLENBQUNrQyxLQUFLLENBQUNHLGVBQWU7UUFDM0NDLFNBQVMsRUFBRTtVQUNWQyxRQUFRLEVBQUUsR0FBRztVQUNiQyxVQUFVLEVBQUU7UUFDYjtNQUNELENBQUMsQ0FBQztJQUNIO0lBQ0EsSUFBSXhDLElBQUksQ0FBQ3lDLE9BQU8sRUFBRTtNQUNqQjlFLEdBQUcsQ0FBQytFLHdCQUF3QixFQUFFO0lBQy9CLENBQUMsTUFBTTtNQUNOL0UsR0FBRyxDQUFDZ0Ysd0JBQXdCLEVBQUU7SUFDL0I7RUFDRCxDQUFDO0VBRUQ7RUFDQTtFQUNBQyxNQUFNLEVBQUUsZ0JBQVNDLFFBQVEsRUFBRUMsUUFBUSxFQUFFO0lBQ3BDbkYsR0FBRyxDQUFDb0YsbUJBQW1CLEVBQUUsQ0FBQ0gsTUFBTSxDQUFDQyxRQUFRLENBQUMsQ0FBQ0csa0JBQWtCLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNyRSxHQUFHLEVBQUs7TUFDN0VrRSxRQUFRLENBQUNsRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUNEO0VBQ0FzRSxTQUFTLEVBQUUsbUJBQVNMLFFBQVEsRUFBRUMsUUFBUSxFQUFFO0lBQ3ZDbkYsR0FBRyxDQUFDb0YsbUJBQW1CLEVBQUUsQ0FBQ0csU0FBUyxDQUFDTCxRQUFRLENBQUMsQ0FBQ0csa0JBQWtCLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNyRSxHQUFHLEVBQUs7TUFDaEZrRSxRQUFRLENBQUNsRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUVEO0VBQ0E7RUFDQXVFLFdBQVcsRUFBRSx1QkFBVztJQUN2QixJQUFJQyxNQUFNLEdBQUcsRUFBRTtJQUNmLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHQyxTQUFTLENBQUNDLE1BQU0sRUFBRUYsQ0FBQyxFQUFFLEVBQUU7TUFDMUNELE1BQU0sR0FBR0EsTUFBTSxDQUFDSSxNQUFNLENBQUNGLFNBQVMsQ0FBQ0QsQ0FBQyxDQUFDLENBQUM7SUFDckM7SUFDQSxPQUFPRCxNQUFNO0VBQ2QsQ0FBQztFQUNESyxTQUFTLEVBQUUsbUJBQVNDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7SUFDMUMsSUFBSSxDQUFDRCxLQUFLLEVBQUU7TUFDWEEsS0FBSyxHQUFHLENBQUM7SUFDVjtJQUNBLElBQUksQ0FBQ0MsT0FBTyxFQUFFO01BQ2JBLE9BQU8sR0FBRyxDQUFDO0lBQ1o7SUFDQUYsS0FBSyxDQUFDRyxNQUFNLENBQUNGLEtBQUssRUFBRUMsT0FBTyxDQUFDO0lBQzVCLE9BQU9GLEtBQUs7RUFDYixDQUFDO0VBQ0RJLFlBQVksRUFBRSxzQkFBU0MsR0FBRyxFQUFFQyxRQUFRLEVBQUU7SUFDckMsSUFBSUwsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLEtBQUssSUFBSU4sQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHVSxHQUFHLENBQUNSLE1BQU0sRUFBRUYsQ0FBQyxFQUFFLEVBQUU7TUFDcEMsSUFBSVUsR0FBRyxDQUFDVixDQUFDLENBQUMsSUFBSVcsUUFBUSxFQUFFO1FBQ3ZCTCxLQUFLLEdBQUdOLENBQUM7UUFDVCxPQUFPQSxDQUFDO01BQ1Q7SUFDRDtJQUNBLE9BQU9NLEtBQUs7RUFDYixDQUFDO0VBQ0RNLGVBQWUsRUFBRSx5QkFBU0MsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7SUFDL0IsSUFBTUMsR0FBRyxHQUFHLElBQUlDLEdBQUcsQ0FBQ0YsQ0FBQyxDQUFDO0lBQ3RCLE9BQU9ELENBQUMsQ0FBQ0ksTUFBTSxDQUFDLFVBQUFDLENBQUM7TUFBQSxPQUFJLENBQUNILEdBQUcsQ0FBQ0ksR0FBRyxDQUFDRCxDQUFDLENBQUM7SUFBQSxFQUFDO0VBQ2xDLENBQUM7RUFDREUsWUFBWSxFQUFFLHNCQUFTVixHQUFHLEVBQUU7SUFDM0IsSUFBSVcsQ0FBQyxHQUFHWCxHQUFHLENBQUNSLE1BQU07SUFDbEIsT0FBT21CLENBQUMsRUFBRTtNQUNULElBQU1yQixDQUFDLEdBQUdzQixJQUFJLENBQUNDLEtBQUssQ0FBQ0QsSUFBSSxDQUFDRSxNQUFNLEVBQUUsR0FBR0gsQ0FBQyxFQUFFLENBQUM7TUFBQyxXQUN2QixDQUFDWCxHQUFHLENBQUNWLENBQUMsQ0FBQyxFQUFFVSxHQUFHLENBQUNXLENBQUMsQ0FBQyxDQUFDO01BQWxDWCxHQUFHLENBQUNXLENBQUMsQ0FBQztNQUFFWCxHQUFHLENBQUNWLENBQUMsQ0FBQztJQUNoQjtJQUNBLE9BQU9VLEdBQUc7RUFDWCxDQUFDO0VBQ0RlLFFBQVEsRUFBRSxrQkFBU2YsR0FBRyxFQUFFO0lBQ3ZCLE9BQU9BLEdBQUcsQ0FBQ2dCLE1BQU0sQ0FBQyxVQUFDQyxHQUFHLEVBQUVDLEdBQUc7TUFBQSxPQUFLRCxHQUFHLEdBQUdDLEdBQUc7SUFBQSxHQUFFLENBQUMsQ0FBQztFQUM5QyxDQUFDO0VBQ0RDLFFBQVEsRUFBRSxrQkFBU25CLEdBQUcsRUFBRTtJQUN2QixPQUFPQSxHQUFHLENBQUNnQixNQUFNLENBQUMsVUFBQ0MsR0FBRyxFQUFFQyxHQUFHO01BQUEsT0FBS0QsR0FBRyxHQUFHQyxHQUFHO0lBQUEsR0FBRSxDQUFDLENBQUMsR0FBR2xCLEdBQUcsQ0FBQ1IsTUFBTTtFQUMzRCxDQUFDO0VBQ0Q0QixTQUFTLEVBQUUsbUJBQVNwQixHQUFHLEVBQUVxQixHQUFHLEVBQUU7SUFDN0IsS0FBSyxJQUFJL0IsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHVSxHQUFHLENBQUNSLE1BQU0sRUFBRUYsQ0FBQyxFQUFFLEVBQUU7TUFDcEMrQixHQUFHLENBQUNyQixHQUFHLENBQUNWLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUM7SUFDZjtFQUNELENBQUM7RUFFRDtFQUNBd0IsTUFBTSxFQUFFLGdCQUFTUSxHQUFHLEVBQUVDLEdBQUcsRUFBRTtJQUMxQixRQUFRaEMsU0FBUyxDQUFDQyxNQUFNO01BQ3ZCLEtBQUssQ0FBQztRQUNMLE9BQU9nQyxRQUFRLENBQUNaLElBQUksQ0FBQ0UsTUFBTSxFQUFFLEdBQUdRLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzVDO01BQ0QsS0FBSyxDQUFDO1FBQ0wsT0FBT0UsUUFBUSxDQUFDWixJQUFJLENBQUNFLE1BQU0sRUFBRSxJQUFJUyxHQUFHLEdBQUdELEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBR0EsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUMxRDtNQUNEO1FBQ0MsT0FBTyxDQUFDO0lBQUM7RUFFWixDQUFDO0VBRUQ7RUFDQUcsSUFBSSxFQUFFLGNBQVNDLEdBQUcsRUFBRTtJQUNuQixJQUFJQyxLQUFLLEdBQUcsZ0VBQWdFLENBQUNDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDdEYsSUFBSUgsSUFBSSxHQUFHLEVBQUU7TUFDWm5DLENBQUM7SUFDRixJQUFJb0MsR0FBRyxFQUFFO01BQ1IsS0FBS3BDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR29DLEdBQUcsRUFBRXBDLENBQUMsRUFBRSxFQUFFO1FBQ3pCbUMsSUFBSSxDQUFDbkMsQ0FBQyxDQUFDLEdBQUdxQyxLQUFLLENBQUMsQ0FBQyxHQUFHZixJQUFJLENBQUNFLE1BQU0sRUFBRSxHQUFHYSxLQUFLLENBQUNuQyxNQUFNLENBQUM7TUFDbEQ7SUFDRCxDQUFDLE1BQU07TUFDTixJQUFJcUMsQ0FBQztNQUNMSixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdBLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBR0EsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHQSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRztNQUM5Q0EsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUc7TUFDZCxLQUFLbkMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLEVBQUUsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxDQUFDbUMsSUFBSSxDQUFDbkMsQ0FBQyxDQUFDLEVBQUU7VUFDYnVDLENBQUMsR0FBRyxDQUFDLEdBQUdqQixJQUFJLENBQUNFLE1BQU0sRUFBRSxHQUFHLEVBQUU7VUFDMUJXLElBQUksQ0FBQ25DLENBQUMsQ0FBQyxHQUFHcUMsS0FBSyxDQUFFckMsQ0FBQyxJQUFJLEVBQUUsR0FBS3VDLENBQUMsR0FBRyxHQUFHLEdBQUksR0FBRyxHQUFHQSxDQUFDLENBQUM7UUFDakQ7TUFDRDtJQUNEO0lBQ0EsT0FBT0osSUFBSSxDQUFDSyxJQUFJLENBQUMsRUFBRSxDQUFDO0VBQ3JCLENBQUM7RUFFRDtFQUNBQyxHQUFHLEVBQUUsYUFBU3ZJLElBQUksRUFBRXdJLE9BQU8sRUFBRTtJQUM1QixJQUFJQyxPQUFPLEdBQUcsSUFBSUMsSUFBSSxFQUFFO0lBQ3hCLElBQUlDLEtBQUssR0FBR0YsT0FBTyxDQUFDRyxPQUFPLEVBQUU7SUFDN0IsSUFBSUosT0FBTyxFQUFFO01BQ1pHLEtBQUssSUFBSUgsT0FBTztJQUNqQjtJQUNBLElBQUksQ0FBQ3hJLElBQUksRUFBRTtNQUNWQSxJQUFJLEdBQUcsUUFBUTtJQUNoQjtJQUNBLElBQUlBLElBQUksSUFBSSxRQUFRLEVBQUU7TUFDckIsT0FBTzJJLEtBQUs7SUFDYixDQUFDLE1BQU0sSUFBSTNJLElBQUksSUFBSSxLQUFLLEVBQUU7TUFDekIsT0FBTyxJQUFJLENBQUM2SSxNQUFNLENBQUNGLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQ3hDLENBQUMsTUFBTSxJQUFJM0ksSUFBSSxJQUFJLE9BQU8sRUFBRTtNQUMzQixPQUFPLElBQUksQ0FBQzZJLE1BQU0sQ0FBQ0YsS0FBSyxHQUFHLElBQUksRUFBRSxPQUFPLENBQUM7SUFDMUM7RUFDRCxDQUFDO0VBQ0Q7RUFDQUUsTUFBTSxFQUFFLGdCQUFTQyxTQUFTLEVBQUVDLFVBQVUsRUFBRTtJQUN2Q0QsU0FBUyxHQUFHZCxRQUFRLENBQUNjLFNBQVMsQ0FBQztJQUMvQixJQUFJRSxJQUFJLEdBQUcsSUFBSU4sSUFBSSxFQUFFO0lBQ3JCLElBQUlJLFNBQVMsR0FBRyxXQUFXLEVBQUU7TUFDNUJFLElBQUksQ0FBQ0MsT0FBTyxDQUFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUMsTUFBTTtNQUNORSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0gsU0FBUyxDQUFDO0lBQ3hCO0lBQ0EsSUFBSUksQ0FBQyxHQUFHRixJQUFJLENBQUNHLFdBQVcsRUFBRTtJQUMxQixJQUFJQyxDQUFDLEdBQUdKLElBQUksQ0FBQ0ssUUFBUSxFQUFFLEdBQUcsQ0FBQztJQUMzQkQsQ0FBQyxHQUFHQSxDQUFDLEdBQUcsRUFBRSxHQUFJLEdBQUcsR0FBR0EsQ0FBQyxHQUFJQSxDQUFDO0lBQzFCLElBQUlFLENBQUMsR0FBR04sSUFBSSxDQUFDTyxPQUFPLEVBQUU7SUFDdEJELENBQUMsR0FBR0EsQ0FBQyxHQUFHLEVBQUUsR0FBSSxHQUFHLEdBQUdBLENBQUMsR0FBSUEsQ0FBQztJQUMxQixJQUFJRSxDQUFDLEdBQUdSLElBQUksQ0FBQ1MsUUFBUSxFQUFFO0lBQ3ZCRCxDQUFDLEdBQUdBLENBQUMsR0FBRyxFQUFFLEdBQUksR0FBRyxHQUFHQSxDQUFDLEdBQUlBLENBQUM7SUFDMUIsSUFBSUUsTUFBTSxHQUFHVixJQUFJLENBQUNXLFVBQVUsRUFBRTtJQUM5QixJQUFJQyxNQUFNLEdBQUdaLElBQUksQ0FBQ2EsVUFBVSxFQUFFO0lBQzlCSCxNQUFNLEdBQUdBLE1BQU0sR0FBRyxFQUFFLEdBQUksR0FBRyxHQUFHQSxNQUFNLEdBQUlBLE1BQU07SUFDOUNFLE1BQU0sR0FBR0EsTUFBTSxHQUFHLEVBQUUsR0FBSSxHQUFHLEdBQUdBLE1BQU0sR0FBSUEsTUFBTTtJQUM5QyxJQUFJYixVQUFVLElBQUksS0FBSyxFQUFFO01BQ3hCLE9BQU9HLENBQUMsR0FBRyxHQUFHLEdBQUdFLENBQUMsR0FBRyxHQUFHLEdBQUdFLENBQUMsR0FBRyxHQUFHLEdBQUdFLENBQUMsR0FBRyxHQUFHLEdBQUdFLE1BQU0sR0FBRyxHQUFHLEdBQUdFLE1BQU07SUFDckU7SUFDQSxPQUFPLENBQUNWLENBQUMsRUFBRUUsQ0FBQyxFQUFFRSxDQUFDLEVBQUVFLENBQUMsRUFBRUUsTUFBTSxFQUFFRSxNQUFNLENBQUM7RUFDcEMsQ0FBQztFQUNEO0VBQ0FFLFdBQVcsRUFBRSxxQkFBU2hCLFNBQVMsRUFBRTtJQUNoQyxJQUFJaUIsR0FBRyxHQUFHLHFFQUFxRTtJQUMvRSxJQUFJMUksR0FBRyxHQUFHeUgsU0FBUyxDQUFDa0IsS0FBSyxDQUFDRCxHQUFHLENBQUM7SUFDOUIsSUFBSTFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7TUFDaEIsSUFBSTRJLElBQUksR0FBRyx1RUFBdUU7TUFDbEYsSUFBSWpHLElBQUksR0FBRzhFLFNBQVMsQ0FBQ2tCLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO01BQ2hDLElBQUlqRyxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2pCLGFBQVksYUFBYTtRQUN6QixPQUFPLEtBQUs7TUFDYjtNQUNBLElBQUlrRyxJQUFJLEdBQUdsQyxRQUFRLENBQUNoRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDNUIsSUFBSW1HLEtBQUssR0FBR25DLFFBQVEsQ0FBQ2hFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUM3QixJQUFJb0csR0FBRyxHQUFHcEMsUUFBUSxDQUFDaEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQzNCLElBQUl3RixDQUFDLEdBQUd4QixRQUFRLENBQUNoRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDekIsSUFBSThCLENBQUMsR0FBR2tDLFFBQVEsQ0FBQ2hFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUN6QixJQUFJcUcsQ0FBQyxHQUFHckMsUUFBUSxDQUFDaEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUMsTUFBTTtNQUNOLElBQUlrRyxJQUFJLEdBQUdsQyxRQUFRLENBQUMzRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDM0IsSUFBSThJLEtBQUssR0FBR25DLFFBQVEsQ0FBQzNHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUM1QixJQUFJK0ksR0FBRyxHQUFHcEMsUUFBUSxDQUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQzFCLElBQUltSSxDQUFDLEdBQUd4QixRQUFRLENBQUMzRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7TUFDeEIsSUFBSXlFLENBQUMsR0FBR2tDLFFBQVEsQ0FBQzNHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUN4QixJQUFJZ0osQ0FBQyxHQUFHckMsUUFBUSxDQUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCO0lBQ0EsSUFBSTZJLElBQUksR0FBRyxJQUFJLEVBQUU7TUFDaEIsYUFBWSxRQUFRO01BQ3BCLE9BQU8sS0FBSztJQUNiO0lBQ0EsSUFBSVYsQ0FBQyxHQUFHLENBQUMsSUFBSUEsQ0FBQyxHQUFHLEVBQUUsRUFBRTtNQUNwQixhQUFZLFFBQVE7TUFDcEIsT0FBTyxLQUFLO0lBQ2I7SUFDQSxJQUFJMUQsQ0FBQyxHQUFHLENBQUMsSUFBSUEsQ0FBQyxHQUFHLEVBQUUsRUFBRTtNQUNwQixhQUFZLFFBQVE7TUFDcEIsT0FBTyxLQUFLO0lBQ2I7SUFDQSxJQUFJdUUsQ0FBQyxHQUFHLENBQUMsSUFBSUEsQ0FBQyxHQUFHLEVBQUUsRUFBRTtNQUNwQixhQUFZLFFBQVE7TUFDcEIsT0FBTyxLQUFLO0lBQ2I7SUFDQSxPQUFPM0IsSUFBSSxDQUFDNEIsS0FBSyxDQUFDLElBQUk1QixJQUFJLENBQUN3QixJQUFJLEVBQUVDLEtBQUssR0FBRyxDQUFDLEVBQUVDLEdBQUcsRUFBRVosQ0FBQyxFQUFFMUQsQ0FBQyxFQUFFdUUsQ0FBQyxDQUFDLENBQUM7RUFDM0QsQ0FBQztFQUNEO0VBQ0FFLFFBQVEsRUFBRSxrQkFBU0MsSUFBSSxFQUFFO0lBQ3hCLElBQUlBLElBQUksR0FBRyxXQUFXLEVBQUU7TUFDdkJBLElBQUksSUFBSSxJQUFJO0lBQ2I7SUFDQSxJQUFJQyxLQUFLLEdBQUcsSUFBSS9CLElBQUksRUFBRSxDQUFDRSxPQUFPLEVBQUUsR0FBRzRCLElBQUk7SUFDdkNDLEtBQUssR0FBR3pDLFFBQVEsQ0FBQ3lDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDOUIsSUFBSUEsS0FBSyxHQUFHLEdBQUcsRUFBRTtNQUNoQixPQUFPLElBQUk7SUFDWixDQUFDLE1BQU0sSUFBSUEsS0FBSyxJQUFJLEdBQUcsSUFBSUEsS0FBSyxHQUFHLElBQUksRUFBRTtNQUN4QyxPQUFPekMsUUFBUSxDQUFDeUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUs7SUFDcEMsQ0FBQyxNQUFNLElBQUlBLEtBQUssSUFBSSxJQUFJLElBQUlBLEtBQUssR0FBRyxLQUFLLEVBQUU7TUFDMUMsT0FBT3pDLFFBQVEsQ0FBQ3lDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLO0lBQ3RDLENBQUMsTUFBTSxJQUFJQSxLQUFLLElBQUksS0FBSyxJQUFJQSxLQUFLLEdBQUcsT0FBTyxFQUFFO01BQzdDLE9BQU96QyxRQUFRLENBQUN5QyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSTtJQUN0QyxDQUFDLE1BQU07TUFDTixPQUFPLElBQUksQ0FBQzVCLE1BQU0sQ0FBQzJCLElBQUksRUFBRSxLQUFLLENBQUM7SUFDaEM7RUFDRCxDQUFDO0VBRUQ7RUFDQUUsS0FBSyxFQUFFLGVBQVNELEtBQUssRUFBRS9JLElBQUksRUFBRTtJQUM1QixPQUFPaUosVUFBVSxDQUFDakosSUFBSSxFQUFFK0ksS0FBSyxDQUFDO0VBQy9CLENBQUM7RUFDRDtFQUNBRyxRQUFRLEVBQUUsa0JBQVNILEtBQUssRUFBRS9JLElBQUksRUFBRTtJQUMvQixPQUFPbUosV0FBVyxDQUFDbkosSUFBSSxFQUFFK0ksS0FBSyxDQUFDO0VBQ2hDLENBQUM7RUFFRDtFQUNBSyxNQUFNLEVBQUUsZ0JBQVNDLEdBQUcsRUFBRUMsR0FBRyxFQUFFdEQsR0FBRyxFQUFFO0lBQy9CcUQsR0FBRyxDQUFDQyxHQUFHLENBQUMsR0FBR3RELEdBQUc7RUFDZixDQUFDO0VBQ0R1RCxXQUFXLEVBQUUscUJBQVNGLEdBQUcsRUFBRUMsR0FBRyxFQUFFO0lBQy9CLE9BQU9ELEdBQUcsQ0FBQ0MsR0FBRyxDQUFDO0VBQ2hCLENBQUM7RUFDREUsSUFBSSxFQUFFLGNBQVNILEdBQUcsRUFBRXJKLElBQUksRUFBRTtJQUN6QixLQUFLLElBQUlHLENBQUMsSUFBSWtKLEdBQUcsRUFBRTtNQUNsQnJKLElBQUksQ0FBQ0csQ0FBQyxFQUFFa0osR0FBRyxDQUFDbEosQ0FBQyxDQUFDLENBQUM7SUFDaEI7RUFDRCxDQUFDO0VBQ0RzSixVQUFVLEVBQUUsb0JBQVNKLEdBQUcsRUFBRTtJQUN6QixPQUFPSyxJQUFJLENBQUNDLFNBQVMsQ0FBQ04sR0FBRyxDQUFDLEtBQUssSUFBSTtFQUNwQyxDQUFDO0VBRUQ7RUFDQU8sT0FBTyxFQUFFLGlCQUFTQyxHQUFHLEVBQUVDLEtBQUssRUFBRTlJLEtBQUssRUFBRW1GLEdBQUcsRUFBRTtJQUFBO0lBQ3pDLElBQUluRixLQUFLLElBQUksRUFBRSxFQUFFO01BQ2hCbUYsR0FBRyxDQUFDMkQsS0FBSyxDQUFDQyxLQUFLLENBQUNGLEdBQUcsQ0FBQyxDQUFDO01BQ3JCLE9BQU8sS0FBSztJQUNiO0lBQ0EsSUFBSUcsU0FBUyxHQUFHRixLQUFLLENBQUNDLEtBQUssQ0FBQ0YsR0FBRyxDQUFDO0lBQ2hDLElBQUlHLFNBQVMsRUFBRTtNQUNkN0QsR0FBRyxDQUFDNkQsU0FBUyxDQUFDO0lBQ2YsQ0FBQyxNQUFNO01BQ05oSixLQUFLLEVBQUU7TUFDUGlJLFVBQVUsQ0FBQyxZQUFNO1FBQ2hCLE1BQUksQ0FBQ1csT0FBTyxDQUFDQyxHQUFHLEVBQUVDLEtBQUssRUFBRTlJLEtBQUssRUFBRW1GLEdBQUcsQ0FBQztNQUNyQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1I7RUFDRCxDQUFDO0VBRUQ7RUFDQXJJLEdBQUcsRUFBRyxhQUFTbU0sR0FBRyxFQUFDO0lBQ2xCLE9BQU9uTSxHQUFHLENBQUNBLEdBQUcsQ0FBQ21NLEdBQUcsQ0FBQztFQUNwQjtBQUNELENBQUMsQyIsImZpbGUiOiIxNC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBtZDUgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL21kNS5qcycpO1xyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHQvLyDniYjmnKzmo4Dmn6VcclxuXHR2ZXJzb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0dmFyIGN1cnJlbnRWZXJzaW9uID0gJzUuMCc7XHJcblx0XHRjb25zb2xlLmxvZyhjdXJyZW50VmVyc2lvbik7XHJcblx0fSxcclxuXHQvLyAtLS0g6aG16Z2i6Lez6L2s55u45YWzIC0tLVxyXG5cdC8vIOmhtemdoui3s+i9rFxyXG5cdG5hdmlnYXRlOiBmdW5jdGlvbih1cmwsIHR5cGUsIHN1Y2Nlc3MsIGZhaWwsIGNvbXBsZXRlKSB7XHJcblx0XHRpZiAoIXR5cGUpIHtcclxuXHRcdFx0dHlwZSA9ICduYXZpZ2F0ZVRvJztcclxuXHRcdH1cclxuXHRcdGlmICghc3VjY2Vzcykge1xyXG5cdFx0XHRzdWNjZXNzID0gZnVuY3Rpb24oKSB7fTtcclxuXHRcdH1cclxuXHRcdGlmICghZmFpbCkge1xyXG5cdFx0XHRmYWlsID0gZnVuY3Rpb24oKSB7fTtcclxuXHRcdH1cclxuXHRcdGlmICghY29tcGxldGUpIHtcclxuXHRcdFx0Y29tcGxldGUgPSBmdW5jdGlvbigpIHt9O1xyXG5cdFx0fVxyXG5cdFx0c3dpdGNoICh0eXBlKSB7XHJcblx0XHRcdGNhc2UgJ25hdmlnYXRlVG8nOlxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdFx0c3VjY2Vzczogc3VjY2VzcyxcclxuXHRcdFx0XHRcdGZhaWw6IGZhaWwsXHJcblx0XHRcdFx0XHRjb21wbGV0ZTogY29tcGxldGVcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAncmVkaXJlY3RUbyc6XHJcblx0XHRcdFx0dW5pLnJlZGlyZWN0VG8oe1xyXG5cdFx0XHRcdFx0dXJsOiB1cmwsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBzdWNjZXNzLFxyXG5cdFx0XHRcdFx0ZmFpbDogZmFpbCxcclxuXHRcdFx0XHRcdGNvbXBsZXRlOiBjb21wbGV0ZVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdzd2l0Y2hUYWInOlxyXG5cdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdFx0dXJsOiB1cmwsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBzdWNjZXNzLFxyXG5cdFx0XHRcdFx0ZmFpbDogZmFpbCxcclxuXHRcdFx0XHRcdGNvbXBsZXRlOiBjb21wbGV0ZVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdyZUxhdW5jaCc6XHJcblx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdFx0c3VjY2Vzczogc3VjY2VzcyxcclxuXHRcdFx0XHRcdGZhaWw6IGZhaWwsXHJcblx0XHRcdFx0XHRjb21wbGV0ZTogY29tcGxldGVcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9LFxyXG5cdC8vIOi/lOWbnlxyXG5cdGJhY2s6IGZ1bmN0aW9uKGRlbHRhKSB7XHJcblx0XHRpZiAoIWRlbHRhKSB7XHJcblx0XHRcdGRlbHRhID0gMTtcclxuXHRcdH1cclxuXHRcdHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG5cdFx0XHRkZWx0YTogZGVsdGFcclxuXHRcdH0pO1xyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDnvZHnu5zor7fmsYIgLS0tXHJcblx0Ly8gZ2V0XHJcblx0Z2V0OiBmdW5jdGlvbih1cmwsIGRhdGEsIGhlYWRlcnMsIHN1Y2Nlc3MsIGZhaWwpIHtcclxuXHRcdGlmICghZmFpbCkge1xyXG5cdFx0XHRmYWlsID0gKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubXNnKFwi572R57uc6K+35rGC5aSx6LSlXCIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRpZiAoIWhlYWRlcnMpIHtcclxuXHRcdFx0aGVhZGVycyA9IHt9O1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuX19iZWZvcmUgIT0gbnVsbCkge1xyXG5cdFx0XHR0aGlzLl9fYmVmb3JlKCk7XHJcblx0XHRcdHRoaXMuX19iZWZvcmUgPSBudWxsO1xyXG5cdFx0fVxyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHR1cmw6IHVybCxcclxuXHRcdFx0ZGF0YTogZGF0YSxcclxuXHRcdFx0bWV0aG9kOiBcIkdFVFwiLFxyXG5cdFx0XHRkYXRhVHlwZTogXCJqc29uXCIsXHJcblx0XHRcdGhlYWRlcjogaGVhZGVycyxcclxuXHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdHN1Y2Nlc3MocmVzLmRhdGEpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRmYWlsOiBmYWlsLFxyXG5cdFx0XHRjb21wbGV0ZTogKCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLl9fYWZ0ZXIgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0dGhpcy5fX2FmdGVyKCk7XHJcblx0XHRcdFx0XHR0aGlzLl9fYWZ0ZXIgPSBudWxsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fSxcclxuXHQvLyBwb3N0XHJcblx0cG9zdDogZnVuY3Rpb24odXJsLCBkYXRhLCBjb250ZW50VHlwZSwgaGVhZGVycywgc3VjY2VzcywgZmFpbCkge1xyXG5cdFx0aWYgKCFmYWlsKSB7XHJcblx0XHRcdGZhaWwgPSAoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5tc2coXCLnvZHnu5zor7fmsYLlpLHotKVcIik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICghaGVhZGVycykge1xyXG5cdFx0XHRoZWFkZXJzID0ge307XHJcblx0XHR9XHJcblx0XHRpZiAoIWNvbnRlbnRUeXBlKSB7XHJcblx0XHRcdGNvbnRlbnRUeXBlID0gJ2Zvcm0nO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuX19iZWZvcmUgIT0gbnVsbCkge1xyXG5cdFx0XHR0aGlzLl9fYmVmb3JlKCk7XHJcblx0XHRcdHRoaXMuX19iZWZvcmUgPSBudWxsO1xyXG5cdFx0fVxyXG5cdFx0c3dpdGNoIChjb250ZW50VHlwZSkge1xyXG5cdFx0XHRjYXNlIFwiZm9ybVwiOlxyXG5cdFx0XHRcdGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCc7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgXCJqc29uXCI6XHJcblx0XHRcdFx0aGVhZGVyc1snY29udGVudC10eXBlJ10gPSAnYXBwbGljYXRpb24vanNvbic7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0aGVhZGVyc1snY29udGVudC10eXBlJ10gPSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJztcclxuXHRcdH1cclxuXHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0dXJsOiB1cmwsXHJcblx0XHRcdGRhdGE6IGRhdGEsXHJcblx0XHRcdG1ldGhvZDogXCJQT1NUXCIsXHJcblx0XHRcdGRhdGFUeXBlOiBcImpzb25cIixcclxuXHRcdFx0aGVhZGVyOiBoZWFkZXJzLFxyXG5cdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0c3VjY2VzcyhyZXMuZGF0YSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGZhaWw6IGZhaWwsXHJcblx0XHRcdGNvbXBsZXRlOiAoKSA9PiB7XHJcblx0XHRcdFx0aWYgKHRoaXMuX19hZnRlciAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9fYWZ0ZXIoKTtcclxuXHRcdFx0XHRcdHRoaXMuX19hZnRlciA9IG51bGw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9LFxyXG5cdC8vIOivt+axguWJjee9ruWHveaVsFxyXG5cdF9fYmVmb3JlOiBudWxsLFxyXG5cdHNldEJlZm9yZTogZnVuY3Rpb24oZnVuYykge1xyXG5cdFx0dGhpcy5fX2JlZm9yZSA9IGZ1bmM7XHJcblx0fSxcclxuXHQvLyDor7fmsYLlkI7nva7lh73mlbBcclxuXHRfX2FmdGVyOiBudWxsLFxyXG5cdHNldEFmdGVyOiBmdW5jdGlvbihmdW5jKSB7XHJcblx0XHR0aGlzLl9fYWZ0ZXIgPSBmdW5jO1xyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDmlbDmja7nvJPlrZggLS0tXHJcblx0c2V0U3RvcmFnZTogZnVuY3Rpb24oZGF0YSkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Zm9yIChsZXQgayBpbiBkYXRhKSB7XHJcblx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKGssIGRhdGFba10gKyAnJyk7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdGdldFN0b3JhZ2U6IGZ1bmN0aW9uKGtleU5hbWUpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHZhciB0bXBWYWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoa2V5TmFtZSk7XHJcblx0XHRcdGlmICh0bXBWYWwgPT0gJycpIHtcclxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIHRtcFZhbDtcclxuXHRcdH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0cmVtb3ZlU3RvcmFnZTogZnVuY3Rpb24oa2V5TmFtZSkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKGtleU5hbWUpO1xyXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0Y2xlYXJTdG9yYWdlOiBmdW5jdGlvbigpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHVuaS5jbGVhclN0b3JhZ2VTeW5jKCk7XHJcblx0XHR9IGNhdGNoIChlKSB7fVxyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDlm77niYfnm7jlhbMgLS0tXHJcblx0Y2hvb3NlSW1nczogZnVuY3Rpb24oc2V0cywgc3VjY2VzcywgZmFpbCwgY29tcGxldGUpIHtcclxuXHRcdGlmICghc2V0cy5jb3VudCkge1xyXG5cdFx0XHRzZXRzLmNvdW50ID0gMTtcclxuXHRcdH1cclxuXHRcdGlmICghc2V0cy5zaXplVHlwZSkge1xyXG5cdFx0XHRzZXRzLnNpemVUeXBlID0gWydvcmlnaW5hbCcsICdjb21wcmVzc2VkJ107XHJcblx0XHR9XHJcblx0XHRpZiAoIXNldHMuc291cmNlVHlwZSkge1xyXG5cdFx0XHRzZXRzLnNvdXJjZVR5cGUgPSBbJ2FsYnVtJywgJ2NhbWVyYSddO1xyXG5cdFx0fVxyXG5cdFx0dW5pLmNob29zZUltYWdlKHtcclxuXHRcdFx0Y291bnQ6IHNldHMuY291bnQsIC8v6buY6K6kOVxyXG5cdFx0XHRzaXplVHlwZTogc2V0cy5zaXplVHlwZSwgLy/lj6/ku6XmjIflrprmmK/ljp/lm77ov5jmmK/ljovnvKnlm77vvIzpu5jorqTkuozogIXpg73mnIlcclxuXHRcdFx0c291cmNlVHlwZTogc2V0cy5zb3VyY2VUeXBlLCAvL+S7juebuOWGjOmAieaLqVxyXG5cdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0c3VjY2VzcyhyZXMudGVtcEZpbGVQYXRocyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGZhaWw6IChlKSA9PiB7XHJcblx0XHRcdFx0aWYgKGZhaWwpIHtcclxuXHRcdFx0XHRcdGZhaWwoZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb21wbGV0ZTogKGUpID0+IHtcclxuXHRcdFx0XHRpZiAoY29tcGxldGUpIHtcclxuXHRcdFx0XHRcdGNvbXBsZXRlKGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRnZXRJbWFnZUluZm86IGZ1bmN0aW9uKGltZ1VybCwgc3VjY2VzcywgZmFpbCwgY29tcGxldGUpIHtcclxuXHRcdHVuaS5nZXRJbWFnZUluZm8oe1xyXG5cdFx0XHRzcmM6IGltZ1VybCxcclxuXHRcdFx0c3VjY2VzczogZnVuY3Rpb24oaW5mbykge1xyXG5cdFx0XHRcdHN1Y2Nlc3MoaW5mbyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGZhaWw6IChlKSA9PiB7XHJcblx0XHRcdFx0aWYgKGZhaWwpIHtcclxuXHRcdFx0XHRcdGZhaWwoZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb21wbGV0ZTogKGUpID0+IHtcclxuXHRcdFx0XHRpZiAoY29tcGxldGUpIHtcclxuXHRcdFx0XHRcdGNvbXBsZXRlKGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRwcmV2aWV3SW1hZ2U6IGZ1bmN0aW9uKGl0ZW1zLCBjdXJyZW50SW1nKSB7XHJcblx0XHR1bmkucHJldmlld0ltYWdlKHtcclxuXHRcdFx0dXJsczogaXRlbXMsXHJcblx0XHRcdGN1cnJlbnQ6IGN1cnJlbnRJbWdcclxuXHRcdH0pO1xyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDns7vnu5/kv6Hmga8gLS0tXHJcblx0c3lzdGVtOiBmdW5jdGlvbigpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHZhciByZXMgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcclxuXHRcdFx0dmFyIGlQaG9uZVhCb3R0b20gPSAwO1xyXG5cdFx0XHRpZiAoIXJlcy5tb2RlbCkge1xyXG5cdFx0XHRcdHJlcy5tb2RlbCA9ICdubyc7XHJcblx0XHRcdH1cclxuXHRcdFx0cmVzLm1vZGVsID0gcmVzLm1vZGVsLnJlcGxhY2UoJyAnLCAnJyk7XHJcblx0XHRcdHJlcy5tb2RlbCA9IHJlcy5tb2RlbC50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHR2YXIgcmVzMSA9IHJlcy5tb2RlbC5pbmRleE9mKCdpcGhvbmV4Jyk7XHJcblx0XHRcdGlmIChyZXMxID4gNSkge1xyXG5cdFx0XHRcdHJlczEgPSAtMTtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgcmVzMiA9IHJlcy5tb2RlbC5pbmRleE9mKCdpcGhvbmUxJyk7XHJcblx0XHRcdGlmIChyZXMyID4gNSkge1xyXG5cdFx0XHRcdHJlczIgPSAtMTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAocmVzMSAhPSAtMSB8fCByZXMyICE9IC0xKSB7XHJcblx0XHRcdFx0cmVzLmlQaG9uZVhCb3R0b21IZWlnaHRScHggPSA1MDtcclxuXHRcdFx0XHRyZXMuaVBob25lWEJvdHRvbUhlaWdodFB4ID0gdW5pLnVweDJweCg1MCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0cmVzLmlQaG9uZVhCb3R0b21IZWlnaHRScHggPSAwO1xyXG5cdFx0XHRcdHJlcy5pUGhvbmVYQm90dG9tSGVpZ2h0UHggPSAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiByZXM7XHJcblx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDmtojmga/lvLnmoYYgLS0tXHJcblx0bXNnOiBmdW5jdGlvbihtc2cpIHtcclxuXHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHR0aXRsZTogbXNnLFxyXG5cdFx0XHRpY29uOiBcIm5vbmVcIlxyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRzaG93TG9hZGluZzogZnVuY3Rpb24odGl0bGUpIHtcclxuXHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdHRpdGxlOiB0aXRsZSxcclxuXHRcdFx0bWFzazogdHJ1ZVxyXG5cdFx0fSk7XHJcblx0fSxcclxuXHJcblx0Ly8gLS0tIOWvvOiIquadoeiuvue9riAtLS1cclxuXHRzZXROYXZCYXI6IGZ1bmN0aW9uKHNldHMpIHtcclxuXHRcdGlmIChzZXRzLnRpdGxlKSB7XHJcblx0XHRcdHVuaS5zZXROYXZpZ2F0aW9uQmFyVGl0bGUoe1xyXG5cdFx0XHRcdHRpdGxlOiBzZXRzLnRpdGxlXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHNldHMuY29sb3IpIHtcclxuXHRcdFx0dW5pLnNldE5hdmlnYXRpb25CYXJDb2xvcih7XHJcblx0XHRcdFx0ZnJvbnRDb2xvcjogc2V0cy5jb2xvci5mcm9udENvbG9yLFxyXG5cdFx0XHRcdGJhY2tncm91bmRDb2xvcjogc2V0cy5jb2xvci5iYWNrZ3JvdW5kQ29sb3IsXHJcblx0XHRcdCBhbmltYXRpb246IHtcclxuXHRcdFx0XHRcdGR1cmF0aW9uOiA0MDAsXHJcblx0XHRcdCAgdGltaW5nRnVuYzogJ2Vhc2VJbidcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHNldHMubG9hZGluZykge1xyXG5cdFx0XHR1bmkuc2hvd05hdmlnYXRpb25CYXJMb2FkaW5nKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR1bmkuaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nKCk7XHJcblx0XHR9XHJcblx0fSxcclxuXHJcblx0Ly8gLS0tIOWFg+e0oOmAieaLqSAtLS1cclxuXHQvLyDljZXkuKrlhYPntKDpgInmi6lcclxuXHRzZWxlY3Q6IGZ1bmN0aW9uKHNlbGVjdG9yLCBjYWxsQmFjaykge1xyXG5cdFx0dW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5zZWxlY3Qoc2VsZWN0b3IpLmJvdW5kaW5nQ2xpZW50UmVjdCgpLmV4ZWMoKHJlcykgPT4ge1xyXG5cdFx0XHRjYWxsQmFjayhyZXNbMF0pO1xyXG5cdFx0fSk7XHJcblx0fSxcclxuXHQvLyDlpJrkuKrlhYPntKDojrflj5ZcclxuXHRzZWxlY3RBbGw6IGZ1bmN0aW9uKHNlbGVjdG9yLCBjYWxsQmFjaykge1xyXG5cdFx0dW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5zZWxlY3RBbGwoc2VsZWN0b3IpLmJvdW5kaW5nQ2xpZW50UmVjdCgpLmV4ZWMoKHJlcykgPT4ge1xyXG5cdFx0XHRjYWxsQmFjayhyZXNbMF0pO1xyXG5cdFx0fSk7XHJcblx0fSxcclxuXHJcblx0Ly8gLS0tIOaVsOe7hOaTjeS9nCAtLS1cclxuXHQvLyDmlbDnu4TlkIjlubZcclxuXHRhcnJheUNvbmNhdDogZnVuY3Rpb24oKSB7XHJcblx0XHR2YXIgdG1wQXJyID0gW107XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHR0bXBBcnIgPSB0bXBBcnIuY29uY2F0KGFyZ3VtZW50c1tpXSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdG1wQXJyO1xyXG5cdH0sXHJcblx0YXJyYXlEcm9wOiBmdW5jdGlvbihhcnJheSwgaW5kZXgsIGhvd21hbnkpIHtcclxuXHRcdGlmICghaW5kZXgpIHtcclxuXHRcdFx0aW5kZXggPSAwO1xyXG5cdFx0fVxyXG5cdFx0aWYgKCFob3dtYW55KSB7XHJcblx0XHRcdGhvd21hbnkgPSAxO1xyXG5cdFx0fVxyXG5cdFx0YXJyYXkuc3BsaWNlKGluZGV4LCBob3dtYW55KTtcclxuXHRcdHJldHVybiBhcnJheTtcclxuXHR9LFxyXG5cdGFycmF5SW5kZXhPZjogZnVuY3Rpb24oYXJyLCBuZWVkRmluZCkge1xyXG5cdFx0dmFyIGluZGV4ID0gLTE7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRpZiAoYXJyW2ldID09IG5lZWRGaW5kKSB7XHJcblx0XHRcdFx0aW5kZXggPSBpO1xyXG5cdFx0XHRcdHJldHVybiBpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gaW5kZXg7XHJcblx0fSxcclxuXHRhcnJheURpZmZlcmVuY2U6IGZ1bmN0aW9uKGEsIGIpIHtcclxuXHRcdGNvbnN0IHNldCA9IG5ldyBTZXQoYik7XHJcblx0XHRyZXR1cm4gYS5maWx0ZXIoeCA9PiAhc2V0Lmhhcyh4KSk7XHJcblx0fSxcclxuXHRhcnJheVNodWZmbGU6IGZ1bmN0aW9uKGFycikge1xyXG5cdFx0bGV0IGwgPSBhcnIubGVuZ3RoO1xyXG5cdFx0d2hpbGUgKGwpIHtcclxuXHRcdFx0Y29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGwtLSk7XHJcblx0XHRcdFthcnJbbF0sIGFycltpXV0gPSBbYXJyW2ldLCBhcnJbbF1dO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGFycjtcclxuXHR9LFxyXG5cdGFycmF5U3VtOiBmdW5jdGlvbihhcnIpIHtcclxuXHRcdHJldHVybiBhcnIucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKTtcclxuXHR9LFxyXG5cdGFycmF5QXZnOiBmdW5jdGlvbihhcnIpIHtcclxuXHRcdHJldHVybiBhcnIucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKSAvIGFyci5sZW5ndGg7XHJcblx0fSxcclxuXHRhcnJheUVhY2g6IGZ1bmN0aW9uKGFyciwgZnVuKSB7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRmdW4oYXJyW2ldLCBpKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cclxuXHQvLyAy5pWw5LmL6Ze055qE6ZqP5py65pWwXHJcblx0cmFuZG9tOiBmdW5jdGlvbihtaW4sIG1heCkge1xyXG5cdFx0c3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7XHJcblx0XHRcdGNhc2UgMTpcclxuXHRcdFx0XHRyZXR1cm4gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIG1pbiArIDEsIDEwKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAyOlxyXG5cdFx0XHRcdHJldHVybiBwYXJzZUludChNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpICsgbWluLCAxMCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0cmV0dXJuIDA7XHJcblx0XHR9XHJcblx0fSxcclxuXHJcblx0Ly8gVVVJRFxyXG5cdHV1aWQ6IGZ1bmN0aW9uKGxlbikge1xyXG5cdFx0dmFyIGNoYXJzID0gJzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jy5zcGxpdCgnJyk7XHJcblx0XHR2YXIgdXVpZCA9IFtdLFxyXG5cdFx0XHRpO1xyXG5cdFx0aWYgKGxlbikge1xyXG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuXHRcdFx0XHR1dWlkW2ldID0gY2hhcnNbMCB8IE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGhdO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR2YXIgcjtcclxuXHRcdFx0dXVpZFs4XSA9IHV1aWRbMTNdID0gdXVpZFsxOF0gPSB1dWlkWzIzXSA9ICctJztcclxuXHRcdFx0dXVpZFsxNF0gPSAnNCc7XHJcblx0XHRcdGZvciAoaSA9IDA7IGkgPCAzNjsgaSsrKSB7XHJcblx0XHRcdFx0aWYgKCF1dWlkW2ldKSB7XHJcblx0XHRcdFx0XHRyID0gMCB8IE1hdGgucmFuZG9tKCkgKiAxNjtcclxuXHRcdFx0XHRcdHV1aWRbaV0gPSBjaGFyc1soaSA9PSAxOSkgPyAociAmIDB4MykgfCAweDggOiByXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiB1dWlkLmpvaW4oJycpO1xyXG5cdH0sXHJcblxyXG5cdC8vIC0tLSDml6XmnJ/ml7bpl7QgLS0tXHJcblx0bm93OiBmdW5jdGlvbih0eXBlLCBhZGRUaW1lKSB7XHJcblx0XHR2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7XHJcblx0XHR2YXIgY1RpbWUgPSBkYXRlT2JqLmdldFRpbWUoKTtcclxuXHRcdGlmIChhZGRUaW1lKSB7XHJcblx0XHRcdGNUaW1lICs9IGFkZFRpbWU7XHJcblx0XHR9XHJcblx0XHRpZiAoIXR5cGUpIHtcclxuXHRcdFx0dHlwZSA9ICdudW1iZXInO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHR5cGUgPT0gJ251bWJlcicpIHtcclxuXHRcdFx0cmV0dXJuIGNUaW1lO1xyXG5cdFx0fSBlbHNlIGlmICh0eXBlID09ICdzdHInKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnRvRGF0ZShjVGltZSAvIDEwMDAsICdzdHInKTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZSA9PSAnYXJyYXknKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnRvRGF0ZShjVGltZSAvIDEwMDAsICdhcnJheScpO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0Ly8g5pe26Ze05oiz6L2sIFlZLW1tLWRkIEhIOmlpOnNzXHJcblx0dG9EYXRlOiBmdW5jdGlvbih0aW1lU3RhbXAsIHJldHVyblR5cGUpIHtcclxuXHRcdHRpbWVTdGFtcCA9IHBhcnNlSW50KHRpbWVTdGFtcCk7XHJcblx0XHR2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0XHRpZiAodGltZVN0YW1wIDwgOTAwMDAwMDAwMDApIHtcclxuXHRcdFx0ZGF0ZS5zZXRUaW1lKHRpbWVTdGFtcCAqIDEwMDApO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZGF0ZS5zZXRUaW1lKHRpbWVTdGFtcCk7XHJcblx0XHR9XHJcblx0XHR2YXIgeSA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuXHRcdHZhciBtID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuXHRcdG0gPSBtIDwgMTAgPyAoJzAnICsgbSkgOiBtO1xyXG5cdFx0dmFyIGQgPSBkYXRlLmdldERhdGUoKTtcclxuXHRcdGQgPSBkIDwgMTAgPyAoJzAnICsgZCkgOiBkO1xyXG5cdFx0dmFyIGggPSBkYXRlLmdldEhvdXJzKCk7XHJcblx0XHRoID0gaCA8IDEwID8gKCcwJyArIGgpIDogaDtcclxuXHRcdHZhciBtaW51dGUgPSBkYXRlLmdldE1pbnV0ZXMoKTtcclxuXHRcdHZhciBzZWNvbmQgPSBkYXRlLmdldFNlY29uZHMoKTtcclxuXHRcdG1pbnV0ZSA9IG1pbnV0ZSA8IDEwID8gKCcwJyArIG1pbnV0ZSkgOiBtaW51dGU7XHJcblx0XHRzZWNvbmQgPSBzZWNvbmQgPCAxMCA/ICgnMCcgKyBzZWNvbmQpIDogc2Vjb25kO1xyXG5cdFx0aWYgKHJldHVyblR5cGUgPT0gJ3N0cicpIHtcclxuXHRcdFx0cmV0dXJuIHkgKyAnLScgKyBtICsgJy0nICsgZCArICcgJyArIGggKyAnOicgKyBtaW51dGUgKyAnOicgKyBzZWNvbmQ7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gW3ksIG0sIGQsIGgsIG1pbnV0ZSwgc2Vjb25kXTtcclxuXHR9LFxyXG5cdC8vIOWtl+espuS4sui9rOaXtumXtOaIs1xyXG5cdHRvVGltZVN0YW1wOiBmdW5jdGlvbih0aW1lU3RhbXApIHtcclxuXHRcdHZhciByZWcgPSAvXihbMC05XXs0fSktKFswLTldezJ9KS0oWzAtOV17Mn0pIChbMC05XXsyfSk6KFswLTldezJ9KTooWzAtOV17Mn0pJC87XHJcblx0XHR2YXIgcmVzID0gdGltZVN0YW1wLm1hdGNoKHJlZyk7XHJcblx0XHRpZiAocmVzID09IG51bGwpIHtcclxuXHRcdFx0dmFyIHJlZzIgPSAvXihbMC05XXsyfSlcXC8oWzAtOV17Mn0pXFwvKFswLTldezR9KSAoWzAtOV17Mn0pOihbMC05XXsyfSk6KFswLTldezJ9KSQvO1xyXG5cdFx0XHR2YXIgcmVzMiA9IHRpbWVTdGFtcC5tYXRjaChyZWcyKTtcclxuXHRcdFx0aWYgKHJlczIgPT0gbnVsbCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfml7bpl7TmoLzlvI/plJnor68gRTAwMScpO1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgeWVhciA9IHBhcnNlSW50KHJlczJbM10pO1xyXG5cdFx0XHR2YXIgbW9udGggPSBwYXJzZUludChyZXMyWzFdKTtcclxuXHRcdFx0dmFyIGRheSA9IHBhcnNlSW50KHJlczJbMl0pO1xyXG5cdFx0XHR2YXIgaCA9IHBhcnNlSW50KHJlczJbNF0pO1xyXG5cdFx0XHR2YXIgaSA9IHBhcnNlSW50KHJlczJbNV0pO1xyXG5cdFx0XHR2YXIgcyA9IHBhcnNlSW50KHJlczJbNl0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dmFyIHllYXIgPSBwYXJzZUludChyZXNbMV0pO1xyXG5cdFx0XHR2YXIgbW9udGggPSBwYXJzZUludChyZXNbMl0pO1xyXG5cdFx0XHR2YXIgZGF5ID0gcGFyc2VJbnQocmVzWzNdKTtcclxuXHRcdFx0dmFyIGggPSBwYXJzZUludChyZXNbNF0pO1xyXG5cdFx0XHR2YXIgaSA9IHBhcnNlSW50KHJlc1s1XSk7XHJcblx0XHRcdHZhciBzID0gcGFyc2VJbnQocmVzWzZdKTtcclxuXHRcdH1cclxuXHRcdGlmICh5ZWFyIDwgMTAwMCkge1xyXG5cdFx0XHRjb25zb2xlLmxvZygn5pe26Ze05qC85byP6ZSZ6K+vJyk7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHRcdGlmIChoIDwgMCB8fCBoID4gMjQpIHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ+aXtumXtOagvOW8j+mUmeivrycpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHRpZiAoaSA8IDAgfHwgaSA+IDYwKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCfml7bpl7TmoLzlvI/plJnor68nKTtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHMgPCAwIHx8IHMgPiA2MCkge1xyXG5cdFx0XHRjb25zb2xlLmxvZygn5pe26Ze05qC85byP6ZSZ6K+vJyk7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBEYXRlLnBhcnNlKG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5LCBoLCBpLCBzKSk7XHJcblx0fSxcclxuXHQvLyDmoLnmja7ml7bpl7TmiLPorqHnrpflpJrlsJHliIbpkp8v5bCP5pe2L+WkqeS5i+WJjVxyXG5cdGZyb21UaW1lOiBmdW5jdGlvbih0aW1lKSB7XHJcblx0XHRpZiAodGltZSA8IDkwMDAwMDAwMDAwKSB7XHJcblx0XHRcdHRpbWUgKj0gMTAwMDtcclxuXHRcdH1cclxuXHRcdHZhciB0aW1lciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGltZTtcclxuXHRcdHRpbWVyID0gcGFyc2VJbnQodGltZXIgLyAxMDAwKTtcclxuXHRcdGlmICh0aW1lciA8IDE4MCkge1xyXG5cdFx0XHRyZXR1cm4gJ+WImuWImic7XHJcblx0XHR9IGVsc2UgaWYgKHRpbWVyID49IDE4MCAmJiB0aW1lciA8IDM2MDApIHtcclxuXHRcdFx0cmV0dXJuIHBhcnNlSW50KHRpbWVyIC8gNjApICsgJ+WIhumSn+WJjSc7XHJcblx0XHR9IGVsc2UgaWYgKHRpbWVyID49IDM2MDAgJiYgdGltZXIgPCA4NjQwMCkge1xyXG5cdFx0XHRyZXR1cm4gcGFyc2VJbnQodGltZXIgLyAzNjAwKSArICflsI/ml7bliY0nO1xyXG5cdFx0fSBlbHNlIGlmICh0aW1lciA+PSA4NjQwMCAmJiB0aW1lciA8IDI1OTIwMDApIHtcclxuXHRcdFx0cmV0dXJuIHBhcnNlSW50KHRpbWVyIC8gODY0MDApICsgJ+WkqeWJjSc7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy50b0RhdGUodGltZSwgJ3N0cicpO1xyXG5cdFx0fVxyXG5cdH0sXHJcblxyXG5cdC8vIOW7tui/n+aTjeS9nFxyXG5cdGRlbGF5OiBmdW5jdGlvbih0aW1lciwgZnVuYykge1xyXG5cdFx0cmV0dXJuIHNldFRpbWVvdXQoZnVuYywgdGltZXIpO1xyXG5cdH0sXHJcblx0Ly8g6Ze06ZqU5oyH5a6a5pe26Ze05b6q546v5p+Q5Liq5Ye95pWwXHJcblx0aW50ZXJ2YWw6IGZ1bmN0aW9uKHRpbWVyLCBmdW5jKSB7XHJcblx0XHRyZXR1cm4gc2V0SW50ZXJ2YWwoZnVuYywgdGltZXIpO1xyXG5cdH0sXHJcblxyXG5cdC8vIOWvueixoeaTjeS9nFxyXG5cdGFzc2lnbjogZnVuY3Rpb24ob2JqLCBrZXksIHZhbCkge1xyXG5cdFx0b2JqW2tleV0gPSB2YWw7XHJcblx0fSxcclxuXHRyZW1vdmVCeUtleTogZnVuY3Rpb24ob2JqLCBrZXkpIHtcclxuXHRcdGRlbGV0ZSBvYmpba2V5XTtcclxuXHR9LFxyXG5cdGVhY2g6IGZ1bmN0aW9uKG9iaiwgZnVuYykge1xyXG5cdFx0Zm9yIChsZXQgayBpbiBvYmopIHtcclxuXHRcdFx0ZnVuYyhrLCBvYmpba10pO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0aXNFbXB0eU9iajogZnVuY3Rpb24ob2JqKSB7XHJcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKSA9PT0gJ3t9JztcclxuXHR9LFxyXG5cclxuXHQvLyDojrflj5ZyZWYgKCDlvqrnjq/ojrflj5bvvIznm7TliLAg57uE5Lu25Yib5bu65a6M5oiQ5bm26I635Y+W5oiQ5YqfIClcclxuXHRnZXRSZWZzOiBmdW5jdGlvbihyZWYsIF90aGlzLCBjb3VudCwgZnVuKSB7XHJcblx0XHRpZiAoY291bnQgPj0gNTApIHtcclxuXHRcdFx0ZnVuKF90aGlzLiRyZWZzW3JlZl0pO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0XHR2YXIgcmVmUmV0dXJuID0gX3RoaXMuJHJlZnNbcmVmXTtcclxuXHRcdGlmIChyZWZSZXR1cm4pIHtcclxuXHRcdFx0ZnVuKHJlZlJldHVybik7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb3VudCsrO1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmdldFJlZnMocmVmLCBfdGhpcywgY291bnQsIGZ1bik7XHJcblx0XHRcdH0sIDEwMCk7XHJcblx0XHR9XHJcblx0fSxcclxuXHRcclxuXHQvLyBtZDVcclxuXHRtZDUgOiBmdW5jdGlvbihzdHIpe1xyXG5cdFx0cmV0dXJuIG1kNS5tZDUoc3RyKTtcclxuXHR9XHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///14\n"); + +/***/ }), +/* 15 */ +/*!**************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/md5.js ***! + \**************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/*\r\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\r\n * Digest Algorithm, as defined in RFC 1321.\r\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\r\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r\n * Distributed under the BSD License\r\n * See http://pajhome.org.uk/crypt/md5 for more info.\r\n */\n\n/*\r\n * Configurable variables. You may need to tweak these to be compatible with\r\n * the server-side, but the defaults work in most cases.\r\n */\nvar hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */\nvar b64pad = \"\"; /* base-64 pad character. \"=\" for strict RFC compliance */\n\n/*\r\n * These are the functions you'll usually want to call\r\n * They take string arguments and return either hex or base-64 encoded strings\r\n */\nfunction hex_md5(s) {\n return rstr2hex(rstr_md5(str2rstr_utf8(s)));\n}\nfunction b64_md5(s) {\n return rstr2b64(rstr_md5(str2rstr_utf8(s)));\n}\nfunction any_md5(s, e) {\n return rstr2any(rstr_md5(str2rstr_utf8(s)), e);\n}\nfunction hex_hmac_md5(k, d) {\n return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)));\n}\nfunction b64_hmac_md5(k, d) {\n return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)));\n}\nfunction any_hmac_md5(k, d, e) {\n return rstr2any(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)), e);\n}\n\n/*\r\n * Perform a simple self-test to see if the VM is working\r\n */\nfunction md5_vm_test() {\n return hex_md5(\"abc\").toLowerCase() == \"900150983cd24fb0d6963f7d28e17f72\";\n}\n\n/*\r\n * Calculate the MD5 of a raw string\r\n */\nfunction rstr_md5(s) {\n return binl2rstr(binl_md5(rstr2binl(s), s.length * 8));\n}\n\n/*\r\n * Calculate the HMAC-MD5, of a key and some data (raw strings)\r\n */\nfunction rstr_hmac_md5(key, data) {\n var bkey = rstr2binl(key);\n if (bkey.length > 16) bkey = binl_md5(bkey, key.length * 8);\n var ipad = Array(16),\n opad = Array(16);\n for (var i = 0; i < 16; i++) {\n ipad[i] = bkey[i] ^ 0x36363636;\n opad[i] = bkey[i] ^ 0x5C5C5C5C;\n }\n var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);\n return binl2rstr(binl_md5(opad.concat(hash), 512 + 128));\n}\n\n/*\r\n * Convert a raw string to a hex string\r\n */\nfunction rstr2hex(input) {\n try {\n hexcase;\n } catch (e) {\n hexcase = 0;\n }\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\n var output = \"\";\n var x;\n for (var i = 0; i < input.length; i++) {\n x = input.charCodeAt(i);\n output += hex_tab.charAt(x >>> 4 & 0x0F) + hex_tab.charAt(x & 0x0F);\n }\n return output;\n}\n\n/*\r\n * Convert a raw string to a base-64 string\r\n */\nfunction rstr2b64(input) {\n try {\n b64pad;\n } catch (e) {\n b64pad = '';\n }\n var tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var rcode = 'NUMOOEOLFELVGN';\n var output = \"\";\n var len = input.length;\n for (var i = 0; i < len; i += 3) {\n var triplet = input.charCodeAt(i) << 16 | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0);\n for (var j = 0; j < 4; j++) {\n if (i * 8 + j * 6 > input.length * 8) output += b64pad;else output += tab.charAt(triplet >>> 6 * (3 - j) & 0x3F);\n }\n }\n return output;\n}\n\n/*\r\n * Convert a raw string to an arbitrary string encoding\r\n */\nfunction rstr2any(input, encoding) {\n var divisor = encoding.length;\n var i, j, q, x, quotient;\n\n /* Convert to an array of 16-bit big-endian values, forming the dividend */\n var dividend = Array(Math.ceil(input.length / 2));\n for (i = 0; i < dividend.length; i++) {\n dividend[i] = input.charCodeAt(i * 2) << 8 | input.charCodeAt(i * 2 + 1);\n }\n\n /*\r\n * Repeatedly perform a long division. The binary array forms the dividend,\r\n * the length of the encoding is the divisor. Once computed, the quotient\r\n * forms the dividend for the next step. All remainders are stored for later\r\n * use.\r\n */\n var full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));\n var remainders = Array(full_length);\n for (j = 0; j < full_length; j++) {\n quotient = Array();\n x = 0;\n for (i = 0; i < dividend.length; i++) {\n x = (x << 16) + dividend[i];\n q = Math.floor(x / divisor);\n x -= q * divisor;\n if (quotient.length > 0 || q > 0) quotient[quotient.length] = q;\n }\n remainders[j] = x;\n dividend = quotient;\n }\n\n /* Convert the remainders to the output string */\n var output = \"\";\n for (i = remainders.length - 1; i >= 0; i--) {\n output += encoding.charAt(remainders[i]);\n }\n return output;\n}\n\n/*\r\n * Encode a string as utf-8.\r\n * For efficiency, this assumes the input is valid utf-16.\r\n */\nfunction str2rstr_utf8(input) {\n var output = \"\";\n var i = -1;\n var x, y;\n while (++i < input.length) {\n /* Decode utf-16 surrogate pairs */\n x = input.charCodeAt(i);\n y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;\n if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {\n x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);\n i++;\n }\n\n /* Encode output as utf-8 */\n if (x <= 0x7F) output += String.fromCharCode(x);else if (x <= 0x7FF) output += String.fromCharCode(0xC0 | x >>> 6 & 0x1F, 0x80 | x & 0x3F);else if (x <= 0xFFFF) output += String.fromCharCode(0xE0 | x >>> 12 & 0x0F, 0x80 | x >>> 6 & 0x3F, 0x80 | x & 0x3F);else if (x <= 0x1FFFFF) output += String.fromCharCode(0xF0 | x >>> 18 & 0x07, 0x80 | x >>> 12 & 0x3F, 0x80 | x >>> 6 & 0x3F, 0x80 | x & 0x3F);\n }\n return output;\n}\n\n/*\r\n * Encode a string as utf-16\r\n */\nfunction str2rstr_utf16le(input) {\n var output = \"\";\n for (var i = 0; i < input.length; i++) {\n output += String.fromCharCode(input.charCodeAt(i) & 0xFF, input.charCodeAt(i) >>> 8 & 0xFF);\n }\n return output;\n}\nfunction str2rstr_utf16be(input) {\n var output = \"\";\n for (var i = 0; i < input.length; i++) {\n output += String.fromCharCode(input.charCodeAt(i) >>> 8 & 0xFF, input.charCodeAt(i) & 0xFF);\n }\n return output;\n}\n\n/*\r\n * Convert a raw string to an array of little-endian words\r\n * Characters >255 have their high-byte silently ignored.\r\n */\nfunction rstr2binl(input) {\n var output = Array(input.length >> 2);\n for (var i = 0; i < output.length; i++) {\n output[i] = 0;\n }\n for (var i = 0; i < input.length * 8; i += 8) {\n output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << i % 32;\n }\n return output;\n}\n\n/*\r\n * Convert an array of little-endian words to a string\r\n */\nfunction binl2rstr(input) {\n var output = \"\";\n for (var i = 0; i < input.length * 32; i += 8) {\n output += String.fromCharCode(input[i >> 5] >>> i % 32 & 0xFF);\n }\n return output;\n}\n\n/*\r\n * Calculate the MD5 of an array of little-endian words, and a bit length.\r\n */\nfunction binl_md5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[(len + 64 >>> 9 << 4) + 14] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);\n d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);\n a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);\n c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);\n d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safe_add(a, olda);\n b = safe_add(b, oldb);\n c = safe_add(c, oldc);\n d = safe_add(d, oldd);\n }\n return Array(a, b, c, d);\n}\n\n/*\r\n * These functions implement the four basic operations the algorithm uses.\r\n */\nfunction md5_cmn(q, a, b, x, s, t) {\n return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);\n}\nfunction md5_ff(a, b, c, d, x, s, t) {\n return md5_cmn(b & c | ~b & d, a, b, x, s, t);\n}\nfunction md5_gg(a, b, c, d, x, s, t) {\n return md5_cmn(b & d | c & ~d, a, b, x, s, t);\n}\nfunction md5_hh(a, b, c, d, x, s, t) {\n return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5_ii(a, b, c, d, x, s, t) {\n return md5_cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\n/*\r\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\r\n * to work around bugs in some JS interpreters.\r\n */\nfunction safe_add(x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xFFFF;\n}\n\n/*\r\n * Bitwise rotate a 32-bit number to the left.\r\n */\nfunction bit_rol(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\nmodule.exports = {\n md5: function md5(str) {\n return hex_md5(str);\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvbWQ1LmpzIl0sIm5hbWVzIjpbImhleGNhc2UiLCJiNjRwYWQiLCJoZXhfbWQ1IiwicyIsInJzdHIyaGV4IiwicnN0cl9tZDUiLCJzdHIycnN0cl91dGY4IiwiYjY0X21kNSIsInJzdHIyYjY0IiwiYW55X21kNSIsImUiLCJyc3RyMmFueSIsImhleF9obWFjX21kNSIsImsiLCJkIiwicnN0cl9obWFjX21kNSIsImI2NF9obWFjX21kNSIsImFueV9obWFjX21kNSIsIm1kNV92bV90ZXN0IiwidG9Mb3dlckNhc2UiLCJiaW5sMnJzdHIiLCJiaW5sX21kNSIsInJzdHIyYmlubCIsImxlbmd0aCIsImtleSIsImRhdGEiLCJia2V5IiwiaXBhZCIsIkFycmF5Iiwib3BhZCIsImkiLCJoYXNoIiwiY29uY2F0IiwiaW5wdXQiLCJoZXhfdGFiIiwib3V0cHV0IiwieCIsImNoYXJDb2RlQXQiLCJjaGFyQXQiLCJ0YWIiLCJyY29kZSIsImxlbiIsInRyaXBsZXQiLCJqIiwiZW5jb2RpbmciLCJkaXZpc29yIiwicSIsInF1b3RpZW50IiwiZGl2aWRlbmQiLCJNYXRoIiwiY2VpbCIsImZ1bGxfbGVuZ3RoIiwibG9nIiwicmVtYWluZGVycyIsImZsb29yIiwieSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsInN0cjJyc3RyX3V0ZjE2bGUiLCJzdHIycnN0cl91dGYxNmJlIiwiYSIsImIiLCJjIiwib2xkYSIsIm9sZGIiLCJvbGRjIiwib2xkZCIsIm1kNV9mZiIsIm1kNV9nZyIsIm1kNV9oaCIsIm1kNV9paSIsInNhZmVfYWRkIiwibWQ1X2NtbiIsInQiLCJiaXRfcm9sIiwibHN3IiwibXN3IiwibnVtIiwiY250IiwibW9kdWxlIiwiZXhwb3J0cyIsIm1kNSIsInN0ciJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBRztBQUNuQixJQUFJQyxNQUFNLEdBQUksRUFBRSxDQUFDLENBQUU7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0MsT0FBTyxDQUFDQyxDQUFDLEVBQUs7RUFBRSxPQUFPQyxRQUFRLENBQUNDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQUU7QUFDdEUsU0FBU0ksT0FBTyxDQUFDSixDQUFDLEVBQUs7RUFBRSxPQUFPSyxRQUFRLENBQUNILFFBQVEsQ0FBQ0MsYUFBYSxDQUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQUU7QUFDdEUsU0FBU00sT0FBTyxDQUFDTixDQUFDLEVBQUVPLENBQUMsRUFBRTtFQUFFLE9BQU9DLFFBQVEsQ0FBQ04sUUFBUSxDQUFDQyxhQUFhLENBQUNILENBQUMsQ0FBQyxDQUFDLEVBQUVPLENBQUMsQ0FBQztBQUFFO0FBQ3pFLFNBQVNFLFlBQVksQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEVBQ3hCO0VBQUUsT0FBT1YsUUFBUSxDQUFDVyxhQUFhLENBQUNULGFBQWEsQ0FBQ08sQ0FBQyxDQUFDLEVBQUVQLGFBQWEsQ0FBQ1EsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUFFO0FBQ3hFLFNBQVNFLFlBQVksQ0FBQ0gsQ0FBQyxFQUFFQyxDQUFDLEVBQ3hCO0VBQUUsT0FBT04sUUFBUSxDQUFDTyxhQUFhLENBQUNULGFBQWEsQ0FBQ08sQ0FBQyxDQUFDLEVBQUVQLGFBQWEsQ0FBQ1EsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUFFO0FBQ3hFLFNBQVNHLFlBQVksQ0FBQ0osQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFDM0I7RUFBRSxPQUFPQyxRQUFRLENBQUNJLGFBQWEsQ0FBQ1QsYUFBYSxDQUFDTyxDQUFDLENBQUMsRUFBRVAsYUFBYSxDQUFDUSxDQUFDLENBQUMsQ0FBQyxFQUFFSixDQUFDLENBQUM7QUFBRTs7QUFFM0U7QUFDQTtBQUNBO0FBQ0EsU0FBU1EsV0FBVyxHQUNwQjtFQUNFLE9BQU9oQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUNpQixXQUFXLEVBQUUsSUFBSSxrQ0FBa0M7QUFDM0U7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBU2QsUUFBUSxDQUFDRixDQUFDLEVBQ25CO0VBQ0UsT0FBT2lCLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxTQUFTLENBQUNuQixDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDb0IsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVNSLGFBQWEsQ0FBQ1MsR0FBRyxFQUFFQyxJQUFJLEVBQ2hDO0VBQ0UsSUFBSUMsSUFBSSxHQUFHSixTQUFTLENBQUNFLEdBQUcsQ0FBQztFQUN6QixJQUFHRSxJQUFJLENBQUNILE1BQU0sR0FBRyxFQUFFLEVBQUVHLElBQUksR0FBR0wsUUFBUSxDQUFDSyxJQUFJLEVBQUVGLEdBQUcsQ0FBQ0QsTUFBTSxHQUFHLENBQUMsQ0FBQztFQUUxRCxJQUFJSSxJQUFJLEdBQUdDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFBRUMsSUFBSSxHQUFHRCxLQUFLLENBQUMsRUFBRSxDQUFDO0VBQ3RDLEtBQUksSUFBSUUsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLEVBQUUsRUFBRUEsQ0FBQyxFQUFFLEVBQzFCO0lBQ0VILElBQUksQ0FBQ0csQ0FBQyxDQUFDLEdBQUdKLElBQUksQ0FBQ0ksQ0FBQyxDQUFDLEdBQUcsVUFBVTtJQUM5QkQsSUFBSSxDQUFDQyxDQUFDLENBQUMsR0FBR0osSUFBSSxDQUFDSSxDQUFDLENBQUMsR0FBRyxVQUFVO0VBQ2hDO0VBRUEsSUFBSUMsSUFBSSxHQUFHVixRQUFRLENBQUNNLElBQUksQ0FBQ0ssTUFBTSxDQUFDVixTQUFTLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHQSxJQUFJLENBQUNGLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDeEUsT0FBT0gsU0FBUyxDQUFDQyxRQUFRLENBQUNRLElBQUksQ0FBQ0csTUFBTSxDQUFDRCxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDMUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzNCLFFBQVEsQ0FBQzZCLEtBQUssRUFDdkI7RUFDRSxJQUFJO0lBQUVqQyxPQUFPO0VBQUMsQ0FBQyxDQUFDLE9BQU1VLENBQUMsRUFBRTtJQUFFVixPQUFPLEdBQUMsQ0FBQztFQUFFO0VBQ3RDLElBQUlrQyxPQUFPLEdBQUdsQyxPQUFPLEdBQUcsa0JBQWtCLEdBQUcsa0JBQWtCO0VBQy9ELElBQUltQyxNQUFNLEdBQUcsRUFBRTtFQUNmLElBQUlDLENBQUM7RUFDTCxLQUFJLElBQUlOLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0csS0FBSyxDQUFDVixNQUFNLEVBQUVPLENBQUMsRUFBRSxFQUNwQztJQUNFTSxDQUFDLEdBQUdILEtBQUssQ0FBQ0ksVUFBVSxDQUFDUCxDQUFDLENBQUM7SUFDdkJLLE1BQU0sSUFBSUQsT0FBTyxDQUFDSSxNQUFNLENBQUVGLENBQUMsS0FBSyxDQUFDLEdBQUksSUFBSSxDQUFDLEdBQ2hDRixPQUFPLENBQUNJLE1BQU0sQ0FBRUYsQ0FBQyxHQUFVLElBQUksQ0FBQztFQUM1QztFQUNBLE9BQU9ELE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTM0IsUUFBUSxDQUFDeUIsS0FBSyxFQUN2QjtFQUNFLElBQUk7SUFBRWhDLE1BQU07RUFBQyxDQUFDLENBQUMsT0FBTVMsQ0FBQyxFQUFFO0lBQUVULE1BQU0sR0FBQyxFQUFFO0VBQUU7RUFDckMsSUFBSXNDLEdBQUcsR0FBRyxrRUFBa0U7RUFDNUUsSUFBSUMsS0FBSyxHQUFHLGdCQUFnQjtFQUM1QixJQUFJTCxNQUFNLEdBQUcsRUFBRTtFQUNmLElBQUlNLEdBQUcsR0FBR1IsS0FBSyxDQUFDVixNQUFNO0VBQ3RCLEtBQUksSUFBSU8sQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHVyxHQUFHLEVBQUVYLENBQUMsSUFBSSxDQUFDLEVBQzlCO0lBQ0UsSUFBSVksT0FBTyxHQUFJVCxLQUFLLENBQUNJLFVBQVUsQ0FBQ1AsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUN6QkEsQ0FBQyxHQUFHLENBQUMsR0FBR1csR0FBRyxHQUFHUixLQUFLLENBQUNJLFVBQVUsQ0FBQ1AsQ0FBQyxHQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFDN0NBLENBQUMsR0FBRyxDQUFDLEdBQUdXLEdBQUcsR0FBR1IsS0FBSyxDQUFDSSxVQUFVLENBQUNQLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBUSxDQUFDLENBQUM7SUFDNUQsS0FBSSxJQUFJYSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUUsRUFDekI7TUFDRSxJQUFHYixDQUFDLEdBQUcsQ0FBQyxHQUFHYSxDQUFDLEdBQUcsQ0FBQyxHQUFHVixLQUFLLENBQUNWLE1BQU0sR0FBRyxDQUFDLEVBQUVZLE1BQU0sSUFBSWxDLE1BQU0sQ0FBQyxLQUNqRGtDLE1BQU0sSUFBSUksR0FBRyxDQUFDRCxNQUFNLENBQUVJLE9BQU8sS0FBSyxDQUFDLElBQUUsQ0FBQyxHQUFDQyxDQUFDLENBQUMsR0FBSSxJQUFJLENBQUM7SUFDekQ7RUFDRjtFQUNBLE9BQU9SLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTeEIsUUFBUSxDQUFDc0IsS0FBSyxFQUFFVyxRQUFRLEVBQ2pDO0VBQ0UsSUFBSUMsT0FBTyxHQUFHRCxRQUFRLENBQUNyQixNQUFNO0VBQzdCLElBQUlPLENBQUMsRUFBRWEsQ0FBQyxFQUFFRyxDQUFDLEVBQUVWLENBQUMsRUFBRVcsUUFBUTs7RUFFeEI7RUFDQSxJQUFJQyxRQUFRLEdBQUdwQixLQUFLLENBQUNxQixJQUFJLENBQUNDLElBQUksQ0FBQ2pCLEtBQUssQ0FBQ1YsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0VBQ2pELEtBQUlPLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR2tCLFFBQVEsQ0FBQ3pCLE1BQU0sRUFBRU8sQ0FBQyxFQUFFLEVBQ25DO0lBQ0VrQixRQUFRLENBQUNsQixDQUFDLENBQUMsR0FBSUcsS0FBSyxDQUFDSSxVQUFVLENBQUNQLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUlHLEtBQUssQ0FBQ0ksVUFBVSxDQUFDUCxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUM1RTs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRSxJQUFJcUIsV0FBVyxHQUFHRixJQUFJLENBQUNDLElBQUksQ0FBQ2pCLEtBQUssQ0FBQ1YsTUFBTSxHQUFHLENBQUMsSUFBSTBCLElBQUksQ0FBQ0csR0FBRyxDQUFDUixRQUFRLENBQUNyQixNQUFNLENBQUMsR0FBRzBCLElBQUksQ0FBQ0csR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDekYsSUFBSUMsVUFBVSxHQUFHekIsS0FBSyxDQUFDdUIsV0FBVyxDQUFDO0VBQ25DLEtBQUlSLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR1EsV0FBVyxFQUFFUixDQUFDLEVBQUUsRUFDL0I7SUFDRUksUUFBUSxHQUFHbkIsS0FBSyxFQUFFO0lBQ2xCUSxDQUFDLEdBQUcsQ0FBQztJQUNMLEtBQUlOLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR2tCLFFBQVEsQ0FBQ3pCLE1BQU0sRUFBRU8sQ0FBQyxFQUFFLEVBQ25DO01BQ0VNLENBQUMsR0FBRyxDQUFDQSxDQUFDLElBQUksRUFBRSxJQUFJWSxRQUFRLENBQUNsQixDQUFDLENBQUM7TUFDM0JnQixDQUFDLEdBQUdHLElBQUksQ0FBQ0ssS0FBSyxDQUFDbEIsQ0FBQyxHQUFHUyxPQUFPLENBQUM7TUFDM0JULENBQUMsSUFBSVUsQ0FBQyxHQUFHRCxPQUFPO01BQ2hCLElBQUdFLFFBQVEsQ0FBQ3hCLE1BQU0sR0FBRyxDQUFDLElBQUl1QixDQUFDLEdBQUcsQ0FBQyxFQUM3QkMsUUFBUSxDQUFDQSxRQUFRLENBQUN4QixNQUFNLENBQUMsR0FBR3VCLENBQUM7SUFDakM7SUFDQU8sVUFBVSxDQUFDVixDQUFDLENBQUMsR0FBR1AsQ0FBQztJQUNqQlksUUFBUSxHQUFHRCxRQUFRO0VBQ3JCOztFQUVBO0VBQ0EsSUFBSVosTUFBTSxHQUFHLEVBQUU7RUFDZixLQUFJTCxDQUFDLEdBQUd1QixVQUFVLENBQUM5QixNQUFNLEdBQUcsQ0FBQyxFQUFFTyxDQUFDLElBQUksQ0FBQyxFQUFFQSxDQUFDLEVBQUU7SUFDeENLLE1BQU0sSUFBSVMsUUFBUSxDQUFDTixNQUFNLENBQUNlLFVBQVUsQ0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0VBQUM7RUFFM0MsT0FBT0ssTUFBTTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzdCLGFBQWEsQ0FBQzJCLEtBQUssRUFDNUI7RUFDRSxJQUFJRSxNQUFNLEdBQUcsRUFBRTtFQUNmLElBQUlMLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixJQUFJTSxDQUFDLEVBQUVtQixDQUFDO0VBRVIsT0FBTSxFQUFFekIsQ0FBQyxHQUFHRyxLQUFLLENBQUNWLE1BQU0sRUFDeEI7SUFDRTtJQUNBYSxDQUFDLEdBQUdILEtBQUssQ0FBQ0ksVUFBVSxDQUFDUCxDQUFDLENBQUM7SUFDdkJ5QixDQUFDLEdBQUd6QixDQUFDLEdBQUcsQ0FBQyxHQUFHRyxLQUFLLENBQUNWLE1BQU0sR0FBR1UsS0FBSyxDQUFDSSxVQUFVLENBQUNQLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3RELElBQUcsTUFBTSxJQUFJTSxDQUFDLElBQUlBLENBQUMsSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJbUIsQ0FBQyxJQUFJQSxDQUFDLElBQUksTUFBTSxFQUMzRDtNQUNFbkIsQ0FBQyxHQUFHLE9BQU8sSUFBSSxDQUFDQSxDQUFDLEdBQUcsTUFBTSxLQUFLLEVBQUUsQ0FBQyxJQUFJbUIsQ0FBQyxHQUFHLE1BQU0sQ0FBQztNQUNqRHpCLENBQUMsRUFBRTtJQUNMOztJQUVBO0lBQ0EsSUFBR00sQ0FBQyxJQUFJLElBQUksRUFDVkQsTUFBTSxJQUFJcUIsTUFBTSxDQUFDQyxZQUFZLENBQUNyQixDQUFDLENBQUMsQ0FBQyxLQUM5QixJQUFHQSxDQUFDLElBQUksS0FBSyxFQUNoQkQsTUFBTSxJQUFJcUIsTUFBTSxDQUFDQyxZQUFZLENBQUMsSUFBSSxHQUFLckIsQ0FBQyxLQUFLLENBQUMsR0FBSyxJQUFLLEVBQzFCLElBQUksR0FBS0EsQ0FBQyxHQUFXLElBQUssQ0FBQyxDQUFDLEtBQ3ZELElBQUdBLENBQUMsSUFBSSxNQUFNLEVBQ2pCRCxNQUFNLElBQUlxQixNQUFNLENBQUNDLFlBQVksQ0FBQyxJQUFJLEdBQUtyQixDQUFDLEtBQUssRUFBRSxHQUFJLElBQUssRUFDMUIsSUFBSSxHQUFLQSxDQUFDLEtBQUssQ0FBQyxHQUFLLElBQUssRUFDMUIsSUFBSSxHQUFLQSxDQUFDLEdBQVcsSUFBSyxDQUFDLENBQUMsS0FDdkQsSUFBR0EsQ0FBQyxJQUFJLFFBQVEsRUFDbkJELE1BQU0sSUFBSXFCLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLElBQUksR0FBS3JCLENBQUMsS0FBSyxFQUFFLEdBQUksSUFBSyxFQUMxQixJQUFJLEdBQUtBLENBQUMsS0FBSyxFQUFFLEdBQUksSUFBSyxFQUMxQixJQUFJLEdBQUtBLENBQUMsS0FBSyxDQUFDLEdBQUssSUFBSyxFQUMxQixJQUFJLEdBQUtBLENBQUMsR0FBVyxJQUFLLENBQUM7RUFDN0Q7RUFDQSxPQUFPRCxNQUFNO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBU3VCLGdCQUFnQixDQUFDekIsS0FBSyxFQUMvQjtFQUNFLElBQUlFLE1BQU0sR0FBRyxFQUFFO0VBQ2YsS0FBSSxJQUFJTCxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdHLEtBQUssQ0FBQ1YsTUFBTSxFQUFFTyxDQUFDLEVBQUU7SUFDbENLLE1BQU0sSUFBSXFCLE1BQU0sQ0FBQ0MsWUFBWSxDQUFFeEIsS0FBSyxDQUFDSSxVQUFVLENBQUNQLENBQUMsQ0FBQyxHQUFVLElBQUksRUFDakNHLEtBQUssQ0FBQ0ksVUFBVSxDQUFDUCxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUksSUFBSSxDQUFDO0VBQUM7RUFDcEUsT0FBT0ssTUFBTTtBQUNmO0FBRUEsU0FBU3dCLGdCQUFnQixDQUFDMUIsS0FBSyxFQUMvQjtFQUNFLElBQUlFLE1BQU0sR0FBRyxFQUFFO0VBQ2YsS0FBSSxJQUFJTCxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdHLEtBQUssQ0FBQ1YsTUFBTSxFQUFFTyxDQUFDLEVBQUU7SUFDbENLLE1BQU0sSUFBSXFCLE1BQU0sQ0FBQ0MsWUFBWSxDQUFFeEIsS0FBSyxDQUFDSSxVQUFVLENBQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBSSxJQUFJLEVBQ2pDRyxLQUFLLENBQUNJLFVBQVUsQ0FBQ1AsQ0FBQyxDQUFDLEdBQVUsSUFBSSxDQUFDO0VBQUM7RUFDcEUsT0FBT0ssTUFBTTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU2IsU0FBUyxDQUFDVyxLQUFLLEVBQ3hCO0VBQ0UsSUFBSUUsTUFBTSxHQUFHUCxLQUFLLENBQUNLLEtBQUssQ0FBQ1YsTUFBTSxJQUFJLENBQUMsQ0FBQztFQUNyQyxLQUFJLElBQUlPLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0ssTUFBTSxDQUFDWixNQUFNLEVBQUVPLENBQUMsRUFBRTtJQUNuQ0ssTUFBTSxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDO0VBQUM7RUFDaEIsS0FBSSxJQUFJQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdHLEtBQUssQ0FBQ1YsTUFBTSxHQUFHLENBQUMsRUFBRU8sQ0FBQyxJQUFJLENBQUM7SUFDekNLLE1BQU0sQ0FBQ0wsQ0FBQyxJQUFFLENBQUMsQ0FBQyxJQUFJLENBQUNHLEtBQUssQ0FBQ0ksVUFBVSxDQUFDUCxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFNQSxDQUFDLEdBQUMsRUFBRztFQUFDO0VBQzdELE9BQU9LLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTZixTQUFTLENBQUNhLEtBQUssRUFDeEI7RUFDRSxJQUFJRSxNQUFNLEdBQUcsRUFBRTtFQUNmLEtBQUksSUFBSUwsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRyxLQUFLLENBQUNWLE1BQU0sR0FBRyxFQUFFLEVBQUVPLENBQUMsSUFBSSxDQUFDO0lBQzFDSyxNQUFNLElBQUlxQixNQUFNLENBQUNDLFlBQVksQ0FBRXhCLEtBQUssQ0FBQ0gsQ0FBQyxJQUFFLENBQUMsQ0FBQyxLQUFNQSxDQUFDLEdBQUcsRUFBRyxHQUFJLElBQUksQ0FBQztFQUFDO0VBQ25FLE9BQU9LLE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTZCxRQUFRLENBQUNlLENBQUMsRUFBRUssR0FBRyxFQUN4QjtFQUNFO0VBQ0FMLENBQUMsQ0FBQ0ssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBTUEsR0FBRyxHQUFJLEVBQUc7RUFDbkNMLENBQUMsQ0FBQyxDQUFHSyxHQUFHLEdBQUcsRUFBRSxLQUFNLENBQUMsSUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUdBLEdBQUc7RUFFdkMsSUFBSW1CLENBQUMsR0FBSSxVQUFVO0VBQ25CLElBQUlDLENBQUMsR0FBRyxDQUFDLFNBQVM7RUFDbEIsSUFBSUMsQ0FBQyxHQUFHLENBQUMsVUFBVTtFQUNuQixJQUFJaEQsQ0FBQyxHQUFJLFNBQVM7RUFFbEIsS0FBSSxJQUFJZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHTSxDQUFDLENBQUNiLE1BQU0sRUFBRU8sQ0FBQyxJQUFJLEVBQUUsRUFDcEM7SUFDRSxJQUFJaUMsSUFBSSxHQUFHSCxDQUFDO0lBQ1osSUFBSUksSUFBSSxHQUFHSCxDQUFDO0lBQ1osSUFBSUksSUFBSSxHQUFHSCxDQUFDO0lBQ1osSUFBSUksSUFBSSxHQUFHcEQsQ0FBQztJQUVaOEMsQ0FBQyxHQUFHTyxNQUFNLENBQUNQLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxTQUFTLENBQUM7SUFDL0NoQixDQUFDLEdBQUdxRCxNQUFNLENBQUNyRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQy9DZ0MsQ0FBQyxHQUFHSyxNQUFNLENBQUNMLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFHLFNBQVMsQ0FBQztJQUMvQytCLENBQUMsR0FBR00sTUFBTSxDQUFDTixDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRDhCLENBQUMsR0FBR08sTUFBTSxDQUFDUCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsU0FBUyxDQUFDO0lBQy9DaEIsQ0FBQyxHQUFHcUQsTUFBTSxDQUFDckQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRyxVQUFVLENBQUM7SUFDaERnQyxDQUFDLEdBQUdLLE1BQU0sQ0FBQ0wsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDaEQrQixDQUFDLEdBQUdNLE1BQU0sQ0FBQ04sQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUV4QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDOUM4QixDQUFDLEdBQUdPLE1BQU0sQ0FBQ1AsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBSSxVQUFVLENBQUM7SUFDaERoQixDQUFDLEdBQUdxRCxNQUFNLENBQUNyRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2hEZ0MsQ0FBQyxHQUFHSyxNQUFNLENBQUNMLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzNDK0IsQ0FBQyxHQUFHTSxNQUFNLENBQUNOLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFeEIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2hEOEIsQ0FBQyxHQUFHTyxNQUFNLENBQUNQLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUksVUFBVSxDQUFDO0lBQ2hEaEIsQ0FBQyxHQUFHcUQsTUFBTSxDQUFDckQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5Q2dDLENBQUMsR0FBR0ssTUFBTSxDQUFDTCxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRCtCLENBQUMsR0FBR00sTUFBTSxDQUFDTixDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRyxVQUFVLENBQUM7SUFFaEQ4QixDQUFDLEdBQUdRLE1BQU0sQ0FBQ1IsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRyxDQUFDLFNBQVMsQ0FBQztJQUMvQ2hCLENBQUMsR0FBR3NELE1BQU0sQ0FBQ3RELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxVQUFVLENBQUM7SUFDaERnQyxDQUFDLEdBQUdNLE1BQU0sQ0FBQ04sQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUcsU0FBUyxDQUFDO0lBQy9DK0IsQ0FBQyxHQUFHTyxNQUFNLENBQUNQLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFeEIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQy9DOEIsQ0FBQyxHQUFHUSxNQUFNLENBQUNSLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxTQUFTLENBQUM7SUFDL0NoQixDQUFDLEdBQUdzRCxNQUFNLENBQUN0RCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFJLFFBQVEsQ0FBQztJQUM5Q2dDLENBQUMsR0FBR00sTUFBTSxDQUFDTixDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQytCLENBQUMsR0FBR08sTUFBTSxDQUFDUCxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQzhCLENBQUMsR0FBR1EsTUFBTSxDQUFDUixDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFJLFNBQVMsQ0FBQztJQUMvQ2hCLENBQUMsR0FBR3NELE1BQU0sQ0FBQ3RELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxQixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxVQUFVLENBQUM7SUFDaERnQyxDQUFDLEdBQUdNLE1BQU0sQ0FBQ04sQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDL0MrQixDQUFDLEdBQUdPLE1BQU0sQ0FBQ1AsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUV4QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUcsVUFBVSxDQUFDO0lBQ2hEOEIsQ0FBQyxHQUFHUSxNQUFNLENBQUNSLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxVQUFVLENBQUM7SUFDaERoQixDQUFDLEdBQUdzRCxNQUFNLENBQUN0RCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsUUFBUSxDQUFDO0lBQzlDZ0MsQ0FBQyxHQUFHTSxNQUFNLENBQUNOLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFHLFVBQVUsQ0FBQztJQUNoRCtCLENBQUMsR0FBR08sTUFBTSxDQUFDUCxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUVoRDhCLENBQUMsR0FBR1MsTUFBTSxDQUFDVCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsTUFBTSxDQUFDO0lBQzVDaEIsQ0FBQyxHQUFHdUQsTUFBTSxDQUFDdkQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRGdDLENBQUMsR0FBR08sTUFBTSxDQUFDUCxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRyxVQUFVLENBQUM7SUFDaEQrQixDQUFDLEdBQUdRLE1BQU0sQ0FBQ1IsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUV4QixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDOUM4QixDQUFDLEdBQUdTLE1BQU0sQ0FBQ1QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRyxDQUFDLFVBQVUsQ0FBQztJQUNoRGhCLENBQUMsR0FBR3VELE1BQU0sQ0FBQ3ZELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUcsVUFBVSxDQUFDO0lBQ2hEZ0MsQ0FBQyxHQUFHTyxNQUFNLENBQUNQLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQy9DK0IsQ0FBQyxHQUFHUSxNQUFNLENBQUNSLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFeEIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2hEOEIsQ0FBQyxHQUFHUyxNQUFNLENBQUNULENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUksU0FBUyxDQUFDO0lBQy9DaEIsQ0FBQyxHQUFHdUQsTUFBTSxDQUFDdkQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQ2dDLENBQUMsR0FBR08sTUFBTSxDQUFDUCxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQytCLENBQUMsR0FBR1EsTUFBTSxDQUFDUixDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRyxRQUFRLENBQUM7SUFDOUM4QixDQUFDLEdBQUdTLE1BQU0sQ0FBQ1QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRyxDQUFDLFNBQVMsQ0FBQztJQUMvQ2hCLENBQUMsR0FBR3VELE1BQU0sQ0FBQ3ZELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxQixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDL0NnQyxDQUFDLEdBQUdPLE1BQU0sQ0FBQ1AsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUcsU0FBUyxDQUFDO0lBQy9DK0IsQ0FBQyxHQUFHUSxNQUFNLENBQUNSLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFeEIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBRS9DOEIsQ0FBQyxHQUFHVSxNQUFNLENBQUNWLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUcsQ0FBQyxTQUFTLENBQUM7SUFDL0NoQixDQUFDLEdBQUd3RCxNQUFNLENBQUN4RCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFHLFVBQVUsQ0FBQztJQUNoRGdDLENBQUMsR0FBR1EsTUFBTSxDQUFDUixDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRCtCLENBQUMsR0FBR1MsTUFBTSxDQUFDVCxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRXhCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QzhCLENBQUMsR0FBR1UsTUFBTSxDQUFDVixDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFJLFVBQVUsQ0FBQztJQUNoRGhCLENBQUMsR0FBR3dELE1BQU0sQ0FBQ3hELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxQixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDaERnQyxDQUFDLEdBQUdRLE1BQU0sQ0FBQ1IsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLENBQUNOLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDN0MrQixDQUFDLEdBQUdTLE1BQU0sQ0FBQ1QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUV4QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDaEQ4QixDQUFDLEdBQUdVLE1BQU0sQ0FBQ1YsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBSSxVQUFVLENBQUM7SUFDaERoQixDQUFDLEdBQUd3RCxNQUFNLENBQUN4RCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFMUIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzlDZ0MsQ0FBQyxHQUFHUSxNQUFNLENBQUNSLENBQUMsRUFBRWhELENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2hEK0IsQ0FBQyxHQUFHUyxNQUFNLENBQUNULENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFeEIsQ0FBQyxDQUFDTixDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFHLFVBQVUsQ0FBQztJQUNoRDhCLENBQUMsR0FBR1UsTUFBTSxDQUFDVixDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDTixDQUFDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsU0FBUyxDQUFDO0lBQy9DaEIsQ0FBQyxHQUFHd0QsTUFBTSxDQUFDeEQsQ0FBQyxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTFCLENBQUMsQ0FBQ04sQ0FBQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNoRGdDLENBQUMsR0FBR1EsTUFBTSxDQUFDUixDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsQ0FBQ04sQ0FBQyxHQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRyxTQUFTLENBQUM7SUFDL0MrQixDQUFDLEdBQUdTLE1BQU0sQ0FBQ1QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUV4QixDQUFDLENBQUNOLENBQUMsR0FBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFFL0M4QixDQUFDLEdBQUdXLFFBQVEsQ0FBQ1gsQ0FBQyxFQUFFRyxJQUFJLENBQUM7SUFDckJGLENBQUMsR0FBR1UsUUFBUSxDQUFDVixDQUFDLEVBQUVHLElBQUksQ0FBQztJQUNyQkYsQ0FBQyxHQUFHUyxRQUFRLENBQUNULENBQUMsRUFBRUcsSUFBSSxDQUFDO0lBQ3JCbkQsQ0FBQyxHQUFHeUQsUUFBUSxDQUFDekQsQ0FBQyxFQUFFb0QsSUFBSSxDQUFDO0VBQ3ZCO0VBQ0EsT0FBT3RDLEtBQUssQ0FBQ2dDLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLENBQUM7QUFDMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzBELE9BQU8sQ0FBQzFCLENBQUMsRUFBRWMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLEVBQUVqQyxDQUFDLEVBQUVzRSxDQUFDLEVBQ2pDO0VBQ0UsT0FBT0YsUUFBUSxDQUFDRyxPQUFPLENBQUNILFFBQVEsQ0FBQ0EsUUFBUSxDQUFDWCxDQUFDLEVBQUVkLENBQUMsQ0FBQyxFQUFFeUIsUUFBUSxDQUFDbkMsQ0FBQyxFQUFFcUMsQ0FBQyxDQUFDLENBQUMsRUFBRXRFLENBQUMsQ0FBQyxFQUFDMEQsQ0FBQyxDQUFDO0FBQ3pFO0FBQ0EsU0FBU00sTUFBTSxDQUFDUCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxFQUFFakMsQ0FBQyxFQUFFc0UsQ0FBQyxFQUNuQztFQUNFLE9BQU9ELE9BQU8sQ0FBRVgsQ0FBQyxHQUFHQyxDQUFDLEdBQU0sQ0FBQ0QsQ0FBQyxHQUFJL0MsQ0FBRSxFQUFFOEMsQ0FBQyxFQUFFQyxDQUFDLEVBQUV6QixDQUFDLEVBQUVqQyxDQUFDLEVBQUVzRSxDQUFDLENBQUM7QUFDckQ7QUFDQSxTQUFTTCxNQUFNLENBQUNSLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoRCxDQUFDLEVBQUVzQixDQUFDLEVBQUVqQyxDQUFDLEVBQUVzRSxDQUFDLEVBQ25DO0VBQ0UsT0FBT0QsT0FBTyxDQUFFWCxDQUFDLEdBQUcvQyxDQUFDLEdBQUtnRCxDQUFDLEdBQUksQ0FBQ2hELENBQUcsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxFQUFFakMsQ0FBQyxFQUFFc0UsQ0FBQyxDQUFDO0FBQ3JEO0FBQ0EsU0FBU0osTUFBTSxDQUFDVCxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFaEQsQ0FBQyxFQUFFc0IsQ0FBQyxFQUFFakMsQ0FBQyxFQUFFc0UsQ0FBQyxFQUNuQztFQUNFLE9BQU9ELE9BQU8sQ0FBQ1gsQ0FBQyxHQUFHQyxDQUFDLEdBQUdoRCxDQUFDLEVBQUU4QyxDQUFDLEVBQUVDLENBQUMsRUFBRXpCLENBQUMsRUFBRWpDLENBQUMsRUFBRXNFLENBQUMsQ0FBQztBQUMxQztBQUNBLFNBQVNILE1BQU0sQ0FBQ1YsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRWhELENBQUMsRUFBRXNCLENBQUMsRUFBRWpDLENBQUMsRUFBRXNFLENBQUMsRUFDbkM7RUFDRSxPQUFPRCxPQUFPLENBQUNWLENBQUMsSUFBSUQsQ0FBQyxHQUFJLENBQUMvQyxDQUFFLENBQUMsRUFBRThDLENBQUMsRUFBRUMsQ0FBQyxFQUFFekIsQ0FBQyxFQUFFakMsQ0FBQyxFQUFFc0UsQ0FBQyxDQUFDO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0YsUUFBUSxDQUFDbkMsQ0FBQyxFQUFFbUIsQ0FBQyxFQUN0QjtFQUNFLElBQUlvQixHQUFHLEdBQUcsQ0FBQ3ZDLENBQUMsR0FBRyxNQUFNLEtBQUttQixDQUFDLEdBQUcsTUFBTSxDQUFDO0VBQ3JDLElBQUlxQixHQUFHLEdBQUcsQ0FBQ3hDLENBQUMsSUFBSSxFQUFFLEtBQUttQixDQUFDLElBQUksRUFBRSxDQUFDLElBQUlvQixHQUFHLElBQUksRUFBRSxDQUFDO0VBQzdDLE9BQVFDLEdBQUcsSUFBSSxFQUFFLEdBQUtELEdBQUcsR0FBRyxNQUFPO0FBQ3JDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVNELE9BQU8sQ0FBQ0csR0FBRyxFQUFFQyxHQUFHLEVBQ3pCO0VBQ0UsT0FBUUQsR0FBRyxJQUFJQyxHQUFHLEdBQUtELEdBQUcsS0FBTSxFQUFFLEdBQUdDLEdBQUs7QUFDNUM7QUFFQUMsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDaEJDLEdBQUcsRUFBRyxhQUFTQyxHQUFHLEVBQUM7SUFDbEIsT0FBT2hGLE9BQU8sQ0FBQ2dGLEdBQUcsQ0FBQztFQUNwQjtBQUNELENBQUMiLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJTQSBEYXRhIFNlY3VyaXR5LCBJbmMuIE1ENSBNZXNzYWdlXHJcbiAqIERpZ2VzdCBBbGdvcml0aG0sIGFzIGRlZmluZWQgaW4gUkZDIDEzMjEuXHJcbiAqIFZlcnNpb24gMi4yIENvcHlyaWdodCAoQykgUGF1bCBKb2huc3RvbiAxOTk5IC0gMjAwOVxyXG4gKiBPdGhlciBjb250cmlidXRvcnM6IEdyZWcgSG9sdCwgQW5kcmV3IEtlcGVydCwgWWRuYXIsIExvc3RpbmV0XHJcbiAqIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCU0QgTGljZW5zZVxyXG4gKiBTZWUgaHR0cDovL3BhamhvbWUub3JnLnVrL2NyeXB0L21kNSBmb3IgbW9yZSBpbmZvLlxyXG4gKi9cclxuXHJcbi8qXHJcbiAqIENvbmZpZ3VyYWJsZSB2YXJpYWJsZXMuIFlvdSBtYXkgbmVlZCB0byB0d2VhayB0aGVzZSB0byBiZSBjb21wYXRpYmxlIHdpdGhcclxuICogdGhlIHNlcnZlci1zaWRlLCBidXQgdGhlIGRlZmF1bHRzIHdvcmsgaW4gbW9zdCBjYXNlcy5cclxuICovXHJcbnZhciBoZXhjYXNlID0gMDsgICAvKiBoZXggb3V0cHV0IGZvcm1hdC4gMCAtIGxvd2VyY2FzZTsgMSAtIHVwcGVyY2FzZSAgICAgICAgKi9cclxudmFyIGI2NHBhZCAgPSBcIlwiOyAgLyogYmFzZS02NCBwYWQgY2hhcmFjdGVyLiBcIj1cIiBmb3Igc3RyaWN0IFJGQyBjb21wbGlhbmNlICAgKi9cclxuXHJcbi8qXHJcbiAqIFRoZXNlIGFyZSB0aGUgZnVuY3Rpb25zIHlvdSdsbCB1c3VhbGx5IHdhbnQgdG8gY2FsbFxyXG4gKiBUaGV5IHRha2Ugc3RyaW5nIGFyZ3VtZW50cyBhbmQgcmV0dXJuIGVpdGhlciBoZXggb3IgYmFzZS02NCBlbmNvZGVkIHN0cmluZ3NcclxuICovXHJcbmZ1bmN0aW9uIGhleF9tZDUocykgICAgeyByZXR1cm4gcnN0cjJoZXgocnN0cl9tZDUoc3RyMnJzdHJfdXRmOChzKSkpOyB9XHJcbmZ1bmN0aW9uIGI2NF9tZDUocykgICAgeyByZXR1cm4gcnN0cjJiNjQocnN0cl9tZDUoc3RyMnJzdHJfdXRmOChzKSkpOyB9XHJcbmZ1bmN0aW9uIGFueV9tZDUocywgZSkgeyByZXR1cm4gcnN0cjJhbnkocnN0cl9tZDUoc3RyMnJzdHJfdXRmOChzKSksIGUpOyB9XHJcbmZ1bmN0aW9uIGhleF9obWFjX21kNShrLCBkKVxyXG4gIHsgcmV0dXJuIHJzdHIyaGV4KHJzdHJfaG1hY19tZDUoc3RyMnJzdHJfdXRmOChrKSwgc3RyMnJzdHJfdXRmOChkKSkpOyB9XHJcbmZ1bmN0aW9uIGI2NF9obWFjX21kNShrLCBkKVxyXG4gIHsgcmV0dXJuIHJzdHIyYjY0KHJzdHJfaG1hY19tZDUoc3RyMnJzdHJfdXRmOChrKSwgc3RyMnJzdHJfdXRmOChkKSkpOyB9XHJcbmZ1bmN0aW9uIGFueV9obWFjX21kNShrLCBkLCBlKVxyXG4gIHsgcmV0dXJuIHJzdHIyYW55KHJzdHJfaG1hY19tZDUoc3RyMnJzdHJfdXRmOChrKSwgc3RyMnJzdHJfdXRmOChkKSksIGUpOyB9XHJcblxyXG4vKlxyXG4gKiBQZXJmb3JtIGEgc2ltcGxlIHNlbGYtdGVzdCB0byBzZWUgaWYgdGhlIFZNIGlzIHdvcmtpbmdcclxuICovXHJcbmZ1bmN0aW9uIG1kNV92bV90ZXN0KClcclxue1xyXG4gIHJldHVybiBoZXhfbWQ1KFwiYWJjXCIpLnRvTG93ZXJDYXNlKCkgPT0gXCI5MDAxNTA5ODNjZDI0ZmIwZDY5NjNmN2QyOGUxN2Y3MlwiO1xyXG59XHJcblxyXG4vKlxyXG4gKiBDYWxjdWxhdGUgdGhlIE1ENSBvZiBhIHJhdyBzdHJpbmdcclxuICovXHJcbmZ1bmN0aW9uIHJzdHJfbWQ1KHMpXHJcbntcclxuICByZXR1cm4gYmlubDJyc3RyKGJpbmxfbWQ1KHJzdHIyYmlubChzKSwgcy5sZW5ndGggKiA4KSk7XHJcbn1cclxuXHJcbi8qXHJcbiAqIENhbGN1bGF0ZSB0aGUgSE1BQy1NRDUsIG9mIGEga2V5IGFuZCBzb21lIGRhdGEgKHJhdyBzdHJpbmdzKVxyXG4gKi9cclxuZnVuY3Rpb24gcnN0cl9obWFjX21kNShrZXksIGRhdGEpXHJcbntcclxuICB2YXIgYmtleSA9IHJzdHIyYmlubChrZXkpO1xyXG4gIGlmKGJrZXkubGVuZ3RoID4gMTYpIGJrZXkgPSBiaW5sX21kNShia2V5LCBrZXkubGVuZ3RoICogOCk7XHJcblxyXG4gIHZhciBpcGFkID0gQXJyYXkoMTYpLCBvcGFkID0gQXJyYXkoMTYpO1xyXG4gIGZvcih2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKVxyXG4gIHtcclxuICAgIGlwYWRbaV0gPSBia2V5W2ldIF4gMHgzNjM2MzYzNjtcclxuICAgIG9wYWRbaV0gPSBia2V5W2ldIF4gMHg1QzVDNUM1QztcclxuICB9XHJcblxyXG4gIHZhciBoYXNoID0gYmlubF9tZDUoaXBhZC5jb25jYXQocnN0cjJiaW5sKGRhdGEpKSwgNTEyICsgZGF0YS5sZW5ndGggKiA4KTtcclxuICByZXR1cm4gYmlubDJyc3RyKGJpbmxfbWQ1KG9wYWQuY29uY2F0KGhhc2gpLCA1MTIgKyAxMjgpKTtcclxufVxyXG5cclxuLypcclxuICogQ29udmVydCBhIHJhdyBzdHJpbmcgdG8gYSBoZXggc3RyaW5nXHJcbiAqL1xyXG5mdW5jdGlvbiByc3RyMmhleChpbnB1dClcclxue1xyXG4gIHRyeSB7IGhleGNhc2UgfSBjYXRjaChlKSB7IGhleGNhc2U9MDsgfVxyXG4gIHZhciBoZXhfdGFiID0gaGV4Y2FzZSA/IFwiMDEyMzQ1Njc4OUFCQ0RFRlwiIDogXCIwMTIzNDU2Nzg5YWJjZGVmXCI7XHJcbiAgdmFyIG91dHB1dCA9IFwiXCI7XHJcbiAgdmFyIHg7XHJcbiAgZm9yKHZhciBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKVxyXG4gIHtcclxuICAgIHggPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xyXG4gICAgb3V0cHV0ICs9IGhleF90YWIuY2hhckF0KCh4ID4+PiA0KSAmIDB4MEYpXHJcbiAgICAgICAgICAgKyAgaGV4X3RhYi5jaGFyQXQoIHggICAgICAgICYgMHgwRik7XHJcbiAgfVxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn1cclxuXHJcbi8qXHJcbiAqIENvbnZlcnQgYSByYXcgc3RyaW5nIHRvIGEgYmFzZS02NCBzdHJpbmdcclxuICovXHJcbmZ1bmN0aW9uIHJzdHIyYjY0KGlucHV0KVxyXG57XHJcbiAgdHJ5IHsgYjY0cGFkIH0gY2F0Y2goZSkgeyBiNjRwYWQ9Jyc7IH1cclxuICB2YXIgdGFiID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCI7XHJcbiAgdmFyIHJjb2RlID0gJ05VTU9PRU9MRkVMVkdOJztcclxuICB2YXIgb3V0cHV0ID0gXCJcIjtcclxuICB2YXIgbGVuID0gaW5wdXQubGVuZ3RoO1xyXG4gIGZvcih2YXIgaSA9IDA7IGkgPCBsZW47IGkgKz0gMylcclxuICB7XHJcbiAgICB2YXIgdHJpcGxldCA9IChpbnB1dC5jaGFyQ29kZUF0KGkpIDw8IDE2KVxyXG4gICAgICAgICAgICAgICAgfCAoaSArIDEgPCBsZW4gPyBpbnB1dC5jaGFyQ29kZUF0KGkrMSkgPDwgOCA6IDApXHJcbiAgICAgICAgICAgICAgICB8IChpICsgMiA8IGxlbiA/IGlucHV0LmNoYXJDb2RlQXQoaSsyKSAgICAgIDogMCk7XHJcbiAgICBmb3IodmFyIGogPSAwOyBqIDwgNDsgaisrKVxyXG4gICAge1xyXG4gICAgICBpZihpICogOCArIGogKiA2ID4gaW5wdXQubGVuZ3RoICogOCkgb3V0cHV0ICs9IGI2NHBhZDtcclxuICAgICAgZWxzZSBvdXRwdXQgKz0gdGFiLmNoYXJBdCgodHJpcGxldCA+Pj4gNiooMy1qKSkgJiAweDNGKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuLypcclxuICogQ29udmVydCBhIHJhdyBzdHJpbmcgdG8gYW4gYXJiaXRyYXJ5IHN0cmluZyBlbmNvZGluZ1xyXG4gKi9cclxuZnVuY3Rpb24gcnN0cjJhbnkoaW5wdXQsIGVuY29kaW5nKVxyXG57XHJcbiAgdmFyIGRpdmlzb3IgPSBlbmNvZGluZy5sZW5ndGg7XHJcbiAgdmFyIGksIGosIHEsIHgsIHF1b3RpZW50O1xyXG5cclxuICAvKiBDb252ZXJ0IHRvIGFuIGFycmF5IG9mIDE2LWJpdCBiaWctZW5kaWFuIHZhbHVlcywgZm9ybWluZyB0aGUgZGl2aWRlbmQgKi9cclxuICB2YXIgZGl2aWRlbmQgPSBBcnJheShNYXRoLmNlaWwoaW5wdXQubGVuZ3RoIC8gMikpO1xyXG4gIGZvcihpID0gMDsgaSA8IGRpdmlkZW5kLmxlbmd0aDsgaSsrKVxyXG4gIHtcclxuICAgIGRpdmlkZW5kW2ldID0gKGlucHV0LmNoYXJDb2RlQXQoaSAqIDIpIDw8IDgpIHwgaW5wdXQuY2hhckNvZGVBdChpICogMiArIDEpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBSZXBlYXRlZGx5IHBlcmZvcm0gYSBsb25nIGRpdmlzaW9uLiBUaGUgYmluYXJ5IGFycmF5IGZvcm1zIHRoZSBkaXZpZGVuZCxcclxuICAgKiB0aGUgbGVuZ3RoIG9mIHRoZSBlbmNvZGluZyBpcyB0aGUgZGl2aXNvci4gT25jZSBjb21wdXRlZCwgdGhlIHF1b3RpZW50XHJcbiAgICogZm9ybXMgdGhlIGRpdmlkZW5kIGZvciB0aGUgbmV4dCBzdGVwLiBBbGwgcmVtYWluZGVycyBhcmUgc3RvcmVkIGZvciBsYXRlclxyXG4gICAqIHVzZS5cclxuICAgKi9cclxuICB2YXIgZnVsbF9sZW5ndGggPSBNYXRoLmNlaWwoaW5wdXQubGVuZ3RoICogOCAvIChNYXRoLmxvZyhlbmNvZGluZy5sZW5ndGgpIC8gTWF0aC5sb2coMikpKTtcclxuICB2YXIgcmVtYWluZGVycyA9IEFycmF5KGZ1bGxfbGVuZ3RoKTtcclxuICBmb3IoaiA9IDA7IGogPCBmdWxsX2xlbmd0aDsgaisrKVxyXG4gIHtcclxuICAgIHF1b3RpZW50ID0gQXJyYXkoKTtcclxuICAgIHggPSAwO1xyXG4gICAgZm9yKGkgPSAwOyBpIDwgZGl2aWRlbmQubGVuZ3RoOyBpKyspXHJcbiAgICB7XHJcbiAgICAgIHggPSAoeCA8PCAxNikgKyBkaXZpZGVuZFtpXTtcclxuICAgICAgcSA9IE1hdGguZmxvb3IoeCAvIGRpdmlzb3IpO1xyXG4gICAgICB4IC09IHEgKiBkaXZpc29yO1xyXG4gICAgICBpZihxdW90aWVudC5sZW5ndGggPiAwIHx8IHEgPiAwKVxyXG4gICAgICAgIHF1b3RpZW50W3F1b3RpZW50Lmxlbmd0aF0gPSBxO1xyXG4gICAgfVxyXG4gICAgcmVtYWluZGVyc1tqXSA9IHg7XHJcbiAgICBkaXZpZGVuZCA9IHF1b3RpZW50O1xyXG4gIH1cclxuXHJcbiAgLyogQ29udmVydCB0aGUgcmVtYWluZGVycyB0byB0aGUgb3V0cHV0IHN0cmluZyAqL1xyXG4gIHZhciBvdXRwdXQgPSBcIlwiO1xyXG4gIGZvcihpID0gcmVtYWluZGVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSlcclxuICAgIG91dHB1dCArPSBlbmNvZGluZy5jaGFyQXQocmVtYWluZGVyc1tpXSk7XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEVuY29kZSBhIHN0cmluZyBhcyB1dGYtOC5cclxuICogRm9yIGVmZmljaWVuY3ksIHRoaXMgYXNzdW1lcyB0aGUgaW5wdXQgaXMgdmFsaWQgdXRmLTE2LlxyXG4gKi9cclxuZnVuY3Rpb24gc3RyMnJzdHJfdXRmOChpbnB1dClcclxue1xyXG4gIHZhciBvdXRwdXQgPSBcIlwiO1xyXG4gIHZhciBpID0gLTE7XHJcbiAgdmFyIHgsIHk7XHJcblxyXG4gIHdoaWxlKCsraSA8IGlucHV0Lmxlbmd0aClcclxuICB7XHJcbiAgICAvKiBEZWNvZGUgdXRmLTE2IHN1cnJvZ2F0ZSBwYWlycyAqL1xyXG4gICAgeCA9IGlucHV0LmNoYXJDb2RlQXQoaSk7XHJcbiAgICB5ID0gaSArIDEgPCBpbnB1dC5sZW5ndGggPyBpbnB1dC5jaGFyQ29kZUF0KGkgKyAxKSA6IDA7XHJcbiAgICBpZigweEQ4MDAgPD0geCAmJiB4IDw9IDB4REJGRiAmJiAweERDMDAgPD0geSAmJiB5IDw9IDB4REZGRilcclxuICAgIHtcclxuICAgICAgeCA9IDB4MTAwMDAgKyAoKHggJiAweDAzRkYpIDw8IDEwKSArICh5ICYgMHgwM0ZGKTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEVuY29kZSBvdXRwdXQgYXMgdXRmLTggKi9cclxuICAgIGlmKHggPD0gMHg3RilcclxuICAgICAgb3V0cHV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoeCk7XHJcbiAgICBlbHNlIGlmKHggPD0gMHg3RkYpXHJcbiAgICAgIG91dHB1dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4QzAgfCAoKHggPj4+IDYgKSAmIDB4MUYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwIHwgKCB4ICAgICAgICAgJiAweDNGKSk7XHJcbiAgICBlbHNlIGlmKHggPD0gMHhGRkZGKVxyXG4gICAgICBvdXRwdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgweEUwIHwgKCh4ID4+PiAxMikgJiAweDBGKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCB8ICgoeCA+Pj4gNiApICYgMHgzRiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAgfCAoIHggICAgICAgICAmIDB4M0YpKTtcclxuICAgIGVsc2UgaWYoeCA8PSAweDFGRkZGRilcclxuICAgICAgb3V0cHV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoMHhGMCB8ICgoeCA+Pj4gMTgpICYgMHgwNyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAgfCAoKHggPj4+IDEyKSAmIDB4M0YpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwIHwgKCh4ID4+PiA2ICkgJiAweDNGKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCB8ICggeCAgICAgICAgICYgMHgzRikpO1xyXG4gIH1cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG4vKlxyXG4gKiBFbmNvZGUgYSBzdHJpbmcgYXMgdXRmLTE2XHJcbiAqL1xyXG5mdW5jdGlvbiBzdHIycnN0cl91dGYxNmxlKGlucHV0KVxyXG57XHJcbiAgdmFyIG91dHB1dCA9IFwiXCI7XHJcbiAgZm9yKHZhciBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKVxyXG4gICAgb3V0cHV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoIGlucHV0LmNoYXJDb2RlQXQoaSkgICAgICAgICYgMHhGRixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dC5jaGFyQ29kZUF0KGkpID4+PiA4KSAmIDB4RkYpO1xyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHN0cjJyc3RyX3V0ZjE2YmUoaW5wdXQpXHJcbntcclxuICB2YXIgb3V0cHV0ID0gXCJcIjtcclxuICBmb3IodmFyIGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspXHJcbiAgICBvdXRwdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoaW5wdXQuY2hhckNvZGVBdChpKSA+Pj4gOCkgJiAweEZGLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmNoYXJDb2RlQXQoaSkgICAgICAgICYgMHhGRik7XHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuLypcclxuICogQ29udmVydCBhIHJhdyBzdHJpbmcgdG8gYW4gYXJyYXkgb2YgbGl0dGxlLWVuZGlhbiB3b3Jkc1xyXG4gKiBDaGFyYWN0ZXJzID4yNTUgaGF2ZSB0aGVpciBoaWdoLWJ5dGUgc2lsZW50bHkgaWdub3JlZC5cclxuICovXHJcbmZ1bmN0aW9uIHJzdHIyYmlubChpbnB1dClcclxue1xyXG4gIHZhciBvdXRwdXQgPSBBcnJheShpbnB1dC5sZW5ndGggPj4gMik7XHJcbiAgZm9yKHZhciBpID0gMDsgaSA8IG91dHB1dC5sZW5ndGg7IGkrKylcclxuICAgIG91dHB1dFtpXSA9IDA7XHJcbiAgZm9yKHZhciBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aCAqIDg7IGkgKz0gOClcclxuICAgIG91dHB1dFtpPj41XSB8PSAoaW5wdXQuY2hhckNvZGVBdChpIC8gOCkgJiAweEZGKSA8PCAoaSUzMik7XHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuLypcclxuICogQ29udmVydCBhbiBhcnJheSBvZiBsaXR0bGUtZW5kaWFuIHdvcmRzIHRvIGEgc3RyaW5nXHJcbiAqL1xyXG5mdW5jdGlvbiBiaW5sMnJzdHIoaW5wdXQpXHJcbntcclxuICB2YXIgb3V0cHV0ID0gXCJcIjtcclxuICBmb3IodmFyIGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoICogMzI7IGkgKz0gOClcclxuICAgIG91dHB1dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKChpbnB1dFtpPj41XSA+Pj4gKGkgJSAzMikpICYgMHhGRik7XHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuLypcclxuICogQ2FsY3VsYXRlIHRoZSBNRDUgb2YgYW4gYXJyYXkgb2YgbGl0dGxlLWVuZGlhbiB3b3JkcywgYW5kIGEgYml0IGxlbmd0aC5cclxuICovXHJcbmZ1bmN0aW9uIGJpbmxfbWQ1KHgsIGxlbilcclxue1xyXG4gIC8qIGFwcGVuZCBwYWRkaW5nICovXHJcbiAgeFtsZW4gPj4gNV0gfD0gMHg4MCA8PCAoKGxlbikgJSAzMik7XHJcbiAgeFsoKChsZW4gKyA2NCkgPj4+IDkpIDw8IDQpICsgMTRdID0gbGVuO1xyXG5cclxuICB2YXIgYSA9ICAxNzMyNTg0MTkzO1xyXG4gIHZhciBiID0gLTI3MTczMzg3OTtcclxuICB2YXIgYyA9IC0xNzMyNTg0MTk0O1xyXG4gIHZhciBkID0gIDI3MTczMzg3ODtcclxuXHJcbiAgZm9yKHZhciBpID0gMDsgaSA8IHgubGVuZ3RoOyBpICs9IDE2KVxyXG4gIHtcclxuICAgIHZhciBvbGRhID0gYTtcclxuICAgIHZhciBvbGRiID0gYjtcclxuICAgIHZhciBvbGRjID0gYztcclxuICAgIHZhciBvbGRkID0gZDtcclxuXHJcbiAgICBhID0gbWQ1X2ZmKGEsIGIsIGMsIGQsIHhbaSsgMF0sIDcgLCAtNjgwODc2OTM2KTtcclxuICAgIGQgPSBtZDVfZmYoZCwgYSwgYiwgYywgeFtpKyAxXSwgMTIsIC0zODk1NjQ1ODYpO1xyXG4gICAgYyA9IG1kNV9mZihjLCBkLCBhLCBiLCB4W2krIDJdLCAxNywgIDYwNjEwNTgxOSk7XHJcbiAgICBiID0gbWQ1X2ZmKGIsIGMsIGQsIGEsIHhbaSsgM10sIDIyLCAtMTA0NDUyNTMzMCk7XHJcbiAgICBhID0gbWQ1X2ZmKGEsIGIsIGMsIGQsIHhbaSsgNF0sIDcgLCAtMTc2NDE4ODk3KTtcclxuICAgIGQgPSBtZDVfZmYoZCwgYSwgYiwgYywgeFtpKyA1XSwgMTIsICAxMjAwMDgwNDI2KTtcclxuICAgIGMgPSBtZDVfZmYoYywgZCwgYSwgYiwgeFtpKyA2XSwgMTcsIC0xNDczMjMxMzQxKTtcclxuICAgIGIgPSBtZDVfZmYoYiwgYywgZCwgYSwgeFtpKyA3XSwgMjIsIC00NTcwNTk4Myk7XHJcbiAgICBhID0gbWQ1X2ZmKGEsIGIsIGMsIGQsIHhbaSsgOF0sIDcgLCAgMTc3MDAzNTQxNik7XHJcbiAgICBkID0gbWQ1X2ZmKGQsIGEsIGIsIGMsIHhbaSsgOV0sIDEyLCAtMTk1ODQxNDQxNyk7XHJcbiAgICBjID0gbWQ1X2ZmKGMsIGQsIGEsIGIsIHhbaSsxMF0sIDE3LCAtNDIwNjMpO1xyXG4gICAgYiA9IG1kNV9mZihiLCBjLCBkLCBhLCB4W2krMTFdLCAyMiwgLTE5OTA0MDQxNjIpO1xyXG4gICAgYSA9IG1kNV9mZihhLCBiLCBjLCBkLCB4W2krMTJdLCA3ICwgIDE4MDQ2MDM2ODIpO1xyXG4gICAgZCA9IG1kNV9mZihkLCBhLCBiLCBjLCB4W2krMTNdLCAxMiwgLTQwMzQxMTAxKTtcclxuICAgIGMgPSBtZDVfZmYoYywgZCwgYSwgYiwgeFtpKzE0XSwgMTcsIC0xNTAyMDAyMjkwKTtcclxuICAgIGIgPSBtZDVfZmYoYiwgYywgZCwgYSwgeFtpKzE1XSwgMjIsICAxMjM2NTM1MzI5KTtcclxuXHJcbiAgICBhID0gbWQ1X2dnKGEsIGIsIGMsIGQsIHhbaSsgMV0sIDUgLCAtMTY1Nzk2NTEwKTtcclxuICAgIGQgPSBtZDVfZ2coZCwgYSwgYiwgYywgeFtpKyA2XSwgOSAsIC0xMDY5NTAxNjMyKTtcclxuICAgIGMgPSBtZDVfZ2coYywgZCwgYSwgYiwgeFtpKzExXSwgMTQsICA2NDM3MTc3MTMpO1xyXG4gICAgYiA9IG1kNV9nZyhiLCBjLCBkLCBhLCB4W2krIDBdLCAyMCwgLTM3Mzg5NzMwMik7XHJcbiAgICBhID0gbWQ1X2dnKGEsIGIsIGMsIGQsIHhbaSsgNV0sIDUgLCAtNzAxNTU4NjkxKTtcclxuICAgIGQgPSBtZDVfZ2coZCwgYSwgYiwgYywgeFtpKzEwXSwgOSAsICAzODAxNjA4Myk7XHJcbiAgICBjID0gbWQ1X2dnKGMsIGQsIGEsIGIsIHhbaSsxNV0sIDE0LCAtNjYwNDc4MzM1KTtcclxuICAgIGIgPSBtZDVfZ2coYiwgYywgZCwgYSwgeFtpKyA0XSwgMjAsIC00MDU1Mzc4NDgpO1xyXG4gICAgYSA9IG1kNV9nZyhhLCBiLCBjLCBkLCB4W2krIDldLCA1ICwgIDU2ODQ0NjQzOCk7XHJcbiAgICBkID0gbWQ1X2dnKGQsIGEsIGIsIGMsIHhbaSsxNF0sIDkgLCAtMTAxOTgwMzY5MCk7XHJcbiAgICBjID0gbWQ1X2dnKGMsIGQsIGEsIGIsIHhbaSsgM10sIDE0LCAtMTg3MzYzOTYxKTtcclxuICAgIGIgPSBtZDVfZ2coYiwgYywgZCwgYSwgeFtpKyA4XSwgMjAsICAxMTYzNTMxNTAxKTtcclxuICAgIGEgPSBtZDVfZ2coYSwgYiwgYywgZCwgeFtpKzEzXSwgNSAsIC0xNDQ0NjgxNDY3KTtcclxuICAgIGQgPSBtZDVfZ2coZCwgYSwgYiwgYywgeFtpKyAyXSwgOSAsIC01MTQwMzc4NCk7XHJcbiAgICBjID0gbWQ1X2dnKGMsIGQsIGEsIGIsIHhbaSsgN10sIDE0LCAgMTczNTMyODQ3Myk7XHJcbiAgICBiID0gbWQ1X2dnKGIsIGMsIGQsIGEsIHhbaSsxMl0sIDIwLCAtMTkyNjYwNzczNCk7XHJcblxyXG4gICAgYSA9IG1kNV9oaChhLCBiLCBjLCBkLCB4W2krIDVdLCA0ICwgLTM3ODU1OCk7XHJcbiAgICBkID0gbWQ1X2hoKGQsIGEsIGIsIGMsIHhbaSsgOF0sIDExLCAtMjAyMjU3NDQ2Myk7XHJcbiAgICBjID0gbWQ1X2hoKGMsIGQsIGEsIGIsIHhbaSsxMV0sIDE2LCAgMTgzOTAzMDU2Mik7XHJcbiAgICBiID0gbWQ1X2hoKGIsIGMsIGQsIGEsIHhbaSsxNF0sIDIzLCAtMzUzMDk1NTYpO1xyXG4gICAgYSA9IG1kNV9oaChhLCBiLCBjLCBkLCB4W2krIDFdLCA0ICwgLTE1MzA5OTIwNjApO1xyXG4gICAgZCA9IG1kNV9oaChkLCBhLCBiLCBjLCB4W2krIDRdLCAxMSwgIDEyNzI4OTMzNTMpO1xyXG4gICAgYyA9IG1kNV9oaChjLCBkLCBhLCBiLCB4W2krIDddLCAxNiwgLTE1NTQ5NzYzMik7XHJcbiAgICBiID0gbWQ1X2hoKGIsIGMsIGQsIGEsIHhbaSsxMF0sIDIzLCAtMTA5NDczMDY0MCk7XHJcbiAgICBhID0gbWQ1X2hoKGEsIGIsIGMsIGQsIHhbaSsxM10sIDQgLCAgNjgxMjc5MTc0KTtcclxuICAgIGQgPSBtZDVfaGgoZCwgYSwgYiwgYywgeFtpKyAwXSwgMTEsIC0zNTg1MzcyMjIpO1xyXG4gICAgYyA9IG1kNV9oaChjLCBkLCBhLCBiLCB4W2krIDNdLCAxNiwgLTcyMjUyMTk3OSk7XHJcbiAgICBiID0gbWQ1X2hoKGIsIGMsIGQsIGEsIHhbaSsgNl0sIDIzLCAgNzYwMjkxODkpO1xyXG4gICAgYSA9IG1kNV9oaChhLCBiLCBjLCBkLCB4W2krIDldLCA0ICwgLTY0MDM2NDQ4Nyk7XHJcbiAgICBkID0gbWQ1X2hoKGQsIGEsIGIsIGMsIHhbaSsxMl0sIDExLCAtNDIxODE1ODM1KTtcclxuICAgIGMgPSBtZDVfaGgoYywgZCwgYSwgYiwgeFtpKzE1XSwgMTYsICA1MzA3NDI1MjApO1xyXG4gICAgYiA9IG1kNV9oaChiLCBjLCBkLCBhLCB4W2krIDJdLCAyMywgLTk5NTMzODY1MSk7XHJcblxyXG4gICAgYSA9IG1kNV9paShhLCBiLCBjLCBkLCB4W2krIDBdLCA2ICwgLTE5ODYzMDg0NCk7XHJcbiAgICBkID0gbWQ1X2lpKGQsIGEsIGIsIGMsIHhbaSsgN10sIDEwLCAgMTEyNjg5MTQxNSk7XHJcbiAgICBjID0gbWQ1X2lpKGMsIGQsIGEsIGIsIHhbaSsxNF0sIDE1LCAtMTQxNjM1NDkwNSk7XHJcbiAgICBiID0gbWQ1X2lpKGIsIGMsIGQsIGEsIHhbaSsgNV0sIDIxLCAtNTc0MzQwNTUpO1xyXG4gICAgYSA9IG1kNV9paShhLCBiLCBjLCBkLCB4W2krMTJdLCA2ICwgIDE3MDA0ODU1NzEpO1xyXG4gICAgZCA9IG1kNV9paShkLCBhLCBiLCBjLCB4W2krIDNdLCAxMCwgLTE4OTQ5ODY2MDYpO1xyXG4gICAgYyA9IG1kNV9paShjLCBkLCBhLCBiLCB4W2krMTBdLCAxNSwgLTEwNTE1MjMpO1xyXG4gICAgYiA9IG1kNV9paShiLCBjLCBkLCBhLCB4W2krIDFdLCAyMSwgLTIwNTQ5MjI3OTkpO1xyXG4gICAgYSA9IG1kNV9paShhLCBiLCBjLCBkLCB4W2krIDhdLCA2ICwgIDE4NzMzMTMzNTkpO1xyXG4gICAgZCA9IG1kNV9paShkLCBhLCBiLCBjLCB4W2krMTVdLCAxMCwgLTMwNjExNzQ0KTtcclxuICAgIGMgPSBtZDVfaWkoYywgZCwgYSwgYiwgeFtpKyA2XSwgMTUsIC0xNTYwMTk4MzgwKTtcclxuICAgIGIgPSBtZDVfaWkoYiwgYywgZCwgYSwgeFtpKzEzXSwgMjEsICAxMzA5MTUxNjQ5KTtcclxuICAgIGEgPSBtZDVfaWkoYSwgYiwgYywgZCwgeFtpKyA0XSwgNiAsIC0xNDU1MjMwNzApO1xyXG4gICAgZCA9IG1kNV9paShkLCBhLCBiLCBjLCB4W2krMTFdLCAxMCwgLTExMjAyMTAzNzkpO1xyXG4gICAgYyA9IG1kNV9paShjLCBkLCBhLCBiLCB4W2krIDJdLCAxNSwgIDcxODc4NzI1OSk7XHJcbiAgICBiID0gbWQ1X2lpKGIsIGMsIGQsIGEsIHhbaSsgOV0sIDIxLCAtMzQzNDg1NTUxKTtcclxuXHJcbiAgICBhID0gc2FmZV9hZGQoYSwgb2xkYSk7XHJcbiAgICBiID0gc2FmZV9hZGQoYiwgb2xkYik7XHJcbiAgICBjID0gc2FmZV9hZGQoYywgb2xkYyk7XHJcbiAgICBkID0gc2FmZV9hZGQoZCwgb2xkZCk7XHJcbiAgfVxyXG4gIHJldHVybiBBcnJheShhLCBiLCBjLCBkKTtcclxufVxyXG5cclxuLypcclxuICogVGhlc2UgZnVuY3Rpb25zIGltcGxlbWVudCB0aGUgZm91ciBiYXNpYyBvcGVyYXRpb25zIHRoZSBhbGdvcml0aG0gdXNlcy5cclxuICovXHJcbmZ1bmN0aW9uIG1kNV9jbW4ocSwgYSwgYiwgeCwgcywgdClcclxue1xyXG4gIHJldHVybiBzYWZlX2FkZChiaXRfcm9sKHNhZmVfYWRkKHNhZmVfYWRkKGEsIHEpLCBzYWZlX2FkZCh4LCB0KSksIHMpLGIpO1xyXG59XHJcbmZ1bmN0aW9uIG1kNV9mZihhLCBiLCBjLCBkLCB4LCBzLCB0KVxyXG57XHJcbiAgcmV0dXJuIG1kNV9jbW4oKGIgJiBjKSB8ICgofmIpICYgZCksIGEsIGIsIHgsIHMsIHQpO1xyXG59XHJcbmZ1bmN0aW9uIG1kNV9nZyhhLCBiLCBjLCBkLCB4LCBzLCB0KVxyXG57XHJcbiAgcmV0dXJuIG1kNV9jbW4oKGIgJiBkKSB8IChjICYgKH5kKSksIGEsIGIsIHgsIHMsIHQpO1xyXG59XHJcbmZ1bmN0aW9uIG1kNV9oaChhLCBiLCBjLCBkLCB4LCBzLCB0KVxyXG57XHJcbiAgcmV0dXJuIG1kNV9jbW4oYiBeIGMgXiBkLCBhLCBiLCB4LCBzLCB0KTtcclxufVxyXG5mdW5jdGlvbiBtZDVfaWkoYSwgYiwgYywgZCwgeCwgcywgdClcclxue1xyXG4gIHJldHVybiBtZDVfY21uKGMgXiAoYiB8ICh+ZCkpLCBhLCBiLCB4LCBzLCB0KTtcclxufVxyXG5cclxuLypcclxuICogQWRkIGludGVnZXJzLCB3cmFwcGluZyBhdCAyXjMyLiBUaGlzIHVzZXMgMTYtYml0IG9wZXJhdGlvbnMgaW50ZXJuYWxseVxyXG4gKiB0byB3b3JrIGFyb3VuZCBidWdzIGluIHNvbWUgSlMgaW50ZXJwcmV0ZXJzLlxyXG4gKi9cclxuZnVuY3Rpb24gc2FmZV9hZGQoeCwgeSlcclxue1xyXG4gIHZhciBsc3cgPSAoeCAmIDB4RkZGRikgKyAoeSAmIDB4RkZGRik7XHJcbiAgdmFyIG1zdyA9ICh4ID4+IDE2KSArICh5ID4+IDE2KSArIChsc3cgPj4gMTYpO1xyXG4gIHJldHVybiAobXN3IDw8IDE2KSB8IChsc3cgJiAweEZGRkYpO1xyXG59XHJcblxyXG4vKlxyXG4gKiBCaXR3aXNlIHJvdGF0ZSBhIDMyLWJpdCBudW1iZXIgdG8gdGhlIGxlZnQuXHJcbiAqL1xyXG5mdW5jdGlvbiBiaXRfcm9sKG51bSwgY250KVxyXG57XHJcbiAgcmV0dXJuIChudW0gPDwgY250KSB8IChudW0gPj4+ICgzMiAtIGNudCkpO1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHRtZDUgOiBmdW5jdGlvbihzdHIpe1xyXG5cdFx0cmV0dXJuIGhleF9tZDUoc3RyKTtcclxuXHR9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///15\n"); + +/***/ }), +/* 16 */ +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***! + \**********************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode, /* vue-cli only */ + components, // fixed by xxxxxx auto components + renderjs // fixed by xxxxxx renderjs +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // fixed by xxxxxx auto components + if (components) { + if (!options.components) { + options.components = {} + } + var hasOwn = Object.prototype.hasOwnProperty + for (var name in components) { + if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) { + options.components[name] = components[name] + } + } + } + // fixed by xxxxxx renderjs + if (renderjs) { + if(typeof renderjs.beforeCreate === 'function'){ + renderjs.beforeCreate = [renderjs.beforeCreate] + } + (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() { + this[renderjs.__module] = this + }); + (options.mixins || (options.mixins = [])).push(renderjs) + } + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), +/* 17 */ +/*!***********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?mpType=page ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page */ 18);\n/* harmony import */ var _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foodInfo.vue?vue&type=script&lang=js&mpType=page */ 67);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"51f4bc56\",\n null,\n false,\n _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/foodInfo/foodInfo.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEk7QUFDNUk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSwwR0FBTTtBQUNSLEVBQUUsbUhBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2Zvb2RJbmZvLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01MWY0YmM1NiZzY29wZWQ9dHJ1ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZm9vZEluZm8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2Zvb2RJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNTFmNGJjNTZcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvZm9vZEluZm8vZm9vZEluZm8udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n"); + +/***/ }), +/* 18 */ +/*!*****************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page ***! + \*****************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page */ 19); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 19 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiPage: __webpack_require__(/*! @/GraceUI5/components/gui-page.vue */ 20).default, + lCircle: + __webpack_require__(/*! @/uni_modules/lime-circle/components/l-circle/l-circle.vue */ 40) + .default, + guiModal: __webpack_require__(/*! @/GraceUI5/components/gui-modal.vue */ 57).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + [ + _c("gui-page", { attrs: { _i: 1 } }, [ + _c( + "view", + { + staticClass: _vm._$s(2, "sc", "gui-margin"), + attrs: { _i: 2 }, + slot: "gBody", + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 3, + "sc", + "card-body gui-card-body gui-box-shadow gui-border-b" + ), + attrs: { _i: 3 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(4, "sc", "card-body1"), + attrs: { _i: 4 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 5, + "sc", + "card-body11 gui-flex gui-justify-content-end gui-align-items-center " + ), + attrs: { _i: 5 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 6, + "sc", + "r_txt gui-flex gui-justify-content-end gui-align-items-center" + ), + attrs: { _i: 6 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 7, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-green" + ), + attrs: { _i: 7 }, + }), + _c("text", { + staticClass: _vm._$s( + 8, + "sc", + "gui-text-small gui-color-green" + ), + attrs: { _i: 8 }, + }), + _c("text", { + staticClass: _vm._$s( + 9, + "sc", + "gui-text-small gui-color-gray-light" + ), + attrs: { _i: 9 }, + }), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 10, + "sc", + "card-body12 gui-flex gui-align-items-center " + ), + attrs: { _i: 10 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(11, "sc", " gui-relative"), + attrs: { _i: 11 }, + }, + [ + _c("image", { + staticClass: _vm._$s( + 12, + "sc", + " gui-list-image ucenter-face-image" + ), + attrs: { + src: _vm._$s( + 12, + "a-src", + _vm.food.thumbImageUrl + ), + _i: 12, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(13, "sc", "gui-margin"), + attrs: { _i: 13 }, + }, + [_vm._v(_vm._$s(13, "t0-0", _vm._s(_vm.food.name)))] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 14, + "sc", + "gui-border-t gui-margin-top gui-flex gui-align-items-center gui-justify-content-center" + ), + attrs: { _i: 14 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 15, + "sc", + "gui-grids-items gui-flex gui-align-items-center gui-grids4" + ), + attrs: { _i: 15 }, + on: { + click: function ($event) { + return _vm.love(_vm.food.id) + }, + }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 16, + "sc", + "gui-grids-icon gui-icons " + ), + attrs: { _i: 16 }, + }), + _c( + "text", + { + staticClass: _vm._$s( + 17, + "sc", + "gui-grids-text " + ), + attrs: { _i: 17 }, + }, + [ + _vm._v( + _vm._$s( + 17, + "t0-0", + _vm._s(_vm.status == 1 ? "已" : "") + ) + ), + ] + ), + ] + ), + _c("view", { + staticClass: _vm._$s( + 18, + "sc", + "gui-color-gray gui-text-center" + ), + attrs: { _i: 18 }, + }), + _c( + "view", + { + staticClass: _vm._$s( + 19, + "sc", + "gui-grids-items gui-flex gui-align-items-center gui-grids4" + ), + attrs: { _i: 19 }, + on: { + click: function ($event) { + return _vm.open1(_vm.product) + }, + }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 20, + "sc", + "gui-grids-icon gui-icons " + ), + attrs: { _i: 20 }, + }), + _c("text", { + staticClass: _vm._$s(21, "sc", "gui-grids-text "), + attrs: { _i: 21 }, + }), + ] + ), + ] + ), + ] + ), + _c("view"), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 23, + "sc", + "card-body gui-card-body gui-box-shadow gui-border-b" + ), + attrs: { _i: 23 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 24, + "sc", + "gui-flex gui-justify-content-center" + ), + attrs: { _i: 24 }, + }, + [ + _c("text", { + staticClass: _vm._$s(25, "sc", "gui-h4 gui-bold"), + attrs: { _i: 25 }, + }), + _c("text", { + staticClass: _vm._$s(26, "sc", "gui-color-gray"), + attrs: { _i: 26 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 27, + "sc", + "gui-flex gui-border-t gui-h3 gui-justify-content-center gui-margin-top gui-align-items-center" + ), + attrs: { _i: 27 }, + }, + [ + _vm._v( + _vm._$s(27, "t0-0", _vm._s(_vm.food.calory)) + + _vm._$s(27, "t0-1", _vm._s(_vm.food.calory * 4)) + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 28, + "sc", + "nav gui-flex gui-space-around" + ), + attrs: { _i: 28 }, + }, + [ + _c( + "l-circle", + { + attrs: { + current: _vm.modelVale, + percent: _vm.food.protein, + strokeColor: "#fda697", + size: "80px", + clockwise: false, + _i: 29, + }, + on: { + "update:current": function ($event) { + _vm.modelVale = $event + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(30, "sc", "t_c"), + attrs: { _i: 30 }, + }, + [ + _c("view"), + _c( + "view", + { + staticClass: _vm._$s( + 32, + "sc", + "gui-bold gui-h6" + ), + attrs: { _i: 32 }, + }, + [ + _vm._v( + _vm._$s(32, "t0-0", _vm._s(_vm.food.protein)) + ), + ] + ), + ] + ), + ] + ), + _c( + "l-circle", + { + attrs: { + current: _vm.modelVale, + percent: _vm.food.fat, + strokeColor: "#fecb76", + size: "80px", + clockwise: false, + _i: 33, + }, + on: { + "update:current": function ($event) { + _vm.modelVale = $event + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(34, "sc", "t_c"), + attrs: { _i: 34 }, + }, + [ + _c("view"), + _c( + "view", + { + staticClass: _vm._$s( + 36, + "sc", + "gui-bold gui-h6" + ), + attrs: { _i: 36 }, + }, + [ + _vm._v( + _vm._$s(36, "t0-0", _vm._s(_vm.food.fat)) + ), + ] + ), + ] + ), + ] + ), + _c( + "l-circle", + { + attrs: { + current: _vm.modelVale, + percent: _vm.food.carbohydrate, + strokeColor: "#a3cdb1", + size: "80px", + clockwise: false, + _i: 37, + }, + on: { + "update:current": function ($event) { + _vm.modelVale = $event + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(38, "sc", "t_c"), + attrs: { _i: 38 }, + }, + [ + _c("view"), + _c( + "view", + { + staticClass: _vm._$s( + 40, + "sc", + "gui-bold gui-h6" + ), + attrs: { _i: 40 }, + }, + [ + _vm._v( + _vm._$s( + 40, + "t0-0", + _vm._s(_vm.food.carbohydrate) + ) + ), + ] + ), + ] + ), + ] + ), + ], + 1 + ), + _c("view", { + staticClass: _vm._$s(41, "sc", "gui-text-small"), + attrs: { _i: 41 }, + }), + _c( + "view", + { + staticClass: _vm._$s( + 42, + "sc", + "gui-margin-top gui-flex gui-align-items-center gui-space-around gui-bg-gray gui-color-gray" + ), + attrs: { _i: 42 }, + }, + [_c("text"), _c("text")] + ), + _c( + "view", + { + staticClass: _vm._$s(45, "sc", "list-txt"), + attrs: { _i: 45 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 46, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 46 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(48, "t0-0", _vm._s(_vm.food.calory))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 49, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 49 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(51, "t0-0", _vm._s(_vm.food.protein))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 52, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 52 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(54, "t0-0", _vm._s(_vm.food.fat))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 55, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 55 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(57, "t0-0", _vm._s(_vm.food.carbohydrate)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 58, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 58 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(60, "t0-0", _vm._s(_vm.food.fiberDietary)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 61, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 61 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(63, "t0-0", _vm._s(_vm.food.sugar))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 64, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 64 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(66, "t0-0", _vm._s(_vm.food.natrium))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 67, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 67 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(69, "t0-0", _vm._s(_vm.food.vitaminA)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 70, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 70 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(72, "t0-0", _vm._s(_vm.food.thiamine)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 73, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 73 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(75, "t0-0", _vm._s(_vm.food.lactoflavin)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 76, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 76 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(78, "t0-0", _vm._s(_vm.food.vitaminA)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 79, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 79 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(81, "t0-0", _vm._s(_vm.food.vitaminC)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 82, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 82 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v( + _vm._$s(84, "t0-0", _vm._s(_vm.food.vitaminE)) + ), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 85, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 85 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(87, "t0-0", _vm._s(_vm.food.niacin))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 88, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 88 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(90, "t0-0", _vm._s(_vm.food.calcium))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 91, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 91 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(93, "t0-0", _vm._s(_vm.food.iron))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 94, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 94 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(96, "t0-0", _vm._s(_vm.food.kalium))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 97, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 97 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(99, "t0-0", _vm._s(_vm.food.iron))), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 100, + "sc", + "gui-flex gui-margin-top gui-align-items-center gui-space-around" + ), + attrs: { _i: 100 }, + }, + [ + _c("view"), + _c("span", [ + _vm._v(_vm._$s(102, "t0-0", _vm._s(_vm.food.zinc))), + ]), + ] + ), + ] + ), + ] + ), + _c("view"), + ] + ), + ]), + _c( + "gui-modal", + { + ref: "guimodal1", + attrs: { + title: + _vm.type == 0 + ? _vm.food.createTime + " " + _vm.food.name + " 早餐" + : _vm.type == 1 + ? _vm.food.createTime + " " + _vm.food.name + " 午餐" + : _vm.type == 2 + ? _vm.food.createTime + " " + _vm.food.name + " 晚餐" + : _vm.type == 3 + ? _vm.food.createTime + " " + _vm.food.name + " 加餐" + : _vm.food.createTime + " " + _vm.food.name + " 运动", + _i: 104, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(105, "sc", "gui-padding gui-bg-gray"), + attrs: { _i: 105 }, + slot: "content", + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 106, + "sc", + "gui-flex gui-rows gui-nowrap gui-cate-product-list gui-align-items-center" + ), + attrs: { _i: 106 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 107, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: 107 }, + }, + [ + _c("image", { + staticClass: _vm._$s(108, "sc", "gui-list-image"), + attrs: { + src: _vm._$s(108, "a-src", _vm.food.thumbImageUrl), + _i: 108, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 109, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: 109 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(110, "sc", "gui-list-title"), + attrs: { _i: 110 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + 111, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: 111 }, + }, + [ + _vm._v( + _vm._$s(111, "t0-0", _vm._s(_vm.food.name)) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + 112, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: 112 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s(113, "sc", "gui-color-red"), + attrs: { _i: 113 }, + }, + [ + _vm._v( + _vm._$s(113, "t0-0", _vm._s(_vm.food.calory)) + ), + ] + ), + _vm._v(_vm._$s(112, "t1-0", _vm._s(_vm.food.weight))), + ] + ), + ] + ), + _c("view", [ + _c("view", [ + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.type, + expression: "type", + }, + ], + attrs: { id: "", _i: 116 }, + on: { + change: function ($event) { + var $$selectedVal = Array.prototype.filter + .call($event.target.options, function (o) { + return o.selected + }) + .map(function (o) { + var val = "_value" in o ? o._value : o.value + return val + }) + _vm.type = $event.target.multiple + ? $$selectedVal + : $$selectedVal[0] + }, + }, + }, + [ + _c("option", {}), + _c("option", {}), + _c("option", {}), + _c("option", {}), + ] + ), + ]), + ]), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 121, + "sc", + "gui-flex gui-align-items-center gui-justify-content-start" + ), + attrs: { _i: 121 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 122, + "sc", + "gui-color-gray gui-flex gui-text-small" + ), + attrs: { _i: 122 }, + }, + [ + _vm._v( + _vm._$s( + 122, + "t0-0", + _vm._s( + (_vm.food.calory * _vm.form.value) / _vm.food.weight + ) + ) + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(123, "sc", "gui-text-center"), + attrs: { _i: 123 }, + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.form.value, + expression: "form.value", + }, + ], + attrs: { id: "", _i: 124 }, + domProps: { + value: _vm._$s(124, "v-model", _vm.form.value), + }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.form, "value", $event.target.value) + }, + }, + }), + ] + ), + _c("view", { + staticClass: _vm._$s( + 125, + "sc", + "gui-color-gray gui-text-small" + ), + attrs: { _i: 125 }, + }), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 126, + "sc", + "gui-flex gui-rows gui-space-between" + ), + attrs: { _i: 126 }, + slot: "btns", + }, + [ + _c( + "view", + { + staticClass: _vm._$s(127, "sc", "modal-btns gui-flex1"), + attrs: { _i: 127 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 128, + "sc", + "modal-btns gui-color-gray" + ), + attrs: { _i: 128 }, + on: { click: _vm.close1 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(129, "sc", "modal-btns gui-flex1"), + attrs: { _i: 129 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 130, + "sc", + "modal-btns gui-color-blue" + ), + attrs: { _i: 130 }, + on: { click: _vm.confirm1 }, + }), + ] + ), + ] + ), + ] + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 20 */ +/*!****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue ***! + \****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& */ 21);\n/* harmony import */ var _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-page.vue?vue&type=script&lang=js& */ 38);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"325fdc7c\",\n null,\n false,\n _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-page.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUk7QUFDakk7QUFDNEQ7QUFDTDs7O0FBR3ZEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLDhFQUFNO0FBQ1IsRUFBRSwrRkFBTTtBQUNSLEVBQUUsd0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1wYWdlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zMjVmZGM3YyZzY29wZWQ9dHJ1ZSZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2d1aS1wYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vZ3VpLXBhZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMzI1ZmRjN2NcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcGFnZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n"); + +/***/ }), +/* 21 */ +/*!***********************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& ***! + \***********************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& */ 22); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 22 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiRefresh: __webpack_require__(/*! @/GraceUI5/components/gui-refresh.vue */ 23).default, + guiLoadmore: __webpack_require__(/*! @/GraceUI5/components/gui-loadmore.vue */ 28).default, + guiPageLoading: __webpack_require__(/*! @/GraceUI5/components/gui-page-loading.vue */ 33) + .default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + class: _vm._$s(0, "c", [ + "gui-flex", + "gui-columns", + "gui-sbody", + _vm.fullPage ? "gui-flex1" : "", + _vm.refresh || _vm.loadmore ? "gui-flex1" : "", + ]), + attrs: { _i: 0 }, + }, + [ + _vm._$s(1, "i", _vm.customHeader) + ? _c( + "view", + { + ref: "guiPageHeader", + staticClass: _vm._$s(1, "sc", "gui-header gui-transition-all"), + style: _vm._$s( + 1, + "s", + "height:" + + (_vm.headerSets.height + _vm.statusBarHeight) + + "px; z-index:" + + _vm.headerSets.zIndex + + ";" + + _vm.headerStyle + ), + attrs: { id: "guiPageHeader", _i: 1 }, + }, + [ + _c("view", { + staticClass: _vm._$s(2, "sc", "gui-page-status-bar"), + style: _vm._$s( + 2, + "s", + "height:" + _vm.statusBarHeight + "px;" + _vm.statusBarStyle + ), + attrs: { _i: 2 }, + }), + _c( + "view", + { + staticClass: _vm._$s( + 3, + "sc", + "gui-flex gui-columns gui-justify-content-center" + ), + style: _vm._$s(3, "s", { + height: _vm.headerSets.height + "px", + }), + attrs: { _i: 3 }, + on: { + click: function ($event) { + if ( + !$event.type.indexOf("key") && + _vm._k( + $event.keyCode, + "prevnet", + undefined, + $event.key, + undefined + ) + ) { + return null + } + $event.stopPropagation() + return _vm.headerTap($event) + }, + }, + }, + [_vm._t("gHeader", null, { _i: 4 })], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(5, "i", _vm.customHeader && _vm.isHeaderSized) + ? _c("view", { + style: _vm._$s( + 5, + "s", + "height:" + + (_vm.headerSets.height + _vm.statusBarHeight) + + "px; " + + _vm.headerSizedStyle + + ";" + ), + attrs: { _i: 5 }, + }) + : _vm._e(), + _vm._$s(6, "i", !_vm.refresh && !_vm.loadmore) + ? _c( + "view", + { + ref: "guiPageBody", + staticClass: _vm._$s(6, "sc", "gui-flex gui-columns"), + class: _vm._$s(6, "c", [_vm.fullPage ? "gui-flex1" : ""]), + attrs: { id: "guiPageBody", _i: 6 }, + }, + [_vm._t("gBody", null, { _i: 7 })], + 2 + ) + : _vm._e(), + _vm._$s(8, "i", _vm.refresh || _vm.loadmore) + ? _c( + "view", + { + ref: "guiPageBody", + staticClass: _vm._$s(8, "sc", "gui-flex gui-columns gui-flex1"), + style: _vm._$s(8, "s", { + marginTop: _vm.fixedTopMargin + "px", + height: _vm.refreshBodyHeight + "px", + }), + attrs: { id: "guiPageBody", _i: 8 }, + }, + [ + _c( + "scroll-view", + { + staticClass: _vm._$s(9, "sc", "gui-relative"), + style: _vm._$s(9, "s", { + height: _vm.refreshBodyHeight + "px", + opacity: _vm.refreshBodyHeight < 1 ? 0 : 1, + }), + attrs: { + "scroll-top": _vm._$s(9, "a-scroll-top", _vm.scrollTop), + _i: 9, + }, + on: { + touchstart: _vm.touchstart, + touchmove: _vm.touchmove, + touchend: _vm.touchend, + scroll: _vm.scroll, + scrolltolower: _vm.loadmorefun, + }, + }, + [ + _c( + "view", + [ + _c("gui-refresh", { + ref: "guiPageRefresh", + attrs: { + refreshText: _vm.refreshText, + refreshBgColor: _vm.refreshBgColor, + refreshColor: _vm.refreshColor, + refreshFontSize: _vm.refreshFontSize, + _i: 11, + }, + on: { reload: _vm.reload }, + }), + ], + 1 + ), + _vm._t("gBody", null, { _i: 12 }), + _vm._$s(13, "i", _vm.loadmore) + ? _c( + "view", + { + staticClass: _vm._$s(13, "sc", "gui-page-loadmore"), + attrs: { _i: 13 }, + }, + [ + _c("gui-loadmore", { + ref: "guipageloadmore", + attrs: { + status: _vm.loadMoreStatus, + loadMoreText: _vm.loadMoreText, + loadMoreColor: _vm.loadMoreColor, + loadMoreFontSize: _vm.loadMoreFontSize, + _i: 14, + }, + }), + ], + 1 + ) + : _vm._e(), + ], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(15, "i", _vm.customFooter) + ? _c("view", { + style: _vm._$s(15, "s", { height: _vm.footerHeight }), + attrs: { _i: 15 }, + }) + : _vm._e(), + _vm._$s(16, "i", _vm.customFooter) + ? _c( + "view", + { + ref: "guiPageFooter", + staticClass: _vm._$s(16, "sc", "gui-page-footer gui-border-box"), + class: _vm._$s(16, "c", [ + _vm.isSwitchPage ? "gui-switch-page-footer" : "", + ]), + style: _vm._$s(16, "s", { + height: _vm.footerHeight, + "background-image": _vm.footerSets.bg, + "z-index": _vm.footerSets.zIndex, + }), + attrs: { id: "guiPageFooter", _i: 16 }, + }, + [ + _c("view", [_vm._t("gFooter", null, { _i: 18 })], 2), + _c("view", { + style: _vm._$s( + 19, + "s", + "height:" + + _vm.iphoneXButtomHeight + + "; " + + _vm.iphoneXButtomStyle + ), + attrs: { _i: 19 }, + }), + ] + ) + : _vm._e(), + _c( + "view", + { + staticClass: _vm._$s(20, "sc", "gui-page-pendant"), + style: _vm._$s(20, "s", { + right: _vm.pendantSets.right, + bottom: _vm.pendantSets.bottom, + width: _vm.pendantSets.width, + zIndex: _vm.pendantSets.zIndex, + }), + attrs: { _i: 20 }, + }, + [_vm._t("gPendant", null, { _i: 21 })], + 2 + ), + _c( + "view", + { + ref: "guiPageFixedTop", + staticClass: _vm._$s(22, "sc", "gui-page-fixed-top"), + style: _vm._$s(22, "s", { + top: _vm.fixedTop + "px", + zIndex: _vm.fixedTopZIndex, + }), + attrs: { id: "guiPageFixedTop", _i: 22 }, + }, + [_vm._t("gFixedTop", null, { _i: 23 })], + 2 + ), + _c("gui-page-loading", { ref: "guipageloading", attrs: { _i: 24 } }), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 23 */ +/*!*******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue ***! + \*******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& */ 24);\n/* harmony import */ var _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-refresh.vue?vue&type=script&lang=js& */ 26);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"18336c10\",\n null,\n false,\n _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-refresh.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb0k7QUFDcEk7QUFDK0Q7QUFDTDs7O0FBRzFEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLGlGQUFNO0FBQ1IsRUFBRSxrR0FBTTtBQUNSLEVBQUUsMkdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1yZWZyZXNoLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xODMzNmMxMCZzY29wZWQ9dHJ1ZSZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2d1aS1yZWZyZXNoLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vZ3VpLXJlZnJlc2gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMTgzMzZjMTBcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcmVmcmVzaC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///23\n"); + +/***/ }), +/* 24 */ +/*!**************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& ***! + \**************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& */ 25); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 25 */ +/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s( + 0, + "sc", + "gui-page-refresh gui-flex gui-rows gui-justify-content-center gui-align-items-center" + ), + class: _vm._$s(0, "c", [_vm.refreshStatus == 3 ? "gload-hide" : ""]), + style: _vm._$s(0, "s", { + height: _vm.refreshHeight + "px", + backgroundColor: _vm.refreshBgColor[_vm.refreshStatus], + }), + attrs: { _i: 0 }, + }, + [ + _vm._$s(1, "i", _vm.refreshStatus == 0 || _vm.refreshStatus == 1) + ? _c("text", { + staticClass: _vm._$s( + 1, + "sc", + "gui-page-refresh-icon gui-icons gui-block-text" + ), + style: _vm._$s(1, "s", { + fontSize: _vm.refreshFontSize, + color: _vm.refreshColor[_vm.refreshStatus], + }), + attrs: { _i: 1 }, + }) + : _vm._e(), + _vm._$s(2, "i", _vm.refreshStatus == 2) + ? _c( + "view", + { + ref: "loadingIcon", + staticClass: _vm._$s(2, "sc", "gui-page-refresh-icon"), + attrs: { _i: 2 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 3, + "sc", + "gui-icons gui-rotate360 gui-block-text" + ), + style: _vm._$s(3, "s", { + fontSize: _vm.refreshFontSize, + color: _vm.refreshColor[_vm.refreshStatus], + }), + attrs: { _i: 3 }, + }), + ] + ) + : _vm._e(), + _vm._$s(4, "i", _vm.refreshStatus == 3) + ? _c("text", { + staticClass: _vm._$s(4, "sc", "gui-page-refresh-icon gui-icons"), + style: _vm._$s(4, "s", { + fontSize: _vm.refreshFontSize, + color: _vm.refreshColor[_vm.refreshStatus], + }), + attrs: { _i: 4 }, + }) + : _vm._e(), + _c( + "text", + { + staticClass: _vm._$s(5, "sc", "gui-page-refresh-text gui-block-text"), + style: _vm._$s(5, "s", { + fontSize: _vm.refreshFontSize, + color: _vm.refreshColor[_vm.refreshStatus], + }), + attrs: { _i: 5 }, + }, + [_vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.refreshText[_vm.refreshStatus])))] + ), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 26 */ +/*!********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=script&lang=js& ***! + \********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-refresh.vue?vue&type=script&lang=js& */ 27);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1zQixDQUFnQiw2cUJBQUcsRUFBQyIsImZpbGUiOiIyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1yZWZyZXNoLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vZ3VpLXJlZnJlc2gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n"); + +/***/ }), +/* 27 */ +/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=script&lang=js& ***! + \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = {\n name: \"gui-refresh\",\n props: {\n refreshText: {\n type: Array,\n default: function _default() {\n return ['继续下拉刷新', '松开手指开始刷新', '数据刷新中', '数据已刷新'];\n }\n },\n refreshBgColor: {\n type: Array,\n default: function _default() {\n return ['#FFFFFF', '#FFFFFF', '#FFFFFF', '#63D2BC'];\n }\n },\n refreshColor: {\n type: Array,\n default: function _default() {\n return ['rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.6)', '#63D2BC', '#FFFFFF'];\n }\n },\n refreshFontSize: {\n type: String,\n default: '26rpx'\n }\n },\n data: function data() {\n return {\n reScrollTop: 0,\n refreshHeight: 0,\n refreshY: 0,\n refreshStatus: 0,\n refreshTimer: 0\n };\n },\n methods: {\n touchstart: function touchstart(e) {\n if (this.reScrollTop > 10) {\n return;\n }\n this.refreshY = e.changedTouches[0].pageY;\n },\n touchmove: function touchmove(e) {\n if (this.refreshStatus >= 1) {\n return null;\n }\n if (this.reScrollTop > 10) {\n return;\n }\n var moveY = e.changedTouches[0].pageY - this.refreshY;\n moveY = moveY / 2;\n if (moveY >= 50) {\n moveY = 50;\n this.refreshStatus = 1;\n }\n if (moveY > 15) {\n this.refreshHeight = moveY;\n }\n },\n touchend: function touchend(e) {\n if (this.reScrollTop > 10) {\n return;\n }\n if (this.refreshStatus < 1) {\n return this.resetFresh();\n } else if (this.refreshStatus == 1) {\n this.refreshStatus = 2;\n this.$emit('reload');\n }\n },\n scroll: function scroll(e) {\n this.reScrollTop = e.detail.scrollTop;\n },\n endReload: function endReload() {\n var _this = this;\n this.refreshStatus = 3;\n setTimeout(function () {\n _this.resetFresh();\n }, 1000);\n },\n resetFresh: function resetFresh() {\n this.refreshHeight = 0;\n this.refreshStatus = 0;\n return null;\n },\n rotate360: function rotate360() {\n var el = this.$refs.loadingIcon;\n animation.transition(el, {\n styles: {\n transform: 'rotate(7200deg)'\n },\n duration: 20000,\n timingFunction: 'linear',\n needLayout: false,\n delay: 0\n });\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcmVmcmVzaC52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwicmVmcmVzaFRleHQiLCJ0eXBlIiwiZGVmYXVsdCIsInJlZnJlc2hCZ0NvbG9yIiwicmVmcmVzaENvbG9yIiwicmVmcmVzaEZvbnRTaXplIiwiZGF0YSIsInJlU2Nyb2xsVG9wIiwicmVmcmVzaEhlaWdodCIsInJlZnJlc2hZIiwicmVmcmVzaFN0YXR1cyIsInJlZnJlc2hUaW1lciIsIm1ldGhvZHMiLCJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIiwibW92ZVkiLCJ0b3VjaGVuZCIsInNjcm9sbCIsImVuZFJlbG9hZCIsInNldFRpbWVvdXQiLCJyZXNldEZyZXNoIiwicm90YXRlMzYwIiwiYW5pbWF0aW9uIiwic3R5bGVzIiwidHJhbnNmb3JtIiwiZHVyYXRpb24iLCJ0aW1pbmdGdW5jdGlvbiIsIm5lZWRMYXlvdXQiLCJkZWxheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQXNDQTtFQUNBQTtFQUNBQztJQUNBQztNQUFBQztNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBQztNQUFBRjtNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBRTtNQUFBSDtNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBRztNQUFBSjtNQUFBQztJQUFBO0VBQ0E7RUFDQUk7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQTtRQUFBO01BQUE7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFBQTtNQUFBO01BQ0E7TUFDQUM7TUFDQTtRQUNBQTtRQUNBO01BQ0E7TUFDQTtRQUFBO01BQUE7SUFDQTtJQUNBQztNQUNBO1FBQUE7TUFBQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO1FBTUE7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQUM7UUFBQTtNQUFBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FDO1FBQ0FDO1VBQUFDO1FBQUE7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldyBcblx0Y2xhc3M9XCJndWktcGFnZS1yZWZyZXNoIGd1aS1mbGV4IGd1aS1yb3dzIGd1aS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIiBcblx0OnN0eWxlPVwie1xuXHRoZWlnaHQ6cmVmcmVzaEhlaWdodCsncHgnLCBcblx0YmFja2dyb3VuZENvbG9yOnJlZnJlc2hCZ0NvbG9yW3JlZnJlc2hTdGF0dXNdfVwiIFxuXHQ6Y2xhc3M9XCJbcmVmcmVzaFN0YXR1cyA9PSAzID8gJ2dsb2FkLWhpZGUnIDogJyddXCI+XG5cdFx0PHRleHQgY2xhc3M9XCJndWktcGFnZS1yZWZyZXNoLWljb24gZ3VpLWljb25zIGd1aS1ibG9jay10ZXh0XCIgXG5cdFx0di1pZj1cInJlZnJlc2hTdGF0dXMgPT0gMCB8fCByZWZyZXNoU3RhdHVzID09IDFcIiBcblx0XHQ6c3R5bGU9XCJ7XG5cdFx0XHRmb250U2l6ZTpyZWZyZXNoRm9udFNpemUsXG5cdFx0XHRjb2xvcjpyZWZyZXNoQ29sb3JbcmVmcmVzaFN0YXR1c11cblx0XHR9XCI+JiN4ZTY2Yzs8L3RleHQ+XG5cdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1yZWZyZXNoLWljb25cIiByZWY9XCJsb2FkaW5nSWNvblwiIHYtaWY9XCJyZWZyZXNoU3RhdHVzID09IDJcIiA+XG5cdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1pY29ucyBndWktcm90YXRlMzYwIGd1aS1ibG9jay10ZXh0XCJcblx0XHRcdDpzdHlsZT1cIntcblx0XHRcdFx0Zm9udFNpemU6cmVmcmVzaEZvbnRTaXplLFxuXHRcdFx0XHRjb2xvcjpyZWZyZXNoQ29sb3JbcmVmcmVzaFN0YXR1c11cblx0XHRcdH1cIj4mI3hlOWRiOzwvdGV4dD5cblx0XHQ8L3ZpZXc+XG5cdFx0PHRleHQgY2xhc3M9XCJndWktcGFnZS1yZWZyZXNoLWljb24gZ3VpLWljb25zXCJcblx0XHR2LWlmPVwicmVmcmVzaFN0YXR1cyA9PSAzXCIgXG5cdFx0OnN0eWxlPVwie1xuXHRcdFx0Zm9udFNpemU6cmVmcmVzaEZvbnRTaXplLFxuXHRcdFx0Y29sb3I6cmVmcmVzaENvbG9yW3JlZnJlc2hTdGF0dXNdXG5cdFx0fVwiPiYjeGU3Zjg7PC90ZXh0PlxuXHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLXBhZ2UtcmVmcmVzaC10ZXh0IGd1aS1ibG9jay10ZXh0XCIgXG5cdFx0OnN0eWxlPVwie1xuXHRcdFx0Zm9udFNpemU6cmVmcmVzaEZvbnRTaXplLFxuXHRcdFx0Y29sb3I6cmVmcmVzaENvbG9yW3JlZnJlc2hTdGF0dXNdXG5cdFx0fVwiPnt7cmVmcmVzaFRleHRbcmVmcmVzaFN0YXR1c119fTwvdGV4dD5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG4vLyAjaWZkZWYgQVBQLU5WVUVcbnZhciBhbmltYXRpb24gPSB3ZWV4LnJlcXVpcmVNb2R1bGUoJ2FuaW1hdGlvbicpO1xuY29uc3QgZG9tID0gd2VleC5yZXF1aXJlTW9kdWxlKCdkb20nKTtcbi8vICNlbmRpZlxuZXhwb3J0IGRlZmF1bHR7XG5cdG5hbWUgIDogXCJndWktcmVmcmVzaFwiLFxuXHRwcm9wcyA6IHtcblx0XHRyZWZyZXNoVGV4dCAgICA6IHt0eXBlOkFycmF5LCAgIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xuXHRcdFx0cmV0dXJuIFsn57un57ut5LiL5ouJ5Yi35pawJywn5p2+5byA5omL5oyH5byA5aeL5Yi35pawJywn5pWw5o2u5Yi35paw5LitJywn5pWw5o2u5bey5Yi35pawJ107XG5cdFx0fX0sXG5cdFx0cmVmcmVzaEJnQ29sb3IgOiB7dHlwZTpBcnJheSwgICBkZWZhdWx0OmZ1bmN0aW9uICgpIHtcblx0XHRcdHJldHVybiBbJyNGRkZGRkYnLCcjRkZGRkZGJywnI0ZGRkZGRicsJyM2M0QyQkMnXTtcblx0XHR9fSxcblx0XHRyZWZyZXNoQ29sb3IgOiB7dHlwZTpBcnJheSwgICBkZWZhdWx0OmZ1bmN0aW9uICgpIHtcblx0XHRcdHJldHVybiBbJ3JnYmEoNjksIDkwLCAxMDAsIDAuNiknLCdyZ2JhKDY5LCA5MCwgMTAwLCAwLjYpJywnIzYzRDJCQycsJyNGRkZGRkYnXTtcblx0XHR9fSxcblx0XHRyZWZyZXNoRm9udFNpemUgOiB7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JzI2cnB4J31cblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0cmVTY3JvbGxUb3AgICAgICAgICA6IDAsXG5cdFx0XHRyZWZyZXNoSGVpZ2h0ICAgICAgIDogMCxcblx0XHRcdHJlZnJlc2hZICAgICAgICAgICAgOiAwLFxuXHRcdFx0cmVmcmVzaFN0YXR1cyAgICAgICA6IDAsXG5cdFx0XHRyZWZyZXNoVGltZXIgICAgICAgIDogMFxuXHRcdH1cblx0fSxcblx0bWV0aG9kczp7XG5cdFx0dG91Y2hzdGFydCA6IGZ1bmN0aW9uIChlKXtcblx0XHRcdGlmKHRoaXMucmVTY3JvbGxUb3AgPiAxMCl7cmV0dXJuIDt9XG5cdFx0XHR0aGlzLnJlZnJlc2hZID0gZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWTtcblx0XHR9LFxuXHRcdHRvdWNobW92ZSA6IGZ1bmN0aW9uKGUpe1xuXHRcdFx0aWYodGhpcy5yZWZyZXNoU3RhdHVzID49IDEpeyByZXR1cm4gbnVsbDt9XG5cdFx0XHRpZih0aGlzLnJlU2Nyb2xsVG9wID4gMTApe3JldHVybiA7fVxuXHRcdFx0dmFyIG1vdmVZID0gZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSAtIHRoaXMucmVmcmVzaFk7XG5cdFx0XHRtb3ZlWSAgICAgPSBtb3ZlWSAvIDI7XG5cdFx0XHRpZihtb3ZlWSA+PSA1MCl7XG5cdFx0XHRcdG1vdmVZID0gNTA7XG5cdFx0XHRcdHRoaXMucmVmcmVzaFN0YXR1cyA9IDE7XG5cdFx0XHR9XG5cdFx0XHRpZihtb3ZlWSA+IDE1KXt0aGlzLnJlZnJlc2hIZWlnaHQgPSBtb3ZlWTt9XG5cdFx0fSxcblx0XHR0b3VjaGVuZCA6IGZ1bmN0aW9uIChlKSB7XG5cdFx0XHRpZih0aGlzLnJlU2Nyb2xsVG9wID4gMTApe3JldHVybiA7fVxuXHRcdFx0aWYodGhpcy5yZWZyZXNoU3RhdHVzIDwgMSl7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJlc2V0RnJlc2goKTtcblx0XHRcdH1lbHNlIGlmKHRoaXMucmVmcmVzaFN0YXR1cyA9PSAxKXtcblx0XHRcdFx0dGhpcy5yZWZyZXNoU3RhdHVzID0gMjtcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUC1OVlVFXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHR0aGlzLnJvdGF0ZTM2MCgpO1xuXHRcdFx0XHR9LCAyMDApO1xuXHRcdFx0XHQvLyAjZW5kaWZcblx0XHRcdFx0dGhpcy4kZW1pdCgncmVsb2FkJyk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRzY3JvbGw6ZnVuY3Rpb24oZSl7XG5cdFx0XHR0aGlzLnJlU2Nyb2xsVG9wID0gZS5kZXRhaWwuc2Nyb2xsVG9wO1xuXHRcdH0sXG5cdFx0ZW5kUmVsb2FkIDogZnVuY3Rpb24oKXtcblx0XHRcdHRoaXMucmVmcmVzaFN0YXR1cyA9IDM7XG5cdFx0XHRzZXRUaW1lb3V0KCgpPT57dGhpcy5yZXNldEZyZXNoKCl9LCAxMDAwKTtcblx0XHR9LFxuXHRcdHJlc2V0RnJlc2ggOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHR0aGlzLnJlZnJlc2hIZWlnaHQgPSAwO1xuXHRcdFx0dGhpcy5yZWZyZXNoU3RhdHVzID0gMDtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH0sXG5cdFx0cm90YXRlMzYwIDogZnVuY3Rpb24oKXtcblx0XHRcdHZhciBlbCA9IHRoaXMuJHJlZnMubG9hZGluZ0ljb247XG5cdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbihlbCwge1xuXHRcdFx0XHRzdHlsZXMgICAgIDoge3RyYW5zZm9ybTogJ3JvdGF0ZSg3MjAwZGVnKSd9LFxuXHRcdFx0XHRkdXJhdGlvbiAgIDogMjAwMDAsXG5cdFx0XHRcdHRpbWluZ0Z1bmN0aW9uOiAnbGluZWFyJyxcblx0XHRcdFx0bmVlZExheW91dCA6ZmFsc2UsXG5cdFx0XHRcdGRlbGF5OiAwXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuPHN0eWxlIHNjb3BlZD5cbi5ndWktcGFnZS1yZWZyZXNoe292ZXJmbG93OmhpZGRlbn1cbi5ndWktcGFnZS1yZWZyZXNoLXRleHR7bGluZS1oZWlnaHQ6MzJycHg7fVxuLmd1aS1wYWdlLXJlZnJlc2gtaWNvbntwYWRkaW5nOjAgMTJycHg7IGxpbmUtaGVpZ2h0OjQwcnB4O31cbi8qICNpZm5kZWYgQVBQLU5WVUUgKi9cbkBrZXlmcmFtZXMgZ2xvYWQtaGlkZXswJXtvcGFjaXR5OjE7IGhlaWdodDo1MHB4O30gNzAle29wYWNpdHk6MTsgaGVpZ2h0OjUwcHg7fSAxMDAle29wYWNpdHk6MDsgaGVpZ2h0OjBweDt9fVxuLmdsb2FkLWhpZGV7YW5pbWF0aW9uOmdsb2FkLWhpZGUgMXMgbGluZWFyO31cbi8qICNlbmRpZiAqL1xuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///27\n"); + +/***/ }), +/* 28 */ +/*!********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-loadmore.vue ***! + \********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-loadmore.vue?vue&type=template&id=6c3bde24&scoped=true& */ 29);\n/* harmony import */ var _gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-loadmore.vue?vue&type=script&lang=js& */ 31);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"6c3bde24\",\n null,\n false,\n _gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-loadmore.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUk7QUFDckk7QUFDZ0U7QUFDTDs7O0FBRzNEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLGtGQUFNO0FBQ1IsRUFBRSxtR0FBTTtBQUNSLEVBQUUsNEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsdUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1sb2FkbW9yZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmMzYmRlMjQmc2NvcGVkPXRydWUmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9ndWktbG9hZG1vcmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9ndWktbG9hZG1vcmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNmMzYmRlMjRcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktbG9hZG1vcmUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///28\n"); + +/***/ }), +/* 29 */ +/*!***************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-loadmore.vue?vue&type=template&id=6c3bde24&scoped=true& ***! + \***************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-loadmore.vue?vue&type=template&id=6c3bde24&scoped=true& */ 30); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_template_id_6c3bde24_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 30 */ +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-loadmore.vue?vue&type=template&id=6c3bde24&scoped=true& ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _vm._$s(0, "i", !_vm.hidden) + ? _c( + "view", + { + staticClass: _vm._$s( + 0, + "sc", + "gui-load-more gui-flex gui-rows gui-align-items-center gui-justify-content-center" + ), + attrs: { _i: 0 }, + on: { + click: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.tapme($event) + }, + }, + }, + [ + _vm._$s(1, "i", _vm.loadMoreStatus == 1) + ? _c( + "view", + { + ref: "loadingiconforloadmore", + staticClass: _vm._$s(1, "sc", "gui-load-more-icon"), + attrs: { _i: 1 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 2, + "sc", + "gui-icons gui-rotate360 gui-block-text" + ), + style: _vm._$s(2, "s", { + fontSize: _vm.loadMoreFontSize, + color: _vm.loadMoreColor[_vm.loadMoreStatus], + }), + attrs: { _i: 2 }, + }), + ] + ) + : _vm._e(), + _c( + "text", + { + staticClass: _vm._$s(3, "sc", "gui-block-text"), + style: _vm._$s(3, "s", { + fontSize: _vm.loadMoreFontSize, + color: _vm.loadMoreColor[_vm.loadMoreStatus], + }), + attrs: { _i: 3 }, + }, + [ + _vm._v( + _vm._$s(3, "t0-0", _vm._s(_vm.loadMoreText[_vm.loadMoreStatus])) + ), + ] + ), + ] + ) + : _vm._e() +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 31 */ +/*!*********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-loadmore.vue?vue&type=script&lang=js& ***! + \*********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-loadmore.vue?vue&type=script&lang=js& */ 32);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_loadmore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9zQixDQUFnQiw4cUJBQUcsRUFBQyIsImZpbGUiOiIzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1sb2FkbW9yZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1sb2FkbW9yZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n"); + +/***/ }), +/* 32 */ +/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-loadmore.vue?vue&type=script&lang=js& ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = {\n name: \"gui-loadmore\",\n props: {\n loadMoreText: {\n type: Array,\n default: function _default() {\n return ['', '更多数据加载中', '已加载全部数据', '暂无数据'];\n }\n },\n loadMoreColor: {\n type: Array,\n default: function _default() {\n return ['rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.8)', 'rgba(69, 90, 100, 0.6)'];\n }\n },\n loadMoreFontSize: {\n type: String,\n default: '26rpx'\n },\n status: {\n type: Number,\n default: 0\n }\n },\n data: function data() {\n return {\n loadMoreStatus: 0,\n hidden: false\n };\n },\n created: function created() {\n this.loadMoreStatus = this.status;\n },\n methods: {\n loading: function loading() {\n this.loadMoreStatus = 1;\n },\n stoploadmore: function stoploadmore() {\n this.loadMoreStatus = 0;\n },\n nomore: function nomore() {\n this.loadMoreStatus = 2;\n },\n empty: function empty() {\n this.loadMoreStatus = 3;\n },\n hide: function hide() {\n this.hidden = true;\n },\n rotate360: function rotate360() {\n var el = this.$refs.loadingiconforloadmore;\n animation.transition(el, {\n styles: {\n transform: 'rotate(7200deg)'\n },\n duration: 20000,\n timingFunction: 'linear',\n needLayout: false,\n delay: 0\n });\n },\n tapme: function tapme() {\n if (this.loadMoreStatus == 0) {\n this.$emit('tapme');\n }\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktbG9hZG1vcmUudnVlIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsImxvYWRNb3JlVGV4dCIsInR5cGUiLCJkZWZhdWx0IiwibG9hZE1vcmVDb2xvciIsImxvYWRNb3JlRm9udFNpemUiLCJzdGF0dXMiLCJkYXRhIiwibG9hZE1vcmVTdGF0dXMiLCJoaWRkZW4iLCJjcmVhdGVkIiwibWV0aG9kcyIsImxvYWRpbmciLCJzdG9wbG9hZG1vcmUiLCJub21vcmUiLCJlbXB0eSIsImhpZGUiLCJyb3RhdGUzNjAiLCJhbmltYXRpb24iLCJzdHlsZXMiLCJ0cmFuc2Zvcm0iLCJkdXJhdGlvbiIsInRpbWluZ0Z1bmN0aW9uIiwibmVlZExheW91dCIsImRlbGF5IiwidGFwbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQTJCQTtFQUNBQTtFQUNBQztJQUNBQztNQUFBQztNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBQztNQUFBRjtNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBRTtNQUFBSDtNQUFBQztJQUFBO0lBQ0FHO01BQUFKO01BQUFDO0lBQUE7RUFDQTtFQUNBSTtJQUNBO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQTtJQU1BO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FDO1FBQ0FDO1VBQUFDO1FBQUE7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgXHJcblx0Y2xhc3M9XCJndWktbG9hZC1tb3JlIGd1aS1mbGV4IGd1aS1yb3dzIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLWp1c3RpZnktY29udGVudC1jZW50ZXJcIiBcclxuXHR2LWlmPVwiIWhpZGRlblwiIFxyXG5cdEB0YXAuc3RvcC5wcmV2ZW50PVwidGFwbWVcIj5cclxuXHRcdDx2aWV3IFxyXG5cdFx0Y2xhc3M9XCJndWktbG9hZC1tb3JlLWljb25cIiBcclxuXHRcdHJlZj1cImxvYWRpbmdpY29uZm9ybG9hZG1vcmVcIiBcclxuXHRcdHYtaWY9XCJsb2FkTW9yZVN0YXR1cyA9PSAxXCI+XHJcblx0XHRcdDx0ZXh0IFxyXG5cdFx0XHRjbGFzcz1cImd1aS1pY29ucyBndWktcm90YXRlMzYwIGd1aS1ibG9jay10ZXh0XCJcclxuXHRcdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRcdGZvbnRTaXplOmxvYWRNb3JlRm9udFNpemUsXHJcblx0XHRcdFx0Y29sb3I6bG9hZE1vcmVDb2xvcltsb2FkTW9yZVN0YXR1c119XCI+JiN4ZTlkYjs8L3RleHQ+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dGV4dCBcclxuXHRcdGNsYXNzPVwiZ3VpLWJsb2NrLXRleHRcIiBcclxuXHRcdDpzdHlsZT1cIntcclxuXHRcdFx0Zm9udFNpemU6bG9hZE1vcmVGb250U2l6ZSwgXHJcblx0XHRcdGNvbG9yOmxvYWRNb3JlQ29sb3JbbG9hZE1vcmVTdGF0dXNdXHJcblx0XHR9XCI+e3tsb2FkTW9yZVRleHRbbG9hZE1vcmVTdGF0dXNdfX08L3RleHQ+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG4vLyAjaWZkZWYgQVBQLU5WVUVcclxudmFyIGFuaW1hdGlvbiA9IHdlZXgucmVxdWlyZU1vZHVsZSgnYW5pbWF0aW9uJyk7XHJcbi8vICNlbmRpZlxyXG5leHBvcnQgZGVmYXVsdHtcclxuXHRuYW1lICA6IFwiZ3VpLWxvYWRtb3JlXCIsXHJcblx0cHJvcHMgOiB7XHJcblx0XHRsb2FkTW9yZVRleHQgICAgIDoge3R5cGU6QXJyYXksIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRyZXR1cm4gWycnLCfmm7TlpJrmlbDmja7liqDovb3kuK0nLCAn5bey5Yqg6L295YWo6YOo5pWw5o2uJywgJ+aaguaXoOaVsOaNriddO1xyXG5cdFx0fX0sXHJcblx0XHRsb2FkTW9yZUNvbG9yICAgIDoge3R5cGU6QXJyYXksIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRyZXR1cm4gWydyZ2JhKDY5LCA5MCwgMTAwLCAwLjYpJywgJ3JnYmEoNjksIDkwLCAxMDAsIDAuNiknLCAncmdiYSg2OSwgOTAsIDEwMCwgMC44KScsICdyZ2JhKDY5LCA5MCwgMTAwLCAwLjYpJ107XHJcblx0XHR9fSxcclxuXHRcdGxvYWRNb3JlRm9udFNpemUgOiB7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JzI2cnB4J30sXHJcblx0XHRzdGF0dXMgICAgICAgICAgIDoge3R5cGU6TnVtYmVyLCBkZWZhdWx0OjB9LFxyXG5cdH0sXHJcblx0ZGF0YSgpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGxvYWRNb3JlU3RhdHVzIDogMCxcclxuXHRcdFx0aGlkZGVuICAgICAgICAgOiBmYWxzZVxyXG5cdFx0fVxyXG5cdH0sXHJcblx0Y3JlYXRlZDpmdW5jdGlvbigpe1xyXG5cdFx0dGhpcy5sb2FkTW9yZVN0YXR1cyA9IHRoaXMuc3RhdHVzO1xyXG5cdH0sXHJcblx0bWV0aG9kczp7XHJcblx0XHRsb2FkaW5nICAgIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5sb2FkTW9yZVN0YXR1cyA9IDE7XHJcblx0XHRcdC8vICNpZmRlZiBBUFAtTlZVRVxyXG5cdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0dGhpcy5yb3RhdGUzNjAoKTtcclxuXHRcdFx0fSwgMjAwKTtcclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHR9LFxyXG5cdFx0c3RvcGxvYWRtb3JlIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5sb2FkTW9yZVN0YXR1cyA9IDA7XHJcblx0XHR9LFxyXG5cdFx0bm9tb3JlIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5sb2FkTW9yZVN0YXR1cyA9IDI7XHJcblx0XHR9LFxyXG5cdFx0ZW1wdHkgIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5sb2FkTW9yZVN0YXR1cyA9IDM7XHJcblx0XHR9LFxyXG5cdFx0aGlkZSAgIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5oaWRkZW4gPSB0cnVlO1xyXG5cdFx0fSxcclxuXHRcdHJvdGF0ZTM2MCA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdHZhciBlbCA9IHRoaXMuJHJlZnMubG9hZGluZ2ljb25mb3Jsb2FkbW9yZTtcclxuXHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZWwsIHtcclxuXHRcdFx0XHRzdHlsZXMgICAgIDoge3RyYW5zZm9ybTogJ3JvdGF0ZSg3MjAwZGVnKSd9LFxyXG5cdFx0XHRcdGR1cmF0aW9uICAgOiAyMDAwMCxcclxuXHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2xpbmVhcicsXHJcblx0XHRcdFx0bmVlZExheW91dCA6ZmFsc2UsXHJcblx0XHRcdFx0ZGVsYXk6IDBcclxuXHRcdFx0fSk7XHJcblx0XHR9LFxyXG5cdFx0dGFwbWUgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHRpZih0aGlzLmxvYWRNb3JlU3RhdHVzID09IDApe1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ3RhcG1lJyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbi5ndWktbG9hZC1tb3Jle292ZXJmbG93OmhpZGRlbjsgcGFkZGluZzoyNXJweDt9XHJcbi5ndWktbG9hZC1tb3JlLXRleHR7bGluZS1oZWlnaHQ6MzVycHg7fSBcclxuLmd1aS1sb2FkLW1vcmUtaWNvbntwYWRkaW5nOjAgMTJycHg7IGxpbmUtaGVpZ2h0OjM1cnB4O31cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///32\n"); + +/***/ }), +/* 33 */ +/*!************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page-loading.vue ***! + \************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-page-loading.vue?vue&type=template&id=227b3cb1&scoped=true& */ 34);\n/* harmony import */ var _gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-page-loading.vue?vue&type=script&lang=js& */ 36);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"227b3cb1\",\n null,\n false,\n _gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-page-loading.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeUk7QUFDekk7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSx1R0FBTTtBQUNSLEVBQUUsZ0hBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1wYWdlLWxvYWRpbmcudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIyN2IzY2IxJnNjb3BlZD10cnVlJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZ3VpLXBhZ2UtbG9hZGluZy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2d1aS1wYWdlLWxvYWRpbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMjI3YjNjYjFcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcGFnZS1sb2FkaW5nLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n"); + +/***/ }), +/* 34 */ +/*!*******************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page-loading.vue?vue&type=template&id=227b3cb1&scoped=true& ***! + \*******************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-page-loading.vue?vue&type=template&id=227b3cb1&scoped=true& */ 35); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_template_id_227b3cb1_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 35 */ +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page-loading.vue?vue&type=template&id=227b3cb1&scoped=true& ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _vm._$s(0, "i", _vm.isLoading) + ? _c( + "view", + { + staticClass: _vm._$s( + 0, + "sc", + "gui-page-loading gui-flex gui-nowrap gui-align-items-center gui-justify-content-center gui-page-loading-bg" + ), + attrs: { _i: 0 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(1, "sc", "gui-flex gui-columns"), + attrs: { _i: 1 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 2, + "sc", + "gui-page-loading-point gui-flex gui-rows gui-justify-content-center" + ), + attrs: { _i: 2 }, + }, + [ + _c("view", { + staticClass: _vm._$s( + 3, + "sc", + "gui-page-loading-points animate1 gui-page-loading-color" + ), + attrs: { _i: 3 }, + }), + _c("view", { + staticClass: _vm._$s( + 4, + "sc", + "gui-page-loading-points animate2 gui-page-loading-color" + ), + attrs: { _i: 4 }, + }), + _c("view", { + staticClass: _vm._$s( + 5, + "sc", + "gui-page-loading-points animate3 gui-page-loading-color" + ), + attrs: { _i: 5 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 6, + "sc", + "gui-rows gui-justify-content-center" + ), + attrs: { _i: 6 }, + }, + [_vm._t("default", null, { _i: 7 })], + 2 + ), + ] + ), + ] + ) + : _vm._e() +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 36 */ +/*!*************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page-loading.vue?vue&type=script&lang=js& ***! + \*************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-page-loading.vue?vue&type=script&lang=js& */ 37);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_loading_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXdzQixDQUFnQixrckJBQUcsRUFBQyIsImZpbGUiOiIzNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1wYWdlLWxvYWRpbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9ndWktcGFnZS1sb2FkaW5nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///36\n"); + +/***/ }), +/* 37 */ +/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page-loading.vue?vue&type=script&lang=js& ***! + \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"gui-page-loading\",\n props: {},\n data: function data() {\n return {\n isLoading: false,\n BindingXObjs: [null, null, null],\n AnimateObjs: [null, null, null],\n animateTimer: 800,\n intervalID: null\n };\n },\n watch: {},\n methods: {\n stopfun: function stopfun(e) {\n e.stopPropagation();\n return null;\n },\n open: function open() {\n this.isLoading = true;\n },\n close: function close() {\n var _this = this;\n setTimeout(function () {\n _this.isLoading = false;\n }, 100);\n },\n getRefs: function getRefs(ref, count, fun) {\n var _this2 = this;\n if (count >= 50) {\n fun(this.$refs[ref]);\n return false;\n }\n var refReturn = this.$refs[ref];\n if (refReturn) {\n if (refReturn._data) {\n fun(refReturn);\n return;\n }\n } else {\n count++;\n setTimeout(function () {\n _this2.getRefs(ref, count, fun);\n }, 100);\n }\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcGFnZS1sb2FkaW5nLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwicHJvcHMiLCJkYXRhIiwiaXNMb2FkaW5nIiwiQmluZGluZ1hPYmpzIiwiQW5pbWF0ZU9ianMiLCJhbmltYXRlVGltZXIiLCJpbnRlcnZhbElEIiwid2F0Y2giLCJtZXRob2RzIiwic3RvcGZ1biIsImUiLCJvcGVuIiwiY2xvc2UiLCJzZXRUaW1lb3V0IiwiZ2V0UmVmcyIsImZ1biIsImNvdW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUErQkE7RUFDQUE7RUFDQUM7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUMsUUF3QkE7RUFDQUM7SUF3REFDO01BQUFDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtNQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQUM7UUFDQTtNQUNBO01BQ0E7TUFDQTtRQU1BO1VBQ0FBO1VBQ0E7UUFDQTtNQUVBO1FBQ0FDO1FBQ0FIO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiMzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgXHJcblx0Y2xhc3M9XCJndWktcGFnZS1sb2FkaW5nIGd1aS1mbGV4IGd1aS1ub3dyYXAgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktanVzdGlmeS1jb250ZW50LWNlbnRlciBndWktcGFnZS1sb2FkaW5nLWJnXCJcclxuXHRAdGFwLnN0b3A9XCJzdG9wZnVuXCIgXHJcblx0QHRvdWNobW92ZS5zdG9wLnByZXZlbnQ9XCJzdG9wZnVuXCIgXHJcblx0di1pZj1cImlzTG9hZGluZ1wiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktY29sdW1uc1wiPlxyXG5cdFx0XHQ8IS0tICNpZm5kZWYgQVBQLU5WVUUgLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXBhZ2UtbG9hZGluZy1wb2ludCBndWktZmxleCBndWktcm93cyBndWktanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXBhZ2UtbG9hZGluZy1wb2ludHMgYW5pbWF0ZTEgZ3VpLXBhZ2UtbG9hZGluZy1jb2xvclwiPjwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1wYWdlLWxvYWRpbmctcG9pbnRzIGFuaW1hdGUyIGd1aS1wYWdlLWxvYWRpbmctY29sb3JcIj48L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1sb2FkaW5nLXBvaW50cyBhbmltYXRlMyBndWktcGFnZS1sb2FkaW5nLWNvbG9yXCI+PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHQ8IS0tICNpZmRlZiBBUFAtTlZVRSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1sb2FkaW5nLXBvaW50IGd1aS1mbGV4IGd1aS1yb3dzIGd1aS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1sb2FkaW5nLXBvaW50cyBndWktcGFnZS1sb2FkaW5nLWNvbG9yXCIgcmVmPVwibG9hZGluZ1BvaW50czFcIj48L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1sb2FkaW5nLXBvaW50cyBndWktcGFnZS1sb2FkaW5nLWNvbG9yXCIgcmVmPVwibG9hZGluZ1BvaW50czJcIj48L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1sb2FkaW5nLXBvaW50cyBndWktcGFnZS1sb2FkaW5nLWNvbG9yXCIgcmVmPVwibG9hZGluZ1BvaW50czNcIj48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXJvd3MgZ3VpLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuXHRcdFx0XHQ8c2xvdD48L3Nsb3Q+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQ+XHJcbi8vICNpZmRlZiBBUFAtTlZVRVxyXG5jb25zdCBCaW5kaW5nWCA9IHVuaS5yZXF1aXJlTmF0aXZlUGx1Z2luKCdiaW5kaW5neCcpO1xyXG4vLyAjZW5kaWZcclxuZXhwb3J0IGRlZmF1bHR7XHJcblx0bmFtZSAgOiBcImd1aS1wYWdlLWxvYWRpbmdcIixcclxuXHRwcm9wcyA6IHt9LFxyXG5cdGRhdGEoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRpc0xvYWRpbmcgICAgICA6IGZhbHNlLFxyXG5cdFx0XHRCaW5kaW5nWE9ianMgICA6IFtudWxsLG51bGwsbnVsbF0sXHJcblx0XHRcdEFuaW1hdGVPYmpzICAgIDogW251bGwsbnVsbCxudWxsXSxcclxuXHRcdFx0YW5pbWF0ZVRpbWVyICAgOiA4MDAsXHJcblx0XHRcdGludGVydmFsSUQgICAgIDogbnVsbFxyXG5cdFx0fVxyXG5cdH0sXHJcblx0d2F0Y2g6e1xyXG5cdFx0Ly8gI2lmZGVmIEFQUC1OVlVFXHJcblx0XHRpc0xvYWRpbmcgOiBmdW5jdGlvbiAodmFsKSB7XHJcblx0XHRcdGlmKHZhbCl7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0dGhpcy5nZXRSZWZzKCdsb2FkaW5nUG9pbnRzMScsIDAsIChyZWZzKT0+e1xyXG5cdFx0XHRcdFx0XHR0aGlzLkJpbmRpbmdYT2JqcyA9IFtcclxuXHRcdFx0XHRcdFx0XHRyZWZzLnJlZixcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLmxvYWRpbmdQb2ludHMyLnJlZixcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLmxvYWRpbmdQb2ludHMzLnJlZlxyXG5cdFx0XHRcdFx0XHRdO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnN0YXJ0QW5pbWF0ZSgpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSwgMTAwKTtcclxuXHRcdFx0XHR0aGlzLmludGVydmFsSUQgPSBzZXRJbnRlcnZhbCgoKT0+e1xyXG5cdFx0XHRcdFx0aWYodGhpcy5pc0xvYWRpbmcpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLnN0YXJ0QW5pbWF0ZSgpO1xyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElEKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCAyMDAwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ly8gI2VuZGlmXHJcblx0fSxcclxuXHRtZXRob2RzOntcclxuXHRcdC8vICNpZmRlZiBBUFAtTlZVRVxyXG5cdFx0c3RhcnRBbmltYXRlICAgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHR0aGlzLmxvYWRpbmdBbmltYXRlKDApO1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpPT57dGhpcy5sb2FkaW5nQW5pbWF0ZSgxKTt9LDMwMCk7XHJcblx0XHRcdHNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWRpbmdBbmltYXRlKDIpO30sNjAwKTtcclxuXHRcdH0sXHJcblx0XHRsb2FkaW5nQW5pbWF0ZSA6IGZ1bmN0aW9uIChpZCkge1xyXG5cdFx0XHR0aGlzLkFuaW1hdGVPYmpzW2lkXSA9IEJpbmRpbmdYLmJpbmQoe1xyXG5cdFx0XHRcdGV2ZW50VHlwZSAgICAgIDogJ3RpbWluZycsXHJcblx0XHRcdFx0ZXhpdEV4cHJlc3Npb24gOiAndD4nK3RoaXMuYW5pbWF0ZVRpbWVyLFxyXG5cdFx0XHRcdHByb3BzICAgICAgICAgIDogW1xyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50ICAgIDogdGhpcy5CaW5kaW5nWE9ianNbaWRdLCBcclxuXHRcdFx0XHRcdFx0cHJvcGVydHkgICA6ICd0cmFuc2Zvcm0uc2NhbGUnLFxyXG5cdFx0XHRcdFx0XHRleHByZXNzaW9uIDogXCIxK3QvXCIrdGhpcy5hbmltYXRlVGltZXIrXCIvM1wiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50ICAgIDogdGhpcy5CaW5kaW5nWE9ianNbaWRdLCBcclxuXHRcdFx0XHRcdFx0cHJvcGVydHkgICA6ICdvcGFjaXR5JyxcclxuXHRcdFx0XHRcdFx0ZXhwcmVzc2lvbiA6IFwiMC42K3QvXCIrdGhpcy5hbmltYXRlVGltZXJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdXHJcblx0XHRcdH0sIChlKT0+e1xyXG5cdFx0XHRcdGlmKGUuc3RhdGUgPT09ICdleGl0Jykge1xyXG5cdFx0XHRcdFx0QmluZGluZ1gudW5iaW5kKHtcclxuXHRcdFx0XHRcdFx0dG9rZW4gOiB0aGlzLkFuaW1hdGVPYmpzW2lkXS50b2tlbixcclxuXHRcdFx0XHRcdFx0ZXZlbnRUeXBlOiAndGltaW5nJ1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLkFuaW1hdGVPYmpzW2lkXSA9IEJpbmRpbmdYLmJpbmQoe1xyXG5cdFx0XHRcdFx0XHRldmVudFR5cGUgICAgICA6ICd0aW1pbmcnLFxyXG5cdFx0XHRcdFx0XHRleGl0RXhwcmVzc2lvbiA6ICd0PicrdGhpcy5hbmltYXRlVGltZXIsXHJcblx0XHRcdFx0XHRcdHByb3BzICAgICAgICAgIDogW1xyXG5cdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdGVsZW1lbnQgICAgOiB0aGlzLkJpbmRpbmdYT2Jqc1tpZF0sIFxyXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHkgICA6ICd0cmFuc2Zvcm0uc2NhbGUnLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZXhwcmVzc2lvbiA6IFwiMS4zNS10L1wiK3RoaXMuYW5pbWF0ZVRpbWVyK1wiLzNcIlxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0ZWxlbWVudCAgICA6IHRoaXMuQmluZGluZ1hPYmpzW2lkXSwgXHJcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eSAgIDogJ29wYWNpdHknLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZXhwcmVzc2lvbiA6IFwiMS42LXQvXCIrdGhpcy5hbmltYXRlVGltZXJcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdH0sIChlKT0+e1xyXG5cdFx0XHRcdFx0XHRpZihlLnN0YXRlID09PSAnZXhpdCcpIHtcclxuXHRcdFx0XHRcdFx0XHRCaW5kaW5nWC51bmJpbmQoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9rZW4gOiB0aGlzLkFuaW1hdGVPYmpzW2lkXS50b2tlbixcclxuXHRcdFx0XHRcdFx0XHRcdGV2ZW50VHlwZTogJ3RpbWluZydcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0sXHJcblx0XHQvLyAjZW5kaWZcclxuXHRcdHN0b3BmdW4gICAgICAgIDogZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTsgcmV0dXJuIG51bGw7fSxcclxuXHRcdG9wZW4gICAgICAgICAgIDogZnVuY3Rpb24oKXsgdGhpcy5pc0xvYWRpbmcgPSB0cnVlOyB9LFxyXG5cdFx0Y2xvc2UgICAgICAgICAgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmcgPSBmYWxzZTsgXHJcblx0XHRcdH0sMTAwKTtcclxuXHRcdH0sXHJcblx0XHRnZXRSZWZzIDogZnVuY3Rpb24ocmVmLCBjb3VudCwgZnVuKXtcclxuXHRcdFx0aWYoY291bnQgPj0gNTApe1xyXG5cdFx0XHRcdGZ1bih0aGlzLiRyZWZzW3JlZl0pO1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgcmVmUmV0dXJuID0gdGhpcy4kcmVmc1tyZWZdO1xyXG5cdFx0XHRpZihyZWZSZXR1cm4pe1xyXG5cdFx0XHRcdC8vICNpZmRlZiBBUFAtTlZVRVxyXG5cdFx0XHRcdGZ1bihyZWZSZXR1cm4pO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHQvLyAjaWZuZGVmIEFQUC1OVlVFXHJcblx0XHRcdFx0aWYocmVmUmV0dXJuLl9kYXRhKXtcclxuXHRcdFx0XHRcdGZ1bihyZWZSZXR1cm4pO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0XHR0aGlzLmdldFJlZnMocmVmLCBjb3VudCwgZnVuKTtcclxuXHRcdFx0XHR9LCAxMDApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG4uZ3VpLXBhZ2UtbG9hZGluZ3t3aWR0aDo3NTBycHg7IHBvc2l0aW9uOmZpeGVkOyBsZWZ0OjA7IHRvcDowOyBib3R0b206MDsgZmxleDoxOyB6LWluZGV4Ojk5OTk5O31cclxuLmd1aS1wYWdlLWxvYWRpbmctcG9pbnRze3dpZHRoOjIwcnB4OyBoZWlnaHQ6MjBycHg7IGJvcmRlci1yYWRpdXM6NTBycHg7IG1hcmdpbjoxMHJweDsgb3BhY2l0eTowLjU7fVxyXG4vKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcbkBrZXlmcmFtZXMgcGFnZUxvYWRpbmcxezAlIHtvcGFjaXR5OjAuNTsgdHJhbnNmb3JtOnNjYWxlKDEpO30gNDAlIHtvcGFjaXR5OjE7IHRyYW5zZm9ybTpzY2FsZSgxLjUpO30gIDYwJXtvcGFjaXR5OjAuNTsgdHJhbnNmb3JtOnNjYWxlKDEpO319XHJcbkBrZXlmcmFtZXMgcGFnZUxvYWRpbmcyezIwJSB7b3BhY2l0eTowLjU7IHRyYW5zZm9ybTpzY2FsZSgxKTt9IDYwJSB7b3BhY2l0eToxOyB0cmFuc2Zvcm06c2NhbGUoMS41KTt9ICA4MCUge29wYWNpdHk6MC41OyB0cmFuc2Zvcm06c2NhbGUoMSk7fX1cclxuQGtleWZyYW1lcyBwYWdlTG9hZGluZzN7NDAlIHtvcGFjaXR5OjAuNTsgdHJhbnNmb3JtOnNjYWxlKDEpO30gODAlIHtvcGFjaXR5OjE7IHRyYW5zZm9ybTpzY2FsZSgxLjUpO30gIDEwMCUge29wYWNpdHk6MC41OyB0cmFuc2Zvcm06c2NhbGUoMSk7fX1cclxuLmFuaW1hdGUxe2FuaW1hdGlvbjpwYWdlTG9hZGluZzEgMS4ycyBpbmZpbml0ZSBsaW5lYXI7fVxyXG4uYW5pbWF0ZTJ7YW5pbWF0aW9uOnBhZ2VMb2FkaW5nMiAxLjJzIGluZmluaXRlIGxpbmVhcjt9XHJcbi5hbmltYXRlM3thbmltYXRpb246cGFnZUxvYWRpbmczIDEuMnMgaW5maW5pdGUgbGluZWFyO31cclxuLyogI2VuZGlmICovXHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///37\n"); + +/***/ }), +/* 38 */ +/*!*****************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=script&lang=js& ***! + \*****************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-page.vue?vue&type=script&lang=js& */ 39);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdzQixDQUFnQiwwcUJBQUcsRUFBQyIsImZpbGUiOiIzOC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1wYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vZ3VpLXBhZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n"); + +/***/ }), +/* 39 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=script&lang=js& ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = {\n name: 'gui-page',\n props: {\n fullPage: {\n type: Boolean,\n default: false\n },\n customHeader: {\n type: Boolean,\n default: false\n },\n headerSets: {\n type: Object,\n default: function _default() {\n return {\n height: 44,\n zIndex: 100\n };\n }\n },\n headerStyle: {\n type: String,\n default: 'background-color:#FFFFFF;'\n },\n isHeaderSized: {\n type: Boolean,\n default: true\n },\n statusBarStyle: {\n type: String,\n default: 'background-color:#FFFFFF;'\n },\n customFooter: {\n type: Boolean,\n default: false\n },\n footerSets: {\n type: Object,\n default: function _default() {\n return {\n height: 100,\n zIndex: 100,\n bg: 'linear-gradient(to bottom, #FFFFFF,#FFFFFF)'\n };\n }\n },\n pendantSets: {\n type: Object,\n default: function _default() {\n return {\n width: '100rpx',\n right: '25rpx',\n bottom: '100rpx',\n zIndex: 100\n };\n }\n },\n isLoading: {\n type: Boolean,\n default: false\n },\n isSwitchPage: {\n type: Boolean,\n default: false\n },\n iphoneXButtomStyle: {\n type: String,\n default: ''\n },\n headerSizedStyle: {\n type: String,\n default: ''\n },\n fixedTopZIndex: {\n type: Number,\n default: 2\n },\n /* 刷新 */\n refresh: {\n type: Boolean,\n default: false\n },\n refreshText: {\n type: Array,\n default: function _default() {\n return ['继续下拉刷新', '松开手指开始刷新', '数据刷新中', '数据已刷新'];\n }\n },\n refreshBgColor: {\n type: Array,\n default: function _default() {\n return ['#FFFFFF', '#FFFFFF', '#FFFFFF', '#63D2BC'];\n }\n },\n refreshColor: {\n type: Array,\n default: function _default() {\n return ['rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.6)', '#63D2BC', '#FFFFFF'];\n }\n },\n refreshFontSize: {\n type: String,\n default: '26rpx'\n },\n /* 加载更多 */\n loadmore: {\n type: Boolean,\n default: false\n },\n loadMoreText: {\n type: Array,\n default: function _default() {\n return ['', '数据加载中', '已加载全部数据', '暂无数据'];\n }\n },\n loadMoreColor: {\n type: Array,\n default: function _default() {\n return ['rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.6)', 'rgba(69, 90, 100, 0.8)', 'rgba(69, 90, 100, 0.8)'];\n }\n },\n loadMoreStatus: {\n type: Number,\n defalut: 0\n },\n loadMoreFontSize: {\n type: String,\n default: '26rpx'\n },\n apiLoadingStatus: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n footerHeight: '100rpx',\n iphoneXButtomHeight: '0rpx',\n statusBarHeight: 0,\n headerTapNumber: 0,\n fixedTop: 0,\n refreshBodyHeight: 0,\n loadMoreTimer: null,\n fixedTopMargin: 0,\n scrollTop: 0,\n srcollTimer: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n if (this.isLoading) {\n this.pageLoadingOpen();\n }\n // 刷新相关\n setTimeout(function () {\n if (_this.refresh || _this.loadmore) {\n _this.getDomSize('guiPageBody', function (res) {\n _this.refreshBodyHeight = res.height;\n _this.getDomSize('guiPageFixedTop', function (res) {\n if (res.height) {\n _this.refreshBodyHeight -= res.height;\n _this.fixedTopMargin = res.height;\n }\n });\n });\n }\n }, 200);\n },\n watch: {\n isLoading: function isLoading(val) {\n if (val) {\n this.pageLoadingOpen();\n } else {\n this.pageLoadingClose();\n }\n }\n },\n created: function created() {\n this.footerHeight = this.footerSets.height + 'rpx';\n try {\n var system = uni.getSystemInfoSync();\n if (system.model) {\n system.model = system.model.replace(' ', '');\n system.model = system.model.toLowerCase();\n this.statusBarHeight = system.statusBarHeight;\n var res1 = system.model.indexOf('iphonex');\n if (res1 > 5) {\n res1 = -1;\n }\n var res2 = system.model.indexOf('iphone1');\n if (res2 > 5) {\n res2 = -1;\n }\n if (res1 != -1 || res2 != -1) {\n this.iphoneXButtomHeight = '50rpx';\n this.footerHeight = this.footerSets.height + 50 + 'rpx';\n }\n }\n this.iphoneXButtomHeight = '0rpx';\n this.footerHeight = this.footerSets.height + 'rpx';\n if (plus.navigator.isFullscreen()) {\n this.statusBarHeight = 0;\n }\n if (this.isSwitchPage) {\n this.iphoneXButtomHeight = '0rpx';\n this.footerHeight = this.footerSets.height + 'rpx';\n }\n if (this.customHeader) {\n this.fixedTop = this.headerSets.height + this.statusBarHeight;\n } else {\n this.fixedTop = 0;\n }\n } catch (e) {\n return null;\n }\n },\n methods: {\n pageLoadingOpen: function pageLoadingOpen() {\n var _this2 = this;\n this.getRefs('guipageloading', 0, function (ref) {\n _this2.$refs.guipageloading.open();\n });\n },\n pageLoadingClose: function pageLoadingClose() {\n this.getRefs('guipageloading', 0, function (ref) {\n ref.close();\n });\n },\n // 下拉刷新相关\n touchstart: function touchstart(e) {\n if (!this.refresh) {\n return false;\n }\n if (this.apiLoadingStatus) {\n return false;\n }\n this.$refs.guiPageRefresh.touchstart(e);\n },\n touchmove: function touchmove(e) {\n if (!this.refresh) {\n return false;\n }\n if (this.apiLoadingStatus) {\n return false;\n }\n this.$refs.guiPageRefresh.touchmove(e);\n },\n touchend: function touchend(e) {\n if (!this.refresh) {\n return false;\n }\n if (this.apiLoadingStatus) {\n return false;\n }\n this.$refs.guiPageRefresh.touchend(e);\n },\n scroll: function scroll(e) {\n var _this3 = this;\n if (this.srcollTimer != null) {\n clearTimeout(this.srcollTimer);\n }\n this.srcollTimer = setTimeout(function () {\n _this3.$refs.guiPageRefresh.scroll(e);\n _this3.$emit('scroll', e);\n _this3.scrollTop = e.detail.scrollTop;\n }, 100);\n },\n setScrollTop: function setScrollTop(scrollTop) {\n this.scrollTop = scrollTop;\n },\n endReload: function endReload() {\n this.$refs.guiPageRefresh.endReload();\n },\n reload: function reload() {\n if (this.apiLoadingStatus) {\n return false;\n }\n this.$emit('reload');\n if (this.loadmore) {\n this.$refs.guipageloadmore.stoploadmore();\n }\n },\n // 获取元素尺寸\n getDomSize: function getDomSize(domIDOrRef, fun, count) {\n var _this4 = this;\n if (!count) {\n count = 1;\n }\n if (count >= 50) {\n fun({\n width: 0,\n height: 0\n });\n return false;\n }\n uni.createSelectorQuery().in(this).select('#' + domIDOrRef).boundingClientRect().exec(function (res) {\n if (res[0] == null) {\n count += 1;\n setTimeout(function () {\n _this4.getDomSize(domIDOrRef, fun, count);\n }, 50);\n } else {\n fun(res[0]);\n return;\n }\n });\n },\n stopfun: function stopfun(e) {\n e.stopPropagation();\n return null;\n },\n headerTap: function headerTap() {\n var _this5 = this;\n this.headerTapNumber++;\n if (this.headerTapNumber >= 2) {\n this.$emit('gotoTop');\n this.headerTapNumber = 0;\n } else {\n setTimeout(function () {\n _this5.headerTapNumber = 0;\n }, 1000);\n }\n },\n getRefs: function getRefs(ref, count, fun) {\n var _this6 = this;\n if (count >= 50) {\n fun(this.$refs[ref]);\n return false;\n }\n var refReturn = this.$refs[ref];\n if (refReturn) {\n if (refReturn._data) {\n fun(refReturn);\n return;\n }\n } else {\n count++;\n setTimeout(function () {\n _this6.getRefs(ref, count, fun);\n }, 100);\n }\n },\n loadmorefun: function loadmorefun() {\n var _this7 = this;\n if (!this.loadmore) {\n return false;\n }\n if (this.apiLoadingStatus) {\n return false;\n }\n // 获取加载组件状态看一下是否还能继续加载\n // 保证触底只执行一次加载\n if (this.loadMoreTimer != null) {\n clearTimeout(this.loadMoreTimer);\n }\n this.loadMoreTimer = setTimeout(function () {\n var status = _this7.$refs.guipageloadmore.loadMoreStatus;\n if (status != 0) {\n return null;\n }\n _this7.$refs.guipageloadmore.loading();\n _this7.$emit('loadmorefun');\n }, 80);\n },\n stoploadmore: function stoploadmore() {\n this.$refs.guipageloadmore.stoploadmore();\n },\n nomore: function nomore() {\n this.$refs.guipageloadmore.nomore();\n },\n loadEmpty: function loadEmpty() {\n this.$refs.guipageloadmore.empty();\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcGFnZS52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwiZnVsbFBhZ2UiLCJ0eXBlIiwiZGVmYXVsdCIsImN1c3RvbUhlYWRlciIsImhlYWRlclNldHMiLCJoZWlnaHQiLCJ6SW5kZXgiLCJoZWFkZXJTdHlsZSIsImlzSGVhZGVyU2l6ZWQiLCJzdGF0dXNCYXJTdHlsZSIsImN1c3RvbUZvb3RlciIsImZvb3RlclNldHMiLCJiZyIsInBlbmRhbnRTZXRzIiwid2lkdGgiLCJyaWdodCIsImJvdHRvbSIsImlzTG9hZGluZyIsImlzU3dpdGNoUGFnZSIsImlwaG9uZVhCdXR0b21TdHlsZSIsImhlYWRlclNpemVkU3R5bGUiLCJmaXhlZFRvcFpJbmRleCIsInJlZnJlc2giLCJyZWZyZXNoVGV4dCIsInJlZnJlc2hCZ0NvbG9yIiwicmVmcmVzaENvbG9yIiwicmVmcmVzaEZvbnRTaXplIiwibG9hZG1vcmUiLCJsb2FkTW9yZVRleHQiLCJsb2FkTW9yZUNvbG9yIiwibG9hZE1vcmVTdGF0dXMiLCJkZWZhbHV0IiwibG9hZE1vcmVGb250U2l6ZSIsImFwaUxvYWRpbmdTdGF0dXMiLCJkYXRhIiwiZm9vdGVySGVpZ2h0IiwiaXBob25lWEJ1dHRvbUhlaWdodCIsInN0YXR1c0JhckhlaWdodCIsImhlYWRlclRhcE51bWJlciIsImZpeGVkVG9wIiwicmVmcmVzaEJvZHlIZWlnaHQiLCJsb2FkTW9yZVRpbWVyIiwiZml4ZWRUb3BNYXJnaW4iLCJzY3JvbGxUb3AiLCJzcmNvbGxUaW1lciIsIm1vdW50ZWQiLCJzZXRUaW1lb3V0Iiwid2F0Y2giLCJjcmVhdGVkIiwic3lzdGVtIiwicmVzMSIsInJlczIiLCJtZXRob2RzIiwicGFnZUxvYWRpbmdPcGVuIiwicGFnZUxvYWRpbmdDbG9zZSIsInJlZiIsInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCIsInNjcm9sbCIsImNsZWFyVGltZW91dCIsInNldFNjcm9sbFRvcCIsImVuZFJlbG9hZCIsInJlbG9hZCIsImdldERvbVNpemUiLCJjb3VudCIsImZ1biIsInVuaSIsInN0b3BmdW4iLCJlIiwiaGVhZGVyVGFwIiwiZ2V0UmVmcyIsImxvYWRtb3JlZnVuIiwic3RvcGxvYWRtb3JlIiwibm9tb3JlIiwibG9hZEVtcHR5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnQkFvSUE7RUFDQUE7RUFDQUM7SUFDQUM7TUFBQUM7TUFBQUM7SUFBQTtJQUNBQztNQUFBRjtNQUFBQztJQUFBO0lBQ0FFO01BQUFIO01BQUFDO1FBQUE7VUFBQUc7VUFBQUM7UUFBQTtNQUFBO0lBQUE7SUFDQUM7TUFBQU47TUFBQUM7SUFBQTtJQUNBTTtNQUFBUDtNQUFBQztJQUFBO0lBQ0FPO01BQUFSO01BQUFDO0lBQUE7SUFDQVE7TUFBQVQ7TUFBQUM7SUFBQTtJQUNBUztNQUFBVjtNQUFBQztRQUFBO1VBQUFHO1VBQUFDO1VBQUFNO1FBQUE7TUFBQTtJQUFBO0lBQ0FDO01BQUFaO01BQUFDO1FBQUE7VUFBQVk7VUFBQUM7VUFBQUM7VUFBQVY7UUFBQTtNQUFBO0lBQUE7SUFDQVc7TUFBQWhCO01BQUFDO0lBQUE7SUFDQWdCO01BQUFqQjtNQUFBQztJQUFBO0lBQ0FpQjtNQUFBbEI7TUFBQUM7SUFBQTtJQUNBa0I7TUFBQW5CO01BQUFDO0lBQUE7SUFDQW1CO01BQUFwQjtNQUFBQztJQUFBO0lBQ0E7SUFDQW9CO01BQUFyQjtNQUFBQztJQUFBO0lBQ0FxQjtNQUFBdEI7TUFBQUM7UUFDQTtNQUNBO0lBQUE7SUFDQXNCO01BQUF2QjtNQUFBQztRQUNBO01BQ0E7SUFBQTtJQUNBdUI7TUFBQXhCO01BQUFDO1FBQ0E7TUFDQTtJQUFBO0lBQ0F3QjtNQUFBekI7TUFBQUM7SUFBQTtJQUVBO0lBQ0F5QjtNQUFBMUI7TUFBQUM7SUFBQTtJQUNBMEI7TUFBQTNCO01BQUFDO1FBQ0E7TUFDQTtJQUFBO0lBQ0EyQjtNQUFBNUI7TUFBQUM7UUFDQTtNQUNBO0lBQUE7SUFDQTRCO01BQUE3QjtNQUFBOEI7SUFBQTtJQUNBQztNQUFBL0I7TUFBQUM7SUFBQTtJQUNBK0I7TUFBQWhDO01BQUFDO0lBQUE7RUFDQTtFQUNBZ0M7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUlBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFFQUM7SUFBQTtJQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTlCO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQStCO0lBQ0E7SUFRQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUE7UUFDQTtRQUNBO1FBQ0E7VUFBQUM7UUFBQTtRQUNBO1FBQ0E7VUFBQUM7UUFBQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7TUFLQTtNQUNBO01BQ0E7UUFDQTtNQUNBO01BRUE7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBRUE7TUFBQTtJQUFBO0VBQ0E7RUFDQUM7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUFBO01BQUE7TUFDQTtRQUFBO01BQUE7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFBQTtNQUFBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQUE7TUFBQTtNQUNBO1FBQUE7TUFBQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQUE7TUFBQTtNQUNBO01BQ0E7UUFBQTtNQUFBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFBQUM7TUFBQTtNQUNBO1FBQ0FDO1VBQUFwRDtVQUFBVDtRQUFBO1FBQ0E7TUFDQTtNQUVBOEQ7UUFDQTtVQUNBRjtVQUNBbkI7WUFBQTtVQUFBO1FBQ0E7VUFDQW9CO1VBQ0E7UUFDQTtNQUNBO0lBZUE7SUFDQUU7TUFBQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0F4QjtVQUFBO1FBQUE7TUFDQTtJQUNBO0lBQ0F5QjtNQUFBO01BQ0E7UUFDQUw7UUFDQTtNQUNBO01BQ0E7TUFDQTtRQU1BO1VBQ0FBO1VBQ0E7UUFDQTtNQUVBO1FBQ0FEO1FBQ0FuQjtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0EwQjtNQUFBO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFBQTtNQUFBO01BQ0E7TUFDQTtNQUNBO1FBQUFaO01BQUE7TUFDQTtRQUNBO1FBQ0E7VUFBQTtRQUFBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWE7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgOmNsYXNzPVwiW1xyXG5cdFx0J2d1aS1mbGV4JywgJ2d1aS1jb2x1bW5zJywgJ2d1aS1zYm9keScsIFxyXG5cdFx0ZnVsbFBhZ2UgPyAnZ3VpLWZsZXgxJzonJyAsIFxyXG5cdFx0cmVmcmVzaCB8fCBsb2FkbW9yZSA/ICdndWktZmxleDEnIDogJydcclxuXHRdXCI+XHJcblx0XHQ8IS0tIOiHquWumuS5ieWktOmDqCAtLT5cclxuXHRcdDx2aWV3IFxuXHRcdGNsYXNzPVwiZ3VpLWhlYWRlciBndWktdHJhbnNpdGlvbi1hbGxcIiBcclxuXHRcdHYtaWY9XCJjdXN0b21IZWFkZXJcIiBcclxuXHRcdGlkPVwiZ3VpUGFnZUhlYWRlclwiIFxuXHRcdHJlZj1cImd1aVBhZ2VIZWFkZXJcIiBcclxuXHRcdDpzdHlsZT1cIidoZWlnaHQ6JyBcclxuXHRcdCsoaGVhZGVyU2V0cy5oZWlnaHQrc3RhdHVzQmFySGVpZ2h0KSsncHg7IHotaW5kZXg6J1xyXG5cdFx0K2hlYWRlclNldHMuekluZGV4Kyc7JytoZWFkZXJTdHlsZVwiPlxyXG5cdFx0XHQ8IS0tIOeKtuaAgeagjyAtLT5cclxuXHRcdFx0PHZpZXcgXG5cdFx0XHRjbGFzcz1cImd1aS1wYWdlLXN0YXR1cy1iYXJcIiBcclxuXHRcdFx0OnN0eWxlPVwiJ2hlaWdodDonK3N0YXR1c0JhckhlaWdodCsncHg7JytzdGF0dXNCYXJTdHlsZVwiPjwvdmlldz5cclxuXHRcdFx0PCEtLSDlpLTpg6jmj5Lmp70gLS0+XHJcblx0XHRcdDx2aWV3IFxuXHRcdFx0Y2xhc3M9XCJndWktZmxleCBndWktY29sdW1ucyBndWktanVzdGlmeS1jb250ZW50LWNlbnRlclwiIFxyXG5cdFx0XHRAdGFwLnN0b3AucHJldm5ldD1cImhlYWRlclRhcFwiIFxyXG5cdFx0XHQ6c3R5bGU9XCJ7aGVpZ2h0OmhlYWRlclNldHMuaGVpZ2h0KydweCd9XCI+XHJcblx0XHRcdFx0PHNsb3QgbmFtZT1cImdIZWFkZXJcIj48L3Nsb3Q+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDwhLS0g6Ieq5a6a5LmJ5aS06YOo5Y2g5L2NIC0tPlxyXG5cdFx0PHZpZXcgXG5cdFx0di1pZj1cImN1c3RvbUhlYWRlciAmJiBpc0hlYWRlclNpemVkXCJcclxuXHRcdDpzdHlsZT1cIidoZWlnaHQ6JysoaGVhZGVyU2V0cy5oZWlnaHQrc3RhdHVzQmFySGVpZ2h0KSsncHg7ICcrIGhlYWRlclNpemVkU3R5bGUgKyAnOydcIj48L3ZpZXc+XHJcblx0XHQ8IS0tIOmhtemdouS4u+S9kyAtLT5cclxuXHRcdDx2aWV3IFxyXG5cdFx0Y2xhc3M9XCJndWktZmxleCBndWktY29sdW1uc1wiIFxyXG5cdFx0di1pZj1cIiFyZWZyZXNoICYmICFsb2FkbW9yZVwiIFxyXG5cdFx0aWQ9XCJndWlQYWdlQm9keVwiIFxyXG5cdFx0cmVmPVwiZ3VpUGFnZUJvZHlcIiBcclxuXHRcdDpjbGFzcz1cIltmdWxsUGFnZT8nZ3VpLWZsZXgxJzonJ11cIj5cclxuXHRcdFx0PHNsb3QgbmFtZT1cImdCb2R5XCI+PC9zbG90PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDliLfmlrDliqDovb3kuLvkvZMgLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1jb2x1bW5zIGd1aS1mbGV4MVwiIFxyXG5cdFx0di1pZj1cInJlZnJlc2ggfHwgbG9hZG1vcmVcIiBcclxuXHRcdGlkPVwiZ3VpUGFnZUJvZHlcIiBcclxuXHRcdHJlZj1cImd1aVBhZ2VCb2R5XCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdG1hcmdpblRvcDpmaXhlZFRvcE1hcmdpbisncHgnLCBcclxuXHRcdFx0aGVpZ2h0OnJlZnJlc2hCb2R5SGVpZ2h0KydweCdcclxuXHRcdH1cIj5cclxuXHRcdFx0PHNjcm9sbC12aWV3IFxuXHRcdFx0Y2xhc3M9XCJndWktcmVsYXRpdmVcIiBcclxuXHRcdFx0OnNjcm9sbC15PVwidHJ1ZVwiIFxyXG5cdFx0XHQ6c2hvdy1zY3JvbGxiYXI9XCJmYWxzZVwiIFxyXG5cdFx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdFx0aGVpZ2h0OnJlZnJlc2hCb2R5SGVpZ2h0KydweCcsXHJcblx0XHRcdFx0b3BhY2l0eTpyZWZyZXNoQm9keUhlaWdodCA8IDEgPyAwIDogMVxyXG5cdFx0XHR9XCIgXHJcblx0XHRcdEB0b3VjaHN0YXJ0PVwidG91Y2hzdGFydFwiIFxyXG5cdFx0XHRAdG91Y2htb3ZlPVwidG91Y2htb3ZlXCIgXHJcblx0XHRcdEB0b3VjaGVuZD1cInRvdWNoZW5kXCIgXHJcblx0XHRcdEBzY3JvbGw9XCJzY3JvbGxcIiBcclxuXHRcdFx0OnNjcm9sbC10b3A9XCJzY3JvbGxUb3BcIiBcclxuXHRcdFx0QHNjcm9sbHRvbG93ZXI9XCJsb2FkbW9yZWZ1blwiPlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PGd1aS1yZWZyZXNoIFxyXG5cdFx0XHRcdFx0cmVmPVwiZ3VpUGFnZVJlZnJlc2hcIiBcclxuXHRcdFx0XHRcdEByZWxvYWQ9XCJyZWxvYWRcIlxyXG5cdFx0XHRcdFx0OnJlZnJlc2hUZXh0PVwicmVmcmVzaFRleHRcIiBcclxuXHRcdFx0XHRcdDpyZWZyZXNoQmdDb2xvcj1cInJlZnJlc2hCZ0NvbG9yXCIgXHJcblx0XHRcdFx0XHQ6cmVmcmVzaENvbG9yPVwicmVmcmVzaENvbG9yXCIgXHJcblx0XHRcdFx0XHQ6cmVmcmVzaEZvbnRTaXplPVwicmVmcmVzaEZvbnRTaXplXCI+PC9ndWktcmVmcmVzaD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHNsb3QgbmFtZT1cImdCb2R5XCI+PC9zbG90PlxyXG5cdFx0XHRcdDx2aWV3IFxyXG5cdFx0XHRcdHYtaWY9XCJsb2FkbW9yZVwiIFxyXG5cdFx0XHRcdGNsYXNzPVwiZ3VpLXBhZ2UtbG9hZG1vcmVcIj5cclxuXHRcdFx0XHRcdDxndWktbG9hZG1vcmUgXHJcblx0XHRcdFx0XHRyZWY9XCJndWlwYWdlbG9hZG1vcmVcIiBcclxuXHRcdFx0XHRcdDpzdGF0dXM9XCJsb2FkTW9yZVN0YXR1c1wiIFxyXG5cdFx0XHRcdFx0OmxvYWRNb3JlVGV4dD1cImxvYWRNb3JlVGV4dFwiIFxyXG5cdFx0XHRcdFx0OmxvYWRNb3JlQ29sb3I9XCJsb2FkTW9yZUNvbG9yXCIgXHJcblx0XHRcdFx0XHQ6bG9hZE1vcmVGb250U2l6ZT1cImxvYWRNb3JlRm9udFNpemVcIj48L2d1aS1sb2FkbW9yZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOmhtemdouW6lemDqCAtLT5cclxuXHRcdDwhLS0g5bqV6YOo5Y2g5L2NIC0tPlxyXG5cdFx0PHZpZXcgdi1pZj1cImN1c3RvbUZvb3RlclwiIFxyXG5cdFx0OnN0eWxlPVwie2hlaWdodDpmb290ZXJIZWlnaHR9XCI+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJndWktcGFnZS1mb290ZXIgZ3VpLWJvcmRlci1ib3hcIiBcclxuXHRcdDpjbGFzcz1cIltpc1N3aXRjaFBhZ2U/J2d1aS1zd2l0Y2gtcGFnZS1mb290ZXInOicnXVwiIFxyXG5cdFx0di1pZj1cImN1c3RvbUZvb3RlclwiIFxyXG5cdFx0aWQ9XCJndWlQYWdlRm9vdGVyXCIgXHJcblx0XHRyZWY9XCJndWlQYWdlRm9vdGVyXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdGhlaWdodDpmb290ZXJIZWlnaHQsIFxyXG5cdFx0XHQnYmFja2dyb3VuZC1pbWFnZSc6Zm9vdGVyU2V0cy5iZywgXHJcblx0XHRcdCd6LWluZGV4Jzpmb290ZXJTZXRzLnpJbmRleFxyXG5cdFx0fVwiPlxyXG5cdFx0XHQ8dmlldz5cblx0XHRcdFx0PHNsb3QgbmFtZT1cImdGb290ZXJcIj48L3Nsb3Q+XG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IFxyXG5cdFx0XHQ6c3R5bGU9XCInaGVpZ2h0OicraXBob25lWEJ1dHRvbUhlaWdodCsnOyAnKyBpcGhvbmVYQnV0dG9tU3R5bGVcIj48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOWPs+S4i+inkuaCrOa1ruaMguS7tiAtLT5cclxuXHRcdDx2aWV3IFxuXHRcdGNsYXNzPVwiZ3VpLXBhZ2UtcGVuZGFudFwiIFxyXG5cdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRyaWdodDpwZW5kYW50U2V0cy5yaWdodCwgYm90dG9tOnBlbmRhbnRTZXRzLmJvdHRvbSwgXHJcblx0XHRcdHdpZHRoOnBlbmRhbnRTZXRzLndpZHRoLCB6SW5kZXg6cGVuZGFudFNldHMuekluZGV4fVwiPlxyXG5cdFx0XHQ8c2xvdCBuYW1lPVwiZ1BlbmRhbnRcIj48L3Nsb3Q+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOWQuOmhtuWFg+e0oCAtLT5cclxuXHRcdDx2aWV3IFxuXHRcdGNsYXNzPVwiZ3VpLXBhZ2UtZml4ZWQtdG9wXCIgXHJcblx0XHRyZWY9XCJndWlQYWdlRml4ZWRUb3BcIiBcclxuXHRcdGlkPVwiZ3VpUGFnZUZpeGVkVG9wXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XG5cdFx0XHR0b3A6Zml4ZWRUb3ArJ3B4JywgXG5cdFx0XHR6SW5kZXg6Zml4ZWRUb3BaSW5kZXhcblx0XHR9XCI+XHJcblx0XHRcdDxzbG90IG5hbWU9XCJnRml4ZWRUb3BcIj48L3Nsb3Q+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOWFqOWxjyBsb2FkaW5nIC0tPlxyXG5cdFx0PGd1aS1wYWdlLWxvYWRpbmcgcmVmPVwiZ3VpcGFnZWxvYWRpbmdcIj48L2d1aS1wYWdlLWxvYWRpbmc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PiAgXHJcbi8vICNpZmRlZiBBUFAtTlZVRVxyXG5jb25zdCBkb20gPSB3ZWV4LnJlcXVpcmVNb2R1bGUoJ2RvbScpO1xyXG4vLyAjZW5kaWZcclxuZXhwb3J0IGRlZmF1bHR7XHJcblx0bmFtZSAgOiAnZ3VpLXBhZ2UnLFxyXG5cdHByb3BzIDoge1xyXG5cdFx0ZnVsbFBhZ2UgICAgICAgICAgIDoge3R5cGU6Qm9vbGVhbiwgZGVmYXVsdDpmYWxzZX0sXHJcblx0XHRjdXN0b21IZWFkZXIgICAgICAgOiB7dHlwZTpCb29sZWFuLCBkZWZhdWx0OmZhbHNlfSxcclxuXHRcdGhlYWRlclNldHMgICAgICAgICA6IHt0eXBlOk9iamVjdCAsIGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4ge2hlaWdodDo0NCwgekluZGV4OjEwMH19fSxcclxuXHRcdGhlYWRlclN0eWxlICAgICAgICA6IHt0eXBlOlN0cmluZyAsIGRlZmF1bHQ6J2JhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsnfSxcclxuXHRcdGlzSGVhZGVyU2l6ZWQgICAgICA6IHt0eXBlOkJvb2xlYW4sIGRlZmF1bHQ6dHJ1ZX0sXHJcblx0XHRzdGF0dXNCYXJTdHlsZSAgICAgOiB7dHlwZTpTdHJpbmcgLCBkZWZhdWx0OidiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7J30sXHJcblx0XHRjdXN0b21Gb290ZXIgICAgICAgOiB7dHlwZTpCb29sZWFuLCBkZWZhdWx0OmZhbHNlfSxcclxuXHRcdGZvb3RlclNldHMgICAgICAgICA6IHt0eXBlOk9iamVjdCAsIGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4ge2hlaWdodDoxMDAsIHpJbmRleDoxMDAsIGJnOidsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjRkZGRkZGLCNGRkZGRkYpJ319fSxcclxuXHRcdHBlbmRhbnRTZXRzICAgICAgICA6IHt0eXBlOk9iamVjdCAsIGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4ge3dpZHRoOicxMDBycHgnLCByaWdodDonMjVycHgnLCBib3R0b206JzEwMHJweCcsIHpJbmRleDoxMDB9O319LFxyXG5cdFx0aXNMb2FkaW5nICAgICAgICAgIDoge3R5cGU6Qm9vbGVhbiwgZGVmYXVsdDpmYWxzZX0sXHJcblx0XHRpc1N3aXRjaFBhZ2UgICAgICAgOiB7dHlwZTpCb29sZWFuLCBkZWZhdWx0OmZhbHNlfSxcclxuXHRcdGlwaG9uZVhCdXR0b21TdHlsZSA6IHt0eXBlOlN0cmluZywgIGRlZmF1bHQ6Jyd9LFxyXG5cdFx0aGVhZGVyU2l6ZWRTdHlsZSAgIDoge3R5cGU6U3RyaW5nLCAgZGVmYXVsdDonJ30sXHJcblx0XHRmaXhlZFRvcFpJbmRleCAgICAgOiB7dHlwZTpOdW1iZXIsICBkZWZhdWx0OjJ9LFxyXG5cdFx0Lyog5Yi35pawICovXHJcblx0XHRyZWZyZXNoICAgICAgICAgICAgOiB7dHlwZTpCb29sZWFuLCBkZWZhdWx0OmZhbHNlfSxcclxuXHRcdHJlZnJlc2hUZXh0ICAgICAgICA6IHt0eXBlOkFycmF5LCAgIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRyZXR1cm4gWyfnu6fnu63kuIvmi4nliLfmlrAnLCfmnb7lvIDmiYvmjIflvIDlp4vliLfmlrAnLCfmlbDmja7liLfmlrDkuK0nLCfmlbDmja7lt7LliLfmlrAnXTtcclxuXHRcdH19LFxyXG5cdFx0cmVmcmVzaEJnQ29sb3IgICAgIDoge3R5cGU6QXJyYXksICAgZGVmYXVsdDpmdW5jdGlvbiAoKSB7XHJcblx0XHRcdHJldHVybiBbJyNGRkZGRkYnLCcjRkZGRkZGJywnI0ZGRkZGRicsJyM2M0QyQkMnXTtcclxuXHRcdH19LFxyXG5cdFx0cmVmcmVzaENvbG9yICAgICAgIDoge3R5cGU6QXJyYXksICAgZGVmYXVsdDpmdW5jdGlvbiAoKSB7XHJcblx0XHRcdHJldHVybiBbJ3JnYmEoNjksIDkwLCAxMDAsIDAuNiknLCdyZ2JhKDY5LCA5MCwgMTAwLCAwLjYpJywnIzYzRDJCQycsJyNGRkZGRkYnXTtcclxuXHRcdH19LFxyXG5cdFx0cmVmcmVzaEZvbnRTaXplICAgIDoge3R5cGU6U3RyaW5nLCBkZWZhdWx0OicyNnJweCd9LFxyXG5cdFx0XHJcblx0XHQvKiDliqDovb3mm7TlpJogKi9cclxuXHRcdGxvYWRtb3JlICAgICAgICAgICA6IHt0eXBlOkJvb2xlYW4sIGRlZmF1bHQ6ZmFsc2V9LFxyXG5cdFx0bG9hZE1vcmVUZXh0ICAgICAgIDoge3R5cGU6QXJyYXksIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRyZXR1cm4gWycnLCfmlbDmja7liqDovb3kuK0nLCAn5bey5Yqg6L295YWo6YOo5pWw5o2uJywgJ+aaguaXoOaVsOaNriddOyBcclxuXHRcdH19LFxyXG5cdFx0bG9hZE1vcmVDb2xvciAgICAgIDoge3R5cGU6QXJyYXksIGRlZmF1bHQ6ZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRyZXR1cm4gWydyZ2JhKDY5LCA5MCwgMTAwLCAwLjYpJywgJ3JnYmEoNjksIDkwLCAxMDAsIDAuNiknLCAncmdiYSg2OSwgOTAsIDEwMCwgMC44KScsICdyZ2JhKDY5LCA5MCwgMTAwLCAwLjgpJ107XHJcblx0XHR9fSxcclxuXHRcdGxvYWRNb3JlU3RhdHVzICAgICA6IHt0eXBlOk51bWJlciwgZGVmYWx1dDowfSxcclxuXHRcdGxvYWRNb3JlRm9udFNpemUgICA6IHt0eXBlOlN0cmluZywgZGVmYXVsdDonMjZycHgnfSxcclxuXHRcdGFwaUxvYWRpbmdTdGF0dXMgICA6IHt0eXBlOkJvb2xlYW4sIGRlZmF1bHQ6ZmFsc2V9XHJcblx0fSxcclxuXHRkYXRhKCkge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Zm9vdGVySGVpZ2h0ICAgICAgICA6ICcxMDBycHgnLFxyXG5cdFx0XHRpcGhvbmVYQnV0dG9tSGVpZ2h0IDogJzBycHgnLFxyXG5cdFx0XHRzdGF0dXNCYXJIZWlnaHQgICAgIDogMCxcclxuXHRcdFx0Ly8gI2lmZGVmIEFQUC1OVlVFXHJcblx0XHRcdGFuaW1hdGVDb3VudCAgICAgICAgOiAwLFxyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0aGVhZGVyVGFwTnVtYmVyICAgICA6IDAsXHJcblx0XHRcdGZpeGVkVG9wICAgICAgICAgICAgOiAwLFxyXG5cdFx0XHRyZWZyZXNoQm9keUhlaWdodCAgIDogMCxcclxuXHRcdFx0bG9hZE1vcmVUaW1lciAgICAgICA6IG51bGwsXHJcblx0XHRcdGZpeGVkVG9wTWFyZ2luICAgICAgOiAwLFxyXG5cdFx0XHRzY3JvbGxUb3AgICAgICAgICAgIDogMCxcclxuXHRcdFx0c3Jjb2xsVGltZXIgICAgICAgICA6IG51bGxcclxuXHRcdH1cclxuXHR9LFxyXG5cdFxyXG5cdG1vdW50ZWQ6ZnVuY3Rpb24oKXtcclxuXHRcdGlmKHRoaXMuaXNMb2FkaW5nKXtcclxuXHRcdFx0dGhpcy5wYWdlTG9hZGluZ09wZW4oKTtcclxuXHRcdH1cclxuXHRcdC8vIOWIt+aWsOebuOWFs1xyXG5cdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRpZih0aGlzLnJlZnJlc2ggfHwgdGhpcy5sb2FkbW9yZSl7XHJcblx0XHRcdFx0dGhpcy5nZXREb21TaXplKCdndWlQYWdlQm9keScsIChyZXMpPT57XHJcblx0XHRcdFx0XHR0aGlzLnJlZnJlc2hCb2R5SGVpZ2h0ID0gcmVzLmhlaWdodDtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0RG9tU2l6ZSgnZ3VpUGFnZUZpeGVkVG9wJywgKHJlcyk9PntcclxuXHRcdFx0XHRcdFx0aWYocmVzLmhlaWdodCl7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoQm9keUhlaWdodCAtPSByZXMuaGVpZ2h0O1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZml4ZWRUb3BNYXJnaW4gICAgID0gcmVzLmhlaWdodDtcclxuXHRcdFx0XHRcdFx0fVx0XHRcdFx0XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9LDIwMCk7XHJcblx0fSxcclxuXHR3YXRjaDp7XHJcblx0XHRpc0xvYWRpbmcgOiBmdW5jdGlvbiAodmFsKSB7XG5cdFx0XHRpZih2YWwpe1xuXHRcdFx0XHR0aGlzLnBhZ2VMb2FkaW5nT3BlbigpO1xuXHRcdFx0fWVsc2V7XG5cdFx0XHRcdHRoaXMucGFnZUxvYWRpbmdDbG9zZSgpO1xuXHRcdFx0fVxuXHRcdH1cclxuXHR9LFxyXG5cdGNyZWF0ZWQ6ZnVuY3Rpb24oKXtcclxuXHRcdHRoaXMuZm9vdGVySGVpZ2h0ID0gdGhpcy5mb290ZXJTZXRzLmhlaWdodCArICdycHgnO1xyXG5cdFx0Ly8gI2lmZGVmIEg1XHJcblx0XHRpZih0aGlzLmN1c3RvbUhlYWRlcil7XHJcblx0XHRcdHRoaXMuZml4ZWRUb3AgPSB0aGlzLmhlYWRlclNldHMuaGVpZ2h0O1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHRoaXMuZml4ZWRUb3AgPSA0NDtcclxuXHRcdH1cclxuXHRcdC8vICNlbmRpZlxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0dmFyIHN5c3RlbSAgID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCk7XHJcblx0XHRcdGlmKHN5c3RlbS5tb2RlbCl7XHJcblx0XHRcdFx0c3lzdGVtLm1vZGVsID0gc3lzdGVtLm1vZGVsLnJlcGxhY2UoJyAnLCAnJyk7XHJcblx0XHRcdFx0c3lzdGVtLm1vZGVsID0gc3lzdGVtLm1vZGVsLnRvTG93ZXJDYXNlKCk7XHJcblx0XHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSBzeXN0ZW0uc3RhdHVzQmFySGVpZ2h0O1xyXG5cdFx0XHRcdHZhciByZXMxID0gc3lzdGVtLm1vZGVsLmluZGV4T2YoJ2lwaG9uZXgnKTtcclxuXHRcdFx0XHRpZihyZXMxID4gNSl7cmVzMSA9IC0xO31cclxuXHRcdFx0XHR2YXIgcmVzMiA9IHN5c3RlbS5tb2RlbC5pbmRleE9mKCdpcGhvbmUxJyk7XHJcblx0XHRcdFx0aWYocmVzMiA+IDUpe3JlczIgPSAtMTt9XHJcblx0XHRcdFx0aWYocmVzMSAhPSAtMSB8fCByZXMyICE9IC0xKXtcclxuXHRcdFx0XHRcdHRoaXMuaXBob25lWEJ1dHRvbUhlaWdodCA9ICc1MHJweCc7XHJcblx0XHRcdFx0XHR0aGlzLmZvb3RlckhlaWdodCAgICAgICAgPSAgKHRoaXMuZm9vdGVyU2V0cy5oZWlnaHQgKyA1MCApICsgJ3JweCc7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vICNpZmRlZiBNUC1BTElQQVlcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSAwO1xyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0Ly8gI2lmZGVmIEFQUC1QTFVTXHJcblx0XHRcdHRoaXMuaXBob25lWEJ1dHRvbUhlaWdodCA9ICcwcnB4JztcclxuXHRcdFx0dGhpcy5mb290ZXJIZWlnaHQgICAgICAgID0gIHRoaXMuZm9vdGVyU2V0cy5oZWlnaHQgKyAncnB4JztcclxuXHRcdFx0aWYocGx1cy5uYXZpZ2F0b3IuaXNGdWxsc2NyZWVuKCkpe1xyXG5cdFx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gMDtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0aWYodGhpcy5pc1N3aXRjaFBhZ2Upe1xyXG5cdFx0XHRcdHRoaXMuaXBob25lWEJ1dHRvbUhlaWdodCA9ICcwcnB4JztcclxuXHRcdFx0XHR0aGlzLmZvb3RlckhlaWdodCAgICAgICAgPSAgdGhpcy5mb290ZXJTZXRzLmhlaWdodCArICdycHgnO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vICNpZm5kZWYgSDVcclxuXHRcdFx0aWYodGhpcy5jdXN0b21IZWFkZXIpe1xyXG5cdFx0XHRcdHRoaXMuZml4ZWRUb3AgPSB0aGlzLmhlYWRlclNldHMuaGVpZ2h0ICsgdGhpcy5zdGF0dXNCYXJIZWlnaHQ7XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdHRoaXMuZml4ZWRUb3AgPSAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0fSBjYXRjaCAoZSl7cmV0dXJuIG51bGw7fVxyXG5cdH0sXHJcblx0bWV0aG9kczp7XG5cdFx0cGFnZUxvYWRpbmdPcGVuIDogZnVuY3Rpb24oKXtcblx0XHRcdHRoaXMuZ2V0UmVmcygnZ3VpcGFnZWxvYWRpbmcnLDAsKHJlZik9Pntcblx0XHRcdFx0dGhpcy4kcmVmcy5ndWlwYWdlbG9hZGluZy5vcGVuKCk7XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdHBhZ2VMb2FkaW5nQ2xvc2UgOiBmdW5jdGlvbigpe1xuXHRcdFx0dGhpcy5nZXRSZWZzKCdndWlwYWdlbG9hZGluZycsMCwocmVmKT0+e1xuXHRcdFx0XHRyZWYuY2xvc2UoKTtcblx0XHRcdH0pO1xuXHRcdH0sXHJcblx0XHQvLyDkuIvmi4nliLfmlrDnm7jlhbNcclxuXHRcdHRvdWNoc3RhcnQgOiBmdW5jdGlvbiAoZSl7XHJcblx0XHRcdGlmKCF0aGlzLnJlZnJlc2gpe3JldHVybiBmYWxzZTt9XHJcblx0XHRcdGlmKHRoaXMuYXBpTG9hZGluZ1N0YXR1cyl7cmV0dXJuIGZhbHNlO31cclxuXHRcdFx0dGhpcy4kcmVmcy5ndWlQYWdlUmVmcmVzaC50b3VjaHN0YXJ0KGUpO1xyXG5cdFx0fSxcclxuXHRcdHRvdWNobW92ZSA6IGZ1bmN0aW9uKGUpe1xyXG5cdFx0XHRpZighdGhpcy5yZWZyZXNoKXtyZXR1cm4gZmFsc2U7fVxyXG5cdFx0XHRpZih0aGlzLmFwaUxvYWRpbmdTdGF0dXMpe3JldHVybiBmYWxzZTt9XHJcblx0XHRcdHRoaXMuJHJlZnMuZ3VpUGFnZVJlZnJlc2gudG91Y2htb3ZlKGUpO1xyXG5cdFx0fSxcclxuXHRcdHRvdWNoZW5kIDogZnVuY3Rpb24gKGUpIHtcclxuXHRcdFx0aWYoIXRoaXMucmVmcmVzaCl7cmV0dXJuIGZhbHNlO31cclxuXHRcdFx0aWYodGhpcy5hcGlMb2FkaW5nU3RhdHVzKXtyZXR1cm4gZmFsc2U7fVxyXG5cdFx0XHR0aGlzLiRyZWZzLmd1aVBhZ2VSZWZyZXNoLnRvdWNoZW5kKGUpO1xyXG5cdFx0fSxcclxuXHRcdHNjcm9sbDpmdW5jdGlvbihlKXtcclxuXHRcdFx0aWYodGhpcy5zcmNvbGxUaW1lciAhPSBudWxsKXtcclxuXHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy5zcmNvbGxUaW1lcik7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5zcmNvbGxUaW1lciA9IHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHR0aGlzLiRyZWZzLmd1aVBhZ2VSZWZyZXNoLnNjcm9sbChlKTtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KCdzY3JvbGwnLCBlKTtcclxuXHRcdFx0XHR0aGlzLnNjcm9sbFRvcCA9IGUuZGV0YWlsLnNjcm9sbFRvcDtcclxuXHRcdFx0fSwgMTAwKTtcclxuXHRcdH0sXHJcblx0XHRzZXRTY3JvbGxUb3AgOiBmdW5jdGlvbiAoc2Nyb2xsVG9wKXtcclxuXHRcdFx0dGhpcy5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XHJcblx0XHR9LFxyXG5cdFx0ZW5kUmVsb2FkIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy4kcmVmcy5ndWlQYWdlUmVmcmVzaC5lbmRSZWxvYWQoKTtcclxuXHRcdH0sXHJcblx0XHRyZWxvYWQgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHRpZih0aGlzLmFwaUxvYWRpbmdTdGF0dXMpe3JldHVybiBmYWxzZTt9XHJcblx0XHRcdHRoaXMuJGVtaXQoJ3JlbG9hZCcpO1xyXG5cdFx0XHRpZih0aGlzLmxvYWRtb3JlKXt0aGlzLiRyZWZzLmd1aXBhZ2Vsb2FkbW9yZS5zdG9wbG9hZG1vcmUoKTt9XHJcblx0XHR9LFxyXG5cdFx0Ly8g6I635Y+W5YWD57Sg5bC65a+4XHJcblx0XHRnZXREb21TaXplIDogZnVuY3Rpb24oZG9tSURPclJlZiwgZnVuLCBjb3VudCl7XHJcblx0XHRcdGlmKCFjb3VudCl7Y291bnQgPSAxO31cclxuXHRcdFx0aWYoY291bnQgPj0gNTApe1xyXG5cdFx0XHRcdGZ1bih7d2lkdGg6MCwgaGVpZ2h0OjB9KTtcclxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gI2lmbmRlZiBBUFAtTlZVRVxyXG5cdFx0XHR1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLmluKHRoaXMpLnNlbGVjdCgnIycrZG9tSURPclJlZikuYm91bmRpbmdDbGllbnRSZWN0KCkuZXhlYygocmVzKT0+e1xyXG5cdFx0XHRcdGlmKHJlc1swXSA9PSBudWxsKXtcclxuXHRcdFx0XHRcdGNvdW50ICs9IDE7XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57dGhpcy5nZXREb21TaXplKGRvbUlET3JSZWYsIGZ1biwgY291bnQpO30sIDUwKTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdGZ1bihyZXNbMF0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0Ly8gI2lmZGVmIEFQUC1OVlVFXHJcblx0XHRcdHZhciBlbCA9IHRoaXMuJHJlZnNbZG9tSURPclJlZl07XHJcblx0XHRcdGRvbS5nZXRDb21wb25lbnRSZWN0KGVsLCAocmVzKSA9PiB7XHJcblx0XHRcdFx0aWYocmVzLnJlc3VsdCA9PSBmYWxzZSl7XHJcblx0XHRcdFx0XHRjb3VudCArPSAxO1xyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKT0+e3RoaXMuZ2V0RG9tU2l6ZShkb21JRE9yUmVmLCBmdW4sIGNvdW50KTt9LCA1MCk7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRmdW4ocmVzLnNpemUpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0c3RvcGZ1biAgIDogZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTsgcmV0dXJuIG51bGw7fSxcclxuXHRcdGhlYWRlclRhcCA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdHRoaXMuaGVhZGVyVGFwTnVtYmVyICsrO1xyXG5cdFx0XHRpZih0aGlzLmhlYWRlclRhcE51bWJlciA+PSAyKXtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KCdnb3RvVG9wJyk7XHJcblx0XHRcdFx0dGhpcy5oZWFkZXJUYXBOdW1iZXIgPSAwO1xyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57dGhpcy5oZWFkZXJUYXBOdW1iZXIgPSAwO30sIDEwMDApO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Z2V0UmVmcyA6IGZ1bmN0aW9uKHJlZiwgY291bnQsIGZ1bil7XG5cdFx0XHRpZihjb3VudCA+PSA1MCl7XG5cdFx0XHRcdGZ1bih0aGlzLiRyZWZzW3JlZl0pO1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XHJcblx0XHRcdHZhciByZWZSZXR1cm4gPSB0aGlzLiRyZWZzW3JlZl07XG5cdFx0XHRpZihyZWZSZXR1cm4pe1xuXHRcdFx0XHQvLyAjaWZkZWYgQVBQLU5WVUVcblx0XHRcdFx0ZnVuKHJlZlJldHVybik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdFx0Ly8gI2VuZGlmXG5cdFx0XHRcdC8vICNpZm5kZWYgQVBQLU5WVUVcblx0XHRcdFx0aWYocmVmUmV0dXJuLl9kYXRhKXtcblx0XHRcdFx0XHRmdW4ocmVmUmV0dXJuKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gI2VuZGlmXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRjb3VudCsrO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHRcdHRoaXMuZ2V0UmVmcyhyZWYsIGNvdW50LCBmdW4pO1xyXG5cdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRsb2FkbW9yZWZ1biA6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0aWYoIXRoaXMubG9hZG1vcmUpe3JldHVybiBmYWxzZTt9XHJcblx0XHRcdGlmKHRoaXMuYXBpTG9hZGluZ1N0YXR1cyl7cmV0dXJuIGZhbHNlO31cclxuXHRcdFx0Ly8g6I635Y+W5Yqg6L2957uE5Lu254q25oCB55yL5LiA5LiL5piv5ZCm6L+Y6IO957un57ut5Yqg6L29XHJcblx0XHRcdC8vIOS/neivgeinpuW6leWPquaJp+ihjOS4gOasoeWKoOi9vVxyXG5cdFx0XHRpZih0aGlzLmxvYWRNb3JlVGltZXIgIT0gbnVsbCl7Y2xlYXJUaW1lb3V0KHRoaXMubG9hZE1vcmVUaW1lcik7fVxyXG5cdFx0XHR0aGlzLmxvYWRNb3JlVGltZXIgPSAgc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dmFyIHN0YXR1cyA9IHRoaXMuJHJlZnMuZ3VpcGFnZWxvYWRtb3JlLmxvYWRNb3JlU3RhdHVzO1xyXG5cdFx0XHRcdGlmKHN0YXR1cyAhPSAwKXtyZXR1cm4gbnVsbDt9XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5ndWlwYWdlbG9hZG1vcmUubG9hZGluZygpO1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2xvYWRtb3JlZnVuJyk7XHJcblx0XHRcdH0sIDgwKTtcclxuXHRcdH0sXHJcblx0XHRzdG9wbG9hZG1vcmUgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHR0aGlzLiRyZWZzLmd1aXBhZ2Vsb2FkbW9yZS5zdG9wbG9hZG1vcmUoKTtcclxuXHRcdH0sXHJcblx0XHRub21vcmUgOiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdHRoaXMuJHJlZnMuZ3VpcGFnZWxvYWRtb3JlLm5vbW9yZSgpO1xyXG5cdFx0fSxcclxuXHRcdGxvYWRFbXB0eSA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdHRoaXMuJHJlZnMuZ3VpcGFnZWxvYWRtb3JlLmVtcHR5KCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG4uZ3VpLXNib2R5e3dpZHRoOjc1MHJweDt9XHJcbi5ndWktcGFnZS1sb2FkaW5ne3dpZHRoOjc1MHJweDsgcG9zaXRpb246Zml4ZWQ7IGxlZnQ6MDsgdG9wOjA7IGJvdHRvbTowOyBmbGV4OjE7IHotaW5kZXg6OTk5OTk7fVxyXG4uZ3VpLXBhZ2UtbG9hZGluZy1wb2ludHN7d2lkdGg6MjBycHg7IGhlaWdodDoyMHJweDsgYm9yZGVyLXJhZGl1czo1MHJweDsgbWFyZ2luOjEwcnB4O31cclxuLyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG4uZ3VpLXNib2R5e21pbi1oZWlnaHQ6Y2FsYygxMDB2aCAtIHZhcigtLXdpbmRvdy10b3ApIC0gdmFyKC0td2luZG93LWJvdHRvbSkpO31cclxuQGtleWZyYW1lcyBwYWdlTG9hZGluZzF7MCUge29wYWNpdHk6MC41OyB0cmFuc2Zvcm06c2NhbGUoMSk7fSA0MCUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnNjYWxlKDEuNSk7fSAgNjAle29wYWNpdHk6MC41OyB0cmFuc2Zvcm06c2NhbGUoMSk7fX1cclxuQGtleWZyYW1lcyBwYWdlTG9hZGluZzJ7MjAlIHtvcGFjaXR5OjAuNTsgdHJhbnNmb3JtOnNjYWxlKDEpO30gNjAlIHtvcGFjaXR5OjE7IHRyYW5zZm9ybTpzY2FsZSgxLjUpO30gIDgwJSB7b3BhY2l0eTowLjU7IHRyYW5zZm9ybTpzY2FsZSgxKTt9fVxyXG5Aa2V5ZnJhbWVzIHBhZ2VMb2FkaW5nM3s0MCUge29wYWNpdHk6MC41OyB0cmFuc2Zvcm06c2NhbGUoMSk7fSA4MCUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnNjYWxlKDEuNSk7fSAgMTAwJSB7b3BhY2l0eTowLjU7IHRyYW5zZm9ybTpzY2FsZSgxKTt9fVxyXG4uYW5pbWF0ZTF7YW5pbWF0aW9uOnBhZ2VMb2FkaW5nMSAxLjJzIGluZmluaXRlIGxpbmVhcjt9XHJcbi5hbmltYXRlMnthbmltYXRpb246cGFnZUxvYWRpbmcyIDEuMnMgaW5maW5pdGUgbGluZWFyO31cclxuLmFuaW1hdGUze2FuaW1hdGlvbjpwYWdlTG9hZGluZzMgMS4ycyBpbmZpbml0ZSBsaW5lYXI7fVxyXG4vKiAjZW5kaWYgKi9cclxuLmd1aS1oZWFkZXJ7d2lkdGg6NzUwcnB4OyBwb3NpdGlvbjpmaXhlZDsgbGVmdDowOyB0b3A6MDt9XHJcbi5ndWktcGFnZS1mb290ZXJ7d2lkdGg6NzUwcnB4OyBwb3NpdGlvbjpmaXhlZDsgbGVmdDowOyBib3R0b206MDt9XHJcbi8qICNpZmRlZiBINSAqL1xyXG4uZ3VpLXN3aXRjaC1wYWdlLWZvb3Rlcntib3R0b206NTBweDt9XHJcbi8qICNlbmRpZiAqL1xyXG4uZ3VpLXBhZ2Utc3RhdHVzLWJhcnt3aWR0aDo3NTBycHg7fVxyXG4uZ3VpLXBhZ2UtcGVuZGFudHtwb3NpdGlvbjpmaXhlZDt9XHJcblxyXG4uZ3VpLXBhZ2UtZml4ZWQtdG9we3Bvc2l0aW9uOmZpeGVkOyB0b3A6NDRweDsgbGVmdDowcHg7ICB3aWR0aDo3NTBycHg7IHotaW5kZXg6OTk5O31cclxuLmd1aS1wYWdlLWxvYWRtb3Jle3BhZGRpbmctYm90dG9tOjMwcnB4O31cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///39\n"); + +/***/ }), +/* 40 */ +/*!****************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/l-circle.vue ***! + \****************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./l-circle.vue?vue&type=template&id=48f70002& */ 41);\n/* harmony import */ var _l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./l-circle.vue?vue&type=script&lang=ts& */ 43);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"uni_modules/lime-circle/components/l-circle/l-circle.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUg7QUFDckg7QUFDNEQ7QUFDTDs7O0FBR3ZEO0FBQ2dOO0FBQ2hOLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLDhFQUFNO0FBQ1IsRUFBRSxtRkFBTTtBQUNSLEVBQUUsNEZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsdUZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2wtY2lyY2xlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00OGY3MDAwMiZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2wtY2lyY2xlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz10cyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vbC1jaXJjbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPXRzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInVuaV9tb2R1bGVzL2xpbWUtY2lyY2xlL2NvbXBvbmVudHMvbC1jaXJjbGUvbC1jaXJjbGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///40\n"); + +/***/ }), +/* 41 */ +/*!***********************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/l-circle.vue?vue&type=template&id=48f70002& ***! + \***********************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./l-circle.vue?vue&type=template&id=48f70002& */ 42); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_template_id_48f70002___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 42 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/l-circle.vue?vue&type=template&id=48f70002& ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s(0, "sc", "l-circle"), + class: _vm._$s(0, "c", [_vm.classes]), + style: _vm._$s(0, "s", [_vm.styles]), + attrs: { _i: 0 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(1, "sc", "l-circle__trail"), + style: _vm._$s(1, "s", [_vm.trailStyles]), + attrs: { _i: 1 }, + }, + [ + _c("text", { + staticClass: _vm._$s(2, "sc", "cap start"), + attrs: { _i: 2 }, + }), + _c("text", { + staticClass: _vm._$s(3, "sc", "cap end"), + attrs: { _i: 3 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(4, "sc", "l-circle__stroke"), + style: _vm._$s(4, "s", [_vm.strokeStyles]), + attrs: { _i: 4 }, + }, + [ + _vm._$s(5, "i", _vm.current) + ? _c("text", { + staticClass: _vm._$s(5, "sc", "cap start"), + attrs: { _i: 5 }, + }) + : _vm._e(), + _vm._$s(6, "i", _vm.current) + ? _c("text", { + staticClass: _vm._$s(6, "sc", "cap end"), + attrs: { _i: 6 }, + }) + : _vm._e(), + ] + ), + _c( + "view", + { staticClass: _vm._$s(7, "sc", "l-circle__inner"), attrs: { _i: 7 } }, + [_vm._t("default", null, { _i: 8 })], + 2 + ), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 43 */ +/*!*****************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/l-circle.vue?vue&type=script&lang=ts& ***! + \*****************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/ts-loader??ref--8-1!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-2!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./l-circle.vue?vue&type=script&lang=ts& */ 44);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_ts_loader_index_js_ref_8_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_l_circle_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9sLWNpcmNsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9dHMmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXcxQixDQUFnQiwwd0JBQUcsRUFBQyIsImZpbGUiOiI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy90cy1sb2FkZXIvaW5kZXguanM/P3JlZi0tOC0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS04LTIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbC1jaXJjbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPXRzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvdHMtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTgtMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tOC0yIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2wtY2lyY2xlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz10cyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///43\n"); + +/***/ }), +/* 44 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--8-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/l-circle.vue?vue&type=script&lang=ts& ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vue = __webpack_require__(/*! ./vue */ 45);\nvar _utils = __webpack_require__(/*! ./utils */ 49);\nvar _useTransition = __webpack_require__(/*! ./useTransition */ 50);\nvar _props = _interopRequireDefault(__webpack_require__(/*! ./props */ 56));\n// @ts-nocheck\n// import { toPx, addUnit } from '@/uni_modules/lime-ui';\n// import { useTransition } from '@/uni_modules/lime-use';\nvar _default = (0, _vue.defineComponent)({\n name: 'l-circle',\n props: _props.default,\n emits: ['update:current'],\n setup: function setup(props, _ref) {\n var emit = _ref.emit;\n var RADIAN = Math.PI / 180;\n var ratio = (0, _vue.computed)(function () {\n return 100 / props.max;\n });\n var percent = (0, _vue.ref)(0);\n var angle = (0, _vue.computed)(function () {\n return props.dashborad ? 135 : -90;\n });\n var isShowCap = (0, _vue.computed)(function () {\n var dashborad = props.dashborad;\n return current.value > 0 && (dashborad ? true : current.value < props.max);\n });\n var offsetTop = (0, _vue.ref)(0);\n var strokeEndCap = (0, _vue.reactive)({\n x: '0',\n y: '0'\n });\n var styles = (0, _vue.computed)(function () {\n return {\n width: props.size,\n height: props.size,\n '--l-circle-offset-top': offsetTop.value\n };\n });\n var classes = (0, _vue.computed)(function () {\n var clockwise = props.clockwise,\n lineCap = props.lineCap;\n return (0, _defineProperty2.default)({\n clockwise: clockwise\n }, \"is-\".concat(lineCap), lineCap);\n });\n var trailStyles = (0, _vue.computed)(function () {\n var size = props.size,\n trailWidth = props.trailWidth,\n trailColor = props.trailColor,\n dashborad = props.dashborad;\n var circle = getCircle(size, trailWidth);\n var mask = \"radial-gradient(transparent \".concat(circle.r - 0.5, \"px, #000 \").concat(circle.r, \"px)\");\n var background = '';\n var capStart = {\n x: '',\n y: ''\n };\n var capEnd = capStart;\n if (dashborad) {\n background = \"conic-gradient(from 225deg, \".concat(trailColor, \" 0%, \").concat(trailColor, \" 75%, transparent 75%, transparent 100%)\");\n capStart = calcPosition(circle.c, 135);\n capEnd = calcPosition(circle.c, 45);\n offsetTop.value = ((0, _utils.toPx)(size) - ((0, _utils.toPx)(capStart.y) + (0, _utils.toPx)(trailWidth) / 2)) / 4 + 'px';\n } else {\n background = \"\".concat(trailColor);\n }\n return {\n color: trailColor,\n mask: mask,\n '-webkit-mask': mask,\n background: background,\n '--l-circle-trail-cap-start-x': capStart.x,\n '--l-circle-trail-cap-start-y': capStart.y,\n '--l-circle-trail-cap-end-x': capEnd.x,\n '--l-circle-trail-cap-end-y': capEnd.y,\n // '--l-circle-trail-cap-color': trailColor,\n '--l-circle-trail-cap-size': (0, _utils.addUnit)(trailWidth)\n };\n });\n var strokeStyles = (0, _vue.computed)(function () {\n var size = props.size,\n strokeWidth = props.strokeWidth,\n strokeColor = props.strokeColor,\n duration = props.duration,\n dashborad = props.dashborad,\n max = props.max;\n var circle = getCircle(size, strokeWidth);\n var percent = dashborad ? current.value * 0.75 * ratio.value : current.value * ratio.value;\n var mask = \"radial-gradient(transparent \".concat(circle.r - 0.5, \"px, #000 \").concat(circle.r, \"px)\");\n var cap = calcPosition(circle.c, angle.value);\n var startColor = '';\n var endColor = '';\n var gradient = \"conic-gradient(\".concat(dashborad ? 'from 225deg,' : '', \" transparent 0%,\");\n var gradientEnd = \"transparent var(--l-circle-percent), transparent \".concat(dashborad ? '75%' : '100%', \")\");\n if (typeof strokeColor == 'string') {\n gradient += \" \".concat(strokeColor, \" 0%, \").concat(strokeColor, \" var(--l-circle-percent), \").concat(gradientEnd);\n startColor = endColor = strokeColor;\n } else {\n var len = strokeColor.length;\n for (var i = 0; i < len; i++) {\n var color = strokeColor[i];\n if (i === 0) {\n gradient += \"\".concat(color, \" 0%,\");\n startColor = color;\n } else {\n gradient += \"\".concat(color, \" calc(var(--l-circle-percent) * \").concat((i + 1) / len, \"),\");\n }\n if (i == len - 1) {\n endColor = color;\n }\n }\n gradient += gradientEnd;\n }\n var a = percent / ratio.value == max ? percent + 0.1 : percent;\n return {\n mask: mask,\n '-webkit-mask': mask,\n background: gradient,\n // transition: `--l-circle-percent ${duration}ms`,\n '--l-circle-percent': \"\".concat(percent / ratio.value == max ? percent + 0.1 : percent, \"%\"),\n '--l-circle-stroke-cap-start-color': startColor,\n '--l-circle-stroke-cap-end-color': endColor,\n '--l-circle-stroke-cap-start-x': cap.x,\n '--l-circle-stroke-cap-start-y': cap.y,\n '--l-circle-stroke-cap-end-x': strokeEndCap.x,\n '--l-circle-stroke-cap-end-y': strokeEndCap.y,\n '--l-circle-stroke-cap-size': (0, _utils.addUnit)(strokeWidth),\n '--l-circle-stroke-cap-opacity': isShowCap.value ? 1 : 0\n };\n });\n var calcStrokeCap = function calcStrokeCap() {\n var size = props.size,\n strokeWidth = props.strokeWidth,\n dashborad = props.dashborad,\n max = props.max;\n var circle = getCircle(size, strokeWidth);\n var arc = dashborad ? 180 / 2 * 3 : 180 * 2;\n var step = arc / max * current.value + angle.value;\n var cap = calcPosition(circle.c, step);\n strokeEndCap.x = cap.x;\n strokeEndCap.y = cap.y;\n };\n var calcPosition = function calcPosition(r, angle) {\n return {\n x: r + r * Math.cos(angle * RADIAN) + 'px',\n y: r + r * Math.sin(angle * RADIAN) + 'px'\n };\n };\n var getCircle = function getCircle(size, lineWidth) {\n var s = (0, _utils.toPx)(size);\n var w = (0, _utils.toPx)(lineWidth);\n var c = (s - w) / 2;\n var r = s / 2 - w;\n return {\n s: s,\n w: w,\n c: c,\n r: r\n };\n };\n var current = (0, _useTransition.useTransition)(percent, {\n duration: props.duration\n });\n (0, _vue.watch)(function () {\n return props.percent;\n }, function () {\n percent.value = props.percent;\n }, {\n immediate: true\n });\n (0, _vue.watch)(current, function (v) {\n calcStrokeCap();\n emit('update:current', v.toFixed(2));\n });\n return {\n classes: classes,\n styles: styles,\n trailStyles: trailStyles,\n strokeStyles: strokeStyles,\n current: current\n };\n }\n});\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9sLWNpcmNsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9dHMmIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsIkNpcmNsZVByb3BzIiwiZW1pdHMiLCJzZXR1cCIsImVtaXQiLCJSQURJQU4iLCJNYXRoIiwiUEkiLCJyYXRpbyIsIm1heCIsInBlcmNlbnQiLCJhbmdsZSIsImRhc2hib3JhZCIsImlzU2hvd0NhcCIsImN1cnJlbnQiLCJ2YWx1ZSIsIm9mZnNldFRvcCIsInN0cm9rZUVuZENhcCIsIngiLCJ5Iiwic3R5bGVzIiwid2lkdGgiLCJzaXplIiwiaGVpZ2h0IiwiY2xhc3NlcyIsImNsb2Nrd2lzZSIsImxpbmVDYXAiLCJ0cmFpbFN0eWxlcyIsInRyYWlsV2lkdGgiLCJ0cmFpbENvbG9yIiwiY2lyY2xlIiwiZ2V0Q2lyY2xlIiwibWFzayIsInIiLCJiYWNrZ3JvdW5kIiwiY2FwU3RhcnQiLCJjYXBFbmQiLCJjYWxjUG9zaXRpb24iLCJjIiwiY29sb3IiLCJzdHJva2VTdHlsZXMiLCJzdHJva2VXaWR0aCIsInN0cm9rZUNvbG9yIiwiZHVyYXRpb24iLCJjYXAiLCJzdGFydENvbG9yIiwiZW5kQ29sb3IiLCJncmFkaWVudCIsImdyYWRpZW50RW5kIiwibGVuIiwibGVuZ3RoIiwiaSIsImEiLCJjYWxjU3Ryb2tlQ2FwIiwiYXJjIiwic3RlcCIsImNvcyIsInNpbiIsImxpbmVXaWR0aCIsInMiLCJ3IiwiaW1tZWRpYXRlIiwidiIsInRvRml4ZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBd0JBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFLQTtBQUNBO0FBQUEsZUFJZSx3QkFBZSxFQUFDO0VBQzlCQSxJQUFJLEVBQUUsVUFBVTtFQUNoQkMsS0FBSyxFQUFFQyxjQUFXO0VBQ2xCQyxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztFQUN6QkMsS0FBSyxpQkFBQ0gsS0FBSyxRQUFRO0lBQUEsSUFBTEksSUFBSSxRQUFKQSxJQUFJO0lBQ2pCLElBQU1DLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxFQUFFLEdBQUcsR0FBRztJQUM1QixJQUFNQyxLQUFLLEdBQUcsaUJBQVEsRUFBQztNQUFBLE9BQU0sR0FBRyxHQUFHUixLQUFLLENBQUNTLEdBQUc7SUFBQSxFQUFDO0lBQzdDLElBQU1DLE9BQU8sR0FBRyxZQUFHLEVBQVMsQ0FBQyxDQUFDO0lBQzlCLElBQU1DLEtBQUssR0FBRyxpQkFBUSxFQUFDO01BQUEsT0FBTVgsS0FBSyxDQUFDWSxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRTtJQUFBLEVBQUM7SUFDekQsSUFBTUMsU0FBUyxHQUFHLGlCQUFRLEVBQUMsWUFBSztNQUMvQixJQUFRRCxTQUFTLEdBQUtaLEtBQUssQ0FBbkJZLFNBQVM7TUFDakIsT0FBT0UsT0FBTyxDQUFDQyxLQUFLLEdBQUcsQ0FBQyxLQUFLSCxTQUFTLEdBQUcsSUFBSSxHQUFHRSxPQUFPLENBQUNDLEtBQUssR0FBR2YsS0FBSyxDQUFDUyxHQUFHLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0lBRUYsSUFBTU8sU0FBUyxHQUFHLFlBQUcsRUFBa0IsQ0FBQyxDQUFDO0lBQ3pDLElBQU1DLFlBQVksR0FBRyxpQkFBUSxFQUFDO01BQzdCQyxDQUFDLEVBQUUsR0FBRztNQUNOQyxDQUFDLEVBQUU7S0FDSCxDQUFDO0lBRUYsSUFBTUMsTUFBTSxHQUFHLGlCQUFRLEVBQUM7TUFBQSxPQUFPO1FBQzlCQyxLQUFLLEVBQUVyQixLQUFLLENBQUNzQixJQUFJO1FBQ2pCQyxNQUFNLEVBQUV2QixLQUFLLENBQUNzQixJQUFJO1FBS2xCLHVCQUF1QixFQUFFTixTQUFTLENBQUNEO09BRW5DO0lBQUEsQ0FBQyxDQUFDO0lBQ0gsSUFBTVMsT0FBTyxHQUFHLGlCQUFRLEVBQUMsWUFBSztNQUM3QixJQUFRQyxTQUFTLEdBQWN6QixLQUFLLENBQTVCeUIsU0FBUztRQUFFQyxPQUFPLEdBQUsxQixLQUFLLENBQWpCMEIsT0FBTztNQUMxQjtRQUNDRCxTQUFTLEVBQVRBO01BQVMsZ0JBQ0ZDLE9BQU8sR0FBS0EsT0FBTztJQUU1QixDQUFDLENBQUM7SUFDRixJQUFNQyxXQUFXLEdBQUcsaUJBQVEsRUFBQyxZQUFLO01BQ2pDLElBQVFMLElBQUksR0FBd0N0QixLQUFLLENBQWpEc0IsSUFBSTtRQUFFTSxVQUFVLEdBQTRCNUIsS0FBSyxDQUEzQzRCLFVBQVU7UUFBRUMsVUFBVSxHQUFnQjdCLEtBQUssQ0FBL0I2QixVQUFVO1FBQUVqQixTQUFTLEdBQUtaLEtBQUssQ0FBbkJZLFNBQVM7TUFDL0MsSUFBTWtCLE1BQU0sR0FBR0MsU0FBUyxDQUFDVCxJQUFJLEVBQUVNLFVBQVUsQ0FBQztNQUMxQyxJQUFNSSxJQUFJLHlDQUFrQ0YsTUFBTSxDQUFDRyxDQUFDLEdBQUcsR0FBRyxzQkFBWUgsTUFBTSxDQUFDRyxDQUFDLFFBQUs7TUFFbkYsSUFBSUMsVUFBVSxHQUFHLEVBQUU7TUFDbkIsSUFBSUMsUUFBUSxHQUFHO1FBQUVqQixDQUFDLEVBQUUsRUFBRTtRQUFFQyxDQUFDLEVBQUU7TUFBRSxDQUFFO01BQy9CLElBQUlpQixNQUFNLEdBQUdELFFBQVE7TUFFckIsSUFBSXZCLFNBQVMsRUFBRTtRQUNkc0IsVUFBVSx5Q0FBa0NMLFVBQVUsa0JBQVFBLFVBQVUsNkNBQTBDO1FBQ2xITSxRQUFRLEdBQUdFLFlBQVksQ0FBQ1AsTUFBTSxDQUFDUSxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBQ3RDRixNQUFNLEdBQUdDLFlBQVksQ0FBQ1AsTUFBTSxDQUFDUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ25DdEIsU0FBUyxDQUFDRCxLQUFLLEdBQUcsQ0FBQyxlQUFJLEVBQUNPLElBQUksQ0FBQyxJQUFJLGVBQUksRUFBQ2EsUUFBUSxDQUFDaEIsQ0FBQyxDQUFDLEdBQUcsZUFBSSxFQUFDUyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTtPQUNyRixNQUFNO1FBQ05NLFVBQVUsYUFBTUwsVUFBVSxDQUFFOztNQUc3QixPQUFPO1FBQ05VLEtBQUssRUFBRVYsVUFBVTtRQUNqQkcsSUFBSSxFQUFKQSxJQUFJO1FBQ0osY0FBYyxFQUFFQSxJQUFJO1FBQ3BCRSxVQUFVLEVBQVZBLFVBQVU7UUFDViw4QkFBOEIsRUFBRUMsUUFBUSxDQUFDakIsQ0FBQztRQUMxQyw4QkFBOEIsRUFBRWlCLFFBQVEsQ0FBQ2hCLENBQUM7UUFDMUMsNEJBQTRCLEVBQUVpQixNQUFNLENBQUNsQixDQUFDO1FBQ3RDLDRCQUE0QixFQUFFa0IsTUFBTSxDQUFDakIsQ0FBQztRQUN0QztRQUNBLDJCQUEyQixFQUFFLGtCQUFPLEVBQUNTLFVBQVU7T0FDL0M7SUFDRixDQUFDLENBQUM7SUFDRixJQUFNWSxZQUFZLEdBQUcsaUJBQVEsRUFBQyxZQUFLO01BQ2xDLElBQVFsQixJQUFJLEdBQXlEdEIsS0FBSyxDQUFsRXNCLElBQUk7UUFBRW1CLFdBQVcsR0FBNEN6QyxLQUFLLENBQTVEeUMsV0FBVztRQUFFQyxXQUFXLEdBQStCMUMsS0FBSyxDQUEvQzBDLFdBQVc7UUFBRUMsUUFBUSxHQUFxQjNDLEtBQUssQ0FBbEMyQyxRQUFRO1FBQUUvQixTQUFTLEdBQVVaLEtBQUssQ0FBeEJZLFNBQVM7UUFBRUgsR0FBRyxHQUFLVCxLQUFLLENBQWJTLEdBQUc7TUFDaEUsSUFBTXFCLE1BQU0sR0FBR0MsU0FBUyxDQUFDVCxJQUFJLEVBQUVtQixXQUFXLENBQUM7TUFDM0MsSUFBTS9CLE9BQU8sR0FBR0UsU0FBUyxHQUFHRSxPQUFPLENBQUNDLEtBQUssR0FBRyxJQUFJLEdBQUdQLEtBQUssQ0FBQ08sS0FBSyxHQUFHRCxPQUFPLENBQUNDLEtBQUssR0FBR1AsS0FBSyxDQUFDTyxLQUFLO01BQzVGLElBQU1pQixJQUFJLHlDQUFrQ0YsTUFBTSxDQUFDRyxDQUFDLEdBQUcsR0FBRyxzQkFBWUgsTUFBTSxDQUFDRyxDQUFDLFFBQUs7TUFDbkYsSUFBTVcsR0FBRyxHQUFHUCxZQUFZLENBQUNQLE1BQU0sQ0FBQ1EsQ0FBQyxFQUFFM0IsS0FBSyxDQUFDSSxLQUFLLENBQUM7TUFFL0MsSUFBSThCLFVBQVUsR0FBRyxFQUFFO01BQ25CLElBQUlDLFFBQVEsR0FBRyxFQUFFO01BRWpCLElBQUlDLFFBQVEsNEJBQXFCbkMsU0FBUyxHQUFHLGNBQWMsR0FBRyxFQUFFLHFCQUFrQjtNQUNsRixJQUFJb0MsV0FBVyw4REFBdURwQyxTQUFTLEdBQUcsS0FBSyxHQUFHLE1BQU0sTUFBRztNQUVuRyxJQUFJLE9BQU84QixXQUFXLElBQUksUUFBUSxFQUFFO1FBQ25DSyxRQUFRLGVBQVFMLFdBQVcsa0JBQVFBLFdBQVcsdUNBQTZCTSxXQUFXLENBQUU7UUFDeEZILFVBQVUsR0FBR0MsUUFBUSxHQUFHSixXQUFXO09BQ25DLE1BQU07UUFDTixJQUFNTyxHQUFHLEdBQUdQLFdBQVcsQ0FBQ1EsTUFBTTtRQUM5QixLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0YsR0FBRyxFQUFFRSxDQUFDLEVBQUUsRUFBRTtVQUM3QixJQUFNWixLQUFLLEdBQUdHLFdBQVcsQ0FBQ1MsQ0FBQyxDQUFXO1VBQ3RDLElBQUlBLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWkosUUFBUSxjQUFPUixLQUFLLFNBQU07WUFDMUJNLFVBQVUsR0FBR04sS0FBSztXQUNsQixNQUFNO1lBQ05RLFFBQVEsY0FBT1IsS0FBSyw2Q0FBbUMsQ0FBQ1ksQ0FBQyxHQUFHLENBQUMsSUFBSUYsR0FBRyxPQUFJOztVQUV6RSxJQUFJRSxDQUFDLElBQUlGLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDakJILFFBQVEsR0FBR1AsS0FBSzs7O1FBR2xCUSxRQUFRLElBQUlDLFdBQVc7O01BRXhCLElBQU1JLENBQUMsR0FBRzFDLE9BQU8sR0FBR0YsS0FBSyxDQUFDTyxLQUFLLElBQUlOLEdBQUcsR0FBR0MsT0FBTyxHQUFHLEdBQUcsR0FBR0EsT0FBTztNQUNoRSxPQUFPO1FBQ05zQixJQUFJLEVBQUpBLElBQUk7UUFDSixjQUFjLEVBQUVBLElBQUk7UUFDcEJFLFVBQVUsRUFBRWEsUUFBUTtRQUNwQjtRQUNBLG9CQUFvQixZQUFLckMsT0FBTyxHQUFHRixLQUFLLENBQUNPLEtBQUssSUFBSU4sR0FBRyxHQUFHQyxPQUFPLEdBQUcsR0FBRyxHQUFHQSxPQUFPLE1BQUc7UUFDbEYsbUNBQW1DLEVBQUVtQyxVQUFVO1FBQy9DLGlDQUFpQyxFQUFFQyxRQUFRO1FBQzNDLCtCQUErQixFQUFFRixHQUFHLENBQUMxQixDQUFDO1FBQ3RDLCtCQUErQixFQUFFMEIsR0FBRyxDQUFDekIsQ0FBQztRQUN0Qyw2QkFBNkIsRUFBRUYsWUFBWSxDQUFDQyxDQUFDO1FBQzdDLDZCQUE2QixFQUFFRCxZQUFZLENBQUNFLENBQUM7UUFDN0MsNEJBQTRCLEVBQUUsa0JBQU8sRUFBQ3NCLFdBQVcsQ0FBQztRQUNsRCwrQkFBK0IsRUFBRTVCLFNBQVMsQ0FBQ0UsS0FBSyxHQUFHLENBQUMsR0FBRztPQUN2RDtJQUNGLENBQUMsQ0FBQztJQUNGLElBQU1zQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWEsR0FBUTtNQUMxQixJQUFRL0IsSUFBSSxHQUFrQ3RCLEtBQUssQ0FBM0NzQixJQUFJO1FBQUVtQixXQUFXLEdBQXFCekMsS0FBSyxDQUFyQ3lDLFdBQVc7UUFBRTdCLFNBQVMsR0FBVVosS0FBSyxDQUF4QlksU0FBUztRQUFFSCxHQUFHLEdBQUtULEtBQUssQ0FBYlMsR0FBRztNQUN6QyxJQUFNcUIsTUFBTSxHQUFHQyxTQUFTLENBQUNULElBQUksRUFBRW1CLFdBQVcsQ0FBQztNQUMzQyxJQUFNYSxHQUFHLEdBQUcxQyxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7TUFDN0MsSUFBTTJDLElBQUksR0FBR0QsR0FBRyxHQUFHN0MsR0FBRyxHQUFHSyxPQUFPLENBQUNDLEtBQUssR0FBR0osS0FBSyxDQUFDSSxLQUFLO01BQ3BELElBQU02QixHQUFHLEdBQUdQLFlBQVksQ0FBQ1AsTUFBTSxDQUFDUSxDQUFDLEVBQUVpQixJQUFJLENBQUM7TUFFeEN0QyxZQUFZLENBQUNDLENBQUMsR0FBRzBCLEdBQUcsQ0FBQzFCLENBQUM7TUFDdEJELFlBQVksQ0FBQ0UsQ0FBQyxHQUFHeUIsR0FBRyxDQUFDekIsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBTWtCLFlBQVksR0FBRyxTQUFmQSxZQUFZLENBQUlKLENBQVUsRUFBRXRCLEtBQWMsRUFBSTtNQUNuRCxPQUFPO1FBQ05PLENBQUMsRUFBRWUsQ0FBQyxHQUFHQSxDQUFDLEdBQUczQixJQUFJLENBQUNrRCxHQUFHLENBQUM3QyxLQUFLLEdBQUdOLE1BQU0sQ0FBQyxHQUFHLElBQUk7UUFDMUNjLENBQUMsRUFBRWMsQ0FBQyxHQUFHQSxDQUFDLEdBQUczQixJQUFJLENBQUNtRCxHQUFHLENBQUM5QyxLQUFLLEdBQUdOLE1BQU0sQ0FBQyxHQUFHO09BQ3RDO0lBQ0YsQ0FBQztJQUVELElBQU0wQixTQUFTLEdBQUcsU0FBWkEsU0FBUyxDQUFJVCxJQUFzQixFQUFFb0MsU0FBMkIsRUFBSTtNQUN6RSxJQUFNQyxDQUFDLEdBQUcsZUFBSSxFQUFDckMsSUFBSSxDQUFDO01BQ3BCLElBQU1zQyxDQUFDLEdBQUcsZUFBSSxFQUFDRixTQUFTLENBQUM7TUFDekIsSUFBTXBCLENBQUMsR0FBRyxDQUFDcUIsQ0FBQyxHQUFHQyxDQUFDLElBQUksQ0FBQztNQUNyQixJQUFNM0IsQ0FBQyxHQUFHMEIsQ0FBQyxHQUFHLENBQUMsR0FBR0MsQ0FBQztNQUNuQixPQUFPO1FBQ05ELENBQUMsRUFBREEsQ0FBQztRQUFFQyxDQUFDLEVBQURBLENBQUM7UUFBRXRCLENBQUMsRUFBREEsQ0FBQztRQUFFTCxDQUFDLEVBQURBO09BQ1Q7SUFDRixDQUFDO0lBRUQsSUFBTW5CLE9BQU8sR0FBRyxnQ0FBYSxFQUFDSixPQUFPLEVBQUU7TUFDdENpQyxRQUFRLEVBQUUzQyxLQUFLLENBQUMyQztLQUNoQixDQUFDO0lBQ0YsY0FBSyxFQUFDO01BQUEsT0FBTTNDLEtBQUssQ0FBQ1UsT0FBTztJQUFBLEdBQUUsWUFBSztNQUMvQkEsT0FBTyxDQUFDSyxLQUFLLEdBQUdmLEtBQUssQ0FBQ1UsT0FBTztJQUU5QixDQUFDLEVBQUU7TUFBRW1ELFNBQVMsRUFBRTtJQUFJLENBQUUsQ0FBQztJQUN2QixjQUFLLEVBQUMvQyxPQUFPLEVBQUUsVUFBQ2dELENBQUMsRUFBSTtNQUNwQlQsYUFBYSxFQUFFO01BQ2ZqRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUwRCxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQUM7SUFnQkYsT0FBTztNQUNOdkMsT0FBTyxFQUFQQSxPQUFPO01BQ1BKLE1BQU0sRUFBTkEsTUFBTTtNQUNOTyxXQUFXLEVBQVhBLFdBQVc7TUFDWGEsWUFBWSxFQUFaQSxZQUFZO01BQ1oxQixPQUFPLEVBQVBBO0tBSUE7RUFDRjtDQUNBLENBQUM7QUFBQSIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IHsgcmVmLCBjb21wdXRlZCwgb25Nb3VudGVkLCB3YXRjaCwgcmVhY3RpdmUsIGRlZmluZUNvbXBvbmVudCB9IGZyb20gJy4vdnVlJztcbmltcG9ydCB7IHRvUHgsIGFkZFVuaXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVRyYW5zaXRpb24gfSBmcm9tICcuL3VzZVRyYW5zaXRpb24nO1xuaW1wb3J0IENpcmNsZVByb3BzIGZyb20gJy4vcHJvcHMnO1xuLy8gaW1wb3J0IHsgdG9QeCwgYWRkVW5pdCB9IGZyb20gJ0AvdW5pX21vZHVsZXMvbGltZS11aSc7XG4vLyBpbXBvcnQgeyB1c2VUcmFuc2l0aW9uIH0gZnJvbSAnQC91bmlfbW9kdWxlcy9saW1lLXVzZSc7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb21wb25lbnQoe1xuXHRuYW1lOiAnbC1jaXJjbGUnLFxuXHRwcm9wczogQ2lyY2xlUHJvcHMsXG5cdGVtaXRzOiBbJ3VwZGF0ZTpjdXJyZW50J10sXG5cdHNldHVwKHByb3BzLCB7ZW1pdH0pIHtcblx0XHRjb25zdCBSQURJQU4gPSBNYXRoLlBJIC8gMTgwXG5cdFx0Y29uc3QgcmF0aW8gPSBjb21wdXRlZCgoKSA9PiAxMDAgLyBwcm9wcy5tYXgpXG5cdFx0Y29uc3QgcGVyY2VudCA9IHJlZjxudW1iZXI+KDApXG5cdFx0Y29uc3QgYW5nbGUgPSBjb21wdXRlZCgoKSA9PiBwcm9wcy5kYXNoYm9yYWQgPyAxMzUgOiAtOTApXG5cdFx0Y29uc3QgaXNTaG93Q2FwID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBkYXNoYm9yYWQgfSA9IHByb3BzXG5cdFx0XHRyZXR1cm4gY3VycmVudC52YWx1ZSA+IDAgJiYgKGRhc2hib3JhZCA/IHRydWUgOiBjdXJyZW50LnZhbHVlIDwgcHJvcHMubWF4KVxuXHRcdH0pXG5cblx0XHRjb25zdCBvZmZzZXRUb3AgPSByZWY8bnVtYmVyIHwgc3RyaW5nPigwKVxuXHRcdGNvbnN0IHN0cm9rZUVuZENhcCA9IHJlYWN0aXZlKHtcblx0XHRcdHg6ICcwJyxcblx0XHRcdHk6ICcwJ1xuXHRcdH0pXG5cblx0XHRjb25zdCBzdHlsZXMgPSBjb21wdXRlZCgoKSA9PiAoe1xuXHRcdFx0d2lkdGg6IHByb3BzLnNpemUsXG5cdFx0XHRoZWlnaHQ6IHByb3BzLnNpemUsXG5cblxuXG5cblx0XHRcdCctLWwtY2lyY2xlLW9mZnNldC10b3AnOiBvZmZzZXRUb3AudmFsdWUsXG5cblx0XHR9KSlcblx0XHRjb25zdCBjbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBjbG9ja3dpc2UsIGxpbmVDYXAgfSA9IHByb3BzXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRjbG9ja3dpc2UsXG5cdFx0XHRcdFtgaXMtJHtsaW5lQ2FwfWBdOiBsaW5lQ2FwXG5cdFx0XHR9XG5cdFx0fSlcblx0XHRjb25zdCB0cmFpbFN0eWxlcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IHsgc2l6ZSwgdHJhaWxXaWR0aCwgdHJhaWxDb2xvciwgZGFzaGJvcmFkIH0gPSBwcm9wc1xuXHRcdFx0Y29uc3QgY2lyY2xlID0gZ2V0Q2lyY2xlKHNpemUsIHRyYWlsV2lkdGgpXG5cdFx0XHRjb25zdCBtYXNrID0gYHJhZGlhbC1ncmFkaWVudCh0cmFuc3BhcmVudCAke2NpcmNsZS5yIC0gMC41fXB4LCAjMDAwICR7Y2lyY2xlLnJ9cHgpYFxuXG5cdFx0XHRsZXQgYmFja2dyb3VuZCA9ICcnXG5cdFx0XHRsZXQgY2FwU3RhcnQgPSB7IHg6ICcnLCB5OiAnJyB9XG5cdFx0XHRsZXQgY2FwRW5kID0gY2FwU3RhcnRcblxuXHRcdFx0aWYgKGRhc2hib3JhZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kID0gYGNvbmljLWdyYWRpZW50KGZyb20gMjI1ZGVnLCAke3RyYWlsQ29sb3J9IDAlLCAke3RyYWlsQ29sb3J9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCAxMDAlKWBcblx0XHRcdFx0Y2FwU3RhcnQgPSBjYWxjUG9zaXRpb24oY2lyY2xlLmMsIDEzNSlcblx0XHRcdFx0Y2FwRW5kID0gY2FsY1Bvc2l0aW9uKGNpcmNsZS5jLCA0NSlcblx0XHRcdFx0b2Zmc2V0VG9wLnZhbHVlID0gKHRvUHgoc2l6ZSkgLSAodG9QeChjYXBTdGFydC55KSArIHRvUHgodHJhaWxXaWR0aCkgLyAyKSkgLyA0ICsgJ3B4J1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YmFja2dyb3VuZCA9IGAke3RyYWlsQ29sb3J9YFxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRjb2xvcjogdHJhaWxDb2xvcixcblx0XHRcdFx0bWFzayxcblx0XHRcdFx0Jy13ZWJraXQtbWFzayc6IG1hc2ssXG5cdFx0XHRcdGJhY2tncm91bmQsXG5cdFx0XHRcdCctLWwtY2lyY2xlLXRyYWlsLWNhcC1zdGFydC14JzogY2FwU3RhcnQueCxcblx0XHRcdFx0Jy0tbC1jaXJjbGUtdHJhaWwtY2FwLXN0YXJ0LXknOiBjYXBTdGFydC55LFxuXHRcdFx0XHQnLS1sLWNpcmNsZS10cmFpbC1jYXAtZW5kLXgnOiBjYXBFbmQueCxcblx0XHRcdFx0Jy0tbC1jaXJjbGUtdHJhaWwtY2FwLWVuZC15JzogY2FwRW5kLnksXG5cdFx0XHRcdC8vICctLWwtY2lyY2xlLXRyYWlsLWNhcC1jb2xvcic6IHRyYWlsQ29sb3IsXG5cdFx0XHRcdCctLWwtY2lyY2xlLXRyYWlsLWNhcC1zaXplJzogYWRkVW5pdCh0cmFpbFdpZHRoKVxuXHRcdFx0fVxuXHRcdH0pXG5cdFx0Y29uc3Qgc3Ryb2tlU3R5bGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBzaXplLCBzdHJva2VXaWR0aCwgc3Ryb2tlQ29sb3IsIGR1cmF0aW9uLCBkYXNoYm9yYWQsIG1heCB9ID0gcHJvcHNcblx0XHRcdGNvbnN0IGNpcmNsZSA9IGdldENpcmNsZShzaXplLCBzdHJva2VXaWR0aClcblx0XHRcdGNvbnN0IHBlcmNlbnQgPSBkYXNoYm9yYWQgPyBjdXJyZW50LnZhbHVlICogMC43NSAqIHJhdGlvLnZhbHVlIDogY3VycmVudC52YWx1ZSAqIHJhdGlvLnZhbHVlO1xuXHRcdFx0Y29uc3QgbWFzayA9IGByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgJHtjaXJjbGUuciAtIDAuNX1weCwgIzAwMCAke2NpcmNsZS5yfXB4KWBcblx0XHRcdGNvbnN0IGNhcCA9IGNhbGNQb3NpdGlvbihjaXJjbGUuYywgYW5nbGUudmFsdWUpXG5cblx0XHRcdGxldCBzdGFydENvbG9yID0gJyc7XG5cdFx0XHRsZXQgZW5kQ29sb3IgPSAnJztcblxuXHRcdFx0bGV0IGdyYWRpZW50ID0gYGNvbmljLWdyYWRpZW50KCR7ZGFzaGJvcmFkID8gJ2Zyb20gMjI1ZGVnLCcgOiAnJ30gdHJhbnNwYXJlbnQgMCUsYDtcblx0XHRcdGxldCBncmFkaWVudEVuZCA9IGB0cmFuc3BhcmVudCB2YXIoLS1sLWNpcmNsZS1wZXJjZW50KSwgdHJhbnNwYXJlbnQgJHtkYXNoYm9yYWQgPyAnNzUlJyA6ICcxMDAlJ30pYFxuXG5cdFx0XHRpZiAodHlwZW9mIHN0cm9rZUNvbG9yID09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdGdyYWRpZW50ICs9IGAgJHtzdHJva2VDb2xvcn0gMCUsICR7c3Ryb2tlQ29sb3J9IHZhcigtLWwtY2lyY2xlLXBlcmNlbnQpLCAke2dyYWRpZW50RW5kfWBcblx0XHRcdFx0c3RhcnRDb2xvciA9IGVuZENvbG9yID0gc3Ryb2tlQ29sb3Jcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGxlbiA9IHN0cm9rZUNvbG9yLmxlbmd0aFxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRcdFx0Y29uc3QgY29sb3IgPSBzdHJva2VDb2xvcltpXSBhcyBzdHJpbmdcblx0XHRcdFx0XHRpZiAoaSA9PT0gMCkge1xuXHRcdFx0XHRcdFx0Z3JhZGllbnQgKz0gYCR7Y29sb3J9IDAlLGBcblx0XHRcdFx0XHRcdHN0YXJ0Q29sb3IgPSBjb2xvclxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRncmFkaWVudCArPSBgJHtjb2xvcn0gY2FsYyh2YXIoLS1sLWNpcmNsZS1wZXJjZW50KSAqICR7KGkgKyAxKSAvIGxlbn0pLGBcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGkgPT0gbGVuIC0gMSkge1xuXHRcdFx0XHRcdFx0ZW5kQ29sb3IgPSBjb2xvclxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRncmFkaWVudCArPSBncmFkaWVudEVuZFxuXHRcdFx0fVxuXHRcdFx0Y29uc3QgYSA9IHBlcmNlbnQgLyByYXRpby52YWx1ZSA9PSBtYXggPyBwZXJjZW50ICsgMC4xIDogcGVyY2VudFxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0bWFzayxcblx0XHRcdFx0Jy13ZWJraXQtbWFzayc6IG1hc2ssXG5cdFx0XHRcdGJhY2tncm91bmQ6IGdyYWRpZW50LFxuXHRcdFx0XHQvLyB0cmFuc2l0aW9uOiBgLS1sLWNpcmNsZS1wZXJjZW50ICR7ZHVyYXRpb259bXNgLFxuXHRcdFx0XHQnLS1sLWNpcmNsZS1wZXJjZW50JzogYCR7cGVyY2VudCAvIHJhdGlvLnZhbHVlID09IG1heCA/IHBlcmNlbnQgKyAwLjEgOiBwZXJjZW50fSVgLFxuXHRcdFx0XHQnLS1sLWNpcmNsZS1zdHJva2UtY2FwLXN0YXJ0LWNvbG9yJzogc3RhcnRDb2xvcixcblx0XHRcdFx0Jy0tbC1jaXJjbGUtc3Ryb2tlLWNhcC1lbmQtY29sb3InOiBlbmRDb2xvcixcblx0XHRcdFx0Jy0tbC1jaXJjbGUtc3Ryb2tlLWNhcC1zdGFydC14JzogY2FwLngsXG5cdFx0XHRcdCctLWwtY2lyY2xlLXN0cm9rZS1jYXAtc3RhcnQteSc6IGNhcC55LFxuXHRcdFx0XHQnLS1sLWNpcmNsZS1zdHJva2UtY2FwLWVuZC14Jzogc3Ryb2tlRW5kQ2FwLngsXG5cdFx0XHRcdCctLWwtY2lyY2xlLXN0cm9rZS1jYXAtZW5kLXknOiBzdHJva2VFbmRDYXAueSxcblx0XHRcdFx0Jy0tbC1jaXJjbGUtc3Ryb2tlLWNhcC1zaXplJzogYWRkVW5pdChzdHJva2VXaWR0aCksXG5cdFx0XHRcdCctLWwtY2lyY2xlLXN0cm9rZS1jYXAtb3BhY2l0eSc6IGlzU2hvd0NhcC52YWx1ZSA/IDEgOiAwXG5cdFx0XHR9XG5cdFx0fSlcblx0XHRjb25zdCBjYWxjU3Ryb2tlQ2FwID0gKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBzaXplLCBzdHJva2VXaWR0aCwgZGFzaGJvcmFkLCBtYXggfSA9IHByb3BzXG5cdFx0XHRjb25zdCBjaXJjbGUgPSBnZXRDaXJjbGUoc2l6ZSwgc3Ryb2tlV2lkdGgpXG5cdFx0XHRjb25zdCBhcmMgPSBkYXNoYm9yYWQgPyAxODAgLyAyICogMyA6IDE4MCAqIDJcblx0XHRcdGNvbnN0IHN0ZXAgPSBhcmMgLyBtYXggKiBjdXJyZW50LnZhbHVlICsgYW5nbGUudmFsdWVcblx0XHRcdGNvbnN0IGNhcCA9IGNhbGNQb3NpdGlvbihjaXJjbGUuYywgc3RlcClcblxuXHRcdFx0c3Ryb2tlRW5kQ2FwLnggPSBjYXAueFxuXHRcdFx0c3Ryb2tlRW5kQ2FwLnkgPSBjYXAueVxuXHRcdH1cblxuXHRcdGNvbnN0IGNhbGNQb3NpdGlvbiA9IChyIDogbnVtYmVyLCBhbmdsZSA6IG51bWJlcikgPT4ge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0eDogciArIHIgKiBNYXRoLmNvcyhhbmdsZSAqIFJBRElBTikgKyAncHgnLFxuXHRcdFx0XHR5OiByICsgciAqIE1hdGguc2luKGFuZ2xlICogUkFESUFOKSArICdweCdcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb25zdCBnZXRDaXJjbGUgPSAoc2l6ZSA6IG51bWJlciB8IHN0cmluZywgbGluZVdpZHRoIDogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XG5cdFx0XHRjb25zdCBzID0gdG9QeChzaXplKVxuXHRcdFx0Y29uc3QgdyA9IHRvUHgobGluZVdpZHRoKVxuXHRcdFx0Y29uc3QgYyA9IChzIC0gdykgLyAyXG5cdFx0XHRjb25zdCByID0gcyAvIDIgLSB3XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzLCB3LCBjLCByXG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdGNvbnN0IGN1cnJlbnQgPSB1c2VUcmFuc2l0aW9uKHBlcmNlbnQsIHtcblx0XHRcdGR1cmF0aW9uOiBwcm9wcy5kdXJhdGlvbixcblx0XHR9KVxuXHRcdHdhdGNoKCgpID0+IHByb3BzLnBlcmNlbnQsICgpID0+IHtcblx0XHRcdHBlcmNlbnQudmFsdWUgPSBwcm9wcy5wZXJjZW50XG5cblx0XHR9LCB7IGltbWVkaWF0ZTogdHJ1ZSB9KVxuXHRcdHdhdGNoKGN1cnJlbnQsICh2KSA9PiB7XG5cdFx0XHRjYWxjU3Ryb2tlQ2FwKClcblx0XHRcdGVtaXQoJ3VwZGF0ZTpjdXJyZW50Jywgdi50b0ZpeGVkKDIpKVxuXHRcdH0pXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXHRcdFxuXHRcdHJldHVybiB7XG5cdFx0XHRjbGFzc2VzLFxuXHRcdFx0c3R5bGVzLFxuXHRcdFx0dHJhaWxTdHlsZXMsXG5cdFx0XHRzdHJva2VTdHlsZXMsXG5cdFx0XHRjdXJyZW50LFxuXG5cblxuXHRcdH1cblx0fVxufSlcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n"); + +/***/ }), +/* 45 */ +/*!**********************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/vue.ts ***! + \**********************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _compositionApi = __webpack_require__(/*! @vue/composition-api */ 46);\nObject.keys(_compositionApi).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _compositionApi[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _compositionApi[key];\n }\n });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS92dWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0lBQUE7SUFBQTtNQUFBO0lBQUE7RUFBQTtBQUFBIiwiZmlsZSI6IjQ1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcclxuLy8gZXhwb3J0ICogZnJvbSAnQC91bmlfbW9kdWxlcy9saW1lLXZ1ZSdcclxuXHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICdAdnVlL2NvbXBvc2l0aW9uLWFwaSc7XHJcblxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///45\n"); + +/***/ }), +/* 46 */ +/*!******************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@vue/composition-api/index.js ***! + \******************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +if (false) {} else { + module.exports = __webpack_require__(/*! ./dist/vue-composition-api.common.js */ 47) +} + + +/***/ }), +/* 47 */ +/*!********************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@vue/composition-api/dist/vue-composition-api.common.js ***! + \********************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} + +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +} + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +/** + * Displays a warning message (using console.error) with a stack trace if the + * function is called inside of active component. + * + * @param message warning message to be displayed + */ +function warn$1(message) { + var _a; + warn(message, (_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy); +} + +var activeEffectScope; +var effectScopeStack = []; +var EffectScopeImpl = /** @class */ (function () { + function EffectScopeImpl(vm) { + this.active = true; + this.effects = []; + this.cleanups = []; + this.vm = vm; + } + EffectScopeImpl.prototype.run = function (fn) { + if (this.active) { + try { + this.on(); + return fn(); + } + finally { + this.off(); + } + } + else { + warn$1("cannot run an inactive effect scope."); + } + return; + }; + EffectScopeImpl.prototype.on = function () { + if (this.active) { + effectScopeStack.push(this); + activeEffectScope = this; + } + }; + EffectScopeImpl.prototype.off = function () { + if (this.active) { + effectScopeStack.pop(); + activeEffectScope = effectScopeStack[effectScopeStack.length - 1]; + } + }; + EffectScopeImpl.prototype.stop = function () { + if (this.active) { + this.vm.$destroy(); + this.effects.forEach(function (e) { return e.stop(); }); + this.cleanups.forEach(function (cleanup) { return cleanup(); }); + this.active = false; + } + }; + return EffectScopeImpl; +}()); +var EffectScope = /** @class */ (function (_super) { + __extends(EffectScope, _super); + function EffectScope(detached) { + if (detached === void 0) { detached = false; } + var _this = this; + var vm = undefined; + withCurrentInstanceTrackingDisabled(function () { + vm = defineComponentInstance(getVueConstructor()); + }); + _this = _super.call(this, vm) || this; + if (!detached) { + recordEffectScope(_this); + } + return _this; + } + return EffectScope; +}(EffectScopeImpl)); +function recordEffectScope(effect, scope) { + var _a; + scope = scope || activeEffectScope; + if (scope && scope.active) { + scope.effects.push(effect); + return; + } + // destroy on parent component unmounted + var vm = (_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy; + vm && vm.$on('hook:destroyed', function () { return effect.stop(); }); +} +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } + else { + warn$1("onScopeDispose() is called when there is no active effect scope" + + " to be associated with."); + } +} +/** + * @internal + **/ +function getCurrentScopeVM() { + var _a, _b; + return ((_a = getCurrentScope()) === null || _a === void 0 ? void 0 : _a.vm) || ((_b = getCurrentInstance()) === null || _b === void 0 ? void 0 : _b.proxy); +} +/** + * @internal + **/ +function bindCurrentScopeToVM(vm) { + if (!vm.scope) { + var scope_1 = new EffectScopeImpl(vm.proxy); + vm.scope = scope_1; + vm.proxy.$on('hook:destroyed', function () { return scope_1.stop(); }); + } + return vm.scope; +} + +var vueDependency = undefined; +try { + var requiredVue = __webpack_require__(/*! vue */ 48); + if (requiredVue && isVue(requiredVue)) { + vueDependency = requiredVue; + } + else if (requiredVue && + 'default' in requiredVue && + isVue(requiredVue.default)) { + vueDependency = requiredVue.default; + } +} +catch (_a) { + // not available +} +var vueConstructor = null; +var currentInstance = null; +var currentInstanceTracking = true; +var PluginInstalledFlag = '__composition_api_installed__'; +function isVue(obj) { + return obj && isFunction(obj) && obj.name === 'Vue'; +} +function isVueRegistered(Vue) { + // resolve issue: https://github.com/vuejs/composition-api/issues/876#issue-1087619365 + return vueConstructor && hasOwn(Vue, PluginInstalledFlag); +} +function getVueConstructor() { + { + assert(vueConstructor, "must call Vue.use(VueCompositionAPI) before using any function."); + } + return vueConstructor; +} +// returns registered vue or `vue` dependency +function getRegisteredVueOrDefault() { + var constructor = vueConstructor || vueDependency; + { + assert(constructor, "No vue dependency found."); + } + return constructor; +} +function setVueConstructor(Vue) { + // @ts-ignore + if (vueConstructor && Vue.__proto__ !== vueConstructor.__proto__) { + warn('[vue-composition-api] another instance of Vue installed'); + } + vueConstructor = Vue; + Object.defineProperty(Vue, PluginInstalledFlag, { + configurable: true, + writable: true, + value: true, + }); +} +/** + * For `effectScope` to create instance without populate the current instance + * @internal + **/ +function withCurrentInstanceTrackingDisabled(fn) { + var prev = currentInstanceTracking; + currentInstanceTracking = false; + try { + fn(); + } + finally { + currentInstanceTracking = prev; + } +} +function setCurrentInstance(instance) { + if (!currentInstanceTracking) + return; + var prev = currentInstance; + prev === null || prev === void 0 ? void 0 : prev.scope.off(); + currentInstance = instance; + currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope.on(); +} +function getCurrentInstance() { + return currentInstance; +} +var instanceMapCache = new WeakMap(); +function toVue3ComponentInstance(vm) { + if (instanceMapCache.has(vm)) { + return instanceMapCache.get(vm); + } + var instance = { + proxy: vm, + update: vm.$forceUpdate, + type: vm.$options, + uid: vm._uid, + // $emit is defined on prototype and it expected to be bound + emit: vm.$emit.bind(vm), + parent: null, + root: null, // to be immediately set + }; + bindCurrentScopeToVM(instance); + // map vm.$props = + var instanceProps = [ + 'data', + 'props', + 'attrs', + 'refs', + 'vnode', + 'slots', + ]; + instanceProps.forEach(function (prop) { + proxy(instance, prop, { + get: function () { + return vm["$".concat(prop)]; + }, + }); + }); + proxy(instance, 'isMounted', { + get: function () { + // @ts-expect-error private api + return vm._isMounted; + }, + }); + proxy(instance, 'isUnmounted', { + get: function () { + // @ts-expect-error private api + return vm._isDestroyed; + }, + }); + proxy(instance, 'isDeactivated', { + get: function () { + // @ts-expect-error private api + return vm._inactive; + }, + }); + proxy(instance, 'emitted', { + get: function () { + // @ts-expect-error private api + return vm._events; + }, + }); + instanceMapCache.set(vm, instance); + if (vm.$parent) { + instance.parent = toVue3ComponentInstance(vm.$parent); + } + if (vm.$root) { + instance.root = toVue3ComponentInstance(vm.$root); + } + return instance; +} + +var toString = function (x) { return Object.prototype.toString.call(x); }; +function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()); +} +var hasSymbol = typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys); +var noopFn = function (_) { return _; }; +function proxy(target, key, _a) { + var get = _a.get, set = _a.set; + Object.defineProperty(target, key, { + enumerable: true, + configurable: true, + get: get || noopFn, + set: set || noopFn, + }); +} +function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true, + }); +} +function hasOwn(obj, key) { + return Object.hasOwnProperty.call(obj, key); +} +function assert(condition, msg) { + if (!condition) { + throw new Error("[vue-composition-api] ".concat(msg)); + } +} +function isPrimitive(value) { + return (typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean'); +} +function isArray(x) { + return Array.isArray(x); +} +var objectToString = Object.prototype.toString; +var toTypeString = function (value) { + return objectToString.call(value); +}; +var isMap = function (val) { + return toTypeString(val) === '[object Map]'; +}; +var isSet = function (val) { + return toTypeString(val) === '[object Set]'; +}; +var MAX_VALID_ARRAY_LENGTH = 4294967295; // Math.pow(2, 32) - 1 +function isValidArrayIndex(val) { + var n = parseFloat(String(val)); + return (n >= 0 && + Math.floor(n) === n && + isFinite(val) && + n <= MAX_VALID_ARRAY_LENGTH); +} +function isObject(val) { + return val !== null && typeof val === 'object'; +} +function isPlainObject(x) { + return toString(x) === '[object Object]'; +} +function isFunction(x) { + return typeof x === 'function'; +} +function isUndef(v) { + return v === undefined || v === null; +} +function warn(msg, vm) { + var Vue = getRegisteredVueOrDefault(); + if (!Vue || !Vue.util) + console.warn("[vue-composition-api] ".concat(msg)); + else + Vue.util.warn(msg, vm); +} +function logError(err, vm, info) { + { + warn("Error in ".concat(info, ": \"").concat(err.toString(), "\""), vm); + } + if (typeof window !== 'undefined' && typeof console !== 'undefined') { + console.error(err); + } + else { + throw err; + } +} +/** + * Object.is polyfill + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + * */ +function isSame(value1, value2) { + if (value1 === value2) { + return value1 !== 0 || 1 / value1 === 1 / value2; + } + else { + return value1 !== value1 && value2 !== value2; + } +} + +function getCurrentInstanceForFn(hook, target) { + target = target || getCurrentInstance(); + if (!target) { + warn("".concat(hook, " is called when there is no active component instance to be ") + + "associated with. " + + "Lifecycle injection APIs can only be used during execution of setup()."); + } + return target; +} +function defineComponentInstance(Ctor, options) { + if (options === void 0) { options = {}; } + var silent = Ctor.config.silent; + Ctor.config.silent = true; + var vm = new Ctor(options); + Ctor.config.silent = silent; + return vm; +} +function isComponentInstance(obj) { + var Vue = getVueConstructor(); + return Vue && obj instanceof Vue; +} +function createSlotProxy(vm, slotName) { + return (function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (!vm.$scopedSlots[slotName]) { + return warn("slots.".concat(slotName, "() got called outside of the \"render()\" scope"), vm); + } + return vm.$scopedSlots[slotName].apply(vm, args); + }); +} +function resolveSlots(slots, normalSlots) { + var res; + if (!slots) { + res = {}; + } + else if (slots._normalized) { + // fast path 1: child component re-render only, parent did not change + return slots._normalized; + } + else { + res = {}; + for (var key in slots) { + if (slots[key] && key[0] !== '$') { + res[key] = true; + } + } + } + // expose normal slots on scopedSlots + for (var key in normalSlots) { + if (!(key in res)) { + res[key] = true; + } + } + return res; +} +var vueInternalClasses; +var getVueInternalClasses = function () { + if (!vueInternalClasses) { + var vm = defineComponentInstance(getVueConstructor(), { + computed: { + value: function () { + return 0; + }, + }, + }); + // to get Watcher class + var Watcher = vm._computedWatchers.value.constructor; + // to get Dep class + var Dep = vm._data.__ob__.dep.constructor; + vueInternalClasses = { + Watcher: Watcher, + Dep: Dep, + }; + vm.$destroy(); + } + return vueInternalClasses; +}; + +function createSymbol(name) { + return hasSymbol ? Symbol.for(name) : name; +} +var WatcherPreFlushQueueKey = createSymbol('composition-api.preFlushQueue'); +var WatcherPostFlushQueueKey = createSymbol('composition-api.postFlushQueue'); +// must be a string, symbol key is ignored in reactive +var RefKey = 'composition-api.refKey'; + +var accessModifiedSet = new WeakMap(); +var rawSet = new WeakMap(); +var readonlySet = new WeakMap(); + +/** + * Set a property on an object. Adds the new property, triggers change + * notification and intercept it's subsequent access if the property doesn't + * already exist. + */ +function set$1(target, key, val) { + var Vue = getVueConstructor(); + // @ts-expect-error https://github.com/vuejs/vue/pull/12132 + var _a = Vue.util, warn = _a.warn, defineReactive = _a.defineReactive; + if ((isUndef(target) || isPrimitive(target))) { + warn("Cannot set reactive property on undefined, null, or primitive value: ".concat(target)); + } + var ob = target.__ob__; + function ssrMockReactivity() { + // in SSR, there is no __ob__. Mock for reactivity check + if (ob && isObject(val) && !hasOwn(val, '__ob__')) { + mockReactivityDeep(val); + } + } + if (isArray(target)) { + if (isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + ssrMockReactivity(); + return val; + } + else if (key === 'length' && val !== target.length) { + target.length = val; + ob === null || ob === void 0 ? void 0 : ob.dep.notify(); + return val; + } + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + ssrMockReactivity(); + return val; + } + if (target._isVue || (ob && ob.vmCount)) { + warn('Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.'); + return val; + } + if (!ob) { + target[key] = val; + return val; + } + defineReactive(ob.value, key, val); + // IMPORTANT: define access control before trigger watcher + defineAccessControl(target, key, val); + ssrMockReactivity(); + ob.dep.notify(); + return val; +} + +var _isForceTrigger = false; +function isForceTrigger() { + return _isForceTrigger; +} +function setForceTrigger(v) { + _isForceTrigger = v; +} + +var RefImpl = /** @class */ (function () { + function RefImpl(_a) { + var get = _a.get, set = _a.set; + proxy(this, 'value', { + get: get, + set: set, + }); + } + return RefImpl; +}()); +function createRef(options, isReadonly, isComputed) { + if (isReadonly === void 0) { isReadonly = false; } + if (isComputed === void 0) { isComputed = false; } + var r = new RefImpl(options); + // add effect to differentiate refs from computed + if (isComputed) + r.effect = true; + // seal the ref, this could prevent ref from being observed + // It's safe to seal the ref, since we really shouldn't extend it. + // related issues: #79 + var sealed = Object.seal(r); + if (isReadonly) + readonlySet.set(sealed, true); + return sealed; +} +function ref(raw) { + var _a; + if (isRef(raw)) { + return raw; + } + var value = reactive((_a = {}, _a[RefKey] = raw, _a)); + return createRef({ + get: function () { return value[RefKey]; }, + set: function (v) { return (value[RefKey] = v); }, + }); +} +function isRef(value) { + return value instanceof RefImpl; +} +function unref(ref) { + return isRef(ref) ? ref.value : ref; +} +function toRefs(obj) { + if (!isReactive(obj)) { + warn("toRefs() expects a reactive object but received a plain one."); + } + if (!isPlainObject(obj)) + return obj; + var ret = {}; + for (var key in obj) { + ret[key] = toRef(obj, key); + } + return ret; +} +function customRef(factory) { + var version = ref(0); + return createRef(factory(function () { return void version.value; }, function () { + ++version.value; + })); +} +function toRef(object, key) { + if (!(key in object)) + set$1(object, key, undefined); + var v = object[key]; + if (isRef(v)) + return v; + return createRef({ + get: function () { return object[key]; }, + set: function (v) { return (object[key] = v); }, + }); +} +function shallowRef(raw) { + var _a; + if (isRef(raw)) { + return raw; + } + var value = shallowReactive((_a = {}, _a[RefKey] = raw, _a)); + return createRef({ + get: function () { return value[RefKey]; }, + set: function (v) { return (value[RefKey] = v); }, + }); +} +function triggerRef(value) { + if (!isRef(value)) + return; + setForceTrigger(true); + value.value = value.value; + setForceTrigger(false); +} +function proxyRefs(objectWithRefs) { + var _a, e_1, _b; + if (isReactive(objectWithRefs)) { + return objectWithRefs; + } + var value = reactive((_a = {}, _a[RefKey] = objectWithRefs, _a)); + def(value, RefKey, value[RefKey], false); + var _loop_1 = function (key) { + proxy(value, key, { + get: function () { + if (isRef(value[RefKey][key])) { + return value[RefKey][key].value; + } + return value[RefKey][key]; + }, + set: function (v) { + if (isRef(value[RefKey][key])) { + return (value[RefKey][key].value = unref(v)); + } + value[RefKey][key] = unref(v); + }, + }); + }; + try { + for (var _c = __values(Object.keys(objectWithRefs)), _d = _c.next(); !_d.done; _d = _c.next()) { + var key = _d.value; + _loop_1(key); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_b = _c.return)) _b.call(_c); + } + finally { if (e_1) throw e_1.error; } + } + return value; +} + +var SKIPFLAG = '__v_skip'; +function isRaw(obj) { + var _a; + return Boolean(obj && + hasOwn(obj, '__ob__') && + typeof obj.__ob__ === 'object' && + ((_a = obj.__ob__) === null || _a === void 0 ? void 0 : _a[SKIPFLAG])); +} +function isReactive(obj) { + var _a; + return Boolean(obj && + hasOwn(obj, '__ob__') && + typeof obj.__ob__ === 'object' && + !((_a = obj.__ob__) === null || _a === void 0 ? void 0 : _a[SKIPFLAG])); +} +/** + * Proxing property access of target. + * We can do unwrapping and other things here. + */ +function setupAccessControl(target) { + if (!isPlainObject(target) || + isRaw(target) || + isArray(target) || + isRef(target) || + isComponentInstance(target) || + accessModifiedSet.has(target)) + return; + accessModifiedSet.set(target, true); + var keys = Object.keys(target); + for (var i = 0; i < keys.length; i++) { + defineAccessControl(target, keys[i]); + } +} +/** + * Auto unwrapping when access property + */ +function defineAccessControl(target, key, val) { + if (key === '__ob__') + return; + if (isRaw(target[key])) + return; + var getter; + var setter; + var property = Object.getOwnPropertyDescriptor(target, key); + if (property) { + if (property.configurable === false) { + return; + } + getter = property.get; + setter = property.set; + if ((!getter || setter) /* not only have getter */ && + arguments.length === 2) { + val = target[key]; + } + } + setupAccessControl(val); + proxy(target, key, { + get: function getterHandler() { + var value = getter ? getter.call(target) : val; + // if the key is equal to RefKey, skip the unwrap logic + if (key !== RefKey && isRef(value)) { + return value.value; + } + else { + return value; + } + }, + set: function setterHandler(newVal) { + if (getter && !setter) + return; + // If the key is equal to RefKey, skip the unwrap logic + // If and only if "value" is ref and "newVal" is not a ref, + // the assignment should be proxied to "value" ref. + if (key !== RefKey && isRef(val) && !isRef(newVal)) { + val.value = newVal; + } + else if (setter) { + setter.call(target, newVal); + val = newVal; + } + else { + val = newVal; + } + setupAccessControl(newVal); + }, + }); +} +function observe(obj) { + var Vue = getRegisteredVueOrDefault(); + var observed; + if (Vue.observable) { + observed = Vue.observable(obj); + } + else { + var vm = defineComponentInstance(Vue, { + data: { + $$state: obj, + }, + }); + observed = vm._data.$$state; + } + // in SSR, there is no __ob__. Mock for reactivity check + if (!hasOwn(observed, '__ob__')) { + mockReactivityDeep(observed); + } + return observed; +} +/** + * Mock __ob__ for object recursively + */ +function mockReactivityDeep(obj, seen) { + var e_1, _a; + if (seen === void 0) { seen = new Set(); } + if (seen.has(obj) || hasOwn(obj, '__ob__') || !Object.isExtensible(obj)) + return; + def(obj, '__ob__', mockObserver(obj)); + seen.add(obj); + try { + for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) { + var key = _c.value; + var value = obj[key]; + if (!(isPlainObject(value) || isArray(value)) || + isRaw(value) || + !Object.isExtensible(value)) { + continue; + } + mockReactivityDeep(value, seen); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } +} +function mockObserver(value) { + if (value === void 0) { value = {}; } + return { + value: value, + dep: { + notify: noopFn, + depend: noopFn, + addSub: noopFn, + removeSub: noopFn, + }, + }; +} +function createObserver() { + return observe({}).__ob__; +} +function shallowReactive(obj) { + var e_2, _a; + if (!isObject(obj)) { + { + warn('"shallowReactive()" must be called on an object.'); + } + return obj; + } + if (!(isPlainObject(obj) || isArray(obj)) || + isRaw(obj) || + !Object.isExtensible(obj)) { + return obj; + } + var observed = observe(isArray(obj) ? [] : {}); + var ob = observed.__ob__; + var _loop_1 = function (key) { + var val = obj[key]; + var getter; + var setter; + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property) { + if (property.configurable === false) { + return "continue"; + } + getter = property.get; + setter = property.set; + } + proxy(observed, key, { + get: function getterHandler() { + var _a; + (_a = ob.dep) === null || _a === void 0 ? void 0 : _a.depend(); + return val; + }, + set: function setterHandler(newVal) { + var _a; + if (getter && !setter) + return; + if (!isForceTrigger() && val === newVal) + return; + if (setter) { + setter.call(obj, newVal); + } + else { + val = newVal; + } + (_a = ob.dep) === null || _a === void 0 ? void 0 : _a.notify(); + }, + }); + }; + try { + for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) { + var key = _c.value; + _loop_1(key); + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_2) throw e_2.error; } + } + return observed; +} +/** + * Make obj reactivity + */ +function reactive(obj) { + if (!isObject(obj)) { + { + warn('"reactive()" must be called on an object.'); + } + return obj; + } + if (!(isPlainObject(obj) || isArray(obj)) || + isRaw(obj) || + !Object.isExtensible(obj)) { + return obj; + } + var observed = observe(obj); + setupAccessControl(observed); + return observed; +} +/** + * Make sure obj can't be a reactive + */ +function markRaw(obj) { + if (!(isPlainObject(obj) || isArray(obj)) || !Object.isExtensible(obj)) { + return obj; + } + // set the vue observable flag at obj + var ob = createObserver(); + ob[SKIPFLAG] = true; + def(obj, '__ob__', ob); + // mark as Raw + rawSet.set(obj, true); + return obj; +} +function toRaw(observed) { + var _a; + if (isRaw(observed) || !Object.isExtensible(observed)) { + return observed; + } + return ((_a = observed === null || observed === void 0 ? void 0 : observed.__ob__) === null || _a === void 0 ? void 0 : _a.value) || observed; +} + +function isReadonly(obj) { + return readonlySet.has(obj); +} +/** + * **In @vue/composition-api, `reactive` only provides type-level readonly check** + * + * Creates a readonly copy of the original object. Note the returned copy is not + * made reactive, but `readonly` can be called on an already reactive object. + */ +function readonly(target) { + if (!isObject(target)) { + warn("value cannot be made reactive: ".concat(String(target))); + } + else { + readonlySet.set(target, true); + } + return target; +} +function shallowReadonly(obj) { + var e_1, _a; + if (!isObject(obj)) { + { + warn("value cannot be made reactive: ".concat(String(obj))); + } + return obj; + } + if (!(isPlainObject(obj) || isArray(obj)) || + (!Object.isExtensible(obj) && !isRef(obj))) { + return obj; + } + var readonlyObj = isRef(obj) + ? new RefImpl({}) + : isReactive(obj) + ? observe({}) + : {}; + var source = reactive({}); + var ob = source.__ob__; + var _loop_1 = function (key) { + var val = obj[key]; + var getter; + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property) { + if (property.configurable === false && !isRef(obj)) { + return "continue"; + } + getter = property.get; + } + proxy(readonlyObj, key, { + get: function getterHandler() { + var value = getter ? getter.call(obj) : val; + ob.dep.depend(); + return value; + }, + set: function (v) { + { + warn("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + } + }, + }); + }; + try { + for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) { + var key = _c.value; + _loop_1(key); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + readonlySet.set(readonlyObj, true); + return readonlyObj; +} + +/** + * Delete a property and trigger change if necessary. + */ +function del(target, key) { + var Vue = getVueConstructor(); + var warn = Vue.util.warn; + if ((isUndef(target) || isPrimitive(target))) { + warn("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return; + } + var ob = target.__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn('Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.'); + return; + } + if (!hasOwn(target, key)) { + return; + } + delete target[key]; + if (!ob) { + return; + } + ob.dep.notify(); +} + +var genName = function (name) { return "on".concat(name[0].toUpperCase() + name.slice(1)); }; +function createLifeCycle(lifeCyclehook) { + return function (callback, target) { + var instance = getCurrentInstanceForFn(genName(lifeCyclehook), target); + return (instance && + injectHookOption(getVueConstructor(), instance, lifeCyclehook, callback)); + }; +} +function injectHookOption(Vue, instance, hook, val) { + var options = instance.proxy.$options; + var mergeFn = Vue.config.optionMergeStrategies[hook]; + var wrappedHook = wrapHookCall(instance, val); + options[hook] = mergeFn(options[hook], wrappedHook); + return wrappedHook; +} +function wrapHookCall(instance, fn) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var prev = getCurrentInstance(); + setCurrentInstance(instance); + try { + return fn.apply(void 0, __spreadArray([], __read(args), false)); + } + finally { + setCurrentInstance(prev); + } + }; +} +var onBeforeMount = createLifeCycle('beforeMount'); +var onMounted = createLifeCycle('mounted'); +var onBeforeUpdate = createLifeCycle('beforeUpdate'); +var onUpdated = createLifeCycle('updated'); +var onBeforeUnmount = createLifeCycle('beforeDestroy'); +var onUnmounted = createLifeCycle('destroyed'); +var onErrorCaptured = createLifeCycle('errorCaptured'); +var onActivated = createLifeCycle('activated'); +var onDeactivated = createLifeCycle('deactivated'); +var onServerPrefetch = createLifeCycle('serverPrefetch'); + +var fallbackVM; +function flushPreQueue() { + flushQueue(this, WatcherPreFlushQueueKey); +} +function flushPostQueue() { + flushQueue(this, WatcherPostFlushQueueKey); +} +function hasWatchEnv(vm) { + return vm[WatcherPreFlushQueueKey] !== undefined; +} +function installWatchEnv(vm) { + vm[WatcherPreFlushQueueKey] = []; + vm[WatcherPostFlushQueueKey] = []; + vm.$on('hook:beforeUpdate', flushPreQueue); + vm.$on('hook:updated', flushPostQueue); +} +function getWatcherOption(options) { + return __assign({ + immediate: false, + deep: false, + flush: 'pre', + }, options); +} +function getWatchEffectOption(options) { + return __assign({ + flush: 'pre', + }, options); +} +function getWatcherVM() { + var vm = getCurrentScopeVM(); + if (!vm) { + if (!fallbackVM) { + fallbackVM = defineComponentInstance(getVueConstructor()); + } + vm = fallbackVM; + } + else if (!hasWatchEnv(vm)) { + installWatchEnv(vm); + } + return vm; +} +function flushQueue(vm, key) { + var queue = vm[key]; + for (var index = 0; index < queue.length; index++) { + queue[index](); + } + queue.length = 0; +} +function queueFlushJob(vm, fn, mode) { + // flush all when beforeUpdate and updated are not fired + var fallbackFlush = function () { + vm.$nextTick(function () { + if (vm[WatcherPreFlushQueueKey].length) { + flushQueue(vm, WatcherPreFlushQueueKey); + } + if (vm[WatcherPostFlushQueueKey].length) { + flushQueue(vm, WatcherPostFlushQueueKey); + } + }); + }; + switch (mode) { + case 'pre': + fallbackFlush(); + vm[WatcherPreFlushQueueKey].push(fn); + break; + case 'post': + fallbackFlush(); + vm[WatcherPostFlushQueueKey].push(fn); + break; + default: + assert(false, "flush must be one of [\"post\", \"pre\", \"sync\"], but got ".concat(mode)); + break; + } +} +function createVueWatcher(vm, getter, callback, options) { + var index = vm._watchers.length; + // @ts-ignore: use undocumented options + vm.$watch(getter, callback, { + immediate: options.immediateInvokeCallback, + deep: options.deep, + lazy: options.noRun, + sync: options.sync, + before: options.before, + }); + return vm._watchers[index]; +} +// We have to monkeypatch the teardown function so Vue will run +// runCleanup() when it tears down the watcher on unmounted. +function patchWatcherTeardown(watcher, runCleanup) { + var _teardown = watcher.teardown; + watcher.teardown = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + _teardown.apply(watcher, args); + runCleanup(); + }; +} +function createWatcher(vm, source, cb, options) { + var _a; + if (!cb) { + if (options.immediate !== undefined) { + warn("watch() \"immediate\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + if (options.deep !== undefined) { + warn("watch() \"deep\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + } + var flushMode = options.flush; + var isSync = flushMode === 'sync'; + var cleanup; + var registerCleanup = function (fn) { + cleanup = function () { + try { + fn(); + } + catch ( + // FIXME: remove any + error) { + logError(error, vm, 'onCleanup()'); + } + }; + }; + // cleanup before running getter again + var runCleanup = function () { + if (cleanup) { + cleanup(); + cleanup = null; + } + }; + var createScheduler = function (fn) { + if (isSync || + /* without a current active instance, ignore pre|post mode */ vm === + fallbackVM) { + return fn; + } + return (function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return queueFlushJob(vm, function () { + fn.apply(void 0, __spreadArray([], __read(args), false)); + }, flushMode); + }); + }; + // effect watch + if (cb === null) { + var running_1 = false; + var getter_1 = function () { + // preventing the watch callback being call in the same execution + if (running_1) { + return; + } + try { + running_1 = true; + source(registerCleanup); + } + finally { + running_1 = false; + } + }; + var watcher_1 = createVueWatcher(vm, getter_1, noopFn, { + deep: options.deep || false, + sync: isSync, + before: runCleanup, + }); + patchWatcherTeardown(watcher_1, runCleanup); + // enable the watcher update + watcher_1.lazy = false; + var originGet = watcher_1.get.bind(watcher_1); + // always run watchEffect + watcher_1.get = createScheduler(originGet); + return function () { + watcher_1.teardown(); + }; + } + var deep = options.deep; + var isMultiSource = false; + var getter; + if (isRef(source)) { + getter = function () { return source.value; }; + } + else if (isReactive(source)) { + getter = function () { return source; }; + deep = true; + } + else if (isArray(source)) { + isMultiSource = true; + getter = function () { + return source.map(function (s) { + if (isRef(s)) { + return s.value; + } + else if (isReactive(s)) { + return traverse(s); + } + else if (isFunction(s)) { + return s(); + } + else { + warn("Invalid watch source: ".concat(JSON.stringify(s), ".\n A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types."), vm); + return noopFn; + } + }); + }; + } + else if (isFunction(source)) { + getter = source; + } + else { + getter = noopFn; + warn("Invalid watch source: ".concat(JSON.stringify(source), ".\n A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types."), vm); + } + if (deep) { + var baseGetter_1 = getter; + getter = function () { return traverse(baseGetter_1()); }; + } + var applyCb = function (n, o) { + if (!deep && + isMultiSource && + n.every(function (v, i) { return isSame(v, o[i]); })) + return; + // cleanup before running cb again + runCleanup(); + return cb(n, o, registerCleanup); + }; + var callback = createScheduler(applyCb); + if (options.immediate) { + var originalCallback_1 = callback; + // `shiftCallback` is used to handle the first sync effect run. + // The subsequent callbacks will redirect to `callback`. + var shiftCallback_1 = function (n, o) { + shiftCallback_1 = originalCallback_1; + // o is undefined on the first call + return applyCb(n, isArray(n) ? [] : o); + }; + callback = function (n, o) { + return shiftCallback_1(n, o); + }; + } + // @ts-ignore: use undocumented option "sync" + var stop = vm.$watch(getter, callback, { + immediate: options.immediate, + deep: deep, + sync: isSync, + }); + // Once again, we have to hack the watcher for proper teardown + var watcher = vm._watchers[vm._watchers.length - 1]; + // if the return value is reactive and deep:true + // watch for changes, this might happen when new key is added + if (isReactive(watcher.value) && ((_a = watcher.value.__ob__) === null || _a === void 0 ? void 0 : _a.dep) && deep) { + watcher.value.__ob__.dep.addSub({ + update: function () { + // this will force the source to be revaluated and the callback + // executed if needed + watcher.run(); + }, + }); + } + patchWatcherTeardown(watcher, runCleanup); + return function () { + stop(); + }; +} +function watchEffect(effect, options) { + var opts = getWatchEffectOption(options); + var vm = getWatcherVM(); + return createWatcher(vm, effect, null, opts); +} +function watchPostEffect(effect) { + return watchEffect(effect, { flush: 'post' }); +} +function watchSyncEffect(effect) { + return watchEffect(effect, { flush: 'sync' }); +} +// implementation +function watch(source, cb, options) { + var callback = null; + if (isFunction(cb)) { + // source watch + callback = cb; + } + else { + // effect watch + { + warn("`watch(fn, options?)` signature has been moved to a separate API. " + + "Use `watchEffect(fn, options?)` instead. `watch` now only " + + "supports `watch(source, cb, options?) signature."); + } + options = cb; + callback = null; + } + var opts = getWatcherOption(options); + var vm = getWatcherVM(); + return createWatcher(vm, source, callback, opts); +} +function traverse(value, seen) { + if (seen === void 0) { seen = new Set(); } + if (!isObject(value) || seen.has(value) || rawSet.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, seen); + } + else if (isArray(value)) { + for (var i = 0; i < value.length; i++) { + traverse(value[i], seen); + } + } + else if (isSet(value) || isMap(value)) { + value.forEach(function (v) { + traverse(v, seen); + }); + } + else if (isPlainObject(value)) { + for (var key in value) { + traverse(value[key], seen); + } + } + return value; +} + +// implement +function computed(getterOrOptions) { + var vm = getCurrentScopeVM(); + var getter; + var setter; + if (isFunction(getterOrOptions)) { + getter = getterOrOptions; + } + else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + var computedSetter; + var computedGetter; + if (vm && !vm.$isServer) { + var _a = getVueInternalClasses(), Watcher_1 = _a.Watcher, Dep_1 = _a.Dep; + var watcher_1; + computedGetter = function () { + if (!watcher_1) { + watcher_1 = new Watcher_1(vm, getter, noopFn, { lazy: true }); + } + if (watcher_1.dirty) { + watcher_1.evaluate(); + } + if (Dep_1.target) { + watcher_1.depend(); + } + return watcher_1.value; + }; + computedSetter = function (v) { + if (!setter) { + warn('Write operation failed: computed value is readonly.', vm); + return; + } + if (setter) { + setter(v); + } + }; + } + else { + // fallback + var computedHost_1 = defineComponentInstance(getVueConstructor(), { + computed: { + $$state: { + get: getter, + set: setter, + }, + }, + }); + vm && vm.$on('hook:destroyed', function () { return computedHost_1.$destroy(); }); + computedGetter = function () { return computedHost_1.$$state; }; + computedSetter = function (v) { + if (!setter) { + warn('Write operation failed: computed value is readonly.', vm); + return; + } + computedHost_1.$$state = v; + }; + } + return createRef({ + get: computedGetter, + set: computedSetter, + }, !setter, true); +} + +var NOT_FOUND = {}; +function resolveInject(provideKey, vm) { + var source = vm; + while (source) { + // @ts-ignore + if (source._provided && hasOwn(source._provided, provideKey)) { + //@ts-ignore + return source._provided[provideKey]; + } + source = source.$parent; + } + return NOT_FOUND; +} +function provide(key, value) { + var _a; + var vm = (_a = getCurrentInstanceForFn('provide')) === null || _a === void 0 ? void 0 : _a.proxy; + if (!vm) + return; + if (!vm._provided) { + var provideCache_1 = {}; + proxy(vm, '_provided', { + get: function () { return provideCache_1; }, + set: function (v) { return Object.assign(provideCache_1, v); }, + }); + } + vm._provided[key] = value; +} +function inject(key, defaultValue, treatDefaultAsFactory) { + var _a; + if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; } + var vm = (_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy; + if (!vm) { + warn("inject() can only be used inside setup() or functional components."); + return; + } + if (!key) { + warn("injection \"".concat(String(key), "\" not found."), vm); + return defaultValue; + } + var val = resolveInject(key, vm); + if (val !== NOT_FOUND) { + return val; + } + else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) + ? defaultValue() + : defaultValue; + } + else { + warn("Injection \"".concat(String(key), "\" not found."), vm); + } +} + +var EMPTY_OBJ = Object.freeze({}) + ; +var useCssModule = function (name) { + var _a; + if (name === void 0) { name = '$style'; } + var instance = getCurrentInstance(); + if (!instance) { + warn("useCssModule must be called inside setup()"); + return EMPTY_OBJ; + } + var mod = (_a = instance.proxy) === null || _a === void 0 ? void 0 : _a[name]; + if (!mod) { + warn("Current instance does not have CSS module named \"".concat(name, "\".")); + return EMPTY_OBJ; + } + return mod; +}; +/** + * @deprecated use `useCssModule` instead. + */ +var useCSSModule = useCssModule; + +function createApp(rootComponent, rootProps) { + if (rootProps === void 0) { rootProps = undefined; } + var V = getVueConstructor(); + var mountedVM = undefined; + var provide = {}; + var app = { + config: V.config, + use: V.use.bind(V), + mixin: V.mixin.bind(V), + component: V.component.bind(V), + provide: function (key, value) { + provide[key] = value; + return this; + }, + directive: function (name, dir) { + if (dir) { + V.directive(name, dir); + return app; + } + else { + return V.directive(name); + } + }, + mount: function (el, hydrating) { + if (!mountedVM) { + mountedVM = new V(__assign(__assign({ propsData: rootProps }, rootComponent), { provide: __assign(__assign({}, provide), rootComponent.provide) })); + mountedVM.$mount(el, hydrating); + return mountedVM; + } + else { + { + warn("App has already been mounted.\n" + + "If you want to remount the same app, move your app creation logic " + + "into a factory function and create fresh app instances for each " + + "mount - e.g. `const createMyApp = () => createApp(App)`"); + } + return mountedVM; + } + }, + unmount: function () { + if (mountedVM) { + mountedVM.$destroy(); + mountedVM = undefined; + } + else { + warn("Cannot unmount an app that is not mounted."); + } + }, + }; + return app; +} + +var nextTick = function nextTick() { + var _a; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return (_a = getVueConstructor()) === null || _a === void 0 ? void 0 : _a.nextTick.apply(this, args); +}; + +var fallbackCreateElement; +var createElement = function createElement() { + var _a; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var instance = (this === null || this === void 0 ? void 0 : this.proxy) || ((_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy); + if (!instance) { + warn('`createElement()` has been called outside of render function.'); + if (!fallbackCreateElement) { + fallbackCreateElement = defineComponentInstance(getVueConstructor()).$createElement; + } + return fallbackCreateElement.apply(fallbackCreateElement, args); + } + return instance.$createElement.apply(instance, args); +}; + +function useSlots() { + return getContext().slots; +} +function useAttrs() { + return getContext().attrs; +} +function getContext() { + var i = getCurrentInstance(); + if (!i) { + warn("useContext() called without active instance."); + } + return i.setupContext; +} + +function set(vm, key, value) { + var state = (vm.__composition_api_state__ = + vm.__composition_api_state__ || {}); + state[key] = value; +} +function get(vm, key) { + return (vm.__composition_api_state__ || {})[key]; +} +var vmStateManager = { + set: set, + get: get, +}; + +function asVmProperty(vm, propName, propValue) { + var props = vm.$options.props; + if (!(propName in vm) && !(props && hasOwn(props, propName))) { + if (isRef(propValue)) { + proxy(vm, propName, { + get: function () { return propValue.value; }, + set: function (val) { + propValue.value = val; + }, + }); + } + else { + proxy(vm, propName, { + get: function () { + if (isReactive(propValue)) { + propValue.__ob__.dep.depend(); + } + return propValue; + }, + set: function (val) { + propValue = val; + }, + }); + } + { + // expose binding to Vue Devtool as a data property + // delay this until state has been resolved to prevent repeated works + vm.$nextTick(function () { + if (Object.keys(vm._data).indexOf(propName) !== -1) { + return; + } + if (isRef(propValue)) { + proxy(vm._data, propName, { + get: function () { return propValue.value; }, + set: function (val) { + propValue.value = val; + }, + }); + } + else { + proxy(vm._data, propName, { + get: function () { return propValue; }, + set: function (val) { + propValue = val; + }, + }); + } + }); + } + } + else { + if (props && hasOwn(props, propName)) { + warn("The setup binding property \"".concat(propName, "\" is already declared as a prop."), vm); + } + else { + warn("The setup binding property \"".concat(propName, "\" is already declared."), vm); + } + } +} +function updateTemplateRef(vm) { + var rawBindings = vmStateManager.get(vm, 'rawBindings') || {}; + if (!rawBindings || !Object.keys(rawBindings).length) + return; + var refs = vm.$refs; + var oldRefKeys = vmStateManager.get(vm, 'refs') || []; + for (var index = 0; index < oldRefKeys.length; index++) { + var key = oldRefKeys[index]; + var setupValue = rawBindings[key]; + if (!refs[key] && setupValue && isRef(setupValue)) { + setupValue.value = null; + } + } + var newKeys = Object.keys(refs); + var validNewKeys = []; + for (var index = 0; index < newKeys.length; index++) { + var key = newKeys[index]; + var setupValue = rawBindings[key]; + if (refs[key] && setupValue && isRef(setupValue)) { + setupValue.value = refs[key]; + validNewKeys.push(key); + } + } + vmStateManager.set(vm, 'refs', validNewKeys); +} +function afterRender(vm) { + var stack = [vm._vnode]; + var updated; + while (stack.length) { + var vnode = stack.pop(); + if (vnode) { + if (vnode.context) { + updateTemplateRef(vnode.context); + updated = true; + } + if (vnode.children) { + for (var i = 0; i < vnode.children.length; ++i) { + stack.push(vnode.children[i]); + } + } + } + } + if (!updated) { + updateTemplateRef(vm); + } +} +function updateVmAttrs(vm, ctx) { + var e_1, _a; + if (!vm) { + return; + } + var attrBindings = vmStateManager.get(vm, 'attrBindings'); + if (!attrBindings && !ctx) { + // fix 840 + return; + } + if (!attrBindings) { + var observedData = reactive({}); + attrBindings = { ctx: ctx, data: observedData }; + vmStateManager.set(vm, 'attrBindings', attrBindings); + proxy(ctx, 'attrs', { + get: function () { + return attrBindings === null || attrBindings === void 0 ? void 0 : attrBindings.data; + }, + set: function () { + warn("Cannot assign to '$attrs' because it is a read-only property", vm); + }, + }); + } + var source = vm.$attrs; + var _loop_1 = function (attr) { + if (!hasOwn(attrBindings.data, attr)) { + proxy(attrBindings.data, attr, { + get: function () { + // to ensure it always return the latest value + return vm.$attrs[attr]; + }, + }); + } + }; + try { + for (var _b = __values(Object.keys(source)), _c = _b.next(); !_c.done; _c = _b.next()) { + var attr = _c.value; + _loop_1(attr); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } +} +function resolveScopedSlots(vm, slotsProxy) { + var parentVNode = vm.$options._parentVnode; + if (!parentVNode) + return; + var prevSlots = vmStateManager.get(vm, 'slots') || []; + var curSlots = resolveSlots(parentVNode.data.scopedSlots, vm.$slots); + // remove staled slots + for (var index = 0; index < prevSlots.length; index++) { + var key = prevSlots[index]; + if (!curSlots[key]) { + delete slotsProxy[key]; + } + } + // proxy fresh slots + var slotNames = Object.keys(curSlots); + for (var index = 0; index < slotNames.length; index++) { + var key = slotNames[index]; + if (!slotsProxy[key]) { + slotsProxy[key] = createSlotProxy(vm, key); + } + } + vmStateManager.set(vm, 'slots', slotNames); +} +function activateCurrentInstance(instance, fn, onError) { + var preVm = getCurrentInstance(); + setCurrentInstance(instance); + try { + return fn(instance); + } + catch ( + // FIXME: remove any + err) { + if (onError) { + onError(err); + } + else { + throw err; + } + } + finally { + setCurrentInstance(preVm); + } +} + +function mixin(Vue) { + Vue.mixin({ + beforeCreate: functionApiInit, + mounted: function () { + afterRender(this); + }, + beforeUpdate: function () { + updateVmAttrs(this); + }, + updated: function () { + afterRender(this); + }, + }); + /** + * Vuex init hook, injected into each instances init hooks list. + */ + function functionApiInit() { + var vm = this; + var $options = vm.$options; + var setup = $options.setup, render = $options.render; + if (render) { + // keep currentInstance accessible for createElement + $options.render = function () { + var _this = this; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return activateCurrentInstance(toVue3ComponentInstance(vm), function () { + return render.apply(_this, args); + }); + }; + } + if (!setup) { + return; + } + if (!isFunction(setup)) { + { + warn('The "setup" option should be a function that returns a object in component definitions.', vm); + } + return; + } + var data = $options.data; + // wrapper the data option, so we can invoke setup before data get resolved + $options.data = function wrappedData() { + initSetup(vm, vm.$props); + return isFunction(data) + ? data.call(vm, vm) + : data || {}; + }; + } + function initSetup(vm, props) { + if (props === void 0) { props = {}; } + var setup = vm.$options.setup; + var ctx = createSetupContext(vm); + var instance = toVue3ComponentInstance(vm); + instance.setupContext = ctx; + // fake reactive for `toRefs(props)` + def(props, '__ob__', createObserver()); + // resolve scopedSlots and slots to functions + resolveScopedSlots(vm, ctx.slots); + var binding; + activateCurrentInstance(instance, function () { + // make props to be fake reactive, this is for `toRefs(props)` + binding = setup(props, ctx); + }); + if (!binding) + return; + if (isFunction(binding)) { + // keep typescript happy with the binding type. + var bindingFunc_1 = binding; + // keep currentInstance accessible for createElement + vm.$options.render = function () { + resolveScopedSlots(vm, ctx.slots); + return activateCurrentInstance(instance, function () { return bindingFunc_1(); }); + }; + return; + } + else if (isObject(binding)) { + if (isReactive(binding)) { + binding = toRefs(binding); + } + vmStateManager.set(vm, 'rawBindings', binding); + var bindingObj_1 = binding; + Object.keys(bindingObj_1).forEach(function (name) { + var bindingValue = bindingObj_1[name]; + if (!isRef(bindingValue)) { + if (!isReactive(bindingValue)) { + if (isFunction(bindingValue)) { + var copy_1 = bindingValue; + bindingValue = bindingValue.bind(vm); + Object.keys(copy_1).forEach(function (ele) { + bindingValue[ele] = copy_1[ele]; + }); + } + else if (!isObject(bindingValue)) { + bindingValue = ref(bindingValue); + } + else if (hasReactiveArrayChild(bindingValue)) { + // creates a custom reactive properties without make the object explicitly reactive + // NOTE we should try to avoid this, better implementation needed + customReactive(bindingValue); + } + } + else if (isArray(bindingValue)) { + bindingValue = ref(bindingValue); + } + } + asVmProperty(vm, name, bindingValue); + }); + return; + } + { + assert(false, "\"setup\" must return a \"Object\" or a \"Function\", got \"".concat(Object.prototype.toString + .call(binding) + .slice(8, -1), "\"")); + } + } + function customReactive(target, seen) { + if (seen === void 0) { seen = new Set(); } + if (seen.has(target)) + return; + if (!isPlainObject(target) || + isRef(target) || + isReactive(target) || + isRaw(target)) + return; + var Vue = getVueConstructor(); + // @ts-expect-error https://github.com/vuejs/vue/pull/12132 + var defineReactive = Vue.util.defineReactive; + Object.keys(target).forEach(function (k) { + var val = target[k]; + defineReactive(target, k, val); + if (val) { + seen.add(val); + customReactive(val, seen); + } + return; + }); + } + function hasReactiveArrayChild(target, visited) { + if (visited === void 0) { visited = new Map(); } + if (visited.has(target)) { + return visited.get(target); + } + visited.set(target, false); + if (isArray(target) && isReactive(target)) { + visited.set(target, true); + return true; + } + if (!isPlainObject(target) || isRaw(target) || isRef(target)) { + return false; + } + return Object.keys(target).some(function (x) { + return hasReactiveArrayChild(target[x], visited); + }); + } + function createSetupContext(vm) { + var ctx = { slots: {} }; + var propsPlain = [ + 'root', + 'parent', + 'refs', + 'listeners', + 'isServer', + 'ssrContext', + ]; + var methodReturnVoid = ['emit']; + propsPlain.forEach(function (key) { + var srcKey = "$".concat(key); + proxy(ctx, key, { + get: function () { return vm[srcKey]; }, + set: function () { + warn("Cannot assign to '".concat(key, "' because it is a read-only property"), vm); + }, + }); + }); + updateVmAttrs(vm, ctx); + methodReturnVoid.forEach(function (key) { + var srcKey = "$".concat(key); + proxy(ctx, key, { + get: function () { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var fn = vm[srcKey]; + fn.apply(vm, args); + }; + }, + }); + }); + return ctx; + } +} + +/** + * Helper that recursively merges two data objects together. + */ +function mergeData(from, to) { + if (!from) + return to; + if (!to) + return from; + var key; + var toVal; + var fromVal; + var keys = hasSymbol ? Reflect.ownKeys(from) : Object.keys(from); + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + // in case the object is already observed... + if (key === '__ob__') + continue; + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + to[key] = fromVal; + } + else if (toVal !== fromVal && + isPlainObject(toVal) && + !isRef(toVal) && + isPlainObject(fromVal) && + !isRef(fromVal)) { + mergeData(fromVal, toVal); + } + } + return to; +} +function install(Vue) { + if (isVueRegistered(Vue)) { + { + warn('[vue-composition-api] already installed. Vue.use(VueCompositionAPI) should be called only once.'); + } + return; + } + { + if (Vue.version) { + if (Vue.version[0] !== '2' || Vue.version[1] !== '.') { + warn("[vue-composition-api] only works with Vue 2, v".concat(Vue.version, " found.")); + } + } + else { + warn('[vue-composition-api] no Vue version found'); + } + } + Vue.config.optionMergeStrategies.setup = function (parent, child) { + return function mergedSetupFn(props, context) { + return mergeData(isFunction(parent) ? parent(props, context) || {} : undefined, isFunction(child) ? child(props, context) || {} : undefined); + }; + }; + setVueConstructor(Vue); + mixin(Vue); +} +var Plugin = { + install: function (Vue) { return install(Vue); }, +}; + +// implementation, close to no-op +function defineComponent(options) { + return options; +} + +function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out + _b = source.suspensible, // undefined = never times out + suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true + userOnError = source.onError; + if (suspensible) { + warn("The suspensiblbe option for async components is not supported in Vue2. It is ignored."); + } + var pendingRequest = null; + var retries = 0; + var retry = function () { + retries++; + pendingRequest = null; + return load(); + }; + var load = function () { + var thisRequest; + return (pendingRequest || + (thisRequest = pendingRequest = + loader() + .catch(function (err) { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise(function (resolve, reject) { + var userRetry = function () { return resolve(retry()); }; + var userFail = function () { return reject(err); }; + userOnError(err, userRetry, userFail, retries + 1); + }); + } + else { + throw err; + } + }) + .then(function (comp) { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn("Async component loader resolved to undefined. " + + "If you are using retry(), make sure to return its return value."); + } + // interop module default + if (comp && + (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error("Invalid async component load result: ".concat(comp)); + } + return comp; + }))); + }; + return function () { + var component = load(); + return { + component: component, + delay: delay, + timeout: timeout, + error: errorComponent, + loading: loadingComponent, + }; + }; +} + +var version = "1.7.0"; +// auto install when using CDN +if (typeof window !== 'undefined' && window.Vue) { + window.Vue.use(Plugin); +} + +exports.EffectScope = EffectScope; +exports.computed = computed; +exports.createApp = createApp; +exports.createLifeCycle = createLifeCycle; +exports.createRef = createRef; +exports.customRef = customRef; +exports["default"] = Plugin; +exports.defineAsyncComponent = defineAsyncComponent; +exports.defineComponent = defineComponent; +exports.del = del; +exports.effectScope = effectScope; +exports.getCurrentInstance = getCurrentInstance; +exports.getCurrentScope = getCurrentScope; +exports.h = createElement; +exports.inject = inject; +exports.isRaw = isRaw; +exports.isReactive = isReactive; +exports.isReadonly = isReadonly; +exports.isRef = isRef; +exports.markRaw = markRaw; +exports.nextTick = nextTick; +exports.onActivated = onActivated; +exports.onBeforeMount = onBeforeMount; +exports.onBeforeUnmount = onBeforeUnmount; +exports.onBeforeUpdate = onBeforeUpdate; +exports.onDeactivated = onDeactivated; +exports.onErrorCaptured = onErrorCaptured; +exports.onMounted = onMounted; +exports.onScopeDispose = onScopeDispose; +exports.onServerPrefetch = onServerPrefetch; +exports.onUnmounted = onUnmounted; +exports.onUpdated = onUpdated; +exports.provide = provide; +exports.proxyRefs = proxyRefs; +exports.reactive = reactive; +exports.readonly = readonly; +exports.ref = ref; +exports.set = set$1; +exports.shallowReactive = shallowReactive; +exports.shallowReadonly = shallowReadonly; +exports.shallowRef = shallowRef; +exports.toRaw = toRaw; +exports.toRef = toRef; +exports.toRefs = toRefs; +exports.triggerRef = triggerRef; +exports.unref = unref; +exports.useAttrs = useAttrs; +exports.useCSSModule = useCSSModule; +exports.useCssModule = useCssModule; +exports.useSlots = useSlots; +exports.version = version; +exports.warn = warn$1; +exports.watch = watch; +exports.watchEffect = watchEffect; +exports.watchPostEffect = watchPostEffect; +exports.watchSyncEffect = watchSyncEffect; + + +/***/ }), +/* 48 */ +/*!**********************!*\ + !*** external "Vue" ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = Vue; + +/***/ }), +/* 49 */ +/*!************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/utils.ts ***! + \************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addUnit = addUnit;\nexports.isDef = isDef;\nexports.isNumber = isNumber;\nexports.toPx = toPx;\n// @ts-nocheck\nfunction isDef(value) {\n return value !== undefined && value !== null;\n}\nfunction isNumber(value) {\n return /^\\d+(\\.\\d+)?$/.test(value);\n}\n/**\n * 换成 px number\n */\nfunction toPx(value) {\n // 如果是数字\n if (typeof value === 'number') {\n return value;\n }\n // 如果是字符串数字\n if (isNumber(value)) {\n return Number(value);\n }\n // 如果有单位\n if (typeof value === 'string') {\n var reg = /^-?([0-9]+)?([.]{1}[0-9]+){0,1}(em|rpx|px|%)$/g;\n var results = reg.exec(value);\n if (!value || !results) {\n return 0;\n }\n var unit = results[3];\n value = parseFloat(value);\n if (unit === 'rpx') {\n return uni.upx2px(value);\n }\n if (unit === 'px') {\n return value * 1;\n }\n }\n return 0;\n}\nfunction addUnit(value) {\n if (!isDef(value)) {\n return undefined;\n }\n value = String(value);\n return isNumber(value) ? \"\".concat(value, \"px\") : value;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS91dGlscy50cyJdLCJuYW1lcyI6WyJpc0RlZiIsInZhbHVlIiwidW5kZWZpbmVkIiwiaXNOdW1iZXIiLCJ0ZXN0IiwidG9QeCIsIk51bWJlciIsInJlZyIsInJlc3VsdHMiLCJleGVjIiwidW5pdCIsInBhcnNlRmxvYXQiLCJ1bmkiLCJ1cHgycHgiLCJhZGRVbml0IiwiU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNNLFNBQVVBLEtBQUssQ0FBQ0MsS0FBYztFQUNsQyxPQUFPQSxLQUFLLEtBQUtDLFNBQVMsSUFBSUQsS0FBSyxLQUFLLElBQUk7QUFDOUM7QUFFTSxTQUFVRSxRQUFRLENBQUNGLEtBQWE7RUFDcEMsT0FBTyxlQUFlLENBQUNHLElBQUksQ0FBQ0gsS0FBSyxDQUFDO0FBQ3BDO0FBRUE7OztBQUlNLFNBQVVJLElBQUksQ0FBQ0osS0FBc0I7RUFDMUM7RUFDQSxJQUFJLE9BQU9BLEtBQUssS0FBSyxRQUFRLEVBQUU7SUFDOUIsT0FBT0EsS0FBSzs7RUFFYjtFQUNBLElBQUlFLFFBQVEsQ0FBQ0YsS0FBSyxDQUFDLEVBQUU7SUFDcEIsT0FBT0ssTUFBTSxDQUFDTCxLQUFLLENBQUM7O0VBRXJCO0VBQ0EsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO0lBQzlCLElBQU1NLEdBQUcsR0FBRyxnREFBZ0Q7SUFDNUQsSUFBTUMsT0FBTyxHQUFHRCxHQUFHLENBQUNFLElBQUksQ0FBQ1IsS0FBSyxDQUFDO0lBQy9CLElBQUksQ0FBQ0EsS0FBSyxJQUFJLENBQUNPLE9BQU8sRUFBRTtNQUN2QixPQUFPLENBQUM7O0lBRVQsSUFBTUUsSUFBSSxHQUFHRixPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCUCxLQUFLLEdBQUdVLFVBQVUsQ0FBQ1YsS0FBSyxDQUFDO0lBQ3pCLElBQUlTLElBQUksS0FBSyxLQUFLLEVBQUU7TUFDbkIsT0FBT0UsR0FBRyxDQUFDQyxNQUFNLENBQUNaLEtBQUssQ0FBQzs7SUFFekIsSUFBSVMsSUFBSSxLQUFLLElBQUksRUFBRTtNQUNsQixPQUFPVCxLQUFLLEdBQUcsQ0FBQzs7O0VBR2xCLE9BQU8sQ0FBQztBQUNUO0FBR00sU0FBVWEsT0FBTyxDQUFDYixLQUF1QjtFQUM3QyxJQUFJLENBQUNELEtBQUssQ0FBQ0MsS0FBSyxDQUFDLEVBQUU7SUFDakIsT0FBT0MsU0FBUzs7RUFHbEJELEtBQUssR0FBR2MsTUFBTSxDQUFDZCxLQUFLLENBQUM7RUFDckIsT0FBT0UsUUFBUSxDQUFDRixLQUFLLENBQUMsYUFBTUEsS0FBSyxVQUFPQSxLQUFLO0FBQy9DIiwiZmlsZSI6IjQ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcclxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVmKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIC9eXFxkKyhcXC5cXGQrKT8kLy50ZXN0KHZhbHVlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIOaNouaIkCBweCBudW1iZXJcclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdG9QeCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcblx0Ly8g5aaC5p6c5piv5pWw5a2XXHJcblx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuXHRcdHJldHVybiB2YWx1ZVxyXG5cdH1cclxuXHQvLyDlpoLmnpzmmK/lrZfnrKbkuLLmlbDlrZdcclxuXHRpZiAoaXNOdW1iZXIodmFsdWUpKSB7XHJcblx0XHRyZXR1cm4gTnVtYmVyKHZhbHVlKVxyXG5cdH1cclxuXHQvLyDlpoLmnpzmnInljZXkvY1cclxuXHRpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG5cdFx0Y29uc3QgcmVnID0gL14tPyhbMC05XSspPyhbLl17MX1bMC05XSspezAsMX0oZW18cnB4fHB4fCUpJC9nXHJcblx0XHRjb25zdCByZXN1bHRzID0gcmVnLmV4ZWModmFsdWUpO1xyXG5cdFx0aWYgKCF2YWx1ZSB8fCAhcmVzdWx0cykge1xyXG5cdFx0XHRyZXR1cm4gMDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHVuaXQgPSByZXN1bHRzWzNdO1xyXG5cdFx0dmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuXHRcdGlmICh1bml0ID09PSAncnB4Jykge1xyXG5cdFx0XHRyZXR1cm4gdW5pLnVweDJweCh2YWx1ZSk7XHJcblx0XHR9IFxyXG5cdFx0aWYgKHVuaXQgPT09ICdweCcpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlICogMTtcclxuXHRcdH0gXHJcblx0fVxyXG5cdHJldHVybiAwXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkVW5pdCh2YWx1ZT86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFpc0RlZih2YWx1ZSkpIHtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgcmV0dXJuIGlzTnVtYmVyKHZhbHVlKSA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlO1xyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///49\n"); + +/***/ }), +/* 50 */ +/*!********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/useTransition.ts ***! + \********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useTransition = useTransition;\nvar _ease = __webpack_require__(/*! ./animation/ease */ 51);\nvar _animation = __webpack_require__(/*! ./animation/ */ 53);\nvar _vue = __webpack_require__(/*! ./vue */ 45);\n// @ts-nocheck\n\nfunction useTransition(percent, options) {\n var current = (0, _vue.ref)(0);\n var tl = new _animation.Timeline();\n (0, _vue.watch)(function () {\n return percent.value;\n }, function (v) {\n tl.start();\n tl.add(new _animation.Animation(current.value, v, options.duration, 0, _ease.ease, function (v) {\n current.value = v < 0.0001 ? 0 : v;\n }));\n }, {\n immediate: true\n });\n return current;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS91c2VUcmFuc2l0aW9uLnRzIl0sIm5hbWVzIjpbInVzZVRyYW5zaXRpb24iLCJwZXJjZW50Iiwib3B0aW9ucyIsImN1cnJlbnQiLCJ0bCIsIlRpbWVsaW5lIiwidmFsdWUiLCJ2Iiwic3RhcnQiLCJhZGQiLCJBbmltYXRpb24iLCJkdXJhdGlvbiIsImVhc2UiLCJpbW1lZGlhdGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBO0FBQ0E7QUFDQTtBQUhBOztBQUtNLFNBQVVBLGFBQWEsQ0FBQ0MsT0FBb0IsRUFBRUMsT0FBMkI7RUFDOUUsSUFBTUMsT0FBTyxHQUFHLFlBQUcsRUFBQyxDQUFDLENBQUM7RUFDdEIsSUFBSUMsRUFBRSxHQUFHLElBQUlDLG1CQUFRLEVBQUU7RUFFdkIsY0FBSyxFQUFDO0lBQUEsT0FBTUosT0FBTyxDQUFDSyxLQUFLO0VBQUEsR0FBRSxVQUFDQyxDQUFDLEVBQUk7SUFDaENILEVBQUUsQ0FBQ0ksS0FBSyxFQUFFO0lBQ1ZKLEVBQUUsQ0FBQ0ssR0FBRyxDQUNKLElBQUlDLG9CQUFTLENBQ1hQLE9BQU8sQ0FBQ0csS0FBSyxFQUNiQyxDQUFDLEVBQ0RMLE9BQU8sQ0FBQ1MsUUFBUSxFQUNoQixDQUFDLEVBQ0RDLFVBQUksRUFDSixXQUFDLEVBQUc7TUFDTlQsT0FBTyxDQUFDRyxLQUFLLEdBQUdDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFFQSxDQUFDO0lBQ2xDLENBQUMsQ0FDQyxDQUNGO0VBQ0YsQ0FBQyxFQUFFO0lBQUNNLFNBQVMsRUFBRTtFQUFJLENBQUMsQ0FBQztFQUVyQixPQUFPVixPQUFPO0FBQ2YiLCJmaWxlIjoiNTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtbm9jaGVja1xyXG5pbXBvcnQge2Vhc2V9IGZyb20gJy4vYW5pbWF0aW9uL2Vhc2UnO1xyXG5pbXBvcnQge1RpbWVsaW5lLCBBbmltYXRpb259IGZyb20gJy4vYW5pbWF0aW9uLyc7XHJcbmltcG9ydCB7cmVmLCB3YXRjaCwgUmVmfSBmcm9tICcuL3Z1ZSdcclxuXHRcclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyYW5zaXRpb24ocGVyY2VudDogUmVmPG51bWJlcj4sIG9wdGlvbnM6IHtkdXJhdGlvbjogbnVtYmVyfSkge1xyXG5cdGNvbnN0IGN1cnJlbnQgPSByZWYoMClcclxuXHRsZXQgdGwgPSBuZXcgVGltZWxpbmUoKTtcclxuXHRcclxuXHR3YXRjaCgoKSA9PiBwZXJjZW50LnZhbHVlLCAodikgPT4ge1xyXG5cdFx0dGwuc3RhcnQoKTtcclxuXHRcdHRsLmFkZChcclxuXHRcdCAgbmV3IEFuaW1hdGlvbihcclxuXHRcdCAgICBjdXJyZW50LnZhbHVlLFxyXG5cdFx0ICAgIHYsXHJcblx0XHQgICAgb3B0aW9ucy5kdXJhdGlvbixcclxuXHRcdCAgICAwLFxyXG5cdFx0ICAgIGVhc2UsXHJcblx0XHQgICAgdiA9PiB7XHJcblx0XHRcdFx0Y3VycmVudC52YWx1ZSA9IHYgPCAwLjAwMDEgPyAwOiB2XHJcblx0XHRcdH1cclxuXHRcdCAgKVxyXG5cdFx0KTtcclxuXHR9LCB7aW1tZWRpYXRlOiB0cnVlfSlcclxuXHRcclxuXHRyZXR1cm4gY3VycmVudFxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///50\n"); + +/***/ }), +/* 51 */ +/*!*********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/animation/ease.ts ***! + \*********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ease = void 0;\nvar _bezier = __webpack_require__(/*! ./bezier */ 52);\nvar ease = (0, _bezier.cubicBezier)(0.25, 0.1, 0.25, 1);\nexports.ease = ease;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9hbmltYXRpb24vZWFzZS50cyJdLCJuYW1lcyI6WyJlYXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNPLElBQUlBLElBQUksR0FBRyx1QkFBVyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUFDIiwiZmlsZSI6IjUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdWJpY0Jlemllcn0gZnJvbSAnLi9iZXppZXInO1xyXG5leHBvcnQgbGV0IGVhc2UgPSBjdWJpY0JlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///51\n"); + +/***/ }), +/* 52 */ +/*!***********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/animation/bezier.ts ***! + \***********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cubicBezier = cubicBezier;\nfunction cubicBezier(p1x, p1y, p2x, p2y) {\n var ZERO_LIMIT = 1e-6;\n // Calculate the polynomial coefficients,\n // implicit first and last control points are (0,0) and (1,1).\n var ax = 3 * p1x - 3 * p2x + 1;\n var bx = 3 * p2x - 6 * p1x;\n var cx = 3 * p1x;\n var ay = 3 * p1y - 3 * p2y + 1;\n var by = 3 * p2y - 6 * p1y;\n var cy = 3 * p1y;\n function sampleCurveDerivativeX(t) {\n // `ax t^3 + bx t^2 + cx t` expanded using Horner's rule\n return (3 * ax * t + 2 * bx) * t + cx;\n }\n function sampleCurveX(t) {\n return ((ax * t + bx) * t + cx) * t;\n }\n function sampleCurveY(t) {\n return ((ay * t + by) * t + cy) * t;\n }\n // Given an x value, find a parametric value it came from.\n function solveCurveX(x) {\n var t2 = x;\n var derivative;\n var x2;\n // https://trac.webkit.org/browser/trunk/Source/WebCore/platform/animation\n // first try a few iterations of Newton's method -- normally very fast.\n // http://en.wikipedia.org/wikiNewton's_method\n for (var i = 0; i < 8; i++) {\n // f(t) - x = 0\n x2 = sampleCurveX(t2) - x;\n if (Math.abs(x2) < ZERO_LIMIT) {\n return t2;\n }\n derivative = sampleCurveDerivativeX(t2);\n // == 0, failure\n /* istanbul ignore if */\n if (Math.abs(derivative) < ZERO_LIMIT) {\n break;\n }\n t2 -= x2 / derivative;\n }\n // Fall back to the bisection method for reliability.\n // bisection\n // http://en.wikipedia.org/wiki/Bisection_method\n var t1 = 1;\n /* istanbul ignore next */\n var t0 = 0;\n /* istanbul ignore next */\n t2 = x;\n /* istanbul ignore next */\n while (t1 > t0) {\n x2 = sampleCurveX(t2) - x;\n if (Math.abs(x2) < ZERO_LIMIT) {\n return t2;\n }\n if (x2 > 0) {\n t1 = t2;\n } else {\n t0 = t2;\n }\n t2 = (t1 + t0) / 2;\n }\n // Failure\n return t2;\n }\n function solve(x) {\n return sampleCurveY(solveCurveX(x));\n }\n return solve;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9hbmltYXRpb24vYmV6aWVyLnRzIl0sIm5hbWVzIjpbImN1YmljQmV6aWVyIiwicDF4IiwicDF5IiwicDJ4IiwicDJ5IiwiWkVST19MSU1JVCIsImF4IiwiYngiLCJjeCIsImF5IiwiYnkiLCJjeSIsInNhbXBsZUN1cnZlRGVyaXZhdGl2ZVgiLCJ0Iiwic2FtcGxlQ3VydmVYIiwic2FtcGxlQ3VydmVZIiwic29sdmVDdXJ2ZVgiLCJ4IiwidDIiLCJkZXJpdmF0aXZlIiwieDIiLCJpIiwiTWF0aCIsImFicyIsInQxIiwidDAiLCJzb2x2ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU0sU0FBVUEsV0FBVyxDQUFDQyxHQUFXLEVBQUVDLEdBQVcsRUFBRUMsR0FBVyxFQUFFQyxHQUFXO0VBQzVFLElBQU1DLFVBQVUsR0FBRyxJQUFJO0VBQ3ZCO0VBQ0E7RUFDQSxJQUFNQyxFQUFFLEdBQUcsQ0FBQyxHQUFHTCxHQUFHLEdBQUcsQ0FBQyxHQUFHRSxHQUFHLEdBQUcsQ0FBQztFQUNoQyxJQUFNSSxFQUFFLEdBQUcsQ0FBQyxHQUFHSixHQUFHLEdBQUcsQ0FBQyxHQUFHRixHQUFHO0VBQzVCLElBQU1PLEVBQUUsR0FBRyxDQUFDLEdBQUdQLEdBQUc7RUFFbEIsSUFBTVEsRUFBRSxHQUFHLENBQUMsR0FBR1AsR0FBRyxHQUFHLENBQUMsR0FBR0UsR0FBRyxHQUFHLENBQUM7RUFDaEMsSUFBTU0sRUFBRSxHQUFHLENBQUMsR0FBR04sR0FBRyxHQUFHLENBQUMsR0FBR0YsR0FBRztFQUM1QixJQUFNUyxFQUFFLEdBQUcsQ0FBQyxHQUFHVCxHQUFHO0VBRWxCLFNBQVNVLHNCQUFzQixDQUFDQyxDQUFTO0lBQ3ZDO0lBQ0EsT0FBTyxDQUFDLENBQUMsR0FBR1AsRUFBRSxHQUFHTyxDQUFDLEdBQUcsQ0FBQyxHQUFHTixFQUFFLElBQUlNLENBQUMsR0FBR0wsRUFBRTtFQUN2QztFQUVBLFNBQVNNLFlBQVksQ0FBQ0QsQ0FBUztJQUM3QixPQUFPLENBQUMsQ0FBQ1AsRUFBRSxHQUFHTyxDQUFDLEdBQUdOLEVBQUUsSUFBSU0sQ0FBQyxHQUFHTCxFQUFFLElBQUlLLENBQUM7RUFDckM7RUFFQSxTQUFTRSxZQUFZLENBQUNGLENBQVM7SUFDN0IsT0FBTyxDQUFDLENBQUNKLEVBQUUsR0FBR0ksQ0FBQyxHQUFHSCxFQUFFLElBQUlHLENBQUMsR0FBR0YsRUFBRSxJQUFJRSxDQUFDO0VBQ3JDO0VBRUE7RUFDQSxTQUFTRyxXQUFXLENBQUNDLENBQVM7SUFDNUIsSUFBSUMsRUFBRSxHQUFHRCxDQUFDO0lBQ1YsSUFBSUUsVUFBa0I7SUFDdEIsSUFBSUMsRUFBVTtJQUVkO0lBQ0E7SUFDQTtJQUNBLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7TUFDMUI7TUFDQUQsRUFBRSxHQUFHTixZQUFZLENBQUNJLEVBQUUsQ0FBQyxHQUFHRCxDQUFDO01BQ3pCLElBQUlLLElBQUksQ0FBQ0MsR0FBRyxDQUFDSCxFQUFFLENBQUMsR0FBR2YsVUFBVSxFQUFFO1FBQzdCLE9BQU9hLEVBQUU7O01BRVhDLFVBQVUsR0FBR1Asc0JBQXNCLENBQUNNLEVBQUUsQ0FBQztNQUN2QztNQUNBO01BQ0EsSUFBSUksSUFBSSxDQUFDQyxHQUFHLENBQUNKLFVBQVUsQ0FBQyxHQUFHZCxVQUFVLEVBQUU7UUFDckM7O01BRUZhLEVBQUUsSUFBSUUsRUFBRSxHQUFHRCxVQUFVOztJQUd2QjtJQUNBO0lBQ0E7SUFDQSxJQUFJSyxFQUFFLEdBQUcsQ0FBQztJQUNWO0lBQ0EsSUFBSUMsRUFBRSxHQUFHLENBQUM7SUFFVjtJQUNBUCxFQUFFLEdBQUdELENBQUM7SUFDTjtJQUNBLE9BQU9PLEVBQUUsR0FBR0MsRUFBRSxFQUFFO01BQ2RMLEVBQUUsR0FBR04sWUFBWSxDQUFDSSxFQUFFLENBQUMsR0FBR0QsQ0FBQztNQUN6QixJQUFJSyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0gsRUFBRSxDQUFDLEdBQUdmLFVBQVUsRUFBRTtRQUM3QixPQUFPYSxFQUFFOztNQUVYLElBQUlFLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDVkksRUFBRSxHQUFHTixFQUFFO09BQ1IsTUFBTTtRQUNMTyxFQUFFLEdBQUdQLEVBQUU7O01BRVRBLEVBQUUsR0FBRyxDQUFDTSxFQUFFLEdBQUdDLEVBQUUsSUFBSSxDQUFDOztJQUdwQjtJQUNBLE9BQU9QLEVBQUU7RUFDWDtFQUVBLFNBQVNRLEtBQUssQ0FBQ1QsQ0FBUztJQUN0QixPQUFPRixZQUFZLENBQUNDLFdBQVcsQ0FBQ0MsQ0FBQyxDQUFDLENBQUM7RUFDckM7RUFFQSxPQUFPUyxLQUFLO0FBQ2QiLCJmaWxlIjoiNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3ViaWNCZXppZXIocDF4OiBudW1iZXIsIHAxeTogbnVtYmVyLCBwMng6IG51bWJlciwgcDJ5OiBudW1iZXIpIHtcbiAgY29uc3QgWkVST19MSU1JVCA9IDFlLTY7XG4gIC8vIENhbGN1bGF0ZSB0aGUgcG9seW5vbWlhbCBjb2VmZmljaWVudHMsXG4gIC8vIGltcGxpY2l0IGZpcnN0IGFuZCBsYXN0IGNvbnRyb2wgcG9pbnRzIGFyZSAoMCwwKSBhbmQgKDEsMSkuXG4gIGNvbnN0IGF4ID0gMyAqIHAxeCAtIDMgKiBwMnggKyAxO1xuICBjb25zdCBieCA9IDMgKiBwMnggLSA2ICogcDF4O1xuICBjb25zdCBjeCA9IDMgKiBwMXg7XG5cbiAgY29uc3QgYXkgPSAzICogcDF5IC0gMyAqIHAyeSArIDE7XG4gIGNvbnN0IGJ5ID0gMyAqIHAyeSAtIDYgKiBwMXk7XG4gIGNvbnN0IGN5ID0gMyAqIHAxeTtcblxuICBmdW5jdGlvbiBzYW1wbGVDdXJ2ZURlcml2YXRpdmVYKHQ6IG51bWJlcikge1xuICAgIC8vIGBheCB0XjMgKyBieCB0XjIgKyBjeCB0YCBleHBhbmRlZCB1c2luZyBIb3JuZXIncyBydWxlXG4gICAgcmV0dXJuICgzICogYXggKiB0ICsgMiAqIGJ4KSAqIHQgKyBjeDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNhbXBsZUN1cnZlWCh0OiBudW1iZXIpIHtcbiAgICByZXR1cm4gKChheCAqIHQgKyBieCkgKiB0ICsgY3gpICogdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNhbXBsZUN1cnZlWSh0OiBudW1iZXIpIHtcbiAgICByZXR1cm4gKChheSAqIHQgKyBieSkgKiB0ICsgY3kpICogdDtcbiAgfVxuXG4gIC8vIEdpdmVuIGFuIHggdmFsdWUsIGZpbmQgYSBwYXJhbWV0cmljIHZhbHVlIGl0IGNhbWUgZnJvbS5cbiAgZnVuY3Rpb24gc29sdmVDdXJ2ZVgoeDogbnVtYmVyKSB7XG4gICAgbGV0IHQyID0geDtcbiAgICBsZXQgZGVyaXZhdGl2ZTogbnVtYmVyO1xuICAgIGxldCB4MjogbnVtYmVyO1xuXG4gICAgLy8gaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvYnJvd3Nlci90cnVuay9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb25cbiAgICAvLyBmaXJzdCB0cnkgYSBmZXcgaXRlcmF0aW9ucyBvZiBOZXd0b24ncyBtZXRob2QgLS0gbm9ybWFsbHkgdmVyeSBmYXN0LlxuICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2lOZXd0b24nc19tZXRob2RcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDg7IGkrKykge1xuICAgICAgLy8gZih0KSAtIHggPSAwXG4gICAgICB4MiA9IHNhbXBsZUN1cnZlWCh0MikgLSB4O1xuICAgICAgaWYgKE1hdGguYWJzKHgyKSA8IFpFUk9fTElNSVQpIHtcbiAgICAgICAgcmV0dXJuIHQyO1xuICAgICAgfVxuICAgICAgZGVyaXZhdGl2ZSA9IHNhbXBsZUN1cnZlRGVyaXZhdGl2ZVgodDIpO1xuICAgICAgLy8gPT0gMCwgZmFpbHVyZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoTWF0aC5hYnMoZGVyaXZhdGl2ZSkgPCBaRVJPX0xJTUlUKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdDIgLT0geDIgLyBkZXJpdmF0aXZlO1xuICAgIH1cblxuICAgIC8vIEZhbGwgYmFjayB0byB0aGUgYmlzZWN0aW9uIG1ldGhvZCBmb3IgcmVsaWFiaWxpdHkuXG4gICAgLy8gYmlzZWN0aW9uXG4gICAgLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaXNlY3Rpb25fbWV0aG9kXG4gICAgbGV0IHQxID0gMTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGxldCB0MCA9IDA7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHQyID0geDtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHdoaWxlICh0MSA+IHQwKSB7XG4gICAgICB4MiA9IHNhbXBsZUN1cnZlWCh0MikgLSB4O1xuICAgICAgaWYgKE1hdGguYWJzKHgyKSA8IFpFUk9fTElNSVQpIHtcbiAgICAgICAgcmV0dXJuIHQyO1xuICAgICAgfVxuICAgICAgaWYgKHgyID4gMCkge1xuICAgICAgICB0MSA9IHQyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdDAgPSB0MjtcbiAgICAgIH1cbiAgICAgIHQyID0gKHQxICsgdDApIC8gMjtcbiAgICB9XG5cbiAgICAvLyBGYWlsdXJlXG4gICAgcmV0dXJuIHQyO1xuICB9XG5cbiAgZnVuY3Rpb24gc29sdmUoeDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHNhbXBsZUN1cnZlWShzb2x2ZUN1cnZlWCh4KSk7XG4gIH1cblxuICByZXR1cm4gc29sdmU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///52\n"); + +/***/ }), +/* 53 */ +/*!**********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/animation/index.ts ***! + \**********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Timeline = exports.Animation = void 0;\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 54));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 55));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n// @ts-nocheck\nvar TICK = Symbol('tick');\nvar TICK_HANDLER = Symbol('tick-handler');\nvar ANIMATIONS = Symbol('animations');\nvar START_TIMES = Symbol('start-times');\nvar PAUSE_START = Symbol('pause-start');\nvar PAUSE_TIME = Symbol('pause-time');\nvar _raf = typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame : function (cb) {\n return setTimeout(cb, 1000 / 60);\n};\nvar _caf = typeof cancelAnimationFrame !== 'undefined' ? cancelAnimationFrame : function (id) {\n clearTimeout(id);\n};\nvar Timeline = /*#__PURE__*/function () {\n function Timeline() {\n (0, _classCallCheck2.default)(this, Timeline);\n (0, _defineProperty2.default)(this, \"state\", void 0);\n this.state = 'Initiated';\n this[ANIMATIONS] = new Set();\n this[START_TIMES] = new Map();\n }\n (0, _createClass2.default)(Timeline, [{\n key: \"start\",\n value: function start() {\n var _this = this;\n if (!(this.state === 'Initiated')) return;\n this.state = 'Started';\n var startTime = Date.now();\n this[PAUSE_TIME] = 0;\n this[TICK] = function () {\n var now = Date.now();\n var _iterator = _createForOfIteratorHelper(_this[ANIMATIONS]),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var animation = _step.value;\n var t = void 0;\n if (_this[START_TIMES].get(animation) < startTime) {\n t = now - startTime - animation.delay - _this[PAUSE_TIME];\n } else {\n t = now - _this[START_TIMES].get(animation) - animation.delay - _this[PAUSE_TIME];\n }\n if (t > animation.duration) {\n _this[ANIMATIONS].delete(animation);\n t = animation.duration;\n }\n if (t > 0) animation.run(t);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n _this[TICK_HANDLER] = _raf(_this[TICK]);\n };\n this[TICK]();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (!(this.state === 'Started')) return;\n this.state = 'Paused';\n this[PAUSE_START] = Date.now();\n _caf(this[TICK_HANDLER]);\n }\n }, {\n key: \"resume\",\n value: function resume() {\n if (!(this.state === 'Paused')) return;\n this.state = 'Started';\n this[PAUSE_TIME] += Date.now() - this[PAUSE_START];\n this[TICK]();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pause();\n this.state = 'Initiated';\n this[PAUSE_TIME] = 0;\n this[PAUSE_START] = 0;\n this[ANIMATIONS] = new Set();\n this[START_TIMES] = new Map();\n this[TICK_HANDLER] = null;\n }\n }, {\n key: \"add\",\n value: function add(animation, startTime) {\n if (arguments.length < 2) startTime = Date.now();\n this[ANIMATIONS].add(animation);\n this[START_TIMES].set(animation, startTime);\n }\n }]);\n return Timeline;\n}();\nexports.Timeline = Timeline;\nvar Animation = /*#__PURE__*/function () {\n function Animation(startValue, endValue, duration, delay, timingFunction, template) {\n (0, _classCallCheck2.default)(this, Animation);\n (0, _defineProperty2.default)(this, \"startValue\", void 0);\n (0, _defineProperty2.default)(this, \"endValue\", void 0);\n (0, _defineProperty2.default)(this, \"duration\", void 0);\n (0, _defineProperty2.default)(this, \"timingFunction\", void 0);\n (0, _defineProperty2.default)(this, \"delay\", void 0);\n (0, _defineProperty2.default)(this, \"template\", void 0);\n timingFunction = timingFunction || function (v) {\n return v;\n };\n template = template || function (v) {\n return v;\n };\n this.startValue = startValue;\n this.endValue = endValue;\n this.duration = duration;\n this.timingFunction = timingFunction;\n this.delay = delay;\n this.template = template;\n }\n (0, _createClass2.default)(Animation, [{\n key: \"run\",\n value: function run(time) {\n var range = this.endValue - this.startValue;\n var progress = this.timingFunction(time / this.duration);\n this.template(this.startValue + range * progress);\n }\n }]);\n return Animation;\n}();\nexports.Animation = Animation;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9hbmltYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOlsiVElDSyIsIlN5bWJvbCIsIlRJQ0tfSEFORExFUiIsIkFOSU1BVElPTlMiLCJTVEFSVF9USU1FUyIsIlBBVVNFX1NUQVJUIiwiUEFVU0VfVElNRSIsIl9yYWYiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJjYiIsInNldFRpbWVvdXQiLCJfY2FmIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJpZCIsImNsZWFyVGltZW91dCIsIlRpbWVsaW5lIiwic3RhdGUiLCJTZXQiLCJNYXAiLCJzdGFydFRpbWUiLCJEYXRlIiwibm93IiwiYW5pbWF0aW9uIiwidCIsImdldCIsImRlbGF5IiwiZHVyYXRpb24iLCJkZWxldGUiLCJydW4iLCJwYXVzZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFkZCIsInNldCIsIkFuaW1hdGlvbiIsInN0YXJ0VmFsdWUiLCJlbmRWYWx1ZSIsInRpbWluZ0Z1bmN0aW9uIiwidGVtcGxhdGUiLCJ2IiwidGltZSIsInJhbmdlIiwicHJvZ3Jlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLElBQU1BLElBQUksR0FBR0MsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUMzQixJQUFNQyxZQUFZLEdBQUdELE1BQU0sQ0FBQyxjQUFjLENBQUM7QUFDM0MsSUFBTUUsVUFBVSxHQUFHRixNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3ZDLElBQU1HLFdBQVcsR0FBR0gsTUFBTSxDQUFDLGFBQWEsQ0FBQztBQUN6QyxJQUFNSSxXQUFXLEdBQUdKLE1BQU0sQ0FBQyxhQUFhLENBQUM7QUFDekMsSUFBTUssVUFBVSxHQUFHTCxNQUFNLENBQUMsWUFBWSxDQUFDO0FBQ3ZDLElBQU1NLElBQUksR0FBRyxPQUFPQyxxQkFBcUIsS0FBSyxXQUFXLEdBQUdBLHFCQUFxQixHQUFHLFVBQVNDLEVBQVk7RUFBRyxPQUFPQyxVQUFVLENBQUNELEVBQUUsRUFBRSxJQUFJLEdBQUMsRUFBRSxDQUFDO0FBQUEsQ0FBQztBQUMzSSxJQUFNRSxJQUFJLEdBQUcsT0FBT0Msb0JBQW9CLEtBQUssV0FBVyxHQUFHQSxvQkFBb0IsR0FBRSxVQUFTQyxFQUFPO0VBQUdDLFlBQVksQ0FBQ0QsRUFBRSxDQUFDO0FBQUEsQ0FBQztBQUFBLElBRXhHRSxRQUFRO0VBRXBCO0lBQUE7SUFBQTtJQUNDLElBQUksQ0FBQ0MsS0FBSyxHQUFHLFdBQVc7SUFDeEIsSUFBSSxDQUFDYixVQUFVLENBQUMsR0FBRyxJQUFJYyxHQUFHLEVBQUU7SUFDNUIsSUFBSSxDQUFDYixXQUFXLENBQUMsR0FBRyxJQUFJYyxHQUFHLEVBQUU7RUFDOUI7RUFBQztJQUFBO0lBQUEsT0FDRCxpQkFBSztNQUFBO01BQ0osSUFBSSxFQUFFLElBQUksQ0FBQ0YsS0FBSyxLQUFLLFdBQVcsQ0FBQyxFQUFFO01BQ25DLElBQUksQ0FBQ0EsS0FBSyxHQUFHLFNBQVM7TUFFdEIsSUFBSUcsU0FBUyxHQUFHQyxJQUFJLENBQUNDLEdBQUcsRUFBRTtNQUMxQixJQUFJLENBQUNmLFVBQVUsQ0FBQyxHQUFHLENBQUM7TUFDcEIsSUFBSSxDQUFDTixJQUFJLENBQUMsR0FBRyxZQUFLO1FBQ2pCLElBQUlxQixHQUFHLEdBQUdELElBQUksQ0FBQ0MsR0FBRyxFQUFFO1FBQUMsMkNBQ0MsS0FBSSxDQUFDbEIsVUFBVSxDQUFDO1VBQUE7UUFBQTtVQUF0QyxvREFBd0M7WUFBQSxJQUEvQm1CLFNBQVM7WUFDakIsSUFBSUMsQ0FBUztZQUViLElBQUksS0FBSSxDQUFDbkIsV0FBVyxDQUFDLENBQUNvQixHQUFHLENBQUNGLFNBQVMsQ0FBQyxHQUFHSCxTQUFTLEVBQUU7Y0FDakRJLENBQUMsR0FBR0YsR0FBRyxHQUFHRixTQUFTLEdBQUdHLFNBQVMsQ0FBQ0csS0FBSyxHQUFHLEtBQUksQ0FBQ25CLFVBQVUsQ0FBQzthQUN4RCxNQUFNO2NBQ05pQixDQUFDLEdBQUdGLEdBQUcsR0FBRyxLQUFJLENBQUNqQixXQUFXLENBQUMsQ0FBQ29CLEdBQUcsQ0FBQ0YsU0FBUyxDQUFDLEdBQUdBLFNBQVMsQ0FBQ0csS0FBSyxHQUFHLEtBQUksQ0FBQ25CLFVBQVUsQ0FBQzs7WUFHaEYsSUFBSWlCLENBQUMsR0FBR0QsU0FBUyxDQUFDSSxRQUFRLEVBQUU7Y0FDM0IsS0FBSSxDQUFDdkIsVUFBVSxDQUFDLENBQUN3QixNQUFNLENBQUNMLFNBQVMsQ0FBQztjQUNsQ0MsQ0FBQyxHQUFHRCxTQUFTLENBQUNJLFFBQVE7O1lBRXZCLElBQUlILENBQUMsR0FBRyxDQUFDLEVBQUVELFNBQVMsQ0FBQ00sR0FBRyxDQUFDTCxDQUFDLENBQUM7O1FBQzNCO1VBQUE7UUFBQTtVQUFBO1FBQUE7UUFDRCxLQUFJLENBQUNyQixZQUFZLENBQUMsR0FBR0ssSUFBSSxDQUFDLEtBQUksQ0FBQ1AsSUFBSSxDQUFDLENBQUM7TUFDdEMsQ0FBQztNQUNELElBQUksQ0FBQ0EsSUFBSSxDQUFDLEVBQUU7SUFDYjtFQUFDO0lBQUE7SUFBQSxPQUNELGlCQUFLO01BQ0osSUFBSSxFQUFFLElBQUksQ0FBQ2dCLEtBQUssS0FBSyxTQUFTLENBQUMsRUFBRTtNQUNqQyxJQUFJLENBQUNBLEtBQUssR0FBRyxRQUFRO01BRXJCLElBQUksQ0FBQ1gsV0FBVyxDQUFDLEdBQUdlLElBQUksQ0FBQ0MsR0FBRyxFQUFFO01BQzlCVixJQUFJLENBQUMsSUFBSSxDQUFDVCxZQUFZLENBQUMsQ0FBQztJQUN6QjtFQUFDO0lBQUE7SUFBQSxPQUNELGtCQUFNO01BQ0wsSUFBSSxFQUFFLElBQUksQ0FBQ2MsS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUFFO01BQ2hDLElBQUksQ0FBQ0EsS0FBSyxHQUFHLFNBQVM7TUFFdEIsSUFBSSxDQUFDVixVQUFVLENBQUMsSUFBSWMsSUFBSSxDQUFDQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUNoQixXQUFXLENBQUM7TUFDbEQsSUFBSSxDQUFDTCxJQUFJLENBQUMsRUFBRTtJQUNiO0VBQUM7SUFBQTtJQUFBLE9BQ0QsaUJBQUs7TUFDSixJQUFJLENBQUM2QixLQUFLLEVBQUU7TUFDWixJQUFJLENBQUNiLEtBQUssR0FBRyxXQUFXO01BQ3hCLElBQUksQ0FBQ1YsVUFBVSxDQUFDLEdBQUcsQ0FBQztNQUNwQixJQUFJLENBQUNELFdBQVcsQ0FBQyxHQUFHLENBQUM7TUFDckIsSUFBSSxDQUFDRixVQUFVLENBQUMsR0FBRyxJQUFJYyxHQUFHLEVBQUU7TUFDNUIsSUFBSSxDQUFDYixXQUFXLENBQUMsR0FBRyxJQUFJYyxHQUFHLEVBQUU7TUFDN0IsSUFBSSxDQUFDaEIsWUFBWSxDQUFDLEdBQUcsSUFBSTtJQUMxQjtFQUFDO0lBQUE7SUFBQSxPQUNELGFBQUlvQixTQUFjLEVBQUVILFNBQWtCO01BQ3JDLElBQUlXLFNBQVMsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsRUFBRVosU0FBUyxHQUFHQyxJQUFJLENBQUNDLEdBQUcsRUFBRTtNQUNoRCxJQUFJLENBQUNsQixVQUFVLENBQUMsQ0FBQzZCLEdBQUcsQ0FBQ1YsU0FBUyxDQUFDO01BQy9CLElBQUksQ0FBQ2xCLFdBQVcsQ0FBQyxDQUFDNkIsR0FBRyxDQUFDWCxTQUFTLEVBQUVILFNBQVMsQ0FBQztJQUM1QztFQUFDO0VBQUE7QUFBQTtBQUFBO0FBQUEsSUFHV2UsU0FBUztFQU9yQixtQkFBWUMsVUFBa0IsRUFBRUMsUUFBZ0IsRUFBRVYsUUFBZ0IsRUFBRUQsS0FBYSxFQUFFWSxjQUFxQyxFQUFFQyxRQUE2QjtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQ3RKRCxjQUFjLEdBQUdBLGNBQWMsSUFBSyxXQUFDO01BQUEsT0FBSUUsQ0FBQztJQUFBLENBQUM7SUFDM0NELFFBQVEsR0FBR0EsUUFBUSxJQUFLLFdBQUM7TUFBQSxPQUFJQyxDQUFDO0lBQUEsQ0FBQztJQUUvQixJQUFJLENBQUNKLFVBQVUsR0FBR0EsVUFBVTtJQUM1QixJQUFJLENBQUNDLFFBQVEsR0FBR0EsUUFBUTtJQUN4QixJQUFJLENBQUNWLFFBQVEsR0FBR0EsUUFBUTtJQUN4QixJQUFJLENBQUNXLGNBQWMsR0FBR0EsY0FBYztJQUNwQyxJQUFJLENBQUNaLEtBQUssR0FBR0EsS0FBSztJQUNsQixJQUFJLENBQUNhLFFBQVEsR0FBR0EsUUFBUTtFQUN6QjtFQUFDO0lBQUE7SUFBQSxPQUVELGFBQUlFLElBQVk7TUFDZixJQUFJQyxLQUFLLEdBQUcsSUFBSSxDQUFDTCxRQUFRLEdBQUcsSUFBSSxDQUFDRCxVQUFVO01BQzNDLElBQUlPLFFBQVEsR0FBRyxJQUFJLENBQUNMLGNBQWMsQ0FBQ0csSUFBSSxHQUFHLElBQUksQ0FBQ2QsUUFBUSxDQUFDO01BQ3hELElBQUksQ0FBQ1ksUUFBUSxDQUFDLElBQUksQ0FBQ0gsVUFBVSxHQUFHTSxLQUFLLEdBQUdDLFFBQVEsQ0FBQztJQUNsRDtFQUFDO0VBQUE7QUFBQTtBQUFBIiwiZmlsZSI6IjUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcclxuY29uc3QgVElDSyA9IFN5bWJvbCgndGljaycpO1xyXG5jb25zdCBUSUNLX0hBTkRMRVIgPSBTeW1ib2woJ3RpY2staGFuZGxlcicpO1xyXG5jb25zdCBBTklNQVRJT05TID0gU3ltYm9sKCdhbmltYXRpb25zJyk7XHJcbmNvbnN0IFNUQVJUX1RJTUVTID0gU3ltYm9sKCdzdGFydC10aW1lcycpO1xyXG5jb25zdCBQQVVTRV9TVEFSVCA9IFN5bWJvbCgncGF1c2Utc3RhcnQnKTtcclxuY29uc3QgUEFVU0VfVElNRSA9IFN5bWJvbCgncGF1c2UtdGltZScpO1xyXG5jb25zdCBfcmFmID0gdHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ3VuZGVmaW5lZCcgPyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgOiBmdW5jdGlvbihjYjogRnVuY3Rpb24pIHtyZXR1cm4gc2V0VGltZW91dChjYiwgMTAwMC82MCl9XHJcbmNvbnN0IF9jYWYgPSB0eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWUgIT09ICd1bmRlZmluZWQnID8gY2FuY2VsQW5pbWF0aW9uRnJhbWU6IGZ1bmN0aW9uKGlkOiBhbnkpIHtjbGVhclRpbWVvdXQoaWQpfVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lIHtcclxuXHRzdGF0ZTogc3RyaW5nXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnN0YXRlID0gJ0luaXRpYXRlZCc7XHJcblx0XHR0aGlzW0FOSU1BVElPTlNdID0gbmV3IFNldCgpO1xyXG5cdFx0dGhpc1tTVEFSVF9USU1FU10gPSBuZXcgTWFwKCk7XHJcblx0fVxyXG5cdHN0YXJ0KCkge1xyXG5cdFx0aWYgKCEodGhpcy5zdGF0ZSA9PT0gJ0luaXRpYXRlZCcpKSByZXR1cm47XHJcblx0XHR0aGlzLnN0YXRlID0gJ1N0YXJ0ZWQnO1xyXG5cclxuXHRcdGxldCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG5cdFx0dGhpc1tQQVVTRV9USU1FXSA9IDA7XHJcblx0XHR0aGlzW1RJQ0tdID0gKCkgPT4ge1xyXG5cdFx0XHRsZXQgbm93ID0gRGF0ZS5ub3coKTtcclxuXHRcdFx0Zm9yIChsZXQgYW5pbWF0aW9uIG9mIHRoaXNbQU5JTUFUSU9OU10pIHtcclxuXHRcdFx0XHRsZXQgdDogbnVtYmVyO1xyXG5cclxuXHRcdFx0XHRpZiAodGhpc1tTVEFSVF9USU1FU10uZ2V0KGFuaW1hdGlvbikgPCBzdGFydFRpbWUpIHtcclxuXHRcdFx0XHRcdHQgPSBub3cgLSBzdGFydFRpbWUgLSBhbmltYXRpb24uZGVsYXkgLSB0aGlzW1BBVVNFX1RJTUVdO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0ID0gbm93IC0gdGhpc1tTVEFSVF9USU1FU10uZ2V0KGFuaW1hdGlvbikgLSBhbmltYXRpb24uZGVsYXkgLSB0aGlzW1BBVVNFX1RJTUVdO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aWYgKHQgPiBhbmltYXRpb24uZHVyYXRpb24pIHtcclxuXHRcdFx0XHRcdHRoaXNbQU5JTUFUSU9OU10uZGVsZXRlKGFuaW1hdGlvbik7XHJcblx0XHRcdFx0XHR0ID0gYW5pbWF0aW9uLmR1cmF0aW9uO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodCA+IDApIGFuaW1hdGlvbi5ydW4odCk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpc1tUSUNLX0hBTkRMRVJdID0gX3JhZih0aGlzW1RJQ0tdKTtcclxuXHRcdH07XHJcblx0XHR0aGlzW1RJQ0tdKCk7XHJcblx0fVxyXG5cdHBhdXNlKCkge1xyXG5cdFx0aWYgKCEodGhpcy5zdGF0ZSA9PT0gJ1N0YXJ0ZWQnKSkgcmV0dXJuO1xyXG5cdFx0dGhpcy5zdGF0ZSA9ICdQYXVzZWQnO1xyXG5cclxuXHRcdHRoaXNbUEFVU0VfU1RBUlRdID0gRGF0ZS5ub3coKTtcclxuXHRcdF9jYWYodGhpc1tUSUNLX0hBTkRMRVJdKTtcclxuXHR9XHJcblx0cmVzdW1lKCkge1xyXG5cdFx0aWYgKCEodGhpcy5zdGF0ZSA9PT0gJ1BhdXNlZCcpKSByZXR1cm47XHJcblx0XHR0aGlzLnN0YXRlID0gJ1N0YXJ0ZWQnO1xyXG5cclxuXHRcdHRoaXNbUEFVU0VfVElNRV0gKz0gRGF0ZS5ub3coKSAtIHRoaXNbUEFVU0VfU1RBUlRdO1xyXG5cdFx0dGhpc1tUSUNLXSgpO1xyXG5cdH1cclxuXHRyZXNldCgpIHtcclxuXHRcdHRoaXMucGF1c2UoKTtcclxuXHRcdHRoaXMuc3RhdGUgPSAnSW5pdGlhdGVkJztcclxuXHRcdHRoaXNbUEFVU0VfVElNRV0gPSAwO1xyXG5cdFx0dGhpc1tQQVVTRV9TVEFSVF0gPSAwO1xyXG5cdFx0dGhpc1tBTklNQVRJT05TXSA9IG5ldyBTZXQoKTtcclxuXHRcdHRoaXNbU1RBUlRfVElNRVNdID0gbmV3IE1hcCgpO1xyXG5cdFx0dGhpc1tUSUNLX0hBTkRMRVJdID0gbnVsbDtcclxuXHR9XHJcblx0YWRkKGFuaW1hdGlvbjogYW55LCBzdGFydFRpbWU/OiBudW1iZXIpIHtcclxuXHRcdGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcclxuXHRcdHRoaXNbQU5JTUFUSU9OU10uYWRkKGFuaW1hdGlvbik7XHJcblx0XHR0aGlzW1NUQVJUX1RJTUVTXS5zZXQoYW5pbWF0aW9uLCBzdGFydFRpbWUpO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbiB7XHJcblx0c3RhcnRWYWx1ZTogbnVtYmVyXHJcblx0ZW5kVmFsdWU6IG51bWJlclxyXG5cdGR1cmF0aW9uOiBudW1iZXJcclxuXHR0aW1pbmdGdW5jdGlvbjogKHQ6IG51bWJlcikgPT4gbnVtYmVyXHJcblx0ZGVsYXk6IG51bWJlclxyXG5cdHRlbXBsYXRlOiAodDogbnVtYmVyKSA9PiB2b2lkXHJcblx0Y29uc3RydWN0b3Ioc3RhcnRWYWx1ZTogbnVtYmVyLCBlbmRWYWx1ZTogbnVtYmVyLCBkdXJhdGlvbjogbnVtYmVyLCBkZWxheTogbnVtYmVyLCB0aW1pbmdGdW5jdGlvbjogKHQ6IG51bWJlcikgPT4gbnVtYmVyLCB0ZW1wbGF0ZTogKHY6IG51bWJlcikgPT4gdm9pZCkge1xyXG5cdFx0dGltaW5nRnVuY3Rpb24gPSB0aW1pbmdGdW5jdGlvbiB8fCAodiA9PiB2KTtcclxuXHRcdHRlbXBsYXRlID0gdGVtcGxhdGUgfHwgKHYgPT4gdik7XHJcblx0XHRcclxuXHRcdHRoaXMuc3RhcnRWYWx1ZSA9IHN0YXJ0VmFsdWU7XHJcblx0XHR0aGlzLmVuZFZhbHVlID0gZW5kVmFsdWU7XHJcblx0XHR0aGlzLmR1cmF0aW9uID0gZHVyYXRpb247XHJcblx0XHR0aGlzLnRpbWluZ0Z1bmN0aW9uID0gdGltaW5nRnVuY3Rpb247XHJcblx0XHR0aGlzLmRlbGF5ID0gZGVsYXk7XHJcblx0XHR0aGlzLnRlbXBsYXRlID0gdGVtcGxhdGU7XHJcblx0fVxyXG5cclxuXHRydW4odGltZTogbnVtYmVyKSB7XHJcblx0XHRsZXQgcmFuZ2UgPSB0aGlzLmVuZFZhbHVlIC0gdGhpcy5zdGFydFZhbHVlO1xyXG5cdFx0bGV0IHByb2dyZXNzID0gdGhpcy50aW1pbmdGdW5jdGlvbih0aW1lIC8gdGhpcy5kdXJhdGlvbik7XHJcblx0XHR0aGlzLnRlbXBsYXRlKHRoaXMuc3RhcnRWYWx1ZSArIHJhbmdlICogcHJvZ3Jlc3MpXHJcblx0fVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///53\n"); + +/***/ }), +/* 54 */ +/*!***************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 55 */ +/*!************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! + \************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3); +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); + } +} +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} +module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 56 */ +/*!************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/uni_modules/lime-circle/components/l-circle/props.ts ***! + \************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// import { CircleProps} from './type';\n// import { PropType } from 'vue';\nvar _default = {\n percent: {\n type: Number,\n default: 0\n },\n size: {\n type: String,\n default: '120px'\n },\n lineCap: {\n type: String,\n default: 'round'\n },\n strokeWidth: {\n type: [String, Number],\n default: 6\n },\n strokeColor: {\n type: [String, Array],\n default: '#2db7f5'\n },\n trailWidth: {\n type: [String, Number],\n default: 6\n },\n trailColor: {\n type: String,\n default: '#ddd'\n },\n dashborad: Boolean,\n clockwise: {\n type: Boolean,\n default: true\n },\n duration: {\n type: Number,\n default: 300\n },\n max: {\n type: Number,\n default: 100\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvbGltZS1jaXJjbGUvY29tcG9uZW50cy9sLWNpcmNsZS9wcm9wcy50cyJdLCJuYW1lcyI6WyJwZXJjZW50IiwidHlwZSIsIk51bWJlciIsImRlZmF1bHQiLCJzaXplIiwiU3RyaW5nIiwibGluZUNhcCIsInN0cm9rZVdpZHRoIiwic3Ryb2tlQ29sb3IiLCJBcnJheSIsInRyYWlsV2lkdGgiLCJ0cmFpbENvbG9yIiwiZGFzaGJvcmFkIiwiQm9vbGVhbiIsImNsb2Nrd2lzZSIsImR1cmF0aW9uIiwibWF4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQUEsZUFFZTtFQUNkQSxPQUFPLEVBQUU7SUFDUkMsSUFBSSxFQUFHQyxNQUFNO0lBQ2JDLE9BQU8sRUFBRTtHQUNUO0VBQ0RDLElBQUksRUFBRTtJQUNMSCxJQUFJLEVBQUVJLE1BQU07SUFDWkYsT0FBTyxFQUFFO0dBQ1Q7RUFDREcsT0FBTyxFQUFFO0lBQ1JMLElBQUksRUFBRUksTUFBTTtJQUNaRixPQUFPLEVBQUU7R0FDVDtFQUNESSxXQUFXLEVBQUU7SUFDWk4sSUFBSSxFQUFFLENBQUNJLE1BQU0sRUFBRUgsTUFBTSxDQUFDO0lBQ3RCQyxPQUFPLEVBQUU7R0FDVDtFQUNESyxXQUFXLEVBQUU7SUFDWlAsSUFBSSxFQUFFLENBQUNJLE1BQU0sRUFBR0ksS0FBSyxDQUFDO0lBQ3RCTixPQUFPLEVBQUU7R0FDVDtFQUNETyxVQUFVLEVBQUU7SUFDWFQsSUFBSSxFQUFFLENBQUNJLE1BQU0sRUFBRUgsTUFBTSxDQUFDO0lBQ3RCQyxPQUFPLEVBQUU7R0FDVDtFQUNEUSxVQUFVLEVBQUU7SUFDWFYsSUFBSSxFQUFFSSxNQUFNO0lBQ1pGLE9BQU8sRUFBRTtHQUNUO0VBQ0RTLFNBQVMsRUFBRUMsT0FBTztFQUNsQkMsU0FBUyxFQUFFO0lBQ1ZiLElBQUksRUFBRVksT0FBTztJQUNiVixPQUFPLEVBQUU7R0FDVDtFQUNEWSxRQUFRLEVBQUU7SUFDVGQsSUFBSSxFQUFFQyxNQUFNO0lBQ1pDLE9BQU8sRUFBRTtHQUNUO0VBQ0RhLEdBQUcsRUFBRTtJQUNKZixJQUFJLEVBQUVDLE1BQU07SUFDWkMsT0FBTyxFQUFFOztDQUVWO0FBQUEiLCJmaWxlIjoiNTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBDaXJjbGVQcm9wc30gZnJvbSAnLi90eXBlJztcclxuLy8gaW1wb3J0IHsgUHJvcFR5cGUgfSBmcm9tICd2dWUnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG5cdHBlcmNlbnQ6IHtcclxuXHRcdHR5cGU6ICBOdW1iZXIsXHJcblx0XHRkZWZhdWx0OiAwXHJcblx0fSxcclxuXHRzaXplOiB7XHJcblx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRkZWZhdWx0OiAnMTIwcHgnXHJcblx0fSxcclxuXHRsaW5lQ2FwOiB7XHJcblx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRkZWZhdWx0OiAncm91bmQnXHJcblx0fSxcclxuXHRzdHJva2VXaWR0aDoge1xyXG5cdFx0dHlwZTogW1N0cmluZywgTnVtYmVyXSxcclxuXHRcdGRlZmF1bHQ6IDZcclxuXHR9LFxyXG5cdHN0cm9rZUNvbG9yOiB7XHJcblx0XHR0eXBlOiBbU3RyaW5nICwgQXJyYXldLFxyXG5cdFx0ZGVmYXVsdDogJyMyZGI3ZjUnXHJcblx0fSxcclxuXHR0cmFpbFdpZHRoOiB7XHJcblx0XHR0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxyXG5cdFx0ZGVmYXVsdDogNlxyXG5cdH0sXHJcblx0dHJhaWxDb2xvcjoge1xyXG5cdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0ZGVmYXVsdDogJyNkZGQnXHJcblx0fSxcclxuXHRkYXNoYm9yYWQ6IEJvb2xlYW4sXHJcblx0Y2xvY2t3aXNlOiB7XHJcblx0XHR0eXBlOiBCb29sZWFuLFxyXG5cdFx0ZGVmYXVsdDogdHJ1ZVxyXG5cdH0sXHJcblx0ZHVyYXRpb246IHtcclxuXHRcdHR5cGU6IE51bWJlcixcclxuXHRcdGRlZmF1bHQ6IDMwMFxyXG5cdH0sXHJcblx0bWF4OiB7XHJcblx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRkZWZhdWx0OiAxMDBcclxuXHR9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///56\n"); + +/***/ }), +/* 57 */ +/*!*****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-modal.vue ***! + \*****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-modal.vue?vue&type=template&id=4278360a&scoped=true& */ 58);\n/* harmony import */ var _gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-modal.vue?vue&type=script&lang=js& */ 65);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"4278360a\",\n null,\n false,\n _gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-modal.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1tb2RhbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NDI3ODM2MGEmc2NvcGVkPXRydWUmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9ndWktbW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9ndWktbW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNDI3ODM2MGFcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktbW9kYWwudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///57\n"); + +/***/ }), +/* 58 */ +/*!************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-modal.vue?vue&type=template&id=4278360a&scoped=true& ***! + \************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-modal.vue?vue&type=template&id=4278360a&scoped=true& */ 59); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_template_id_4278360a_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 59 */ +/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-modal.vue?vue&type=template&id=4278360a&scoped=true& ***! + \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiPopup: __webpack_require__(/*! @/GraceUI5/components/gui-popup.vue */ 60).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "gui-popup", + { + ref: "guipopupformodal", + attrs: { + width: _vm.width, + canCloseByShade: _vm.canCloseByShade, + zIndex: _vm.zIndex, + _i: 0, + }, + on: { close: _vm.eClose }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(1, "sc", "gui-relative"), + style: _vm._$s(1, "s", _vm.bodyStyle), + attrs: { _i: 1 }, + on: { + click: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + }, + }, + [ + _c("view", [ + _vm._$s(3, "i", _vm.isTitle) + ? _c( + "text", + { + staticClass: _vm._$s( + 3, + "sc", + "gui-block-text gui-text-center" + ), + style: _vm._$s(3, "s", _vm.titleStyle), + attrs: { _i: 3 }, + }, + [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.title)))] + ) + : _vm._e(), + ]), + _c("view", [_vm._t("content", null, { _i: 5 })], 2), + _c("view", [_vm._t("btns", null, { _i: 7 })], 2), + _vm._$s(8, "i", _vm.isCloseBtn) + ? _c("text", { + staticClass: _vm._$s( + 8, + "sc", + "gui-popup-close gui-block-text gui-absolute-rt gui-icons" + ), + style: _vm._$s(8, "s", _vm.closeBtnStyle), + attrs: { _i: 8 }, + on: { + click: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.close($event) + }, + }, + }) + : _vm._e(), + ] + ), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 60 */ +/*!*****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-popup.vue ***! + \*****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-popup.vue?vue&type=template&id=c72cd6ee& */ 61);\n/* harmony import */ var _gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-popup.vue?vue&type=script&lang=js& */ 63);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-popup.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1wb3B1cC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YzcyY2Q2ZWUmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9ndWktcG9wdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9ndWktcG9wdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcIkdyYWNlVUk1L2NvbXBvbmVudHMvZ3VpLXBvcHVwLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///60\n"); + +/***/ }), +/* 61 */ +/*!************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-popup.vue?vue&type=template&id=c72cd6ee& ***! + \************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-popup.vue?vue&type=template&id=c72cd6ee& */ 62); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_template_id_c72cd6ee___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 62 */ +/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-popup.vue?vue&type=template&id=c72cd6ee& ***! + \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _vm._$s(0, "i", _vm.show) + ? _c("view", [ + _vm._$s(1, "i", _vm.position == "center") + ? _c( + "view", + { + ref: "guipopup", + staticClass: _vm._$s( + 1, + "sc", + "gui-popup gui-flex gui-columns gui-justify-content-center gui-align-items-center" + ), + class: _vm._$s(1, "c", [ + _vm.out ? "gui-fade-out" : "gui-fade-in", + ]), + style: _vm._$s(1, "s", { + backgroundColor: _vm.bgColor, + zIndex: _vm.zIndex, + top: _vm.top + "px", + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 1 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.closebysd($event) + }, + }, + }, + [ + _c( + "view", + { + ref: "guiPopupCenter", + staticClass: _vm._$s( + 2, + "sc", + "gui-popup-content gui-popup-center" + ), + class: _vm._$s(2, "c", [ + _vm.out ? "gui-scale-out" : "gui-scale-in", + ]), + style: _vm._$s(2, "s", { + width: _vm.width, + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 2 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [_vm._t("default", null, { _i: 3 })], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(4, "i", _vm.position == "top") + ? _c( + "view", + { + ref: "guipopup", + staticClass: _vm._$s(4, "sc", "gui-popup gui-flex gui-columns"), + class: _vm._$s(4, "c", [ + _vm.out ? "gui-fade-out" : "gui-fade-in", + ]), + style: _vm._$s(4, "s", { + backgroundColor: _vm.bgColor, + zIndex: _vm.zIndex, + top: _vm.top + "px", + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 4 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.closebysd($event) + }, + }, + }, + [ + _c( + "view", + { + ref: "guiPopupTop", + staticClass: _vm._$s( + 5, + "sc", + "gui-popup-content gui-popup-top" + ), + class: _vm._$s(5, "c", [ + _vm.out ? "gui-top-out" : "gui-top-in", + ]), + style: _vm._$s(5, "s", { + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 5 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [_vm._t("default", null, { _i: 6 })], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(7, "i", _vm.position == "bottom") + ? _c( + "view", + { + ref: "guipopup", + staticClass: _vm._$s( + 7, + "sc", + "gui-popup gui-flex gui-columns gui-justify-content-end" + ), + class: _vm._$s(7, "c", [ + _vm.out ? "gui-fade-out" : "gui-fade-in", + ]), + style: _vm._$s(7, "s", { + backgroundColor: _vm.bgColor, + zIndex: _vm.zIndex, + top: _vm.top + "px", + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 7 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.closebysd($event) + }, + }, + }, + [ + _c( + "view", + { + ref: "guiPopupBottom", + staticClass: _vm._$s( + 8, + "sc", + "gui-popup-content gui-popup-bottom" + ), + class: _vm._$s(8, "c", [ + _vm.out ? "gui-bottom-out" : "gui-bottom-in", + ]), + style: _vm._$s(8, "s", { + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 8 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [_vm._t("default", null, { _i: 9 })], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(10, "i", _vm.position == "left") + ? _c( + "view", + { + ref: "guipopup", + staticClass: _vm._$s( + 10, + "sc", + "gui-popup gui-flex gui-columns" + ), + class: _vm._$s(10, "c", [ + _vm.out ? "gui-fade-out" : "gui-fade-in", + ]), + style: _vm._$s(10, "s", { + backgroundColor: _vm.bgColor, + zIndex: _vm.zIndex, + top: _vm.top + "px", + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 10 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.closebysd($event) + }, + }, + }, + [ + _c( + "view", + { + ref: "guiPopupLeft", + staticClass: _vm._$s( + 11, + "sc", + "gui-popup-content gui-flex1 gui-flex gui-columns gui-popup-left" + ), + class: _vm._$s(11, "c", [ + _vm.out ? "gui-left-out" : "gui-left-in", + ]), + style: _vm._$s(11, "s", { + width: _vm.width, + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 11 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [_vm._t("default", null, { _i: 12 })], + 2 + ), + ] + ) + : _vm._e(), + _vm._$s(13, "i", _vm.position == "right") + ? _c( + "view", + { + ref: "guipopup", + staticClass: _vm._$s( + 13, + "sc", + "gui-popup gui-flex gui-columns gui-align-items-end" + ), + class: _vm._$s(13, "c", [ + _vm.out ? "gui-fade-out" : "gui-fade-in", + ]), + style: _vm._$s(13, "s", { + backgroundColor: _vm.bgColor, + zIndex: _vm.zIndex, + top: _vm.top + "px", + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 13 }, + on: { + touchmove: function ($event) { + $event.stopPropagation() + $event.preventDefault() + return _vm.stopfun($event) + }, + click: function ($event) { + $event.stopPropagation() + return _vm.closebysd($event) + }, + }, + }, + [ + _c( + "view", + { + ref: "guiPopupRight", + staticClass: _vm._$s( + 14, + "sc", + "gui-popup-content gui-flex1 gui-flex gui-columns gui-popup-right" + ), + class: _vm._$s(14, "c", [ + _vm.out ? "gui-right-out" : "gui-right-in", + ]), + style: _vm._$s(14, "s", { + width: _vm.width, + animationDuration: _vm.duration + "ms", + }), + attrs: { _i: 14 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.stopfun($event) + }, + }, + }, + [_vm._t("default", null, { _i: 15 })], + 2 + ), + ] + ) + : _vm._e(), + ]) + : _vm._e() +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 63 */ +/*!******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-popup.vue?vue&type=script&lang=js& ***! + \******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-popup.vue?vue&type=script&lang=js& */ 64);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_popup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlzQixDQUFnQiwycUJBQUcsRUFBQyIsImZpbGUiOiI2My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1wb3B1cC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1wb3B1cC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///63\n"); + +/***/ }), +/* 64 */ +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-popup.vue?vue&type=script&lang=js& ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"gui-popup\",\n props: {\n bgColor: {\n type: String,\n default: 'rgba(0, 0, 0, 0.7)'\n },\n position: {\n type: String,\n default: 'center'\n },\n width: {\n type: String,\n default: '580rpx'\n },\n canCloseByShade: {\n type: Boolean,\n default: true\n },\n zIndex: {\n type: Number,\n default: 99999\n },\n top: {\n type: Number,\n default: 0\n },\n duration: {\n type: Number,\n default: 280\n }\n },\n data: function data() {\n return {\n show: false,\n out: false\n };\n },\n methods: {\n open: function open() {\n this.out = false;\n this.show = true;\n this.$emit('open');\n },\n closebysd: function closebysd() {\n if (this.canCloseByShade) {\n this.close();\n }\n },\n close: function close() {\n var _this = this;\n this.out = true;\n setTimeout(function () {\n _this.show = false;\n _this.$emit('close');\n }, 350);\n },\n stopfun: function stopfun(e) {\n e.stopPropagation();\n return null;\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktcG9wdXAudnVlIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsImJnQ29sb3IiLCJ0eXBlIiwiZGVmYXVsdCIsInBvc2l0aW9uIiwid2lkdGgiLCJjYW5DbG9zZUJ5U2hhZGUiLCJ6SW5kZXgiLCJ0b3AiLCJkdXJhdGlvbiIsImRhdGEiLCJzaG93Iiwib3V0IiwibWV0aG9kcyIsIm9wZW4iLCJjbG9zZWJ5c2QiLCJjbG9zZSIsInNldFRpbWVvdXQiLCJzdG9wZnVuIiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQXNHQTtFQUNBQTtFQUNBQztJQUNBQztNQUFBQztNQUFBQztJQUFBO0lBQ0FDO01BQUFGO01BQUFDO0lBQUE7SUFDQUU7TUFBQUg7TUFBQUM7SUFBQTtJQUNBRztNQUFBSjtNQUFBQztJQUFBO0lBQ0FJO01BQUFMO01BQUFDO0lBQUE7SUFDQUs7TUFBQU47TUFBQUM7SUFBQTtJQUNBTTtNQUFBUDtNQUFBQztJQUFBO0VBQ0E7RUFDQU87SUFDQTtNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQTtNQUNBO01BSUE7SUFDQTtJQUNBQztNQUNBO1FBQUE7TUFBQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUlBQztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUFDO01BQUE7SUFBQTtFQXVIQTtBQUNBO0FBQUEiLCJmaWxlIjoiNjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgdi1pZj1cInNob3dcIj5cclxuXHRcdDwhLS0g5bGF5LitIC0tPlxyXG5cdFx0PHZpZXcgXHJcblx0XHRjbGFzcz1cImd1aS1wb3B1cCBndWktZmxleCBndWktY29sdW1ucyBndWktanVzdGlmeS1jb250ZW50LWNlbnRlciBndWktYWxpZ24taXRlbXMtY2VudGVyXCIgXHJcblx0XHQ6Y2xhc3M9XCJbb3V0ID8gJ2d1aS1mYWRlLW91dCcgOiAnZ3VpLWZhZGUtaW4nXVwiIFxyXG5cdFx0cmVmPVwiZ3VpcG9wdXBcIiBcclxuXHRcdEB0YXAuc3RvcD1cImNsb3NlYnlzZFwiIEB0b3VjaG1vdmUuc3RvcC5wcmV2ZW50PVwic3RvcGZ1blwiIFxyXG5cdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRiYWNrZ3JvdW5kQ29sb3I6YmdDb2xvciwgXHJcblx0XHRcdHpJbmRleDp6SW5kZXgsIFxyXG5cdFx0XHR0b3A6dG9wKydweCcsXHJcblx0XHRcdGFuaW1hdGlvbkR1cmF0aW9uOmR1cmF0aW9uKydtcydcclxuXHRcdH1cIiBcclxuXHRcdHYtaWY9XCJwb3NpdGlvbiA9PSAnY2VudGVyJ1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1wb3B1cC1jb250ZW50IGd1aS1wb3B1cC1jZW50ZXJcIlxyXG5cdFx0XHQgQHRhcC5zdG9wPVwic3RvcGZ1blwiIHJlZj1cImd1aVBvcHVwQ2VudGVyXCIgXHJcblx0XHRcdDpjbGFzcz1cIltvdXQgPyAnZ3VpLXNjYWxlLW91dCcgOiAnZ3VpLXNjYWxlLWluJ11cIiBcclxuXHRcdFx0OnN0eWxlPVwie3dpZHRoOndpZHRoLCBhbmltYXRpb25EdXJhdGlvbjpkdXJhdGlvbisnbXMnfVwiPjxzbG90Pjwvc2xvdD48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOmhtumDqCAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXBvcHVwIGd1aS1mbGV4IGd1aS1jb2x1bW5zXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdGJhY2tncm91bmRDb2xvcjpiZ0NvbG9yLCBcclxuXHRcdFx0ekluZGV4OnpJbmRleCwgdG9wOnRvcCsncHgnLFxyXG5cdFx0XHRhbmltYXRpb25EdXJhdGlvbjpkdXJhdGlvbisnbXMnXHJcblx0XHR9XCIgXHJcblx0XHR2LWlmPVwicG9zaXRpb24gPT0gJ3RvcCdcIiBcclxuXHRcdDpjbGFzcz1cIltvdXQgPyAnZ3VpLWZhZGUtb3V0JyA6ICdndWktZmFkZS1pbiddXCIgcmVmPVwiZ3VpcG9wdXBcIiBcclxuXHRcdEB0YXAuc3RvcD1cImNsb3NlYnlzZFwiIEB0b3VjaG1vdmUuc3RvcC5wcmV2ZW50PVwic3RvcGZ1blwiPlxyXG5cdFx0XHQ8dmlldyBcclxuXHRcdFx0Y2xhc3M9XCJndWktcG9wdXAtY29udGVudCBndWktcG9wdXAtdG9wXCIgXHJcblx0XHRcdEB0YXAuc3RvcD1cInN0b3BmdW5cIiByZWY9XCJndWlQb3B1cFRvcFwiIFxyXG5cdFx0XHQ6Y2xhc3M9XCJbb3V0ID8gJ2d1aS10b3Atb3V0JyA6ICdndWktdG9wLWluJ11cIiBcclxuXHRcdFx0OnN0eWxlPVwie2FuaW1hdGlvbkR1cmF0aW9uOmR1cmF0aW9uKydtcyd9XCI+XHJcblx0XHRcdFx0PHNsb3Q+PC9zbG90PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOW6lemDqCAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXBvcHVwIGd1aS1mbGV4IGd1aS1jb2x1bW5zIGd1aS1qdXN0aWZ5LWNvbnRlbnQtZW5kXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdGJhY2tncm91bmRDb2xvcjpiZ0NvbG9yLCBcclxuXHRcdFx0ekluZGV4OnpJbmRleCwgXHJcblx0XHRcdHRvcDp0b3ArJ3B4JyxcclxuXHRcdFx0YW5pbWF0aW9uRHVyYXRpb246ZHVyYXRpb24rJ21zJ1xyXG5cdFx0fVwiIFxyXG5cdFx0di1pZj1cInBvc2l0aW9uID09ICdib3R0b20nXCIgXHJcblx0XHQ6Y2xhc3M9XCJbb3V0ID8gJ2d1aS1mYWRlLW91dCcgOiAnZ3VpLWZhZGUtaW4nXVwiIHJlZj1cImd1aXBvcHVwXCIgXHJcblx0XHRAdGFwLnN0b3A9XCJjbG9zZWJ5c2RcIiBAdG91Y2htb3ZlLnN0b3AucHJldmVudD1cInN0b3BmdW5cIj5cclxuXHRcdFx0PHZpZXcgXHJcblx0XHRcdGNsYXNzPVwiZ3VpLXBvcHVwLWNvbnRlbnQgZ3VpLXBvcHVwLWJvdHRvbVwiIFxyXG5cdFx0XHRAdGFwLnN0b3A9XCJzdG9wZnVuXCIgcmVmPVwiZ3VpUG9wdXBCb3R0b21cIiBcclxuXHRcdFx0OmNsYXNzPVwiW291dCA/ICdndWktYm90dG9tLW91dCcgOiAnZ3VpLWJvdHRvbS1pbiddXCIgXHJcblx0XHRcdDpzdHlsZT1cInthbmltYXRpb25EdXJhdGlvbjpkdXJhdGlvbisnbXMnfVwiPlxyXG5cdFx0XHRcdDxzbG90Pjwvc2xvdD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDlt6bkvqcgLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImd1aS1wb3B1cCBndWktZmxleCBndWktY29sdW1uc1wiIFxyXG5cdFx0di1pZj1cInBvc2l0aW9uID09ICdsZWZ0J1wiXHJcblx0XHQ6Y2xhc3M9XCJbb3V0ID8gJ2d1aS1mYWRlLW91dCcgOiAnZ3VpLWZhZGUtaW4nXVwiIFxyXG5cdFx0cmVmPVwiZ3VpcG9wdXBcIiBcclxuXHRcdEB0YXAuc3RvcD1cImNsb3NlYnlzZFwiIEB0b3VjaG1vdmUuc3RvcC5wcmV2ZW50PVwic3RvcGZ1blwiIFxyXG5cdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRiYWNrZ3JvdW5kQ29sb3I6YmdDb2xvciwgXHJcblx0XHRcdHpJbmRleDp6SW5kZXgsIFxyXG5cdFx0XHR0b3A6dG9wKydweCcsXHJcblx0XHRcdGFuaW1hdGlvbkR1cmF0aW9uOmR1cmF0aW9uKydtcydcclxuXHRcdH1cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcG9wdXAtY29udGVudCBndWktZmxleDEgZ3VpLWZsZXggZ3VpLWNvbHVtbnMgZ3VpLXBvcHVwLWxlZnRcIiBcclxuXHRcdFx0QHRhcC5zdG9wPVwic3RvcGZ1blwiIHJlZj1cImd1aVBvcHVwTGVmdFwiIFxyXG5cdFx0XHQ6Y2xhc3M9XCJbb3V0ID8gJ2d1aS1sZWZ0LW91dCcgOiAnZ3VpLWxlZnQtaW4nXVwiIFxyXG5cdFx0XHQ6c3R5bGU9XCJ7d2lkdGg6d2lkdGgsIGFuaW1hdGlvbkR1cmF0aW9uOmR1cmF0aW9uKydtcyd9XCI+XHJcblx0XHRcdFx0PHNsb3Q+PC9zbG90PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOWPs+S+pyAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXBvcHVwIGd1aS1mbGV4IGd1aS1jb2x1bW5zIGd1aS1hbGlnbi1pdGVtcy1lbmRcIiBcclxuXHRcdHYtaWY9XCJwb3NpdGlvbiA9PSAncmlnaHQnXCJcclxuXHRcdDpjbGFzcz1cIltvdXQgPyAnZ3VpLWZhZGUtb3V0JyA6ICdndWktZmFkZS1pbiddXCIgXHJcblx0XHRyZWY9XCJndWlwb3B1cFwiIFxyXG5cdFx0QHRhcC5zdG9wPVwiY2xvc2VieXNkXCIgQHRvdWNobW92ZS5zdG9wLnByZXZlbnQ9XCJzdG9wZnVuXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdGJhY2tncm91bmRDb2xvcjpiZ0NvbG9yLCBcclxuXHRcdFx0ekluZGV4OnpJbmRleCwgXHJcblx0XHRcdHRvcDp0b3ArJ3B4JyxcclxuXHRcdFx0YW5pbWF0aW9uRHVyYXRpb246ZHVyYXRpb24rJ21zJ1xyXG5cdFx0fVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1wb3B1cC1jb250ZW50IGd1aS1mbGV4MSBndWktZmxleCBndWktY29sdW1ucyBndWktcG9wdXAtcmlnaHRcIiBcclxuXHRcdFx0QHRhcC5zdG9wPVwic3RvcGZ1blwiIHJlZj1cImd1aVBvcHVwUmlnaHRcIiBcclxuXHRcdFx0OmNsYXNzPVwiW291dCA/ICdndWktcmlnaHQtb3V0JyA6ICdndWktcmlnaHQtaW4nXVwiIFxyXG5cdFx0XHQ6c3R5bGU9XCJ7d2lkdGg6d2lkdGgsIGFuaW1hdGlvbkR1cmF0aW9uOmR1cmF0aW9uKydtcyd9XCI+XHJcblx0XHRcdFx0PHNsb3Q+PC9zbG90PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG4vLyAjaWZkZWYgQVBQLU5WVUVcclxuY29uc3QgYW5pbWF0aW9uID0gd2VleC5yZXF1aXJlTW9kdWxlKCdhbmltYXRpb24nKTtcclxudmFyIGdyYWNlSlMgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL2dyYWNlLmpzJyk7XHJcbi8vICNlbmRpZlxyXG5leHBvcnQgZGVmYXVsdHtcclxuXHRuYW1lICA6IFwiZ3VpLXBvcHVwXCIsXHJcblx0cHJvcHMgOiB7XHJcblx0XHRiZ0NvbG9yICAgICAgICAgOiB7IHR5cGUgOiBTdHJpbmcsICBkZWZhdWx0IDogJ3JnYmEoMCwgMCwgMCwgMC43KSd9LFxyXG5cdFx0cG9zaXRpb24gICAgICAgIDogeyB0eXBlIDogU3RyaW5nLCAgZGVmYXVsdCA6ICdjZW50ZXInfSxcclxuXHRcdHdpZHRoICAgICAgICAgICA6IHsgdHlwZSA6IFN0cmluZywgIGRlZmF1bHQgOiAnNTgwcnB4J30sXHJcblx0XHRjYW5DbG9zZUJ5U2hhZGUgOiB7IHR5cGUgOiBCb29sZWFuLCBkZWZhdWx0IDogdHJ1ZSB9LFxyXG5cdFx0ekluZGV4ICAgICAgICAgIDogeyB0eXBlIDogTnVtYmVyLCAgZGVmYXVsdCA6IDk5OTk5fSxcclxuXHRcdHRvcCAgICAgICAgICAgICA6IHsgdHlwZSA6IE51bWJlciwgIGRlZmF1bHQgOiAwfSxcclxuXHRcdGR1cmF0aW9uICAgICAgICA6IHsgdHlwZSA6IE51bWJlciwgIGRlZmF1bHQgOiAyODB9XHJcblx0fSxcclxuXHRkYXRhKCl7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRzaG93IDogZmFsc2UsXHJcblx0XHRcdG91dCAgOiBmYWxzZVxyXG5cdFx0fVxyXG5cdH0sXHJcblx0bWV0aG9kczp7XHJcblx0XHRvcGVuICAgIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5vdXQgID0gZmFsc2U7XHJcblx0XHRcdHRoaXMuc2hvdyA9IHRydWU7XHJcblx0XHRcdC8vICNpZmRlZiBBUFAtTlZVRVxyXG5cdFx0XHR0aGlzLndlZXhBbmltYXRlSW4oKTtcclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdHRoaXMuJGVtaXQoJ29wZW4nKTsgXHJcblx0XHR9LFxyXG5cdFx0Y2xvc2VieXNkIDogZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRpZih0aGlzLmNhbkNsb3NlQnlTaGFkZSl7dGhpcy5jbG9zZSgpO31cclxuXHRcdH0sXHJcblx0XHRjbG9zZSAgIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy5vdXQgPSB0cnVlO1xyXG5cdFx0XHQvLyAjaWZkZWYgQVBQLU5WVUVcclxuXHRcdFx0dGhpcy53ZWV4QW5pbWF0ZU91dCgpO1xyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdHRoaXMuc2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2Nsb3NlJyk7IFxyXG5cdFx0XHR9LDM1MCk7XHJcblx0XHR9LFxyXG5cdFx0c3RvcGZ1biA6IGZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7IHJldHVybiBudWxsO30sXHJcblx0XHRcclxuXHRcdC8vICNpZmRlZiBBUFAtTlZVRVxyXG5cdFx0d2VleEFuaW1hdGVJbiA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdGdyYWNlSlMuZ2V0UmVmcygnZ3VpcG9wdXAnLCB0aGlzLCAwLCAoZ3VpcG9wdXByZWYpPT57XHJcblx0XHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZ3VpcG9wdXByZWYsIHtcclxuXHRcdFx0XHRcdHN0eWxlczogeyBvcGFjaXR5IDogMX0sXHJcblx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5kdXJhdGlvbiwgLy9tc1xyXG5cdFx0XHRcdFx0dGltaW5nRnVuY3Rpb246ICdlYXNlJyxcclxuXHRcdFx0XHRcdGRlbGF5OiAwIC8vbXNcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSk7XHJcblx0XHRcdFxyXG5cdFx0XHRpZih0aGlzLnBvc2l0aW9uID09ICdjZW50ZXInKXtcclxuXHRcdFx0XHRncmFjZUpTLmdldFJlZnMoJ2d1aVBvcHVwQ2VudGVyJywgdGhpcywgMCwgKGd1aXBvcHVwcmVmKT0+e1xyXG5cdFx0XHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZ3VpcG9wdXByZWYsIHtcclxuXHRcdFx0XHRcdFx0c3R5bGVzOiB7IHRyYW5zZm9ybTonc2NhbGUoMSknfSxcclxuXHRcdFx0XHRcdFx0ZHVyYXRpb246IHRoaXMuZHVyYXRpb24sIC8vbXNcclxuXHRcdFx0XHRcdFx0dGltaW5nRnVuY3Rpb246ICdlYXNlJyxcclxuXHRcdFx0XHRcdFx0ZGVsYXk6IDAgLy9tc1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1lbHNlIGlmKHRoaXMucG9zaXRpb24gPT0gJ3RvcCcpe1xyXG5cdFx0XHRcdGdyYWNlSlMuZ2V0UmVmcygnZ3VpUG9wdXBUb3AnLCB0aGlzLCAwLCAoZ3VpcG9wdXByZWYpPT57XHJcblx0XHRcdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbihndWlwb3B1cHJlZiwge1xyXG5cdFx0XHRcdFx0XHRzdHlsZXM6IHt0cmFuc2Zvcm06J3RyYW5zbGF0ZVkoMHB4KSd9LFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5kdXJhdGlvbiwgLy9tc1xyXG5cdFx0XHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2Vhc2UnLFxyXG5cdFx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fWVsc2UgaWYodGhpcy5wb3NpdGlvbiA9PSAnYm90dG9tJyl7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cEJvdHRvbScsIHRoaXMsIDAsIChndWlwb3B1cHJlZik9PntcclxuXHRcdFx0XHRcdGFuaW1hdGlvbi50cmFuc2l0aW9uKGd1aXBvcHVwcmVmLCB7XHJcblx0XHRcdFx0XHRcdHN0eWxlczoge3RyYW5zZm9ybTondHJhbnNsYXRlWSgwcHgpJ30sXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLCAvL21zXHJcblx0XHRcdFx0XHRcdHRpbWluZ0Z1bmN0aW9uOiAnZWFzZScsXHJcblx0XHRcdFx0XHRcdGRlbGF5OiAwIC8vbXNcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9ZWxzZSBpZih0aGlzLnBvc2l0aW9uID09ICdsZWZ0Jyl7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cExlZnQnLCB0aGlzLCAwLCAoZ3VpcG9wdXByZWYpPT57XHJcblx0XHRcdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbihndWlwb3B1cHJlZiwge1xyXG5cdFx0XHRcdFx0XHRzdHlsZXM6IHt0cmFuc2Zvcm06J3RyYW5zbGF0ZVgoMHB4KSd9LFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5kdXJhdGlvbiwgLy9tc1xyXG5cdFx0XHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2Vhc2UnLFxyXG5cdFx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cFJpZ2h0JywgdGhpcywgMCwgKGd1aXBvcHVwcmVmKT0+e1xyXG5cdFx0XHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZ3VpcG9wdXByZWYsIHtcclxuXHRcdFx0XHRcdFx0c3R5bGVzOiB7dHJhbnNmb3JtOid0cmFuc2xhdGVYKDBweCknfSxcclxuXHRcdFx0XHRcdFx0ZHVyYXRpb246IHRoaXMuZHVyYXRpb24sIC8vbXNcclxuXHRcdFx0XHRcdFx0dGltaW5nRnVuY3Rpb246ICdlYXNlJyxcclxuXHRcdFx0XHRcdFx0ZGVsYXk6IDAgLy9tc1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0d2VleEFuaW1hdGVPdXQgOiBmdW5jdGlvbigpe1xyXG5cdFx0XHRncmFjZUpTLmdldFJlZnMoJ2d1aXBvcHVwJywgdGhpcywgMCwgKGd1aXBvcHVwcmVmKT0+e1xyXG5cdFx0XHRcdGFuaW1hdGlvbi50cmFuc2l0aW9uKGd1aXBvcHVwcmVmLCB7XHJcblx0XHRcdFx0XHRzdHlsZXM6IHsgb3BhY2l0eSA6IDB9LFxyXG5cdFx0XHRcdFx0ZHVyYXRpb246IHRoaXMuZHVyYXRpb24sIC8vbXNcclxuXHRcdFx0XHRcdHRpbWluZ0Z1bmN0aW9uOiAnZWFzZScsXHJcblx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRcclxuXHRcdFx0aWYodGhpcy5wb3NpdGlvbiA9PSAnY2VudGVyJyl7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cENlbnRlcicsIHRoaXMsIDAsIChndWlwb3B1cHJlZik9PntcclxuXHRcdFx0XHRcdGFuaW1hdGlvbi50cmFuc2l0aW9uKGd1aXBvcHVwcmVmLCB7XHJcblx0XHRcdFx0XHRcdHN0eWxlczogeyB0cmFuc2Zvcm06J3NjYWxlKDAuMyknIH0sXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLCAvL21zXHJcblx0XHRcdFx0XHRcdHRpbWluZ0Z1bmN0aW9uOiAnZWFzZScsXHJcblx0XHRcdFx0XHRcdGRlbGF5OiAwIC8vbXNcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9ZWxzZSBpZih0aGlzLnBvc2l0aW9uID09ICd0b3AnKXtcclxuXHRcdFx0XHRncmFjZUpTLmdldFJlZnMoJ2d1aVBvcHVwVG9wJywgdGhpcywgMCwgKGd1aXBvcHVwcmVmKT0+e1xyXG5cdFx0XHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZ3VpcG9wdXByZWYsIHtcclxuXHRcdFx0XHRcdFx0c3R5bGVzOiB7dHJhbnNmb3JtOid0cmFuc2xhdGVZKC02MDBweCknfSxcclxuXHRcdFx0XHRcdFx0ZHVyYXRpb246IHRoaXMuZHVyYXRpb24sIC8vbXNcclxuXHRcdFx0XHRcdFx0dGltaW5nRnVuY3Rpb246ICdlYXNlJyxcclxuXHRcdFx0XHRcdFx0ZGVsYXk6IDAgLy9tc1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1lbHNlIGlmKHRoaXMucG9zaXRpb24gPT0gJ2JvdHRvbScpe1xyXG5cdFx0XHRcdGdyYWNlSlMuZ2V0UmVmcygnZ3VpUG9wdXBCb3R0b20nLCB0aGlzLCAwLCAoZ3VpcG9wdXByZWYpPT57XHJcblx0XHRcdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbihndWlwb3B1cHJlZiwge1xyXG5cdFx0XHRcdFx0XHRzdHlsZXM6IHt0cmFuc2Zvcm06J3RyYW5zbGF0ZVkoNjAwcHgpJ30sXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiB0aGlzLmR1cmF0aW9uLCAvL21zXHJcblx0XHRcdFx0XHRcdHRpbWluZ0Z1bmN0aW9uOiAnZWFzZScsXHJcblx0XHRcdFx0XHRcdGRlbGF5OiAwIC8vbXNcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9ZWxzZSBpZih0aGlzLnBvc2l0aW9uID09ICdsZWZ0Jyl7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cExlZnQnLCB0aGlzLCAwLCAoZ3VpcG9wdXByZWYpPT57XHJcblx0XHRcdFx0XHRhbmltYXRpb24udHJhbnNpdGlvbihndWlwb3B1cHJlZiwge1xyXG5cdFx0XHRcdFx0XHRzdHlsZXM6IHt0cmFuc2Zvcm06J3RyYW5zbGF0ZVgoLTUwMHB4KSd9LFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5kdXJhdGlvbiwgLy9tc1xyXG5cdFx0XHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2Vhc2UnLFxyXG5cdFx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQb3B1cFJpZ2h0JywgdGhpcywgMCwgKGd1aXBvcHVwcmVmKT0+e1xyXG5cdFx0XHRcdFx0YW5pbWF0aW9uLnRyYW5zaXRpb24oZ3VpcG9wdXByZWYsIHtcclxuXHRcdFx0XHRcdFx0c3R5bGVzOiB7dHJhbnNmb3JtOid0cmFuc2xhdGVYKDYwMHB4KSd9LFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5kdXJhdGlvbiwgLy9tc1xyXG5cdFx0XHRcdFx0XHR0aW1pbmdGdW5jdGlvbjogJ2Vhc2UnLFxyXG5cdFx0XHRcdFx0XHRkZWxheTogMCAvL21zXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdC8vICNlbmRpZlxyXG5cdH1cclxufVxyXG48L3NjcmlwdD5cclxuPHN0eWxlPlxyXG4uZ3VpLXBvcHVwe3dpZHRoOjc1MHJweDsgcG9zaXRpb246Zml4ZWQ7IHotaW5kZXg6OTk5OTk7IGxlZnQ6MDsgdG9wOjA7IGJvdHRvbTowOyBmbGV4OjE7fVxyXG4uZ3VpLXBvcHVwLWNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO31cclxuLmd1aS1mYWRlLW91dHtvcGFjaXR5OjA7fVxyXG4uZ3VpLXBvcHVwLWNlbnRlcnt0cmFuc2Zvcm06c2NhbGUoMC4zLDAuMyk7fVxyXG4uZ3VpLXBvcHVwLXRvcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwMHB4KTt9XHJcbi5ndWktcG9wdXAtYm90dG9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKDYwMHB4KTt9XHJcbi5ndWktcG9wdXAtbGVmdHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNjAwcHgpO31cclxuLmd1aS1wb3B1cC1yaWdodHt0cmFuc2Zvcm06dHJhbnNsYXRlWCg2MDBweCk7fVxyXG4vKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcbi5ndWktcG9wdXB7aGVpZ2h0OjEwMCU7fVxyXG4vKiAjZW5kaWYgKi9cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///64\n"); + +/***/ }), +/* 65 */ +/*!******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-modal.vue?vue&type=script&lang=js& ***! + \******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-modal.vue?vue&type=script&lang=js& */ 66);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlzQixDQUFnQiwycUJBQUcsRUFBQyIsImZpbGUiOiI2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1tb2RhbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1tb2RhbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///65\n"); + +/***/ }), +/* 66 */ +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-modal.vue?vue&type=script&lang=js& ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"gui-modal\",\n props: {\n width: {\n type: String,\n default: '580rpx'\n },\n bodyStyle: {\n type: String,\n default: 'background-color:#FFFFFF; border-radius:6rpx;'\n },\n isCloseBtn: {\n type: Boolean,\n default: true\n },\n closeBtnStyle: {\n type: String,\n default: 'color:#2B2E3D; font-size:28rpx;'\n },\n isTitle: {\n type: Boolean,\n default: true\n },\n title: {\n type: String,\n default: 'title'\n },\n titleStyle: {\n type: String,\n default: 'line-height:100rpx; font-size:28rpx; font-weight:700; color:#2B2E3D;'\n },\n canCloseByShade: {\n type: Boolean,\n default: true\n },\n zIndex: {\n type: Number,\n default: 99\n }\n },\n methods: {\n open: function open() {\n this.$refs.guipopupformodal.open();\n this.$emit('open');\n },\n close: function close() {\n this.$refs.guipopupformodal.close();\n this.$emit('close');\n },\n stopfun: function stopfun(e) {\n e.stopPropagation();\n return null;\n },\n eClose: function eClose() {\n this.$emit('close');\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktbW9kYWwudnVlIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsIndpZHRoIiwidHlwZSIsImRlZmF1bHQiLCJib2R5U3R5bGUiLCJpc0Nsb3NlQnRuIiwiY2xvc2VCdG5TdHlsZSIsImlzVGl0bGUiLCJ0aXRsZSIsInRpdGxlU3R5bGUiLCJjYW5DbG9zZUJ5U2hhZGUiLCJ6SW5kZXgiLCJtZXRob2RzIiwib3BlbiIsImNsb3NlIiwic3RvcGZ1biIsImUiLCJlQ2xvc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQXlCQTtFQUNBQTtFQUNBQztJQUNBQztNQUFBQztNQUFBQztJQUFBO0lBQ0FDO01BQUFGO01BQUFDO0lBQUE7SUFDQUU7TUFBQUg7TUFBQUM7SUFBQTtJQUNBRztNQUFBSjtNQUFBQztJQUFBO0lBQ0FJO01BQUFMO01BQUFDO0lBQUE7SUFDQUs7TUFBQU47TUFBQUM7SUFBQTtJQUNBTTtNQUFBUDtNQUFBQztJQUFBO0lBQ0FPO01BQUFSO01BQUFDO0lBQUE7SUFDQVE7TUFBQVQ7TUFBQUM7SUFBQTtFQUNBO0VBQ0FTO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiNjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PGd1aS1wb3B1cCByZWY9XCJndWlwb3B1cGZvcm1vZGFsXCIgXHJcblx0OndpZHRoPVwid2lkdGhcIiBcclxuXHQ6Y2FuQ2xvc2VCeVNoYWRlPVwiY2FuQ2xvc2VCeVNoYWRlXCIgXHJcblx0OnpJbmRleD1cInpJbmRleFwiIFxyXG5cdEBjbG9zZT1cImVDbG9zZVwiPlxyXG5cdFx0PHZpZXcgXHJcblx0XHQ6c3R5bGU9XCJib2R5U3R5bGVcIiBcclxuXHRcdEB0YXAuc3RvcC5wcmV2ZW50PVwic3RvcGZ1blwiIFxyXG5cdFx0Y2xhc3M9XCJndWktcmVsYXRpdmVcIj5cclxuXHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktYmxvY2stdGV4dCBndWktdGV4dC1jZW50ZXJcIiB2LWlmPVwiaXNUaXRsZVwiXHJcblx0XHRcdFx0OnN0eWxlPVwidGl0bGVTdHlsZVwiPnt7dGl0bGV9fTwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldz48c2xvdCBuYW1lPVwiY29udGVudFwiPjwvc2xvdD48L3ZpZXc+XHJcblx0XHRcdDx2aWV3PjxzbG90IG5hbWU9XCJidG5zXCI+PC9zbG90Pjwvdmlldz5cclxuXHRcdFx0PHRleHQgXHJcblx0XHRcdGNsYXNzPVwiZ3VpLXBvcHVwLWNsb3NlIGd1aS1ibG9jay10ZXh0IGd1aS1hYnNvbHV0ZS1ydCBndWktaWNvbnNcIlxyXG5cdFx0XHQ6c3R5bGU9XCJjbG9zZUJ0blN0eWxlXCIgXHJcblx0XHRcdEB0YXAuc3RvcC5wcmV2ZW50PVwiY2xvc2VcIiBcclxuXHRcdFx0di1pZj1cImlzQ2xvc2VCdG5cIj4mI3hlN2E1OzwvdGV4dD5cclxuXHRcdDwvdmlldz5cclxuXHQ8L2d1aS1wb3B1cD5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuZXhwb3J0IGRlZmF1bHR7XHJcblx0bmFtZSAgOiBcImd1aS1tb2RhbFwiLFxyXG5cdHByb3BzIDoge1xyXG5cdFx0d2lkdGggICAgICAgICAgIDogeyB0eXBlICA6IFN0cmluZywgIGRlZmF1bHQgOiAnNTgwcnB4J30sXHJcblx0XHRib2R5U3R5bGUgICAgICAgOiB7IHR5cGUgIDogU3RyaW5nLCAgZGVmYXVsdCA6ICdiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7IGJvcmRlci1yYWRpdXM6NnJweDsnIH0sXHJcblx0XHRpc0Nsb3NlQnRuICAgICAgOiB7IHR5cGUgIDogQm9vbGVhbiwgZGVmYXVsdCA6IHRydWUgfSxcclxuXHRcdGNsb3NlQnRuU3R5bGUgICA6IHsgdHlwZSAgOiBTdHJpbmcsICBkZWZhdWx0IDogJ2NvbG9yOiMyQjJFM0Q7IGZvbnQtc2l6ZToyOHJweDsnIH0sXHJcblx0XHRpc1RpdGxlICAgICAgICAgOiB7IHR5cGUgIDogQm9vbGVhbiwgZGVmYXVsdCA6IHRydWUgfSxcclxuXHRcdHRpdGxlICAgICAgICAgICA6IHsgdHlwZSAgOiBTdHJpbmcsICBkZWZhdWx0IDogJ3RpdGxlJyB9LFxyXG5cdFx0dGl0bGVTdHlsZSAgICAgIDogeyB0eXBlICA6IFN0cmluZywgIGRlZmF1bHQgOiAnbGluZS1oZWlnaHQ6MTAwcnB4OyBmb250LXNpemU6MjhycHg7IGZvbnQtd2VpZ2h0OjcwMDsgY29sb3I6IzJCMkUzRDsnIH0sXHJcblx0XHRjYW5DbG9zZUJ5U2hhZGUgOiB7IHR5cGUgIDogQm9vbGVhbiwgZGVmYXVsdCA6IHRydWUgfSxcclxuXHRcdHpJbmRleCAgICAgICAgICA6IHsgdHlwZSAgOiBOdW1iZXIsICBkZWZhdWx0IDogOTkgfVxyXG5cdH0sXHJcblx0bWV0aG9kczp7XHJcblx0XHRvcGVuICA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdHRoaXMuJHJlZnMuZ3VpcG9wdXBmb3Jtb2RhbC5vcGVuKCk7XHJcblx0XHRcdHRoaXMuJGVtaXQoJ29wZW4nKTtcclxuXHRcdH0sXHJcblx0XHRjbG9zZSA6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdHRoaXMuJHJlZnMuZ3VpcG9wdXBmb3Jtb2RhbC5jbG9zZSgpO1xyXG5cdFx0XHR0aGlzLiRlbWl0KCdjbG9zZScpO1xyXG5cdFx0fSxcclxuXHRcdHN0b3BmdW4gOiBmdW5jdGlvbihlKXtcclxuXHRcdFx0ZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHR9LFxyXG5cdFx0ZUNsb3NlIDogZnVuY3Rpb24oKXtcclxuXHRcdFx0dGhpcy4kZW1pdCgnY2xvc2UnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbi5ndWktcG9wdXAtY2xvc2V7d2lkdGg6ODBycHg7IGhlaWdodDo4MHJweDsgbGluZS1oZWlnaHQ6ODBycHg7IHRleHQtYWxpZ246Y2VudGVyO31cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///66\n"); + +/***/ }), +/* 67 */ +/*!***********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=script&lang=js&mpType=page ***! + \***********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./foodInfo.vue?vue&type=script&lang=js&mpType=page */ 68);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJzQixDQUFnQixxckJBQUcsRUFBQyIsImZpbGUiOiI2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2Zvb2RJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9mb29kSW5mby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///67\n"); + +/***/ }), +/* 68 */ +/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=script&lang=js&mpType=page ***! + \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar _default = {\n data: function data() {\n return {\n type: 3,\n food: {},\n form: {\n value: 100\n },\n times: 0,\n modelVale: 0,\n percent: 500 / 1000 * 100,\n status: 0\n };\n },\n onLoad: function onLoad(option) {\n var item = JSON.parse(decodeURIComponent(option.item));\n this.food = item;\n __f__(\"log\", item, \" at pages/foodInfo/foodInfo.vue:333\");\n this.checkLoveStatus();\n },\n methods: {\n //收藏当前食物\n love: function love() {\n var _this = this;\n var params = {\n uid: graceJS.getStorage(\"id\"),\n fid: this.food.id\n };\n if (this.status == 0) {\n //收藏\n uni.gRequest.post(\"bohe/addloveFood\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/foodInfo/foodInfo.vue:348\");\n if (res.data.code == 200) {\n _this.status = 1;\n }\n });\n } else {\n // 删除\n uni.gRequest.post(\"bohe/deleteBhLove\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/foodInfo/foodInfo.vue:360\");\n if (res.data.code == 200) {\n _this.status = 0;\n }\n });\n }\n },\n //检测是否收藏当前食物\n checkLoveStatus: function checkLoveStatus() {\n var _this2 = this;\n var params = {\n uid: graceJS.getStorage(\"id\"),\n fid: this.food.id\n };\n uni.gRequest.post(\"bohe/loveStatus\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/foodInfo/foodInfo.vue:379\");\n if (res.data.code == 200) {\n _this2.status = res.data.data;\n }\n });\n },\n add: function add(e) {\n // alert(e)\n __f__(\"log\", e, \" at pages/foodInfo/foodInfo.vue:389\");\n },\n getCategorise: function getCategorise(e) {\n // alert(e)\n graceJS.navigate('../list/list?id=' + e);\n },\n open1: function open1() {\n var date = new Date();\n this.food.createTime = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();\n this.$refs.guimodal1.open();\n },\n close1: function close1() {\n this.$refs.guimodal1.close();\n },\n confirm1: function confirm1() {\n var params = {\n cType: this.type,\n cValue: this.food.calory * this.form.value / this.food.weight,\n cName: this.food.name,\n cId: this.food.id,\n cImg: this.food.thumbImageUrl,\n uid: graceJS.getStorage(\"id\"),\n cNum: this.form.value,\n cWeight: this.food.weight,\n createTime: this.food.createTime\n };\n uni.gRequest.post(\"bohe/addCalory\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/foodInfo/foodInfo.vue:421\");\n if (res.data.code == 200) {}\n });\n // 客户点击确认按钮后的逻辑请在此处实现\n this.$refs.guimodal1.close();\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvZm9vZEluZm8vZm9vZEluZm8udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ0eXBlIiwiZm9vZCIsImZvcm0iLCJ2YWx1ZSIsInRpbWVzIiwibW9kZWxWYWxlIiwicGVyY2VudCIsInN0YXR1cyIsIm9uTG9hZCIsIm1ldGhvZHMiLCJsb3ZlIiwidWlkIiwiZmlkIiwidW5pIiwiY2hlY2tMb3ZlU3RhdHVzIiwiYWRkIiwiZ2V0Q2F0ZWdvcmlzZSIsImdyYWNlSlMiLCJvcGVuMSIsImNsb3NlMSIsImNvbmZpcm0xIiwiY1R5cGUiLCJjVmFsdWUiLCJjTmFtZSIsImNJZCIsImNJbWciLCJjTnVtIiwiY1dlaWdodCIsImNyZWF0ZVRpbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdVRBO0FBQUEsZUFDQTtFQUVBQTtJQUNBO01BQ0FDO01BQ0FDLE9BRUE7TUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQTtRQUNBO1FBQ0FDO1VBQ0FkO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7VUFFQTtRQUVBO01BQ0E7UUFDQTtRQUNBYztVQUNBZDtRQUNBO1VBQ0E7VUFDQTtZQUNBO1VBRUE7UUFFQTtNQUNBO0lBRUE7SUFDQTtJQUNBZTtNQUFBO01BQ0E7UUFDQUg7UUFDQUM7TUFDQTtNQUNBQztRQUNBZDtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBRUE7TUFFQTtJQUNBO0lBQ0FnQjtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQTtNQUdBO01BRUE7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBZDtRQUNBZTtRQUNBQztRQUNBQztNQUNBO01BQ0FmO1FBQ0FkO01BQ0E7UUFDQTtRQUNBLDJCQUVBO01BRUE7TUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHQ8Z3VpLXBhZ2Ugc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmN2ZhO1wiPlxyXG5cdFx0PHZpZXcgc2xvdD1cImdCb2R5XCIgY2xhc3M9XCJndWktbWFyZ2luXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY2FyZC1ib2R5IGd1aS1jYXJkLWJvZHkgZ3VpLWJveC1zaGFkb3cgZ3VpLWJvcmRlci1iXCI+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2FyZC1ib2R5MVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjYXJkLWJvZHkxMSBndWktZmxleCBndWktanVzdGlmeS1jb250ZW50LWVuZCBndWktYWxpZ24taXRlbXMtY2VudGVyIFwiXHJcblx0XHRcdFx0XHRcdHN0eWxlPVwiaGVpZ2h0OiAyMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyX3R4dCBndWktZmxleCBndWktanVzdGlmeS1jb250ZW50LWVuZCBndWktYWxpZ24taXRlbXMtY2VudGVyXCJcclxuXHRcdFx0XHRcdFx0XHRzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmMGZmZmI7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC1hcnJvdy1yaWdodCBndWktaWNvbnMgZ3VpLWNvbG9yLXJlZCBndWktYmctZ3JlZW5cIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmVlblwiPue7v+eBr+mjn+eJqTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5LWxpZ2h0XCI+5o6o6I2Q5L2/55SoPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2FyZC1ib2R5MTIgZ3VpLWZsZXggZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCIgZ3VpLXJlbGF0aXZlXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiIGd1aS1saXN0LWltYWdlIHVjZW50ZXItZmFjZS1pbWFnZVwiIHN0eWxlPVwid2lkdGg6IDEyMHVweDtoZWlnaHQ6IDEyMHVweDtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnNyYz1cImZvb2QudGh1bWJJbWFnZVVybFwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLW1hcmdpblwiPnt7Zm9vZC5uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXdcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJndWktYm9yZGVyLXQgZ3VpLW1hcmdpbi10b3AgZ3VpLWZsZXggZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ncmlkcy1pdGVtcyBndWktZmxleCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1ncmlkczRcIiBAY2xpY2s9XCJsb3ZlKGZvb2QuaWQpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktZ3JpZHMtaWNvbiBndWktaWNvbnMgXCIgc3R5bGU9XCJmb250LXNpemU6MjBweFwiPiYjeGU2MzQ7PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWdyaWRzLXRleHQgXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTY1JTtcIj57e3N0YXR1cyA9PSAxID8gJ+W3sic6ICcnfX3mlLbol488L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29sb3ItZ3JheSBndWktdGV4dC1jZW50ZXJcIj4gfCA8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWdyaWRzLWl0ZW1zIGd1aS1mbGV4IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLWdyaWRzNFwiIEB0YXA9XCJvcGVuMShwcm9kdWN0KVwiID5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1ncmlkcy1pY29uIGd1aS1pY29ucyBcIiBzdHlsZT1cImZvbnQtc2l6ZToyMHB4XCI+JiN4ZTYyNTtcclxuXHRcdFx0XHRcdFx0XHQ8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktZ3JpZHMtdGV4dCBcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNzAlO1wiPuiusOW9lTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHJcblx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY2FyZC1ib2R5IGd1aS1jYXJkLWJvZHkgZ3VpLWJveC1zaGFkb3cgZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktanVzdGlmeS1jb250ZW50LWNlbnRlclwiIHN0eWxlPVwianVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWg0IGd1aS1ib2xkXCI+6JCl5YW75L+h5oGvPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktY29sb3ItZ3JheVwiPuavj+OAjDEwMOWFi+OAjeWPr+mjn+mDqDwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXdcclxuXHRcdFx0XHRcdGNsYXNzPVwiZ3VpLWZsZXggZ3VpLWJvcmRlci10IGd1aS1oMyBndWktanVzdGlmeS1jb250ZW50LWNlbnRlciAgZ3VpLW1hcmdpbi10b3AgIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJoZWlnaHQ6IDIwMHVweDtcIj5cclxuXHRcdFx0XHRcdHt7Zm9vZC5jYWxvcnl9fSDljYPljaEgLyB7e2Zvb2QuY2Fsb3J5ICogNH19IOWNg+eEplxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hdiBndWktZmxleCAgZ3VpLXNwYWNlLWFyb3VuZFwiPlxyXG5cdFx0XHRcdFx0PGwtY2lyY2xlIDpjdXJyZW50LnN5bmM9XCJtb2RlbFZhbGVcIiA6cGVyY2VudD1cImZvb2QucHJvdGVpblwiIHN0cm9rZUNvbG9yPVwiI2ZkYTY5N1wiIHNpemU9XCI4MHB4XCJcclxuXHRcdFx0XHRcdFx0OmNsb2Nrd2lzZT1cImZhbHNlXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidF9jXCIgc3R5bGU9XCJmb250LXNpemU6IDI2dXB4O2NvbG9yOiAjMzMzOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHTom4vnmb3otKhcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9sZCBndWktaDZcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0ge3tmb29kLnByb3RlaW59fSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdHt7Zm9vZC5wcm90ZWlufX0lXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9sLWNpcmNsZT5cclxuXHJcblx0XHRcdFx0XHQ8bC1jaXJjbGUgOmN1cnJlbnQuc3luYz1cIm1vZGVsVmFsZVwiIDpwZXJjZW50PVwiZm9vZC5mYXRcIiBzdHJva2VDb2xvcj1cIiNmZWNiNzZcIiBzaXplPVwiODBweFwiXHJcblx0XHRcdFx0XHRcdDpjbG9ja3dpc2U9XCJmYWxzZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRfY1wiIHN0eWxlPVwiZm9udC1zaXplOiAyNnVweDtjb2xvcjogIzMzMzsgdGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx06ISC6IKqXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWJvbGQgZ3VpLWg2XCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7e2Zvb2QuZmF0fX0lXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9sLWNpcmNsZT5cclxuXHJcblx0XHRcdFx0XHQ8bC1jaXJjbGUgOmN1cnJlbnQuc3luYz1cIm1vZGVsVmFsZVwiIDpwZXJjZW50PVwiZm9vZC5jYXJib2h5ZHJhdGVcIiBzdHJva2VDb2xvcj1cIiNhM2NkYjFcIiBzaXplPVwiODBweFwiXHJcblx0XHRcdFx0XHRcdDpjbG9ja3dpc2U9XCJmYWxzZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRfY1wiIHN0eWxlPVwiZm9udC1zaXplOiAyNnVweDtjb2xvcjogIzMzMzsgdGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx056Kz5rC0XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWJvbGQgZ3VpLWg2XCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7e2Zvb2QuY2FyYm9oeWRyYXRlfX0lXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9sLWNpcmNsZT5cclxuXHJcblxyXG5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7aGVpZ2h0OjQwdXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjYmRiZGJkO1wiIGNsYXNzPVwiZ3VpLXRleHQtc21hbGxcIj5cclxuXHRcdFx0XHRcdOS4ieWkp+iQpeWFu+WKn+iDveWvueavlFxyXG5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3XHJcblx0XHRcdFx0XHRjbGFzcz1cImd1aS1tYXJnaW4tdG9wIGd1aS1mbGV4IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLXNwYWNlLWFyb3VuZCBndWktYmctZ3JheSBndWktY29sb3ItZ3JheVwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+6aG555uuPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQ+5q+P44CMMTAw5YWL44CN5Y+v6aOf6YOoPC90ZXh0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dGV4dD5OUlYlPC90ZXh0PiAtLT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LXR4dFwiID5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3PueDremHjzwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmNhbG9yeX195Y2D5Y2hPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDwhLS0gPHRleHQ+MC4xJTwvdGV4dD4gLS0+IFxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktbWFyZ2luLXRvcCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1zcGFjZS1hcm91bmRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXc+6JuL55m96LSoPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8c3Bhbj57e2Zvb2QucHJvdGVpbn195YWLPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3PuiEguiCqjwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmZhdH195YWLPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3ID7norPmsLTljJblkIjniak8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDxzcGFuID57e2Zvb2QuY2FyYm9oeWRyYXRlfX3lhYs8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHRleHQgPjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3PuiGs+mjn+e6pOe7tDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmZpYmVyRGlldGFyeX195YWLPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3Puezljwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLnN1Z2FyfX3lhYs8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHRleHQ+MC4xJTwvdGV4dD4gLS0+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktbWFyZ2luLXRvcCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1zcGFjZS1hcm91bmRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXc+6ZKgPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8c3Bhbj57e2Zvb2QubmF0cml1bX195q+r5YWLPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pue7tOeUn+e0oEE8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDxzcGFuPnt7Zm9vZC52aXRhbWluQX195q+r5YWLPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XG5cdFx0XHRcdFx0XHQ8dmlldz7nu7TnlJ/ntKBCMTwvdmlldz5cblx0XHRcdFx0XHRcdDxzcGFuPnt7Zm9vZC50aGlhbWluZX195q+r5YWLPC9zcGFuPlxuXHRcdFx0XHRcdFx0PCEtLSA8dGV4dD4wLjElPC90ZXh0PiAtLT5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktbWFyZ2luLXRvcCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1zcGFjZS1hcm91bmRcIj5cblx0XHRcdFx0XHRcdDx2aWV3Pue7tOeUn+e0oEIyPC92aWV3PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmxhY3RvZmxhdmlufX3mr6vlhYs8L3NwYW4+XG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1tYXJnaW4tdG9wIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLXNwYWNlLWFyb3VuZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXc+57u055Sf57SgQTwvdmlldz5cblx0XHRcdFx0XHRcdDxzcGFuPnt7Zm9vZC52aXRhbWluQX195q+r5YWLPC9zcGFuPlxuXHRcdFx0XHRcdFx0PCEtLSA8dGV4dD4wLjElPC90ZXh0PiAtLT5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktbWFyZ2luLXRvcCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1zcGFjZS1hcm91bmRcIj5cblx0XHRcdFx0XHRcdDx2aWV3Pue7tOeUn+e0oEM8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8c3Bhbj57e2Zvb2Qudml0YW1pbkN9feavq+WFizwvc3Bhbj5cblx0XHRcdFx0XHRcdDwhLS0gPHRleHQ+MC4xJTwvdGV4dD4gLS0+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XG5cdFx0XHRcdFx0XHQ8dmlldz7nu7TnlJ/ntKBFPC92aWV3PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLnZpdGFtaW5FfX3mr6vlhYs8L3NwYW4+XG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1tYXJnaW4tdG9wIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLXNwYWNlLWFyb3VuZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXc+54Of6YW4PC92aWV3PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLm5pYWNpbn195q+r5YWLPC9zcGFuPlxuXHRcdFx0XHRcdFx0PCEtLSA8dGV4dD4wLjElPC90ZXh0PiAtLT5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktbWFyZ2luLXRvcCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1zcGFjZS1hcm91bmRcIj5cblx0XHRcdFx0XHRcdDx2aWV3PumSmTwvdmlldz5cblx0XHRcdFx0XHRcdDxzcGFuPnt7Zm9vZC5jYWxjaXVtfX3mr6vlhYs8L3NwYW4+XG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1tYXJnaW4tdG9wIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLXNwYWNlLWFyb3VuZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXc+6ZOBPC92aWV3PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmlyb259feavq+WFizwvc3Bhbj5cblx0XHRcdFx0XHRcdDwhLS0gPHRleHQ+MC4xJTwvdGV4dD4gLS0+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XG5cdFx0XHRcdFx0XHQ8dmlldz7pkr48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8c3Bhbj57e2Zvb2Qua2FsaXVtfX3mr6vlhYs8L3NwYW4+XG5cdFx0XHRcdFx0XHQ8IS0tIDx0ZXh0PjAuMSU8L3RleHQ+IC0tPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1tYXJnaW4tdG9wIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLXNwYWNlLWFyb3VuZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXc+6ZOBPC92aWV3PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3tmb29kLmlyb259feavq+WFizwvc3Bhbj5cblx0XHRcdFx0XHRcdDwhLS0gPHRleHQ+MC4xJTwvdGV4dD4gLS0+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLW1hcmdpbi10b3AgZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktc3BhY2UtYXJvdW5kXCI+XG5cdFx0XHRcdFx0XHQ8dmlldz7plIw8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8c3Bhbj57e2Zvb2QuemluY3195q+r5YWLPC9zcGFuPlxuXHRcdFx0XHRcdFx0PCEtLSA8dGV4dD4wLjElPC90ZXh0PiAtLT5cblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdDwvdmlldz5cclxuXHJcblxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDIwMHVweDtcIj5cblx0XHRcdFx0XG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PC92aWV3PlxyXG5cdDwvZ3VpLXBhZ2U+XG5cdDxndWktbW9kYWwgcmVmPVwiZ3VpbW9kYWwxXCJcblx0XHQ6dGl0bGU9XCIgdHlwZSA9PSAwID8gZm9vZC5jcmVhdGVUaW1lICsnICcrIGZvb2QubmFtZSsnIOaXqemkkCcgOiB0eXBlID09IDEgPyBmb29kLmNyZWF0ZVRpbWUgKycgJysgZm9vZC5uYW1lKycg5Y2I6aSQJyA6IHR5cGU9PSAyID8gZm9vZC5jcmVhdGVUaW1lICsnICcrIGZvb2QubmFtZSsnIOaZmumkkCcgOiB0eXBlID09IDMgPyBmb29kLmNyZWF0ZVRpbWUgKycgJysgZm9vZC5uYW1lKycg5Yqg6aSQJyA6IGZvb2QuY3JlYXRlVGltZSArJyAnKyBmb29kLm5hbWUrJyDov5DliqgnXCI+XG5cdFx0PHZpZXcgc2xvdD1cImNvbnRlbnRcIiBjbGFzcz1cImd1aS1wYWRkaW5nIGd1aS1iZy1ncmF5XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLWNhdGUtcHJvZHVjdC1saXN0IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtaW1hZ2UgZ3VpLXJlbGF0aXZlXCI+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZ3VpLWxpc3QtaW1hZ2VcIiA6c3JjPVwiZm9vZC50aHVtYkltYWdlVXJsXCI+PC9pbWFnZT5cblx0XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtYm9keSBndWktYm9yZGVyLWJcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XG5cdFxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC10aXRsZS10ZXh0IGd1aS1wcmltYXJ5LWNvbG9yXCI+e3tmb29kLm5hbWV9fTwvdGV4dD5cblx0XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0XG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiZ3VpLWNvbG9yLXJlZFwiPnt7Zm9vZC5jYWxvcnl9fTwvdGV4dD5cblx0XHRcdFx0XHRcdOWNg+WNoS97e2Zvb2Qud2VpZ2h0fX3lhYs8L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XG5cdFx0XHRcdFx0PHZpZXc+XG5cdFx0XHRcdFx0XHQ8c2VsZWN0IG5hbWU9XCJ0eXBlXCIgaWQ9XCJcIiB2LW1vZGVsPVwidHlwZVwiPiBcblx0XHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIwXCI+5pep6aSQPC9vcHRpb24+XG5cdFx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMVwiPuWNiOmkkDwvb3B0aW9uPlxuXHRcdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjJcIj7mmZrppJA8L29wdGlvbj5cblx0XHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIzXCI+5Yqg6aSQPC9vcHRpb24+XG5cdFx0XHRcdFx0XHQ8L3NlbGVjdD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XG5cdFx0XHQ8L3ZpZXc+XG5cdFxuXHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1qdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29sb3ItZ3JheSBndWktZmxleCBndWktdGV4dC1zbWFsbFwiIHN0eWxlPVwid2lkdGg6IDMwJTtcIj5cblx0XHRcdFx0XHR7e2Zvb2QuY2Fsb3J5ICogZm9ybS52YWx1ZSAvIGZvb2Qud2VpZ2h0fX0g5Y2D5Y2hPC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS10ZXh0LWNlbnRlclwiPlxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbmFtZT1cInZhbHVlXCIgdi1tb2RlbD1cImZvcm0udmFsdWVcIiBpZD1cIlwiPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWNvbG9yLWdyYXkgIGd1aS10ZXh0LXNtYWxsXCIgc3R5bGU9XCJ3aWR0aDogMzAlO1wiPlxuXHRcdFx0XHRcdOS8sOeul+mHjemHj1xuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDwhLS0g5Yip55SoIGZsZXgg5biD5bGAIOWPr+S7peaUvue9ruWkmuS4quiHquWumuS5ieaMiemSruWTpiAgLS0+XG5cdFx0PHZpZXcgc2xvdD1cImJ0bnNcIiBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1zcGFjZS1iZXR3ZWVuXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWZsZXgxXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6ODBycHg7XCI+XG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwibW9kYWwtYnRucyBndWktY29sb3ItZ3JheVwiIEB0YXA9XCJjbG9zZTFcIj7lj5bmtog8L3RleHQ+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWZsZXgxXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDo4MHJweDtcIj5cblx0XHRcdFx0PHRleHQgY2xhc3M9XCJtb2RhbC1idG5zIGd1aS1jb2xvci1ibHVlXCIgQHRhcD1cImNvbmZpcm0xXCI+5re75YqgPC90ZXh0PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0PC9ndWktbW9kYWw+XG5cblx0XHRcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdHZhciBncmFjZUpTID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9ncmFjZS5qcycpO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHlwZTozLFxyXG5cdFx0XHRcdGZvb2Q6IHtcclxuXHJcblx0XHRcdFx0fSxcblx0XHRcdFx0Zm9ybTp7XG5cdFx0XHRcdFx0dmFsdWU6MTAwXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0dGltZXM6IDAsXHJcblx0XHRcdFx0bW9kZWxWYWxlOiAwLFxyXG5cdFx0XHRcdHBlcmNlbnQ6IDUwMCAvIDEwMDAgKiAxMDAsXHJcblx0XHRcdFx0c3RhdHVzOjBcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb24pIHtcclxuXHRcdFx0Y29uc3QgaXRlbSA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KG9wdGlvbi5pdGVtKSk7XHJcblx0XHRcdHRoaXMuZm9vZCA9IGl0ZW1cclxuXHRcdFx0Y29uc29sZS5sb2coaXRlbSlcblx0XHRcdHRoaXMuY2hlY2tMb3ZlU3RhdHVzKClcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XG5cdFx0XHQvL+aUtuiXj+W9k+WJjemjn+eJqVxuXHRcdFx0bG92ZSgpe1xuXHRcdFx0XHR2YXIgcGFyYW1zID0ge1xuXHRcdFx0XHRcdHVpZDpncmFjZUpTLmdldFN0b3JhZ2UoXCJpZFwiKSxcblx0XHRcdFx0XHRmaWQ6dGhpcy5mb29kLmlkXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYodGhpcy5zdGF0dXMgPT0gMCl7XG5cdFx0XHRcdFx0Ly/mlLbol49cblx0XHRcdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvYWRkbG92ZUZvb2RcIiwge1xuXHRcdFx0XHRcdFx0ZGF0YTogcGFyYW1zXG5cdFx0XHRcdFx0fSwgKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuY29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0dXMgPSAxXG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0Ly8g5Yig6ZmkXG5cdFx0XHRcdFx0dW5pLmdSZXF1ZXN0LnBvc3QoXCJib2hlL2RlbGV0ZUJoTG92ZVwiLCB7XG5cdFx0XHRcdFx0XHRkYXRhOiBwYXJhbXNcblx0XHRcdFx0XHR9LCAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXR1cyA9IDBcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHR9LFxuXHRcdFx0Ly/mo4DmtYvmmK/lkKbmlLbol4/lvZPliY3po5/nialcblx0XHRcdGNoZWNrTG92ZVN0YXR1cygpe1xuXHRcdFx0XHR2YXIgcGFyYW1zID0ge1xuXHRcdFx0XHRcdHVpZDpncmFjZUpTLmdldFN0b3JhZ2UoXCJpZFwiKSxcblx0XHRcdFx0XHRmaWQ6dGhpcy5mb29kLmlkXG5cdFx0XHRcdH1cblx0XHRcdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvbG92ZVN0YXR1c1wiLCB7XG5cdFx0XHRcdFx0XHRkYXRhOiBwYXJhbXNcblx0XHRcdFx0XHR9LCAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXR1cyA9IHJlcy5kYXRhLmRhdGFcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9KVxuXHRcdFx0fSxcclxuXHRcdFx0YWRkKGUpIHtcclxuXHRcdFx0XHQvLyBhbGVydChlKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldENhdGVnb3Jpc2UoZSkge1xyXG5cdFx0XHRcdC8vIGFsZXJ0KGUpXHJcblx0XHRcdFx0Z3JhY2VKUy5uYXZpZ2F0ZSgnLi4vbGlzdC9saXN0P2lkPScgKyBlKTtcclxuXHRcdFx0fSxcblx0XHRcdG9wZW4xOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0dmFyIGRhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XG5cdFx0XHRcblx0XHRcdFx0dGhpcy5mb29kLmNyZWF0ZVRpbWUgPSBkYXRlLmdldEZ1bGxZZWFyKCkgKyAnLScgKyAoZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLScgKyBkYXRlLmdldERhdGUoKVxuXHRcdFx0XG5cdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLm9wZW4oKTtcblx0XHRcdH0sXG5cdFx0XHRjbG9zZTE6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHR0aGlzLiRyZWZzLmd1aW1vZGFsMS5jbG9zZSgpO1xuXHRcdFx0fSxcblx0XHRcdGNvbmZpcm0xOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0dmFyIHBhcmFtcyA9IHtcblx0XHRcdFx0XHRjVHlwZTogdGhpcy50eXBlLFxuXHRcdFx0XHRcdGNWYWx1ZTogdGhpcy5mb29kLmNhbG9yeSAqIHRoaXMuZm9ybS52YWx1ZSAvIHRoaXMuZm9vZC53ZWlnaHQsXG5cdFx0XHRcdFx0Y05hbWU6IHRoaXMuZm9vZC5uYW1lLFxuXHRcdFx0XHRcdGNJZDogdGhpcy5mb29kLmlkLFxuXHRcdFx0XHRcdGNJbWc6IHRoaXMuZm9vZC50aHVtYkltYWdlVXJsLFxuXHRcdFx0XHRcdHVpZDogZ3JhY2VKUy5nZXRTdG9yYWdlKFwiaWRcIiksXG5cdFx0XHRcdFx0Y051bTogdGhpcy5mb3JtLnZhbHVlLFxuXHRcdFx0XHRcdGNXZWlnaHQ6IHRoaXMuZm9vZC53ZWlnaHQsXG5cdFx0XHRcdFx0Y3JlYXRlVGltZTogdGhpcy5mb29kLmNyZWF0ZVRpbWVcblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvYWRkQ2Fsb3J5XCIsIHtcblx0XHRcdFx0XHRkYXRhOiBwYXJhbXNcblx0XHRcdFx0fSwgKHJlcykgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xuXHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC8vIOWuouaIt+eCueWHu+ehruiupOaMiemSruWQjueahOmAu+i+keivt+WcqOatpOWkhOWunueOsFxuXHRcdFx0XHR0aGlzLiRyZWZzLmd1aW1vZGFsMS5jbG9zZSgpO1xuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxuXHQubW9kYWwtYnRuc3tsaW5lLWhlaWdodDo4OHJweDsgZm9udC1zaXplOjI2cnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgd2lkdGg6MjAwcnB4O31cblx0Lmxpc3QtdHh0IHZpZXcge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdob3N0d2hpdGU7XG5cdH1cblx0Lmxpc3QtdHh0IHZpZXcgdmlld3tcblx0Ym9yZGVyLWJvdHRvbTogMHB4O1xuXHRcdHdpZHRoOiAzNSU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdC5saXN0LXR4dCB2aWV3IHNwYW57XG5cdFx0d2lkdGg6IDIwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0Lmxpc3QtdHh0IHRleHR7XG5cdFx0d2lkdGg6IDMzJTsgXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cclxuXHQuY2FyZC1ib2R5MTEge1xyXG5cclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQucl90eHQgdGV4dCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMTV1cHg7XHJcblx0fVxyXG5cclxuXHQuY2FyZC1ib2R5MTIge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblxyXG5cdC8qIOS4gOihjDTmoLzmvJTnpLogKi9cclxuXHQuZ3VpLWdyaWRzNCB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdH1cclxuXHJcblx0LmNhcmQtYm9keSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1MHVweDtcclxuXHRcdHBhZGRpbmc6IDIwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblx0XHQvKiBib3JkZXI6IDF1cHggc29saWQgcmVkOyAqL1xyXG5cdH1cclxuXHJcblx0LnRfYyB2aWV3IHtcclxuXHRcdG1hcmdpbi10b3A6IDV1cHg7XHJcblx0fVxyXG5cclxuXHQueXVhbl90ZXh0IHtcclxuXHRcdHdpZHRoOiAzMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQubmF2IHtcclxuXHRcdG1hcmdpbjogMjB1cHggMCAyMHVweCAwO1xyXG5cdH1cclxuXHJcblx0LmJ0biB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cclxuXHRcdC5idG5hIHtcclxuXHRcdFx0d2lkdGg6IDE2MHVweDtcclxuXHRcdFx0aGVpZ2h0OiA2NHVweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzA2RDM2ODtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTB1cHg7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdFx0LmJ0bl9uYW1lIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuZ3VpLWNhcmQtdmlldyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0cGFkZGluZzogMjVycHg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhcmQtYm9keSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjVycHg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhcmQtaW1nIHtcclxuXHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDgwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmd1aS1jYXJkLWRlc2Mge1xyXG5cdFx0d2lkdGg6IDQwMHJweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyNXJweDtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhcmQtbmFtZSB7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0Y29sb3I6ICMzMzMzMzM7XHJcblx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmd1aS1jYXJkLXRleHQge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdGNvbG9yOiAjODg4ODg4O1xyXG5cdH1cclxuXHJcblx0Lmd1aS1jYXJkLWZvb3RlciB7XHJcblx0XHRtYXJnaW4tdG9wOiAyNXJweDtcclxuXHR9XHJcblxyXG5cdC5ndWktY2FyZC1mb290ZXItaXRlbSB7XHJcblx0XHR3aWR0aDogMTAwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzOHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRjb2xvcjogIzY2NjY2NjtcclxuXHR9XHJcblxyXG5cdC8qICNpZm5kZWYgQVBQLU5WVUUgKi9cclxuXHQuZ3VpLWNhcmQtZm9vdGVyLWl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWJveC1zaGFkb3cge1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCAzcnB4ICM5OTk5OTk7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWdyaWRzLWljb24ge1xyXG5cdFx0Y29sb3I6IHJnYmEoNjksIDkwLCAxMDAsIDAuNik7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWdyaWRzLXRleHQge1xyXG5cdFx0Y29sb3I6IHJnYmEoNjksIDkwLCAxMDAsIDAuOCk7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///68\n"); + +/***/ }), +/* 69 */ +/*!*****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/login/login.vue?mpType=page ***! + \*****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 70);\n/* harmony import */ var _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login.vue?vue&type=script&lang=js&mpType=page */ 72);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/login/login.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2xvZ2luLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01YjI2YTNhYyZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbG9naW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2luLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2xvZ2luL2xvZ2luLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///69\n"); + +/***/ }), +/* 70 */ +/*!***********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***! + \***********************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 71); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 71 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view", [ + _c("view"), + _c( + "view", + { + staticClass: _vm._$s( + 2, + "sc", + "gui-flex gui-rows gui-justify-content-center" + ), + attrs: { _i: 2 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 3, + "sc", + "login-logo gui-icons gui-color-white gui-block-text gui-border-box gui-bg-black gui-box-shadow gui-box" + ), + attrs: { _i: 3 }, + }), + ] + ), + _c("view", [ + _c("form", { attrs: { _i: 5 }, on: { submit: _vm.submit } }, [ + _c("view", [ + _c("text", { + staticClass: _vm._$s(7, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 7 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(8, "sc", "gui-border-b"), attrs: { _i: 8 } }, + [ + _c("input", { + staticClass: _vm._$s(9, "sc", "gui-form-input"), + attrs: { _i: 9 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(10, "sc", "gui-margin-top"), + attrs: { _i: 10 }, + }, + [ + _c("text", { + staticClass: _vm._$s(11, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 11 }, + }), + ] + ), + _c( + "view", + { staticClass: _vm._$s(12, "sc", "gui-border-b"), attrs: { _i: 12 } }, + [ + _c("input", { + staticClass: _vm._$s(13, "sc", "gui-form-input"), + attrs: { _i: 13 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 14, + "sc", + "gui-margin-top gui-flex gui-rows gui-space-between" + ), + attrs: { _i: 14 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 15, + "sc", + "gui-text gui-color-gray gui-block-text" + ), + attrs: { _i: 15 }, + on: { click: _vm.forgetPwd }, + }), + ] + ), + _c("view", [ + _c( + "button", + { + staticClass: _vm._$s(17, "sc", "gui-button gui-bg-black"), + attrs: { _i: 17 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 18, + "sc", + "gui-color-white gui-button-text" + ), + attrs: { _i: 18 }, + }), + ] + ), + ]), + ]), + ]), + ]) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 72 */ +/*!*****************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***! + \*****************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=script&lang=js&mpType=page */ 73);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXdzQixDQUFnQixrckJBQUcsRUFBQyIsImZpbGUiOiI3Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xvZ2luLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9sb2dpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///72\n"); + +/***/ }), +/* 73 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceChecker = __webpack_require__(/*! @/GraceUI5/js/checker.js */ 74);\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar request = __webpack_require__(/*! @/GraceUI5/js/request/request.js */ 76);\nvar _default = {\n data: function data() {\n return {};\n },\n methods: {\n forgetPwd: function forgetPwd() {\n graceJS.navigate('../register/register');\n __f__(\"log\", '请自行完善代码', \" at pages/login/login.vue:52\");\n },\n loginbymsg: function loginbymsg() {\n __f__(\"log\", '请自行完善代码', \" at pages/login/login.vue:55\");\n },\n submit: function submit(e) {\n // 表单数据\n var formData = e.detail.value;\n __f__(\"log\", formData, \" at pages/login/login.vue:60\");\n // 利用 graceUI 的表单验证工具进行验证\n //定义表单规则\n var rule = [{\n name: \"username\",\n checkType: \"string\",\n checkRule: \"1,50\",\n errorMsg: \"登录账户输入有误\"\n }, {\n name: \"password\",\n checkType: \"string\",\n checkRule: \"1,100\",\n errorMsg: \"登录密码至少1个字符\"\n }];\n var checkRes = graceChecker.check(formData, rule);\n if (checkRes) {\n request.post(\"bohe/boheLogin\", {\n data: formData\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/login/login.vue:79\");\n if (res.data.code == 200) {\n var user = {\n user: res.data.data\n };\n graceJS.setStorage(res.data.data);\n uni.showToast({\n title: \"登陆成功\",\n icon: \"none\",\n success: function success() {\n setTimeout(function () {\n uni.switchTab({\n url: \"../switchPages/index\"\n });\n }, 500);\n }\n });\n }\n });\n } else {\n uni.showToast({\n title: graceChecker.error,\n icon: \"none\"\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJtZXRob2RzIiwiZm9yZ2V0UHdkIiwiZ3JhY2VKUyIsImxvZ2luYnltc2ciLCJzdWJtaXQiLCJuYW1lIiwiY2hlY2tUeXBlIiwiY2hlY2tSdWxlIiwiZXJyb3JNc2ciLCJyZXF1ZXN0IiwidXNlciIsInVuaSIsInRpdGxlIiwiaWNvbiIsInN1Y2Nlc3MiLCJzZXRUaW1lb3V0IiwidXJsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Q0E7QUFDQTtBQUNBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFFQUM7TUFFQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBQztRQUNBQztRQUNBQztRQUNBQztNQUNBLEdBQ0E7UUFDQUg7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQSxFQUNBO01BQ0E7TUFDQTtRQUNBQztVQUFBVjtRQUFBO1VBQ0E7VUFDQTtZQUNBO2NBQUFXO1lBQUE7WUFDQVI7WUFDQVM7Y0FDQUM7Y0FDQUM7Y0FDQUM7Z0JBQ0FDO2tCQUNBSjtvQkFDQUs7a0JBQ0E7Z0JBQ0E7Y0FFQTtZQUNBO1VBQ0E7UUFFQTtNQUdBO1FBQ0FMO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjczLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IHN0eWxlPVwicGFkZGluZzo1MHJweDtcIj5cclxuXHRcdDx2aWV3IHN0eWxlPVwiaGVpZ2h0OjE1MHJweDtcIj48L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcblx0XHRcdDx0ZXh0XHJcblx0XHRcdFx0Y2xhc3M9XCJsb2dpbi1sb2dvIGd1aS1pY29ucyBndWktY29sb3Itd2hpdGUgZ3VpLWJsb2NrLXRleHQgZ3VpLWJvcmRlci1ib3ggZ3VpLWJnLWJsYWNrIGd1aS1ib3gtc2hhZG93IGd1aS1ib3hcIj4mI3hlNjIwOzwvdGV4dD5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLXRvcDo4MHJweDtcIj5cclxuXHRcdFx0PGZvcm0gQHN1Ym1pdD1cInN1Ym1pdFwiPlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPui0puaItzwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZ3VpLWZvcm0taW5wdXRcIiBuYW1lPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cIueZu+W9lei0puaIt1wiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLW1hcmdpbi10b3BcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLXRleHQtc21hbGwgZ3VpLWNvbG9yLWdyYXlcIj7lr4bnoIE8L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJwYXNzd29yZFwiIHBsYWNlaG9sZGVyPVwi5a+G56CBXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktbWFyZ2luLXRvcCBndWktZmxleCBndWktcm93cyBndWktc3BhY2UtYmV0d2VlblwiIGhvdmVyLWNsYXNzPVwiZ3VpLXRhcFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dCBndWktY29sb3ItZ3JheSBndWktYmxvY2stdGV4dFwiIEB0YXA9XCJmb3JnZXRQd2RcIj7ms6jlhozotKbmiLc8L3RleHQ+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6MzhycHg7XCI+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgY2xhc3M9XCJndWktYnV0dG9uIGd1aS1iZy1ibGFja1wiIGZvcm1UeXBlPVwic3VibWl0XCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOjUwcnB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1jb2xvci13aGl0ZSBndWktYnV0dG9uLXRleHRcIj7nmbsg5b2VPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L2Zvcm0+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdHZhciBncmFjZUNoZWNrZXIgPSByZXF1aXJlKFwiQC9HcmFjZVVJNS9qcy9jaGVja2VyLmpzXCIpO1xyXG5cdHZhciBncmFjZUpTID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9ncmFjZS5qcycpO1xyXG5cdHZhciByZXF1ZXN0ID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9yZXF1ZXN0L3JlcXVlc3QuanMnKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge31cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGZvcmdldFB3ZDogZnVuY3Rpb24oKSB7XHJcblxyXG5cdFx0XHRcdGdyYWNlSlMubmF2aWdhdGUoJy4uL3JlZ2lzdGVyL3JlZ2lzdGVyJyk7XHJcblxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfor7foh6rooYzlrozlloTku6PnoIEnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0bG9naW5ieW1zZzogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+ivt+iHquihjOWujOWWhOS7o+eggScpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdWJtaXQ6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyDooajljZXmlbDmja5cclxuXHRcdFx0XHR2YXIgZm9ybURhdGEgPSBlLmRldGFpbC52YWx1ZTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhmb3JtRGF0YSk7XHJcblx0XHRcdFx0Ly8g5Yip55SoIGdyYWNlVUkg55qE6KGo5Y2V6aqM6K+B5bel5YW36L+b6KGM6aqM6K+BXHJcblx0XHRcdFx0Ly/lrprkuYnooajljZXop4TliJlcclxuXHRcdFx0XHR2YXIgcnVsZSA9IFt7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwidXNlcm5hbWVcIixcclxuXHRcdFx0XHRcdFx0Y2hlY2tUeXBlOiBcInN0cmluZ1wiLFxyXG5cdFx0XHRcdFx0XHRjaGVja1J1bGU6IFwiMSw1MFwiLFxyXG5cdFx0XHRcdFx0XHRlcnJvck1zZzogXCLnmbvlvZXotKbmiLfovpPlhaXmnInor69cIlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCJwYXNzd29yZFwiLFxyXG5cdFx0XHRcdFx0XHRjaGVja1R5cGU6IFwic3RyaW5nXCIsXHJcblx0XHRcdFx0XHRcdGNoZWNrUnVsZTogXCIxLDEwMFwiLFxyXG5cdFx0XHRcdFx0XHRlcnJvck1zZzogXCLnmbvlvZXlr4bnoIHoh7PlsJEx5Liq5a2X56ymXCJcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XTtcclxuXHRcdFx0XHR2YXIgY2hlY2tSZXMgPSBncmFjZUNoZWNrZXIuY2hlY2soZm9ybURhdGEsIHJ1bGUpO1xyXG5cdFx0XHRcdGlmIChjaGVja1Jlcykge1xyXG5cdFx0XHRcdFx0cmVxdWVzdC5wb3N0KFwiYm9oZS9ib2hlTG9naW5cIix7ZGF0YTpmb3JtRGF0YX0sKHJlcyk9Pntcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0aWYocmVzLmRhdGEuY29kZSA9PSAyMDAgKXtcblx0XHRcdFx0XHRcdFx0dmFyIHVzZXIgPSB7dXNlcjpyZXMuZGF0YS5kYXRhfVxuXHRcdFx0XHRcdFx0XHRncmFjZUpTLnNldFN0b3JhZ2UocmVzLmRhdGEuZGF0YSlcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi55m76ZmG5oiQ5YqfXCIsXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzcygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOlwiLi4vc3dpdGNoUGFnZXMvaW5kZXhcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSw1MDApXG5cdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogZ3JhY2VDaGVja2VyLmVycm9yLFxyXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIlxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuPHN0eWxlPlxyXG5cdC5sb2dpbi1sb2dvIHtcclxuXHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdGZvbnQtc2l6ZTogODBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRsaW5lLWhlaWdodDogMTIwcnB4O1xyXG5cdFx0cGFkZGluZzogMzBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxOHJweDtcclxuXHR9XHJcblxyXG5cdC5vdGhlci1sb2dpbi1pY29ucyB7XHJcblx0XHR3aWR0aDogODhycHg7XHJcblx0XHRoZWlnaHQ6IDg4cnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiA3MHJweDtcclxuXHRcdG1hcmdpbjogMjBycHg7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///73\n"); + +/***/ }), +/* 74 */ +/*!******************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/checker.js ***! + \******************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4));\nvar _checkIdCard = _interopRequireDefault(__webpack_require__(/*! ./checkIdCard.js */ 75));\nmodule.exports = {\n error: '',\n check: function check(dataBeCheck, rule) {\n dataBeCheck = JSON.stringify(dataBeCheck);\n var data = JSON.parse(dataBeCheck);\n for (var i = 0; i < rule.length; i++) {\n if (!rule[i].checkType) {\n return true;\n }\n if (!rule[i].name) {\n return true;\n }\n if (!rule[i].errorMsg) {\n return true;\n }\n if (typeof data[rule[i].name] == 'undefined' || data[rule[i].name] === '') {\n this.error = rule[i].errorMsg;\n return false;\n }\n // 检查前去除内容的空格及换行\n if (typeof data[rule[i].name] == 'string') {\n data[rule[i].name] = data[rule[i].name].replace(/\\s/g, \"\");\n }\n switch (rule[i].checkType) {\n case 'string':\n var reg = new RegExp('^.{' + rule[i].checkRule + '}$');\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'contain':\n var cData = data[rule[i].name] + '';\n if (cData.indexOf(rule[i].checkRule) == -1) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'notContain':\n var cData = data[rule[i].name] + '';\n if (cData.indexOf(rule[i].checkRule) != -1) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'inArray':\n if ((0, _typeof2.default)(rule[i].checkRule) != 'object') {\n this.error = rule[i].errorMsg;\n return false;\n }\n var resInArray = rule[i].checkRule.find(function (val) {\n if (val == data[rule[i].name]) {\n return true;\n }\n });\n if (!resInArray) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'notInArray':\n if ((0, _typeof2.default)(rule[i].checkRule) != 'object') {\n this.error = rule[i].errorMsg;\n return false;\n }\n var resInArray = rule[i].checkRule.find(function (val) {\n if (val == data[rule[i].name]) {\n return true;\n }\n });\n if (resInArray) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'int':\n var ruleArr = rule[i].checkRule.split(',');\n if (rule.length < 2) {\n ruleArr[0] = Number(ruleArr[0]) - 1;\n ruleArr[1] = '';\n } else {\n ruleArr[0] = Number(ruleArr[0]) - 1;\n ruleArr[1] = Number(ruleArr[1]) - 1;\n }\n var reg = new RegExp('^-?\\\\d{' + ruleArr[0] + ',' + ruleArr[1] + '}$');\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n break;\n case 'between':\n if (!this.isNumber(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n var minMax = rule[i].checkRule.split(',');\n minMax[0] = Number(minMax[0]);\n minMax[1] = Number(minMax[1]);\n if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'intBetween':\n var reg = /^-?\\d+$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n var minMax = rule[i].checkRule.split(',');\n minMax[0] = Number(minMax[0]);\n minMax[1] = Number(minMax[1]);\n if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'betweenD':\n var reg = /^-?\\d+$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n var minMax = rule[i].checkRule.split(',');\n minMax[0] = Number(minMax[0]);\n minMax[1] = Number(minMax[1]);\n if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'doubleBetween':\n var reg = /^-?\\d?.+\\d+$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n var minMax = rule[i].checkRule.split(',');\n minMax[0] = Number(minMax[0]);\n minMax[1] = Number(minMax[1]);\n if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'betweenF':\n var reg = /^-?\\d?.+\\d+$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n var minMax = rule[i].checkRule.split(',');\n minMax[0] = Number(minMax[0]);\n minMax[1] = Number(minMax[1]);\n if (data[rule[i].name] > minMax[1] || data[rule[i].name] < minMax[0]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'doubleLength':\n var reg = new RegExp('^-?\\\\d+.\\\\d{' + rule[i].checkRule + '}$');\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'gt':\n if (data[rule[i].name] <= rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'gtAndSame':\n if (data[rule[i].name] < rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'lt':\n if (data[rule[i].name] >= rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'ltAndSame':\n if (data[rule[i].name] > rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'same':\n if (data[rule[i].name] != rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'notSame':\n if (data[rule[i].name] == rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'notsame':\n if (data[rule[i].name] == rule[i].checkRule) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'email':\n var reg = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'phoneno':\n var reg = /^1[0-9]{10,10}$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'phone':\n var reg = /^1[0-9]{10,10}$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'zipcode':\n var reg = /^[0-9]{6}$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'reg':\n var reg = new RegExp(rule[i].checkRule);\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'in':\n if (rule[i].checkRule.indexOf(data[rule[i].name]) == -1) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'notnull':\n if (data[rule[i].name] == null || data[rule[i].name].length < 1) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'samewith':\n if (data[rule[i].name] != data[rule[i].checkRule]) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'numbers':\n var reg = new RegExp('^[0-9]{' + rule[i].checkRule + '}$');\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'url':\n var reg = /^(\\w+:\\/\\/)?\\w+(\\.\\w+)+.*$/;\n if (!reg.test(data[rule[i].name])) {\n this.error = rule[i].errorMsg;\n return false;\n }\n break;\n case 'idCard':\n var idCardRes = _checkIdCard.default.checkIdcard(data[rule[i].name]);\n if (idCardRes != 'ok') {\n this.error = idCardRes;\n return false;\n }\n break;\n }\n }\n return true;\n },\n isNumber: function isNumber(checkVal) {\n checkVal = Number(checkVal);\n if (isNaN(checkVal)) {\n return false;\n }\n return true;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvY2hlY2tlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiZXJyb3IiLCJjaGVjayIsImRhdGFCZUNoZWNrIiwicnVsZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkYXRhIiwicGFyc2UiLCJpIiwibGVuZ3RoIiwiY2hlY2tUeXBlIiwibmFtZSIsImVycm9yTXNnIiwicmVwbGFjZSIsInJlZyIsIlJlZ0V4cCIsImNoZWNrUnVsZSIsInRlc3QiLCJjRGF0YSIsImluZGV4T2YiLCJyZXNJbkFycmF5IiwiZmluZCIsInZhbCIsInJ1bGVBcnIiLCJzcGxpdCIsIk51bWJlciIsImlzTnVtYmVyIiwibWluTWF4IiwiaWRDYXJkUmVzIiwiaWRDYXJkQ2hlY2tlciIsImNoZWNrSWRjYXJkIiwiY2hlY2tWYWwiLCJpc05hTiJdLCJtYXBwaW5ncyI6Ijs7OztBQUNBO0FBQ0FBLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHO0VBQ2hCQyxLQUFLLEVBQUcsRUFBRTtFQUNWQyxLQUFLLEVBQUcsZUFBVUMsV0FBVyxFQUFFQyxJQUFJLEVBQUM7SUFDbkNELFdBQVcsR0FBR0UsSUFBSSxDQUFDQyxTQUFTLENBQUNILFdBQVcsQ0FBQztJQUN6QyxJQUFJSSxJQUFJLEdBQUdGLElBQUksQ0FBQ0csS0FBSyxDQUFDTCxXQUFXLENBQUM7SUFDbEMsS0FBSSxJQUFJTSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdMLElBQUksQ0FBQ00sTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBQztNQUNuQyxJQUFJLENBQUNMLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNFLFNBQVMsRUFBQztRQUFFLE9BQU8sSUFBSTtNQUFDO01BQ3JDLElBQUksQ0FBQ1AsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxFQUFDO1FBQUMsT0FBTyxJQUFJO01BQUM7TUFDL0IsSUFBSSxDQUFDUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRLEVBQUU7UUFBQyxPQUFPLElBQUk7TUFBQztNQUNwQyxJQUNDLE9BQU9OLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFFLElBQUksV0FBVyxJQUV4Q0wsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQzFCO1FBQ0EsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7UUFDN0IsT0FBTyxLQUFLO01BQ2I7TUFDQTtNQUNBLElBQUcsT0FBT04sSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUUsSUFBSSxRQUFRLEVBQUM7UUFDekNMLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEdBQUdMLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUNFLE9BQU8sQ0FBQyxLQUFLLEVBQUMsRUFBRSxDQUFDO01BQzFEO01BQ0EsUUFBUVYsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0UsU0FBUztRQUN4QixLQUFLLFFBQVE7VUFDWixJQUFJSSxHQUFHLEdBQUcsSUFBSUMsTUFBTSxDQUFDLEtBQUssR0FBR1osSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ1EsU0FBUyxHQUFHLElBQUksQ0FBQztVQUN0RCxJQUFHLENBQUNGLEdBQUcsQ0FBQ0csSUFBSSxDQUFDWCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFBRSxPQUFPLEtBQUs7VUFDNUM7VUFDRDtRQUNBLEtBQUssU0FBUztVQUNiLElBQUlNLEtBQUssR0FBR1osSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsR0FBQyxFQUFFO1VBQ2pDLElBQUdPLEtBQUssQ0FBQ0MsT0FBTyxDQUFDaEIsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ1EsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDekMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLFlBQVk7VUFDaEIsSUFBSU0sS0FBSyxHQUFHWixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFDLEVBQUU7VUFDakMsSUFBR08sS0FBSyxDQUFDQyxPQUFPLENBQUNoQixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQztZQUN6QyxJQUFJLENBQUNoQixLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssU0FBUztVQUNiLElBQUcsc0JBQU9ULElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsS0FBSyxRQUFRLEVBQUM7WUFDeEMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0EsSUFBSVEsVUFBVSxHQUFHakIsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ1EsU0FBUyxDQUFDSyxJQUFJLENBQ3RDLFVBQUNDLEdBQUcsRUFBRztZQUNOLElBQUdBLEdBQUcsSUFBSWhCLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEVBQUM7Y0FDNUIsT0FBTyxJQUFJO1lBQ1o7VUFDRCxDQUFDLENBQ0Q7VUFDRCxJQUFHLENBQUNTLFVBQVUsRUFBQztZQUNkLElBQUksQ0FBQ3BCLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxZQUFZO1VBQ2hCLElBQUcsc0JBQU9ULElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsS0FBSyxRQUFRLEVBQUM7WUFDeEMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0EsSUFBSVEsVUFBVSxHQUFHakIsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ1EsU0FBUyxDQUFDSyxJQUFJLENBQ3RDLFVBQUNDLEdBQUcsRUFBRztZQUNOLElBQUdBLEdBQUcsSUFBSWhCLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEVBQUM7Y0FDNUIsT0FBTyxJQUFJO1lBQ1o7VUFDRCxDQUFDLENBQ0Q7VUFDRCxJQUFHUyxVQUFVLEVBQUM7WUFDYixJQUFJLENBQUNwQixLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUVBLEtBQUssS0FBSztVQUNULElBQUlXLE9BQU8sR0FBR3BCLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQ1EsS0FBSyxDQUFDLEdBQUcsQ0FBQztVQUMxQyxJQUFHckIsSUFBSSxDQUFDTSxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ2xCYyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUdFLE1BQU0sQ0FBQ0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuQ0EsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUU7VUFDaEIsQ0FBQyxNQUFJO1lBQ0pBLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBR0UsTUFBTSxDQUFDRixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ25DQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUdFLE1BQU0sQ0FBQ0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztVQUNwQztVQUNBLElBQUlULEdBQUcsR0FBRyxJQUFJQyxNQUFNLENBQUMsU0FBUyxHQUFHUSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1VBQ3RFLElBQUcsQ0FBQ1QsR0FBRyxDQUFDRyxJQUFJLENBQUNYLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUNYLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNBO1VBQ0Q7UUFDQSxLQUFLLFNBQVM7VUFDYixJQUFJLENBQUMsSUFBSSxDQUFDYyxRQUFRLENBQUNwQixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDdEMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDQSxJQUFJZSxNQUFNLEdBQUd4QixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLENBQUNRLEtBQUssQ0FBQyxHQUFHLENBQUM7VUFDekNHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDN0JBLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDN0IsSUFDQXJCLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEdBQUdnQixNQUFNLENBQUMsQ0FBQyxDQUFDLElBRTlCckIsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsR0FBR2dCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDOUI7WUFDQyxJQUFJLENBQUMzQixLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssWUFBWTtVQUNqQixJQUFJRSxHQUFHLEdBQUcsU0FBUztVQUNsQixJQUFJLENBQUNBLEdBQUcsQ0FBQ0csSUFBSSxDQUFDWCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDQSxJQUFJZSxNQUFNLEdBQUd4QixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLENBQUNRLEtBQUssQ0FBQyxHQUFHLENBQUM7VUFDekNHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDN0JBLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBR0YsTUFBTSxDQUFDRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDN0IsSUFDQXJCLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEdBQUdnQixNQUFNLENBQUMsQ0FBQyxDQUFDLElBRTlCckIsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsR0FBR2dCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMzQixLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssVUFBVTtVQUNkLElBQUlFLEdBQUcsR0FBRyxTQUFTO1VBQ25CLElBQUksQ0FBQ0EsR0FBRyxDQUFDRyxJQUFJLENBQUNYLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBQztZQUNqQyxJQUFJLENBQUNYLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNBLElBQUllLE1BQU0sR0FBR3hCLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQ1EsS0FBSyxDQUFDLEdBQUcsQ0FBQztVQUN6Q0csTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHRixNQUFNLENBQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUM3QkEsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHRixNQUFNLENBQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUM3QixJQUNBckIsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsR0FBR2dCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFFOUJyQixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFHZ0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDO1lBQzlCLElBQUksQ0FBQzNCLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxlQUFlO1VBQ25CLElBQUlFLEdBQUcsR0FBRyxjQUFjO1VBQ3hCLElBQUksQ0FBQ0EsR0FBRyxDQUFDRyxJQUFJLENBQUNYLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBQztZQUNqQyxJQUFJLENBQUNYLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNBLElBQUllLE1BQU0sR0FBR3hCLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQ1EsS0FBSyxDQUFDLEdBQUcsQ0FBQztVQUN6Q0csTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHRixNQUFNLENBQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUM3QkEsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHRixNQUFNLENBQUNFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUM3QixJQUNBckIsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsR0FBR2dCLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFFOUJyQixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFHZ0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDO1lBQzlCLElBQUksQ0FBQzNCLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxVQUFVO1VBQ2QsSUFBSUUsR0FBRyxHQUFHLGNBQWM7VUFDeEIsSUFBSSxDQUFDQSxHQUFHLENBQUNHLElBQUksQ0FBQ1gsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQ2pDLElBQUksQ0FBQ1gsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0EsSUFBSWUsTUFBTSxHQUFHeEIsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ1EsU0FBUyxDQUFDUSxLQUFLLENBQUMsR0FBRyxDQUFDO1VBQ3pDRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUdGLE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQzdCQSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUdGLE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQzdCLElBQ0FyQixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFHZ0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUU5QnJCLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLEdBQUdnQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDM0IsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLGNBQWM7VUFDbEIsSUFBSUUsR0FBRyxHQUFHLElBQUlDLE1BQU0sQ0FBQyxjQUFjLEdBQUdaLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsR0FBRyxJQUFJLENBQUM7VUFDL0QsSUFBSSxDQUFDRixHQUFHLENBQUNHLElBQUksQ0FBQ1gsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQ2pDLElBQUksQ0FBQ1gsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLElBQUk7VUFDUixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDMUMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLFdBQVc7VUFDZixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFHUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDekMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLElBQUk7VUFDUixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDMUMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLFdBQVc7VUFDZixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxHQUFHUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDekMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLE1BQU07VUFDVixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDMUMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLFNBQVM7VUFDYixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDMUMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQUUsT0FBTyxLQUFLO1VBQzVDO1VBQ0Q7UUFDQSxLQUFLLFNBQVM7VUFDYixJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJUixJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDUSxTQUFTLEVBQUM7WUFDMUMsSUFBSSxDQUFDaEIsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQUUsT0FBTyxLQUFLO1VBQzVDO1VBQ0Q7UUFDQSxLQUFLLE9BQU87VUFDWCxJQUFJRSxHQUFHLEdBQUcsZ0RBQWdEO1VBQzFELElBQUksQ0FBQ0EsR0FBRyxDQUFDRyxJQUFJLENBQUNYLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBQztZQUNqQyxJQUFJLENBQUNYLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxTQUFTO1VBQ2IsSUFBSUUsR0FBRyxHQUFHLGlCQUFpQjtVQUMzQixJQUFJLENBQUNBLEdBQUcsQ0FBQ0csSUFBSSxDQUFDWCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDakMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssT0FBTztVQUNYLElBQUlFLEdBQUcsR0FBRyxpQkFBaUI7VUFDM0IsSUFBSSxDQUFDQSxHQUFHLENBQUNHLElBQUksQ0FBQ1gsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQ2pDLElBQUksQ0FBQ1gsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQzdCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7UUFDQSxLQUFLLFNBQVM7VUFDYixJQUFJRSxHQUFHLEdBQUcsWUFBWTtVQUN0QixJQUFJLENBQUNBLEdBQUcsQ0FBQ0csSUFBSSxDQUFDWCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDakMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssS0FBSztVQUNULElBQUlFLEdBQUcsR0FBRyxJQUFJQyxNQUFNLENBQUNaLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQztVQUN2QyxJQUFJLENBQUNGLEdBQUcsQ0FBQ0csSUFBSSxDQUFDWCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFDN0IsT0FBTyxLQUFLO1VBQ2I7VUFDRDtRQUNBLEtBQUssSUFBSTtVQUNSLElBQUdULElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQ0csT0FBTyxDQUFDYixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDdEQsSUFBSSxDQUFDWCxLQUFLLEdBQUdHLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNJLFFBQVE7WUFBRSxPQUFPLEtBQUs7VUFDNUM7VUFDRDtRQUNBLEtBQUssU0FBUztVQUNiLElBQ0FOLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJTCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxDQUFDRixNQUFNLEdBQUcsQ0FBQyxFQUMxRDtZQUFDLElBQUksQ0FBQ1QsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQUUsT0FBTyxLQUFLO1VBQUM7VUFDL0M7UUFDQSxLQUFLLFVBQVU7VUFDZCxJQUFHTixJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNHLElBQUksQ0FBQyxJQUFJTCxJQUFJLENBQUNILElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsQ0FBQyxFQUFDO1lBQ2hELElBQUksQ0FBQ2hCLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxTQUFTO1VBQ2IsSUFBSUUsR0FBRyxHQUFHLElBQUlDLE1BQU0sQ0FBQyxTQUFTLEdBQUdaLElBQUksQ0FBQ0ssQ0FBQyxDQUFDLENBQUNRLFNBQVMsR0FBRyxJQUFJLENBQUM7VUFDMUQsSUFBSSxDQUFDRixHQUFHLENBQUNHLElBQUksQ0FBQ1gsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQ2pDLElBQUksQ0FBQ1gsS0FBSyxHQUFHRyxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDSSxRQUFRO1lBQUUsT0FBTyxLQUFLO1VBQzVDO1VBQ0Q7UUFDQSxLQUFLLEtBQUs7VUFDVCxJQUFJRSxHQUFHLEdBQUcsNEJBQTRCO1VBQ3RDLElBQUksQ0FBQ0EsR0FBRyxDQUFDRyxJQUFJLENBQUNYLElBQUksQ0FBQ0gsSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBQztZQUNqQyxJQUFJLENBQUNYLEtBQUssR0FBR0csSUFBSSxDQUFDSyxDQUFDLENBQUMsQ0FBQ0ksUUFBUTtZQUM3QixPQUFPLEtBQUs7VUFDYjtVQUNEO1FBQ0EsS0FBSyxRQUFRO1VBQ1osSUFBSWdCLFNBQVMsR0FBR0Msb0JBQWEsQ0FBQ0MsV0FBVyxDQUFDeEIsSUFBSSxDQUFDSCxJQUFJLENBQUNLLENBQUMsQ0FBQyxDQUFDRyxJQUFJLENBQUMsQ0FBQztVQUM3RCxJQUFHaUIsU0FBUyxJQUFJLElBQUksRUFBQztZQUNwQixJQUFJLENBQUM1QixLQUFLLEdBQUc0QixTQUFTO1lBQ3RCLE9BQU8sS0FBSztVQUNiO1VBQ0Q7TUFBTTtJQUVSO0lBQ0EsT0FBTyxJQUFJO0VBQ1osQ0FBQztFQUNERixRQUFRLEVBQUcsa0JBQVVLLFFBQVEsRUFBQztJQUM3QkEsUUFBUSxHQUFHTixNQUFNLENBQUNNLFFBQVEsQ0FBQztJQUMzQixJQUFHQyxLQUFLLENBQUNELFFBQVEsQ0FBQyxFQUFDO01BQUMsT0FBTyxLQUFLO0lBQUM7SUFDakMsT0FBTyxJQUFJO0VBQ1o7QUFDRCxDQUFDIiwiZmlsZSI6Ijc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBpZENhcmRDaGVja2VyIGZyb20gJy4vY2hlY2tJZENhcmQuanMnO1xyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHRlcnJvciA6ICcnLFxyXG5cdGNoZWNrIDogZnVuY3Rpb24gKGRhdGFCZUNoZWNrLCBydWxlKXtcclxuXHRcdGRhdGFCZUNoZWNrID0gSlNPTi5zdHJpbmdpZnkoZGF0YUJlQ2hlY2spO1xyXG5cdFx0dmFyIGRhdGEgPSBKU09OLnBhcnNlKGRhdGFCZUNoZWNrKTtcclxuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCBydWxlLmxlbmd0aDsgaSsrKXtcclxuXHRcdFx0aWYgKCFydWxlW2ldLmNoZWNrVHlwZSl7IHJldHVybiB0cnVlO31cclxuXHRcdFx0aWYgKCFydWxlW2ldLm5hbWUpe3JldHVybiB0cnVlO31cclxuXHRcdFx0aWYgKCFydWxlW2ldLmVycm9yTXNnKSB7cmV0dXJuIHRydWU7fVxyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0dHlwZW9mKGRhdGFbcnVsZVtpXS5uYW1lXSkgPT0gJ3VuZGVmaW5lZCdcclxuXHRcdFx0XHQgfHwgXHJcblx0XHRcdFx0IGRhdGFbcnVsZVtpXS5uYW1lXSA9PT0gJydcclxuXHRcdFx0KXtcclxuXHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgXHJcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIOajgOafpeWJjeWOu+mZpOWGheWuueeahOepuuagvOWPiuaNouihjFxyXG5cdFx0XHRpZih0eXBlb2YoZGF0YVtydWxlW2ldLm5hbWVdKSA9PSAnc3RyaW5nJyl7XHJcblx0XHRcdFx0ZGF0YVtydWxlW2ldLm5hbWVdID0gZGF0YVtydWxlW2ldLm5hbWVdLnJlcGxhY2UoL1xccy9nLFwiXCIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHN3aXRjaCAocnVsZVtpXS5jaGVja1R5cGUpe1xyXG5cdFx0XHRcdGNhc2UgJ3N0cmluZyc6XHJcblx0XHRcdFx0XHR2YXIgcmVnID0gbmV3IFJlZ0V4cCgnXi57JyArIHJ1bGVbaV0uY2hlY2tSdWxlICsgJ30kJyk7XHJcblx0XHRcdFx0XHRpZighcmVnLnRlc3QoZGF0YVtydWxlW2ldLm5hbWVdKSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2NvbnRhaW4nOlxyXG5cdFx0XHRcdFx0dmFyIGNEYXRhID0gZGF0YVtydWxlW2ldLm5hbWVdKycnO1xyXG5cdFx0XHRcdFx0aWYoY0RhdGEuaW5kZXhPZihydWxlW2ldLmNoZWNrUnVsZSkgPT0gLTEpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdub3RDb250YWluJzpcclxuXHRcdFx0XHRcdHZhciBjRGF0YSA9IGRhdGFbcnVsZVtpXS5uYW1lXSsnJztcclxuXHRcdFx0XHRcdGlmKGNEYXRhLmluZGV4T2YocnVsZVtpXS5jaGVja1J1bGUpICE9IC0xKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnaW5BcnJheSc6XHJcblx0XHRcdFx0XHRpZih0eXBlb2YocnVsZVtpXS5jaGVja1J1bGUpICE9ICdvYmplY3QnKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHZhciByZXNJbkFycmF5ID0gcnVsZVtpXS5jaGVja1J1bGUuZmluZChcclxuXHRcdFx0XHRcdFx0KHZhbCk9PntcclxuXHRcdFx0XHRcdFx0XHRpZih2YWwgPT0gZGF0YVtydWxlW2ldLm5hbWVdKXtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdGlmKCFyZXNJbkFycmF5KXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdub3RJbkFycmF5JzpcclxuXHRcdFx0XHRcdGlmKHR5cGVvZihydWxlW2ldLmNoZWNrUnVsZSkgIT0gJ29iamVjdCcpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIHJlc0luQXJyYXkgPSBydWxlW2ldLmNoZWNrUnVsZS5maW5kKFxyXG5cdFx0XHRcdFx0XHQodmFsKT0+e1xyXG5cdFx0XHRcdFx0XHRcdGlmKHZhbCA9PSBkYXRhW3J1bGVbaV0ubmFtZV0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0aWYocmVzSW5BcnJheSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Y2FzZSAnaW50JzpcclxuXHRcdFx0XHRcdHZhciBydWxlQXJyID0gcnVsZVtpXS5jaGVja1J1bGUuc3BsaXQoJywnKTtcclxuXHRcdFx0XHRcdGlmKHJ1bGUubGVuZ3RoIDwgMil7XHJcblx0XHRcdFx0XHRcdHJ1bGVBcnJbMF0gPSBOdW1iZXIocnVsZUFyclswXSkgLSAxO1xyXG5cdFx0XHRcdFx0XHRydWxlQXJyWzFdID0gJyc7XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0cnVsZUFyclswXSA9IE51bWJlcihydWxlQXJyWzBdKSAtIDE7XHJcblx0XHRcdFx0XHRcdHJ1bGVBcnJbMV0gPSBOdW1iZXIocnVsZUFyclsxXSkgLSAxO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIHJlZyA9IG5ldyBSZWdFeHAoJ14tP1xcXFxkeycgKyBydWxlQXJyWzBdICsgJywnICsgcnVsZUFyclsxXSArICd9JCcpO1xyXG5cdFx0XHRcdFx0aWYoIXJlZy50ZXN0KGRhdGFbcnVsZVtpXS5uYW1lXSkpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdiZXR3ZWVuJzpcclxuXHRcdFx0XHRcdGlmICghdGhpcy5pc051bWJlcihkYXRhW3J1bGVbaV0ubmFtZV0pKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHZhciBtaW5NYXggPSBydWxlW2ldLmNoZWNrUnVsZS5zcGxpdCgnLCcpO1xyXG5cdFx0XHRcdFx0bWluTWF4WzBdID0gTnVtYmVyKG1pbk1heFswXSk7XHJcblx0XHRcdFx0XHRtaW5NYXhbMV0gPSBOdW1iZXIobWluTWF4WzFdKTtcclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdGRhdGFbcnVsZVtpXS5uYW1lXSA+IG1pbk1heFsxXVxyXG5cdFx0XHRcdFx0IHx8IFxyXG5cdFx0XHRcdFx0ZGF0YVtydWxlW2ldLm5hbWVdIDwgbWluTWF4WzBdKVxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2ludEJldHdlZW4nOlxyXG5cdFx0XHRcdHZhciByZWcgPSAvXi0/XFxkKyQvO1xyXG5cdFx0XHRcdFx0aWYgKCFyZWcudGVzdChkYXRhW3J1bGVbaV0ubmFtZV0pKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyBcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHZhciBtaW5NYXggPSBydWxlW2ldLmNoZWNrUnVsZS5zcGxpdCgnLCcpO1xyXG5cdFx0XHRcdFx0bWluTWF4WzBdID0gTnVtYmVyKG1pbk1heFswXSk7XHJcblx0XHRcdFx0XHRtaW5NYXhbMV0gPSBOdW1iZXIobWluTWF4WzFdKTtcclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdGRhdGFbcnVsZVtpXS5uYW1lXSA+IG1pbk1heFsxXVxyXG5cdFx0XHRcdFx0IHx8IFxyXG5cdFx0XHRcdFx0ZGF0YVtydWxlW2ldLm5hbWVdIDwgbWluTWF4WzBdKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnYmV0d2VlbkQnOlxyXG5cdFx0XHRcdFx0dmFyIHJlZyA9IC9eLT9cXGQrJC87XHJcblx0XHRcdFx0XHRpZiAoIXJlZy50ZXN0KGRhdGFbcnVsZVtpXS5uYW1lXSkpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgXHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR2YXIgbWluTWF4ID0gcnVsZVtpXS5jaGVja1J1bGUuc3BsaXQoJywnKTtcclxuXHRcdFx0XHRcdG1pbk1heFswXSA9IE51bWJlcihtaW5NYXhbMF0pO1xyXG5cdFx0XHRcdFx0bWluTWF4WzFdID0gTnVtYmVyKG1pbk1heFsxXSk7XHJcblx0XHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRkYXRhW3J1bGVbaV0ubmFtZV0gPiBtaW5NYXhbMV1cclxuXHRcdFx0XHRcdCB8fCBcclxuXHRcdFx0XHRcdGRhdGFbcnVsZVtpXS5uYW1lXSA8IG1pbk1heFswXSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnZG91YmxlQmV0d2Vlbic6XHJcblx0XHRcdFx0XHR2YXIgcmVnID0gL14tP1xcZD8uK1xcZCskLztcclxuXHRcdFx0XHRcdGlmICghcmVnLnRlc3QoZGF0YVtydWxlW2ldLm5hbWVdKSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyBcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIG1pbk1heCA9IHJ1bGVbaV0uY2hlY2tSdWxlLnNwbGl0KCcsJyk7XHJcblx0XHRcdFx0XHRtaW5NYXhbMF0gPSBOdW1iZXIobWluTWF4WzBdKTtcclxuXHRcdFx0XHRcdG1pbk1heFsxXSA9IE51bWJlcihtaW5NYXhbMV0pO1xyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0ZGF0YVtydWxlW2ldLm5hbWVdID4gbWluTWF4WzFdXHJcblx0XHRcdFx0XHQgfHwgXHJcblx0XHRcdFx0XHRkYXRhW3J1bGVbaV0ubmFtZV0gPCBtaW5NYXhbMF0pe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2JldHdlZW5GJzogXHJcblx0XHRcdFx0XHR2YXIgcmVnID0gL14tP1xcZD8uK1xcZCskLztcclxuXHRcdFx0XHRcdGlmICghcmVnLnRlc3QoZGF0YVtydWxlW2ldLm5hbWVdKSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyBcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIG1pbk1heCA9IHJ1bGVbaV0uY2hlY2tSdWxlLnNwbGl0KCcsJyk7XHJcblx0XHRcdFx0XHRtaW5NYXhbMF0gPSBOdW1iZXIobWluTWF4WzBdKTtcclxuXHRcdFx0XHRcdG1pbk1heFsxXSA9IE51bWJlcihtaW5NYXhbMV0pO1xyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0ZGF0YVtydWxlW2ldLm5hbWVdID4gbWluTWF4WzFdXHJcblx0XHRcdFx0XHQgfHwgXHJcblx0XHRcdFx0XHRkYXRhW3J1bGVbaV0ubmFtZV0gPCBtaW5NYXhbMF0pIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdkb3VibGVMZW5ndGgnIDogXHJcblx0XHRcdFx0XHR2YXIgcmVnID0gbmV3IFJlZ0V4cCgnXi0/XFxcXGQrLlxcXFxkeycgKyBydWxlW2ldLmNoZWNrUnVsZSArICd9JCcpO1xyXG5cdFx0XHRcdFx0aWYgKCFyZWcudGVzdChkYXRhW3J1bGVbaV0ubmFtZV0pKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnZ3QnOlxyXG5cdFx0XHRcdFx0aWYoZGF0YVtydWxlW2ldLm5hbWVdIDw9IHJ1bGVbaV0uY2hlY2tSdWxlKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdndEFuZFNhbWUnOlxyXG5cdFx0XHRcdFx0aWYoZGF0YVtydWxlW2ldLm5hbWVdIDwgcnVsZVtpXS5jaGVja1J1bGUpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2x0JzpcclxuXHRcdFx0XHRcdGlmKGRhdGFbcnVsZVtpXS5uYW1lXSA+PSBydWxlW2ldLmNoZWNrUnVsZSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnbHRBbmRTYW1lJzpcclxuXHRcdFx0XHRcdGlmKGRhdGFbcnVsZVtpXS5uYW1lXSA+IHJ1bGVbaV0uY2hlY2tSdWxlKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdzYW1lJzpcclxuXHRcdFx0XHRcdGlmKGRhdGFbcnVsZVtpXS5uYW1lXSAhPSBydWxlW2ldLmNoZWNrUnVsZSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyBcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ25vdFNhbWUnOlxyXG5cdFx0XHRcdFx0aWYoZGF0YVtydWxlW2ldLm5hbWVdID09IHJ1bGVbaV0uY2hlY2tSdWxlKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdub3RzYW1lJzpcclxuXHRcdFx0XHRcdGlmKGRhdGFbcnVsZVtpXS5uYW1lXSA9PSBydWxlW2ldLmNoZWNrUnVsZSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyByZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnZW1haWwnOlxyXG5cdFx0XHRcdFx0dmFyIHJlZyA9IC9eXFx3KyhbLSsuJ11cXHcrKSpAXFx3KyhbLS5dXFx3KykqXFwuXFx3KyhbLS5dXFx3KykqJC87XHJcblx0XHRcdFx0XHRpZiAoIXJlZy50ZXN0KGRhdGFbcnVsZVtpXS5uYW1lXSkpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgXHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAncGhvbmVubyc6XHJcblx0XHRcdFx0XHR2YXIgcmVnID0gL14xWzAtOV17MTAsMTB9JC87XHJcblx0XHRcdFx0XHRpZiAoIXJlZy50ZXN0KGRhdGFbcnVsZVtpXS5uYW1lXSkpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgXHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAncGhvbmUnOlxyXG5cdFx0XHRcdFx0dmFyIHJlZyA9IC9eMVswLTldezEwLDEwfSQvO1xyXG5cdFx0XHRcdFx0aWYgKCFyZWcudGVzdChkYXRhW3J1bGVbaV0ubmFtZV0pKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ3ppcGNvZGUnOlxyXG5cdFx0XHRcdFx0dmFyIHJlZyA9IC9eWzAtOV17Nn0kLztcclxuXHRcdFx0XHRcdGlmICghcmVnLnRlc3QoZGF0YVtydWxlW2ldLm5hbWVdKSl7XHJcblx0XHRcdFx0XHRcdHRoaXMuZXJyb3IgPSBydWxlW2ldLmVycm9yTXNnOyBcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ3JlZyc6XHJcblx0XHRcdFx0XHR2YXIgcmVnID0gbmV3IFJlZ0V4cChydWxlW2ldLmNoZWNrUnVsZSk7XHJcblx0XHRcdFx0XHRpZiAoIXJlZy50ZXN0KGRhdGFbcnVsZVtpXS5uYW1lXSkpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2luJzogXHJcblx0XHRcdFx0XHRpZihydWxlW2ldLmNoZWNrUnVsZS5pbmRleE9mKGRhdGFbcnVsZVtpXS5uYW1lXSkgPT0gLTEpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ25vdG51bGwnOlxyXG5cdFx0XHRcdFx0aWYoXHJcblx0XHRcdFx0XHRkYXRhW3J1bGVbaV0ubmFtZV0gPT0gbnVsbCB8fCBkYXRhW3J1bGVbaV0ubmFtZV0ubGVuZ3RoIDwgMVxyXG5cdFx0XHRcdFx0KXt0aGlzLmVycm9yID0gcnVsZVtpXS5lcnJvck1zZzsgcmV0dXJuIGZhbHNlO31cclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdzYW1ld2l0aCc6IFxyXG5cdFx0XHRcdFx0aWYoZGF0YVtydWxlW2ldLm5hbWVdICE9IGRhdGFbcnVsZVtpXS5jaGVja1J1bGVdKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAnbnVtYmVycyc6XHJcblx0XHRcdFx0XHR2YXIgcmVnID0gbmV3IFJlZ0V4cCgnXlswLTldeycgKyBydWxlW2ldLmNoZWNrUnVsZSArICd9JCcpO1xyXG5cdFx0XHRcdFx0aWYgKCFyZWcudGVzdChkYXRhW3J1bGVbaV0ubmFtZV0pKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IHJldHVybiBmYWxzZTsgXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAndXJsJzpcclxuXHRcdFx0XHRcdHZhciByZWcgPSAvXihcXHcrOlxcL1xcLyk/XFx3KyhcXC5cXHcrKSsuKiQvO1xyXG5cdFx0XHRcdFx0aWYgKCFyZWcudGVzdChkYXRhW3J1bGVbaV0ubmFtZV0pKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IHJ1bGVbaV0uZXJyb3JNc2c7IFxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2lkQ2FyZCcgOlxyXG5cdFx0XHRcdFx0dmFyIGlkQ2FyZFJlcyA9IGlkQ2FyZENoZWNrZXIuY2hlY2tJZGNhcmQoZGF0YVtydWxlW2ldLm5hbWVdKTtcclxuXHRcdFx0XHRcdGlmKGlkQ2FyZFJlcyAhPSAnb2snKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5lcnJvciA9IGlkQ2FyZFJlcztcclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlOyBcclxuXHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiB0cnVlO1xyXG5cdH0sXHJcblx0aXNOdW1iZXIgOiBmdW5jdGlvbiAoY2hlY2tWYWwpe1xyXG5cdFx0Y2hlY2tWYWwgPSBOdW1iZXIoY2hlY2tWYWwpO1xyXG5cdFx0aWYoaXNOYU4oY2hlY2tWYWwpKXtyZXR1cm4gZmFsc2U7fVxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///74\n"); + +/***/ }), +/* 75 */ +/*!**********************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/checkIdCard.js ***! + \**********************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction checkIdcard(idcard) {\n var Errors = new Array(\"ok\", \"身份证号码位数错误\", \"身份证号码出生日期错误\", \"身份证号码校验错误\", \"身份证地区错误\");\n var area = {\n 11: \"北京\",\n 12: \"天津\",\n 13: \"河北\",\n 14: \"山西\",\n 15: \"内蒙古\",\n 21: \"辽宁\",\n 22: \"吉林\",\n 23: \"黑龙江\",\n 31: \"上海\",\n 32: \"江苏\",\n 33: \"浙江\",\n 34: \"安徽\",\n 35: \"福建\",\n 36: \"江西\",\n 37: \"山东\",\n 41: \"河南\",\n 42: \"湖北\",\n 43: \"湖南\",\n 44: \"广东\",\n 45: \"广西\",\n 46: \"海南\",\n 50: \"重庆\",\n 51: \"四川\",\n 52: \"贵州\",\n 53: \"云南\",\n 54: \"西藏\",\n 61: \"陕西\",\n 62: \"甘肃\",\n 63: \"青海\",\n 64: \"宁夏\",\n 65: \"新疆\",\n 71: \"台湾\",\n 81: \"香港\",\n 82: \"澳门\",\n 91: \"国外\"\n };\n var idcard, Y, JYM, ereg;\n var S, M;\n var idcard_array = new Array();\n idcard_array = idcard.split(\"\");\n //地区检验\n if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[4];\n //身份号码位数及格式检验\n switch (idcard.length) {\n case 15:\n if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || (parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0) {\n ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性\n } else {\n ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性\n }\n\n if (ereg.test(idcard)) return Errors[0];else return Errors[2];\n break;\n case 18:\n //18位身份号码检测\n //出生日期的合法性检查\n //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))\n //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))\n if (parseInt(idcard.substr(6, 4)) % 4 == 0 || parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0) {\n ereg = /^[1-9][0-9]{5}[1-2]+[0-9]{3}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式\n } else {\n ereg = /^[1-9][0-9]{5}[1-2]+[0-9]{3}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式\n }\n // 测试出生日期的合法性\n if (ereg.test(idcard)) {\n //计算校验位\n S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3;\n Y = S % 11;\n M = \"F\";\n JYM = \"10X98765432\";\n M = JYM.substr(Y, 1); //判断校验位\n if (M == idcard_array[17]) return Errors[0]; //检测ID的校验位\n else return Errors[3];\n } else {\n return Errors[2];\n }\n break;\n default:\n return Errors[1];\n break;\n }\n}\nvar _default = {\n checkIdcard: checkIdcard\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvY2hlY2tJZENhcmQuanMiXSwibmFtZXMiOlsiY2hlY2tJZGNhcmQiLCJpZGNhcmQiLCJFcnJvcnMiLCJBcnJheSIsImFyZWEiLCJZIiwiSllNIiwiZXJlZyIsIlMiLCJNIiwiaWRjYXJkX2FycmF5Iiwic3BsaXQiLCJwYXJzZUludCIsInN1YnN0ciIsImxlbmd0aCIsInRlc3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFdBQVcsQ0FBQ0MsTUFBTSxFQUFFO0VBQzVCLElBQUlDLE1BQU0sR0FBRyxJQUFJQyxLQUFLLENBQ3JCLElBQUksRUFDSixXQUFXLEVBQ1gsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLENBQ1Q7RUFDRCxJQUFJQyxJQUFJLEdBQUc7SUFDVixFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsS0FBSztJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsS0FBSztJQUN4QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFLElBQUk7SUFBRSxFQUFFLEVBQUUsSUFBSTtJQUN0QyxFQUFFLEVBQUUsSUFBSTtJQUFFLEVBQUUsRUFBRSxJQUFJO0lBQUUsRUFBRSxFQUFFO0VBQ3pCLENBQUM7RUFFRCxJQUFJSCxNQUFNLEVBQUVJLENBQUMsRUFBRUMsR0FBRyxFQUFFQyxJQUFJO0VBQ3hCLElBQUlDLENBQUMsRUFBRUMsQ0FBQztFQUNSLElBQUlDLFlBQVksR0FBRyxJQUFJUCxLQUFLLEVBQUU7RUFDOUJPLFlBQVksR0FBT1QsTUFBTSxDQUFDVSxLQUFLLENBQUMsRUFBRSxDQUFDO0VBQ25DO0VBQ0EsSUFBSVAsSUFBSSxDQUFDUSxRQUFRLENBQUNYLE1BQU0sQ0FBQ1ksTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLE9BQU9YLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDakU7RUFDQSxRQUFRRCxNQUFNLENBQUNhLE1BQU07SUFDcEIsS0FBSyxFQUFFO01BQ04sSUFBSSxDQUFDRixRQUFRLENBQUNYLE1BQU0sQ0FBQ1ksTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUNELFFBQVEsQ0FBQ1gsTUFBTSxDQUFDWSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQ0QsUUFBUSxDQUFDWCxNQUFNLENBQUNZLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUUsRUFBRTtRQUM5Sk4sSUFBSSxHQUFHLDZJQUE2SSxDQUFDLENBQUM7TUFDdkosQ0FBQyxNQUFNO1FBQ05BLElBQUksR0FBRyxnSkFBZ0osQ0FBQyxDQUFDO01BQzFKOztNQUNBLElBQUlBLElBQUksQ0FBQ1EsSUFBSSxDQUFDZCxNQUFNLENBQUMsRUFBRSxPQUFPQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FDbkMsT0FBT0EsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUN0QjtJQUNBLEtBQUssRUFBRTtNQUNOO01BQ0E7TUFDQTtNQUNBO01BQ0EsSUFDQVUsUUFBUSxDQUFDWCxNQUFNLENBQUNZLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUdyQ0QsUUFBUSxDQUFDWCxNQUFNLENBQUNZLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUV4Q0QsUUFBUSxDQUFDWCxNQUFNLENBQUNZLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDcEMsRUFDRDtRQUNBTixJQUFJLEdBQUcsMEpBQTBKLENBQUMsQ0FBQztNQUNwSyxDQUFDLE1BQU07UUFDTkEsSUFBSSxHQUFHLDZKQUE2SixDQUFDLENBQUM7TUFDdks7TUFDQTtNQUNTLElBQUlBLElBQUksQ0FBQ1EsSUFBSSxDQUFDZCxNQUFNLENBQUMsRUFBRTtRQUMvQjtRQUNBTyxDQUFDLEdBQUcsQ0FBQ0ksUUFBUSxDQUFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0UsUUFBUSxDQUFDRixZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQzlELENBQUNFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUM1RCxDQUFDRSxRQUFRLENBQUNGLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHRSxRQUFRLENBQUNGLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FDN0QsQ0FBQ0UsUUFBUSxDQUFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0UsUUFBUSxDQUFDRixZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQzVELENBQUNFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUM1RCxDQUFDRSxRQUFRLENBQUNGLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHRSxRQUFRLENBQUNGLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDNUQsQ0FBQ0UsUUFBUSxDQUFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0UsUUFBUSxDQUFDRixZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQzVERSxRQUFRLENBQUNGLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FDN0JFLFFBQVEsQ0FBQ0YsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUM3QkUsUUFBUSxDQUFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9CTCxDQUFDLEdBQUdHLENBQUMsR0FBRyxFQUFFO1FBQ1ZDLENBQUMsR0FBRyxHQUFHO1FBQ1BILEdBQUcsR0FBRyxhQUFhO1FBQ25CRyxDQUFDLEdBQUdILEdBQUcsQ0FBQ08sTUFBTSxDQUFDUixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJSSxDQUFDLElBQUlDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPUixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLEtBQ3hDLE9BQU9BLE1BQU0sQ0FBQyxDQUFDLENBQUM7TUFDdEIsQ0FBQyxNQUFLO1FBQ0wsT0FBT0EsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUNqQjtNQUNLO0lBQ0E7TUFDTCxPQUFPQSxNQUFNLENBQUMsQ0FBQyxDQUFDO01BQ2hCO0VBQU07QUFFVDtBQUFDLGVBQ2E7RUFDYkYsV0FBVyxFQUFHQTtBQUNmLENBQUM7QUFBQSIsImZpbGUiOiI3NS5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGNoZWNrSWRjYXJkKGlkY2FyZCkge1xyXG5cdHZhciBFcnJvcnMgPSBuZXcgQXJyYXkoXHJcblx0XHRcIm9rXCIsXHJcblx0XHRcIui6q+S7veivgeWPt+eggeS9jeaVsOmUmeivr1wiLFxyXG5cdFx0XCLouqvku73or4Hlj7fnoIHlh7rnlJ/ml6XmnJ/plJnor69cIixcclxuXHRcdFwi6Lqr5Lu96K+B5Y+356CB5qCh6aqM6ZSZ6K+vXCIsXHJcblx0XHRcIui6q+S7veivgeWcsOWMuumUmeivr1wiXHJcblx0KTtcclxuXHR2YXIgYXJlYSA9IHtcclxuXHRcdDExOiBcIuWMl+S6rFwiLCAxMjogXCLlpKnmtKVcIiwgMTM6IFwi5rKz5YyXXCIsIDE0OiBcIuWxseilv1wiLCBcclxuXHRcdDE1OiBcIuWGheiSmeWPpFwiLCAyMTogXCLovr3lroFcIiwgMjI6IFwi5ZCJ5p6XXCIsIDIzOiBcIum7kem+meaxn1wiLCBcclxuXHRcdDMxOiBcIuS4iua1t1wiLCAzMjogXCLmsZ/oi49cIiwgMzM6IFwi5rWZ5rGfXCIsIDM0OiBcIuWuieW+vVwiLCBcclxuXHRcdDM1OiBcIuemj+W7ulwiLCAzNjogXCLmsZ/opb9cIiwgMzc6IFwi5bGx5LicXCIsIDQxOiBcIuays+WNl1wiLCBcclxuXHRcdDQyOiBcIua5luWMl1wiLCA0MzogXCLmuZbljZdcIiwgNDQ6IFwi5bm/5LicXCIsIDQ1OiBcIuW5v+ilv1wiLCBcclxuXHRcdDQ2OiBcIua1t+WNl1wiLCA1MDogXCLph43luoZcIiwgNTE6IFwi5Zub5bedXCIsIDUyOiBcIui0teW3nlwiLCBcclxuXHRcdDUzOiBcIuS6keWNl1wiLCA1NDogXCLopb/ol49cIiwgNjE6IFwi6ZmV6KW/XCIsIDYyOiBcIueUmOiCg1wiLCBcclxuXHRcdDYzOiBcIumdkua1t1wiLCA2NDogXCLlroHlpI9cIiwgNjU6IFwi5paw55aGXCIsIDcxOiBcIuWPsOa5vlwiLCBcclxuXHRcdDgxOiBcIummmea4r1wiLCA4MjogXCLmvrPpl6hcIiwgOTE6IFwi5Zu95aSWXCIsXHJcblx0fVxyXG5cclxuXHR2YXIgaWRjYXJkLCBZLCBKWU0sIGVyZWc7XHJcblx0dmFyIFMsIE07XHJcblx0dmFyIGlkY2FyZF9hcnJheSA9IG5ldyBBcnJheSgpO1xyXG5cdGlkY2FyZF9hcnJheSAgICAgPSBpZGNhcmQuc3BsaXQoXCJcIik7XHJcblx0Ly/lnLDljLrmo4DpqoxcclxuXHRpZiAoYXJlYVtwYXJzZUludChpZGNhcmQuc3Vic3RyKDAsIDIpKV0gPT0gbnVsbCkgcmV0dXJuIEVycm9yc1s0XTtcclxuXHQvL+i6q+S7veWPt+eggeS9jeaVsOWPiuagvOW8j+ajgOmqjFxyXG5cdHN3aXRjaCAoaWRjYXJkLmxlbmd0aCkge1xyXG5cdFx0Y2FzZSAxNTpcclxuXHRcdFx0aWYgKChwYXJzZUludChpZGNhcmQuc3Vic3RyKDYsIDIpKSArIDE5MDApICUgNCA9PSAwIHx8ICgocGFyc2VJbnQoaWRjYXJkLnN1YnN0cig2LCAyKSkgKyAxOTAwKSAlIDEwMCA9PSAwICYmIChwYXJzZUludChpZGNhcmQuc3Vic3RyKDYsIDIpKSArIDE5MDApICUgNCA9PSAwKSkge1xyXG5cdFx0XHRcdGVyZWcgPSAvXlsxLTldWzAtOV17NX1bMC05XXsyfSgoMDF8MDN8MDV8MDd8MDh8MTB8MTIpKDBbMS05XXxbMS0yXVswLTldfDNbMC0xXSl8KDA0fDA2fDA5fDExKSgwWzEtOV18WzEtMl1bMC05XXwzMCl8MDIoMFsxLTldfFsxLTJdWzAtOV0pKVswLTldezN9JC87IC8v5rWL6K+V5Ye655Sf5pel5pyf55qE5ZCI5rOV5oCnXHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0ZXJlZyA9IC9eWzEtOV1bMC05XXs1fVswLTldezJ9KCgwMXwwM3wwNXwwN3wwOHwxMHwxMikoMFsxLTldfFsxLTJdWzAtOV18M1swLTFdKXwoMDR8MDZ8MDl8MTEpKDBbMS05XXxbMS0yXVswLTldfDMwKXwwMigwWzEtOV18MVswLTldfDJbMC04XSkpWzAtOV17M30kLzsgLy/mtYvor5Xlh7rnlJ/ml6XmnJ/nmoTlkIjms5XmgKdcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoZXJlZy50ZXN0KGlkY2FyZCkpIHJldHVybiBFcnJvcnNbMF07XHJcblx0XHRcdGVsc2UgcmV0dXJuIEVycm9yc1syXTtcclxuXHRcdGJyZWFrO1xyXG5cdFx0Y2FzZSAxODpcclxuXHRcdFx0Ly8xOOS9jei6q+S7veWPt+eggeajgOa1i1xyXG5cdFx0XHQvL+WHuueUn+aXpeacn+eahOWQiOazleaAp+ajgOafpVxyXG5cdFx0XHQvL+mXsOW5tOaciOaXpTooKDAxfDAzfDA1fDA3fDA4fDEwfDEyKSgwWzEtOV18WzEtMl1bMC05XXwzWzAtMV0pfCgwNHwwNnwwOXwxMSkoMFsxLTldfFsxLTJdWzAtOV18MzApfDAyKDBbMS05XXxbMS0yXVswLTldKSlcclxuXHRcdFx0Ly/lubPlubTmnIjml6U6KCgwMXwwM3wwNXwwN3wwOHwxMHwxMikoMFsxLTldfFsxLTJdWzAtOV18M1swLTFdKXwoMDR8MDZ8MDl8MTEpKDBbMS05XXxbMS0yXVswLTldfDMwKXwwMigwWzEtOV18MVswLTldfDJbMC04XSkpXHJcblx0XHRcdGlmIChcclxuXHRcdFx0cGFyc2VJbnQoaWRjYXJkLnN1YnN0cig2LCA0KSkgJSA0ID09IDAgXHJcblx0XHRcdHx8IFxyXG5cdFx0XHQoXHJcblx0XHRcdFx0cGFyc2VJbnQoaWRjYXJkLnN1YnN0cig2LCA0KSkgJSAxMDAgPT0gMCBcclxuXHRcdFx0XHQmJiBcclxuXHRcdFx0XHRwYXJzZUludChpZGNhcmQuc3Vic3RyKDYsIDQpKSAlIDQgPT0gMFxyXG5cdFx0XHRcdClcclxuXHRcdFx0KXtcclxuXHRcdFx0XHRlcmVnID0gL15bMS05XVswLTldezV9WzEtMl0rWzAtOV17M30oKDAxfDAzfDA1fDA3fDA4fDEwfDEyKSgwWzEtOV18WzEtMl1bMC05XXwzWzAtMV0pfCgwNHwwNnwwOXwxMSkoMFsxLTldfFsxLTJdWzAtOV18MzApfDAyKDBbMS05XXxbMS0yXVswLTldKSlbMC05XXszfVswLTlYeF0kLzsgLy/pl7DlubTlh7rnlJ/ml6XmnJ/nmoTlkIjms5XmgKfmraPliJnooajovr7lvI9cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRlcmVnID0gL15bMS05XVswLTldezV9WzEtMl0rWzAtOV17M30oKDAxfDAzfDA1fDA3fDA4fDEwfDEyKSgwWzEtOV18WzEtMl1bMC05XXwzWzAtMV0pfCgwNHwwNnwwOXwxMSkoMFsxLTldfFsxLTJdWzAtOV18MzApfDAyKDBbMS05XXwxWzAtOV18MlswLThdKSlbMC05XXszfVswLTlYeF0kLzsgLy/lubPlubTlh7rnlJ/ml6XmnJ/nmoTlkIjms5XmgKfmraPliJnooajovr7lvI9cclxuXHRcdFx0fVxyXG5cdFx0XHQvLyDmtYvor5Xlh7rnlJ/ml6XmnJ/nmoTlkIjms5XmgKdcclxuICAgICAgICAgICAgaWYgKGVyZWcudGVzdChpZGNhcmQpKSB7XHJcblx0XHRcdFx0Ly/orqHnrpfmoKHpqozkvY1cclxuXHRcdFx0XHRTID0gKHBhcnNlSW50KGlkY2FyZF9hcnJheVswXSkgKyBwYXJzZUludChpZGNhcmRfYXJyYXlbMTBdKSkgKiA3XHJcblx0XHRcdFx0KyAocGFyc2VJbnQoaWRjYXJkX2FycmF5WzFdKSArIHBhcnNlSW50KGlkY2FyZF9hcnJheVsxMV0pKSAqIDlcclxuXHRcdFx0XHQrIChwYXJzZUludChpZGNhcmRfYXJyYXlbMl0pICsgcGFyc2VJbnQoaWRjYXJkX2FycmF5WzEyXSkpICogMTBcclxuXHRcdFx0XHQrIChwYXJzZUludChpZGNhcmRfYXJyYXlbM10pICsgcGFyc2VJbnQoaWRjYXJkX2FycmF5WzEzXSkpICogNVxyXG5cdFx0XHRcdCsgKHBhcnNlSW50KGlkY2FyZF9hcnJheVs0XSkgKyBwYXJzZUludChpZGNhcmRfYXJyYXlbMTRdKSkgKiA4XHJcblx0XHRcdFx0KyAocGFyc2VJbnQoaWRjYXJkX2FycmF5WzVdKSArIHBhcnNlSW50KGlkY2FyZF9hcnJheVsxNV0pKSAqIDRcclxuXHRcdFx0XHQrIChwYXJzZUludChpZGNhcmRfYXJyYXlbNl0pICsgcGFyc2VJbnQoaWRjYXJkX2FycmF5WzE2XSkpICogMlxyXG5cdFx0XHRcdCsgcGFyc2VJbnQoaWRjYXJkX2FycmF5WzddKSAqIDFcclxuXHRcdFx0XHQrIHBhcnNlSW50KGlkY2FyZF9hcnJheVs4XSkgKiA2XHJcblx0XHRcdFx0KyBwYXJzZUludChpZGNhcmRfYXJyYXlbOV0pICogMztcclxuXHRcdFx0XHRZID0gUyAlIDExO1xyXG5cdFx0XHRcdE0gPSBcIkZcIjtcclxuXHRcdFx0XHRKWU0gPSBcIjEwWDk4NzY1NDMyXCI7XHJcblx0XHRcdFx0TSA9IEpZTS5zdWJzdHIoWSwgMSk7IC8v5Yik5pat5qCh6aqM5L2NXHJcblx0XHRcdFx0aWYgKE0gPT0gaWRjYXJkX2FycmF5WzE3XSkgcmV0dXJuIEVycm9yc1swXTsgLy/mo4DmtYtJROeahOagoemqjOS9jVxyXG5cdFx0XHRcdGVsc2UgcmV0dXJuIEVycm9yc1szXTtcclxuXHRcdFx0fWVsc2Uge1xyXG5cdFx0XHRcdHJldHVybiBFcnJvcnNbMl07XHJcblx0XHRcdH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG5cdFx0XHRyZXR1cm4gRXJyb3JzWzFdO1xyXG5cdFx0XHRicmVhaztcclxuICAgIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdHtcclxuXHRjaGVja0lkY2FyZCA6IGNoZWNrSWRjYXJkXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///75\n"); + +/***/ }), +/* 76 */ +/*!**************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/request/request.js ***! + \**************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(__f__) {var _regeneratorRuntime = __webpack_require__(/*! @babel/runtime/regenerator */ 77);\nvar _slicedToArray = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 79);\nvar _asyncToGenerator = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 85);\n// 加载配置\nvar GraceRequestConfig = __webpack_require__(/*! @/GraceUI5/js/request/config.js */ 86);\nvar md5 = __webpack_require__(/*! @/GraceUI5/js/md5.js */ 15);\n\n// 核心工具定义\nmodule.exports = {\n // token 数据记录\n token: '',\n // 连接接服务器获得请求 token\n getTokenFromApi: function getTokenFromApi(resolve, reject) {\n var _this = this;\n new Promise(GraceRequestConfig.getToken).then(function (res) {\n _this.token = res;\n // 将 token 保存在本地并记录获取时间\n uni.setStorageSync(GraceRequestConfig.localTokenKeyName, _this.token);\n // 记录时间\n var dateObj = new Date();\n var cTime = dateObj.getTime();\n cTime += '';\n uni.setStorageSync('GraceRequestTokenTime', cTime);\n resolve();\n }).catch(function () {\n _this.debug('api 获取 token 失败');\n _this.token = '';\n reject();\n });\n },\n // 获取 token\n getToken: function getToken(resolve, reject) {\n resolve();\n // // 首先尝试从本地获取\n // var token = uni.getStorageSync(GraceRequestConfig.localTokenKeyName);\n // // 本地不存在 token 数据\n // if(!token || token == ''){\n // \tnew Promise(this.getTokenFromApi.bind(this)).then((res)=>{\n // \t\tresolve();\n // \t}).catch(()=>{reject();});\n // }\n // // 存在 token 数据\n // else{\n // \t// 检查 token 有效期\n // \tvar expiredTime = GraceRequestConfig.expiredTime;\n // \texpiredTime *= 1000;\n // \tvar tokenTime = Number(uni.getStorageSync('GraceRequestTokenTime'));\n // \ttokenTime += expiredTime;\n // \tvar dateObj = new Date();\n // \tvar cTime = dateObj.getTime();\n // \t// 有效期内\n // \tif(tokenTime > cTime){\n // \t\tthis.token = token;\n // \t\tresolve();\n // \t}\n // \t// 获取新的 token\n // \telse{\n // \t\tnew Promise(this.getTokenFromApi.bind(this)).then((res)=>{\n // \t\t\tresolve();\n // \t\t}).catch(()=>{\n // \t\t\treject();\n // \t\t});\n // \t}\n // }\n },\n\n // 设置默认值补齐\n requestInit: function requestInit(sets, withLoginToken) {\n if (!sets.data) {\n sets.data = {};\n }\n if (!sets.header) {\n sets.header = {};\n }\n if (!sets.timeout) {\n sets.timeout = 60000;\n }\n if (!sets.dataType) {\n sets.dataType = 'json';\n }\n sets.header.token = this.token;\n if (withLoginToken) {\n var loginToken = this.checkLogin();\n if (loginToken) {\n sets.header.logintoken = loginToken;\n }\n }\n return sets;\n },\n // 服务端 token 错误处理\n tokenErrorHandle: function tokenErrorHandle(res) {\n __f__(\"log\", res, \" at GraceUI5/js/request/request.js:83\");\n if (res.data && res.data == 'token error') {\n uni.removeStorageSync(GraceRequestConfig.localTokenKeyName);\n }\n },\n // GET 请求 异步\n get: function get(url, sets, _success, _fail, _complete, withLoginToken) {\n var _this2 = this;\n if (!sets) {\n sets = {};\n }\n if (!_success) {\n _success = function success(res) {};\n }\n if (!_fail) {\n _fail = function fail(e) {};\n }\n if (!_complete) {\n _complete = function complete(res) {};\n }\n if (!withLoginToken) {\n withLoginToken = false;\n }\n new Promise(this.getToken.bind(this)).then(function () {\n if (GraceRequestConfig.apiBaseUrl != '') {\n url = GraceRequestConfig.apiBaseUrl + url;\n }\n sets = _this2.requestInit(sets, withLoginToken);\n uni.request({\n url: url,\n data: sets.data,\n timeout: sets.timeout,\n dataType: sets.dataType,\n header: sets.header,\n method: 'GET',\n success: function success(res) {\n _this2.debug(res);\n _success(res.data);\n _this2.tokenErrorHandle(res.data);\n },\n fail: function fail(error) {\n _fail(error.errMsg);\n },\n complete: function complete(res) {\n _complete(res);\n }\n });\n }).catch(function (e) {\n __f__(\"log\", e, \" at GraceUI5/js/request/request.js:115\");\n _this2.tokenError();\n });\n },\n // GET 请求 同步\n getSync: function () {\n var _getSync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(url, sets, withLoginToken) {\n var _this3 = this;\n var res, error;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!withLoginToken) {\n withLoginToken = false;\n }\n return _context2.abrupt(\"return\", new Promise(this.getToken.bind(this)).then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _yield$uni$request, _yield$uni$request2, error, res;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (GraceRequestConfig.apiBaseUrl != '') {\n url = GraceRequestConfig.apiBaseUrl + url;\n }\n sets = _this3.requestInit(sets, withLoginToken);\n _context.next = 4;\n return uni.request({\n url: url,\n data: sets.data,\n timeout: sets.timeout,\n dataType: sets.dataType,\n header: sets.header,\n method: 'GET'\n });\n case 4:\n _yield$uni$request = _context.sent;\n _yield$uni$request2 = _slicedToArray(_yield$uni$request, 2);\n error = _yield$uni$request2[0];\n res = _yield$uni$request2[1];\n if (!(error != null)) {\n _context.next = 10;\n break;\n }\n return _context.abrupt(\"return\", false);\n case 10:\n _this3.debug(res);\n _this3.tokenErrorHandle(res.data);\n return _context.abrupt(\"return\", res.data);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))).catch(function (e) {\n __f__(\"log\", e, \" at GraceUI5/js/request/request.js:140\");\n _this3.tokenError();\n return ['', e];\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n function getSync(_x, _x2, _x3) {\n return _getSync.apply(this, arguments);\n }\n return getSync;\n }(),\n // POST 请求 异步\n post: function post(url, sets, _success2, _fail2, _complete2) {\n var _this4 = this;\n if (!sets) {\n sets = {};\n }\n if (!_success2) {\n _success2 = function success(res) {};\n }\n if (!_fail2) {\n _fail2 = function fail(e) {};\n }\n if (!_complete2) {\n _complete2 = function complete(res) {};\n }\n new Promise(this.getToken.bind(this)).then(function () {\n if (GraceRequestConfig.apiBaseUrl != '') {\n url = GraceRequestConfig.apiBaseUrl + url;\n }\n sets = _this4.requestInit(sets);\n if (!sets.header['content-type']) {\n sets.header['content-type'] = GraceRequestConfig.postHeaderDefault;\n }\n uni.request({\n url: url,\n data: sets.data,\n timeout: sets.timeout,\n dataType: sets.dataType,\n header: sets.header,\n method: 'POST',\n success: function success(res) {\n _success2(res);\n },\n fail: function fail(error) {\n _fail2(error.errMsg);\n },\n complete: function complete(res) {\n _complete2(res);\n }\n });\n }).catch(function (e) {\n __f__(\"log\", e, \" at GraceUI5/js/request/request.js:175\");\n _this4.tokenError();\n });\n },\n // POST 请求 同步\n postSync: function () {\n var _postSync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(url, sets, isSign, withLoginToken) {\n var _this5 = this;\n var res, error;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!withLoginToken) {\n withLoginToken = false;\n }\n return _context4.abrupt(\"return\", new Promise(this.getToken.bind(this)).then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var _yield$uni$request3, _yield$uni$request4, error, res;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (GraceRequestConfig.apiBaseUrl != '') {\n url = GraceRequestConfig.apiBaseUrl + url;\n }\n sets = _this5.requestInit(sets, withLoginToken);\n if (!sets.header['content-type']) {\n sets.header['content-type'] = GraceRequestConfig.postHeaderDefault;\n }\n if (isSign == true) {\n sets.data = _this5.sign(sets.data);\n } else if (isSign == 'value') {\n sets.data = _this5.signValue(sets.data);\n }\n _context3.next = 6;\n return uni.request({\n url: url,\n data: sets.data,\n timeout: sets.timeout,\n dataType: sets.dataType,\n header: sets.header,\n method: 'POST'\n });\n case 6:\n _yield$uni$request3 = _context3.sent;\n _yield$uni$request4 = _slicedToArray(_yield$uni$request3, 2);\n error = _yield$uni$request4[0];\n res = _yield$uni$request4[1];\n if (!(error != null)) {\n _context3.next = 12;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 12:\n _this5.tokenErrorHandle(res.data);\n return _context3.abrupt(\"return\", res.data);\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))).catch(function (e) {\n __f__(\"log\", e, \" at GraceUI5/js/request/request.js:207\");\n _this5.tokenError();\n return ['', e];\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n function postSync(_x4, _x5, _x6, _x7) {\n return _postSync.apply(this, arguments);\n }\n return postSync;\n }(),\n // 文件上传\n upload: function upload(url, filePath, fileType, sets, _success3, _fail3, _complete3, withLoginToken) {\n var _this6 = this;\n if (!sets) {\n sets = {};\n }\n if (!_success3) {\n _success3 = function success(res) {};\n }\n if (!_fail3) {\n _fail3 = function fail(e) {};\n }\n if (!_complete3) {\n _complete3 = function complete(res) {};\n }\n if (!withLoginToken) {\n withLoginToken = false;\n }\n new Promise(this.getToken.bind(this)).then(function () {\n if (GraceRequestConfig.apiBaseUrl != '') {\n url = GraceRequestConfig.apiBaseUrl + url;\n }\n // 初始化 sets\n if (!sets.name) {\n sets.name = 'file';\n }\n if (!sets.header) {\n sets.header = {};\n }\n if (!sets.formData) {\n sets.formData = {};\n }\n sets.header.token = _this6.token;\n if (withLoginToken) {\n var loginToken = _this6.checkLogin();\n if (loginToken) {\n sets.header.loginToken = loginToken;\n }\n }\n // 开始上传\n uni.uploadFile({\n url: url,\n filePath: filePath,\n name: sets.name,\n formData: sets.formData,\n header: sets.header,\n success: function success(res) {\n _success3(res.data);\n _this6.tokenErrorHandle(res.data);\n },\n fail: function fail(error) {\n _fail3(error);\n },\n complete: function complete(res) {\n _complete3(res);\n }\n });\n }).catch(function (e) {\n __f__(\"log\", e, \" at GraceUI5/js/request/request.js:246\");\n _this6.tokenError();\n });\n },\n // debug 函数\n debug: function debug(content) {\n return content;\n // if(!GraceRequestConfig.debug){return ;}\n // console.log(content);\n },\n\n // token 错误\n tokenError: function tokenError() {\n uni.showToast({\n title: \"请求失败,请重启应用重试\",\n icon: \"none\"\n });\n },\n // 签名算法\n sign: function sign(data) {\n var keys = [];\n Object.keys(data).sort().map(function (key) {\n keys.push(key);\n });\n keys.push(this.token);\n var sign = md5.md5(keys.join('-'));\n data.gracesign = sign;\n return data;\n },\n // signValue\n signValue: function signValue(data) {\n var vals = [];\n Object.keys(data).sort().map(function (key) {\n vals.push(data[key]);\n });\n vals.push(this.token);\n var sign = md5.md5(vals.join('-'));\n data.gracesign = sign;\n return data;\n },\n // 登录检查\n // 登录后在本地保存一个 token\n checkLogin: function checkLogin(notLoginDo) {\n var loginToken = uni.getStorageSync(GraceRequestConfig.userTokenKeyName);\n if (!loginToken || loginToken == '') {\n loginToken = '';\n if (notLoginDo) {\n uni.showToast({\n title: \"请登录\",\n icon: \"none\",\n mask: true\n });\n setTimeout(function () {\n notLoginDo();\n }, 1500);\n }\n return false;\n }\n return loginToken;\n },\n // 跳转到登录页面\n gotoLogin: function gotoLogin(path, opentype) {\n if (!path) {\n path = '../login/login';\n }\n if (!opentype) {\n opentype = 'redirect';\n }\n switch (opentype) {\n case 'redirect':\n uni.redirectTo({\n url: path\n });\n break;\n case 'navigate':\n uni.navigateTo({\n url: path\n });\n break;\n case 'switchTab':\n uni.switchTab({\n url: path\n });\n break;\n }\n },\n // 记录 用户 token 到本地\n // 格式 loginToken-uid\n writeLoginToken: function writeLoginToken(token, uid) {\n var loginToken = token + '-' + uid;\n uni.setStorageSync(GraceRequestConfig.userTokenKeyName, loginToken);\n return;\n }\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvcmVxdWVzdC9yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbIkdyYWNlUmVxdWVzdENvbmZpZyIsInJlcXVpcmUiLCJtZDUiLCJtb2R1bGUiLCJleHBvcnRzIiwidG9rZW4iLCJnZXRUb2tlbkZyb21BcGkiLCJyZXNvbHZlIiwicmVqZWN0IiwiUHJvbWlzZSIsImdldFRva2VuIiwidGhlbiIsInJlcyIsInVuaSIsInNldFN0b3JhZ2VTeW5jIiwibG9jYWxUb2tlbktleU5hbWUiLCJkYXRlT2JqIiwiRGF0ZSIsImNUaW1lIiwiZ2V0VGltZSIsImNhdGNoIiwiZGVidWciLCJyZXF1ZXN0SW5pdCIsInNldHMiLCJ3aXRoTG9naW5Ub2tlbiIsImRhdGEiLCJoZWFkZXIiLCJ0aW1lb3V0IiwiZGF0YVR5cGUiLCJsb2dpblRva2VuIiwiY2hlY2tMb2dpbiIsImxvZ2ludG9rZW4iLCJ0b2tlbkVycm9ySGFuZGxlIiwicmVtb3ZlU3RvcmFnZVN5bmMiLCJnZXQiLCJ1cmwiLCJzdWNjZXNzIiwiZmFpbCIsImNvbXBsZXRlIiwiZSIsImJpbmQiLCJhcGlCYXNlVXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsImVycm9yIiwiZXJyTXNnIiwidG9rZW5FcnJvciIsImdldFN5bmMiLCJwb3N0IiwicG9zdEhlYWRlckRlZmF1bHQiLCJwb3N0U3luYyIsImlzU2lnbiIsInNpZ24iLCJzaWduVmFsdWUiLCJ1cGxvYWQiLCJmaWxlUGF0aCIsImZpbGVUeXBlIiwibmFtZSIsImZvcm1EYXRhIiwidXBsb2FkRmlsZSIsImNvbnRlbnQiLCJzaG93VG9hc3QiLCJ0aXRsZSIsImljb24iLCJrZXlzIiwiT2JqZWN0Iiwic29ydCIsIm1hcCIsImtleSIsInB1c2giLCJqb2luIiwiZ3JhY2VzaWduIiwidmFscyIsIm5vdExvZ2luRG8iLCJnZXRTdG9yYWdlU3luYyIsInVzZXJUb2tlbktleU5hbWUiLCJtYXNrIiwic2V0VGltZW91dCIsImdvdG9Mb2dpbiIsInBhdGgiLCJvcGVudHlwZSIsInJlZGlyZWN0VG8iLCJuYXZpZ2F0ZVRvIiwic3dpdGNoVGFiIiwid3JpdGVMb2dpblRva2VuIiwidWlkIl0sIm1hcHBpbmdzIjoiOzs7QUFDQTtBQUNBLElBQUlBLGtCQUFrQixHQUFHQyxtQkFBTyxDQUFDLHlDQUFpQyxDQUFDO0FBQ25FLElBQUlDLEdBQUcsR0FBa0JELG1CQUFPLENBQUMsOEJBQXNCLENBQUM7O0FBRXhEO0FBQ0FFLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHO0VBRWhCO0VBQ0FDLEtBQUssRUFBTSxFQUFFO0VBRWI7RUFDQUMsZUFBZSxFQUFHLHlCQUFVQyxPQUFPLEVBQUVDLE1BQU0sRUFBRTtJQUFBO0lBQzVDLElBQUlDLE9BQU8sQ0FBQ1Qsa0JBQWtCLENBQUNVLFFBQVEsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsR0FBRyxFQUFHO01BQ3BELEtBQUksQ0FBQ1AsS0FBSyxHQUFHTyxHQUFHO01BQ2hCO01BQ0FDLEdBQUcsQ0FBQ0MsY0FBYyxDQUFDZCxrQkFBa0IsQ0FBQ2UsaUJBQWlCLEVBQUUsS0FBSSxDQUFDVixLQUFLLENBQUM7TUFDcEU7TUFDQSxJQUFJVyxPQUFPLEdBQUcsSUFBSUMsSUFBSSxFQUFFO01BQ3hCLElBQUlDLEtBQUssR0FBS0YsT0FBTyxDQUFDRyxPQUFPLEVBQUU7TUFDL0JELEtBQUssSUFBUyxFQUFFO01BQ2hCTCxHQUFHLENBQUNDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRUksS0FBSyxDQUFDO01BQ2xEWCxPQUFPLEVBQUU7SUFDVixDQUFDLENBQUMsQ0FBQ2EsS0FBSyxDQUFDLFlBQUk7TUFDWixLQUFJLENBQUNDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztNQUM3QixLQUFJLENBQUNoQixLQUFLLEdBQUcsRUFBRTtNQUNmRyxNQUFNLEVBQUU7SUFDVCxDQUFDLENBQUM7RUFDSCxDQUFDO0VBRUQ7RUFDQUUsUUFBUSxFQUFHLGtCQUFTSCxPQUFPLEVBQUVDLE1BQU0sRUFBQztJQUNuQ0QsT0FBTyxFQUFFO0lBQ1Q7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDRCxDQUFDOztFQUVEO0VBQ0FlLFdBQVcsRUFBRyxxQkFBU0MsSUFBSSxFQUFFQyxjQUFjLEVBQUM7SUFDM0MsSUFBRyxDQUFDRCxJQUFJLENBQUNFLElBQUksRUFBQztNQUFDRixJQUFJLENBQUNFLElBQUksR0FBVyxDQUFDLENBQUM7SUFBQztJQUN0QyxJQUFHLENBQUNGLElBQUksQ0FBQ0csTUFBTSxFQUFDO01BQUNILElBQUksQ0FBQ0csTUFBTSxHQUFPLENBQUMsQ0FBQztJQUFDO0lBQ3RDLElBQUcsQ0FBQ0gsSUFBSSxDQUFDSSxPQUFPLEVBQUM7TUFBQ0osSUFBSSxDQUFDSSxPQUFPLEdBQUssS0FBSztJQUFDO0lBQ3pDLElBQUcsQ0FBQ0osSUFBSSxDQUFDSyxRQUFRLEVBQUM7TUFBQ0wsSUFBSSxDQUFDSyxRQUFRLEdBQUcsTUFBTTtJQUFDO0lBQzFDTCxJQUFJLENBQUNHLE1BQU0sQ0FBQ3JCLEtBQUssR0FBRyxJQUFJLENBQUNBLEtBQUs7SUFDOUIsSUFBR21CLGNBQWMsRUFBQztNQUNqQixJQUFJSyxVQUFVLEdBQUcsSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbEMsSUFBR0QsVUFBVSxFQUFDO1FBQUNOLElBQUksQ0FBQ0csTUFBTSxDQUFDSyxVQUFVLEdBQUdGLFVBQVU7TUFBQztJQUNwRDtJQUNBLE9BQU9OLElBQUk7RUFDWixDQUFDO0VBRUQ7RUFDQVMsZ0JBQWdCLEVBQUcsMEJBQVVwQixHQUFHLEVBQUU7SUFDakMsYUFBWUEsR0FBRztJQUNmLElBQUdBLEdBQUcsQ0FBQ2EsSUFBSSxJQUFJYixHQUFHLENBQUNhLElBQUksSUFBSSxhQUFhLEVBQUM7TUFDeENaLEdBQUcsQ0FBQ29CLGlCQUFpQixDQUFDakMsa0JBQWtCLENBQUNlLGlCQUFpQixDQUFDO0lBQzVEO0VBQ0QsQ0FBQztFQUVEO0VBQ0FtQixHQUFHLEVBQUcsYUFBU0MsR0FBRyxFQUFFWixJQUFJLEVBQUVhLFFBQU8sRUFBRUMsS0FBSSxFQUFFQyxTQUFRLEVBQUVkLGNBQWMsRUFBQztJQUFBO0lBQ2pFLElBQUcsQ0FBQ0QsSUFBSSxFQUFDO01BQUNBLElBQUksR0FBRyxDQUFDLENBQUM7SUFBQztJQUNwQixJQUFHLENBQUNhLFFBQU8sRUFBQztNQUFDQSxRQUFPLEdBQUcsaUJBQVN4QixHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDdEMsSUFBRyxDQUFDeUIsS0FBSSxFQUFDO01BQUNBLEtBQUksR0FBRyxjQUFTRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDOUIsSUFBRyxDQUFDRCxTQUFRLEVBQUM7TUFBQ0EsU0FBUSxHQUFHLGtCQUFTMUIsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUFBO0lBQ3hDLElBQUcsQ0FBQ1ksY0FBYyxFQUFDO01BQUNBLGNBQWMsR0FBRyxLQUFLO0lBQUM7SUFDM0MsSUFBSWYsT0FBTyxDQUFDLElBQUksQ0FBQ0MsUUFBUSxDQUFDOEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM3QixJQUFJLENBQUMsWUFBSTtNQUM5QyxJQUFHWCxrQkFBa0IsQ0FBQ3lDLFVBQVUsSUFBSSxFQUFFLEVBQUM7UUFBQ04sR0FBRyxHQUFHbkMsa0JBQWtCLENBQUN5QyxVQUFVLEdBQUdOLEdBQUc7TUFBQztNQUNsRlosSUFBSSxHQUFHLE1BQUksQ0FBQ0QsV0FBVyxDQUFDQyxJQUFJLEVBQUVDLGNBQWMsQ0FBQztNQUM3Q1gsR0FBRyxDQUFDNkIsT0FBTyxDQUFDO1FBQ1hQLEdBQUcsRUFBUUEsR0FBRztRQUNkVixJQUFJLEVBQU9GLElBQUksQ0FBQ0UsSUFBSTtRQUNwQkUsT0FBTyxFQUFJSixJQUFJLENBQUNJLE9BQU87UUFDdkJDLFFBQVEsRUFBR0wsSUFBSSxDQUFDSyxRQUFRO1FBQ3hCRixNQUFNLEVBQUtILElBQUksQ0FBQ0csTUFBTTtRQUN0QmlCLE1BQU0sRUFBSyxLQUFLO1FBQ2hCUCxPQUFPLEVBQUksaUJBQUN4QixHQUFHLEVBQUc7VUFDakIsTUFBSSxDQUFDUyxLQUFLLENBQUNULEdBQUcsQ0FBQztVQUNmd0IsUUFBTyxDQUFDeEIsR0FBRyxDQUFDYSxJQUFJLENBQUM7VUFDakIsTUFBSSxDQUFDTyxnQkFBZ0IsQ0FBQ3BCLEdBQUcsQ0FBQ2EsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFDRFksSUFBSSxFQUFPLGNBQUNPLEtBQUssRUFBRztVQUFDUCxLQUFJLENBQUNPLEtBQUssQ0FBQ0MsTUFBTSxDQUFDO1FBQUMsQ0FBQztRQUN6Q1AsUUFBUSxFQUFHLGtCQUFDMUIsR0FBRyxFQUFJO1VBQUMwQixTQUFRLENBQUMxQixHQUFHLENBQUM7UUFBQztNQUNuQyxDQUFDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQ1EsS0FBSyxDQUFDLFVBQUNtQixDQUFDLEVBQUc7TUFDYixhQUFZQSxDQUFDO01BQ2IsTUFBSSxDQUFDTyxVQUFVLEVBQUU7SUFDbEIsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUVEO0VBQ0FDLE9BQU87SUFBQSx3RUFBRyxrQkFBZVosR0FBRyxFQUFFWixJQUFJLEVBQUVDLGNBQWM7TUFBQTtNQUFBO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FFakQsSUFBRyxDQUFDQSxjQUFjLEVBQUM7Z0JBQUNBLGNBQWMsR0FBRyxLQUFLO2NBQUM7Y0FBQyxrQ0FDckMsSUFBSWYsT0FBTyxDQUFDLElBQUksQ0FBQ0MsUUFBUSxDQUFDOEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM3QixJQUFJLHdFQUFDO2dCQUFBO2dCQUFBO2tCQUFBO29CQUFBO3NCQUFBO3dCQUNqRCxJQUFHWCxrQkFBa0IsQ0FBQ3lDLFVBQVUsSUFBSSxFQUFFLEVBQUM7MEJBQUNOLEdBQUcsR0FBR25DLGtCQUFrQixDQUFDeUMsVUFBVSxHQUFHTixHQUFHO3dCQUFDO3dCQUNsRlosSUFBSSxHQUFHLE1BQUksQ0FBQ0QsV0FBVyxDQUFDQyxJQUFJLEVBQUVDLGNBQWMsQ0FBQzt3QkFBQzt3QkFBQSxPQUNyQlgsR0FBRyxDQUFDNkIsT0FBTyxDQUFDOzBCQUNwQ1AsR0FBRyxFQUFRQSxHQUFHOzBCQUNkVixJQUFJLEVBQU9GLElBQUksQ0FBQ0UsSUFBSTswQkFDcEJFLE9BQU8sRUFBSUosSUFBSSxDQUFDSSxPQUFPOzBCQUN2QkMsUUFBUSxFQUFHTCxJQUFJLENBQUNLLFFBQVE7MEJBQ3hCRixNQUFNLEVBQUtILElBQUksQ0FBQ0csTUFBTTswQkFDdEJpQixNQUFNLEVBQUs7d0JBQ1osQ0FBQyxDQUFDO3NCQUFBO3dCQUFBO3dCQUFBO3dCQVBHQyxLQUFLO3dCQUFFaEMsR0FBRzt3QkFBQSxNQVFaZ0MsS0FBSyxJQUFJLElBQUk7MEJBQUE7MEJBQUE7d0JBQUE7d0JBQUEsaUNBQVUsS0FBSztzQkFBQTt3QkFDL0IsTUFBSSxDQUFDdkIsS0FBSyxDQUFDVCxHQUFHLENBQUM7d0JBQ2YsTUFBSSxDQUFDb0IsZ0JBQWdCLENBQUNwQixHQUFHLENBQUNhLElBQUksQ0FBQzt3QkFBQyxpQ0FDekJiLEdBQUcsQ0FBQ2EsSUFBSTtzQkFBQTtzQkFBQTt3QkFBQTtvQkFBQTtrQkFBQTtnQkFBQTtjQUFBLENBQ2YsR0FBQyxDQUFDTCxLQUFLLENBQUMsVUFBQ21CLENBQUMsRUFBRztnQkFDYixhQUFZQSxDQUFDO2dCQUNiLE1BQUksQ0FBQ08sVUFBVSxFQUFFO2dCQUNqQixPQUFPLENBQUMsRUFBRSxFQUFFUCxDQUFDLENBQUM7Y0FDZixDQUFDLENBQUM7WUFBQTtZQUFBO2NBQUE7VUFBQTtRQUFBO01BQUE7SUFBQSxDQUNGO0lBQUE7TUFBQTtJQUFBO0lBQUE7RUFBQTtFQUVEO0VBQ0FTLElBQUksRUFBRyxjQUFTYixHQUFHLEVBQUVaLElBQUksRUFBRWEsU0FBTyxFQUFFQyxNQUFJLEVBQUVDLFVBQVEsRUFBRztJQUFBO0lBQ3BELElBQUcsQ0FBQ2YsSUFBSSxFQUFDO01BQUNBLElBQUksR0FBRyxDQUFDLENBQUM7SUFBQztJQUNwQixJQUFHLENBQUNhLFNBQU8sRUFBQztNQUFDQSxTQUFPLEdBQUcsaUJBQVN4QixHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDdEMsSUFBRyxDQUFDeUIsTUFBSSxFQUFDO01BQUNBLE1BQUksR0FBRyxjQUFTRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDOUIsSUFBRyxDQUFDRCxVQUFRLEVBQUM7TUFBQ0EsVUFBUSxHQUFHLGtCQUFTMUIsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUFBO0lBRXhDLElBQUlILE9BQU8sQ0FBQyxJQUFJLENBQUNDLFFBQVEsQ0FBQzhCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDN0IsSUFBSSxDQUFDLFlBQUk7TUFDOUMsSUFBR1gsa0JBQWtCLENBQUN5QyxVQUFVLElBQUksRUFBRSxFQUFDO1FBQUNOLEdBQUcsR0FBR25DLGtCQUFrQixDQUFDeUMsVUFBVSxHQUFHTixHQUFHO01BQUM7TUFDbEZaLElBQUksR0FBRyxNQUFJLENBQUNELFdBQVcsQ0FBQ0MsSUFBSSxDQUFDO01BQzdCLElBQUcsQ0FBQ0EsSUFBSSxDQUFDRyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUM7UUFDL0JILElBQUksQ0FBQ0csTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHMUIsa0JBQWtCLENBQUNpRCxpQkFBaUI7TUFDbkU7TUFFQXBDLEdBQUcsQ0FBQzZCLE9BQU8sQ0FBQztRQUNYUCxHQUFHLEVBQVFBLEdBQUc7UUFDZFYsSUFBSSxFQUFPRixJQUFJLENBQUNFLElBQUk7UUFDcEJFLE9BQU8sRUFBSUosSUFBSSxDQUFDSSxPQUFPO1FBQ3ZCQyxRQUFRLEVBQUdMLElBQUksQ0FBQ0ssUUFBUTtRQUN4QkYsTUFBTSxFQUFLSCxJQUFJLENBQUNHLE1BQU07UUFDdEJpQixNQUFNLEVBQUssTUFBTTtRQUNqQlAsT0FBTyxFQUFJLGlCQUFDeEIsR0FBRyxFQUFHO1VBQ2pCd0IsU0FBTyxDQUFDeEIsR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUNEeUIsSUFBSSxFQUFPLGNBQUNPLEtBQUssRUFBRztVQUFDUCxNQUFJLENBQUNPLEtBQUssQ0FBQ0MsTUFBTSxDQUFDO1FBQUMsQ0FBQztRQUN6Q1AsUUFBUSxFQUFHLGtCQUFDMUIsR0FBRyxFQUFJO1VBQ2xCMEIsVUFBUSxDQUFDMUIsR0FBRyxDQUFDO1FBQUM7TUFDaEIsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUNRLEtBQUssQ0FBQyxVQUFDbUIsQ0FBQyxFQUFHO01BQ2IsYUFBWUEsQ0FBQztNQUNiLE1BQUksQ0FBQ08sVUFBVSxFQUFFO0lBQ2xCLENBQUMsQ0FBQztFQUNILENBQUM7RUFFRDtFQUNBSSxRQUFRO0lBQUEseUVBQUcsa0JBQWVmLEdBQUcsRUFBRVosSUFBSSxFQUFFNEIsTUFBTSxFQUFFM0IsY0FBYztNQUFBO01BQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUUxRCxJQUFHLENBQUNBLGNBQWMsRUFBQztnQkFBQ0EsY0FBYyxHQUFHLEtBQUs7Y0FBQztjQUFDLGtDQUNyQyxJQUFJZixPQUFPLENBQUMsSUFBSSxDQUFDQyxRQUFRLENBQUM4QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzdCLElBQUksd0VBQUM7Z0JBQUE7Z0JBQUE7a0JBQUE7b0JBQUE7c0JBQUE7d0JBQ2pELElBQUdYLGtCQUFrQixDQUFDeUMsVUFBVSxJQUFJLEVBQUUsRUFBQzswQkFBQ04sR0FBRyxHQUFHbkMsa0JBQWtCLENBQUN5QyxVQUFVLEdBQUdOLEdBQUc7d0JBQUM7d0JBQ2xGWixJQUFJLEdBQUcsTUFBSSxDQUFDRCxXQUFXLENBQUNDLElBQUksRUFBRUMsY0FBYyxDQUFDO3dCQUM3QyxJQUFHLENBQUNELElBQUksQ0FBQ0csTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFDOzBCQUMvQkgsSUFBSSxDQUFDRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcxQixrQkFBa0IsQ0FBQ2lELGlCQUFpQjt3QkFDbkU7d0JBQ0EsSUFBR0UsTUFBTSxJQUFJLElBQUksRUFBQzswQkFDakI1QixJQUFJLENBQUNFLElBQUksR0FBRyxNQUFJLENBQUMyQixJQUFJLENBQUM3QixJQUFJLENBQUNFLElBQUksQ0FBQzt3QkFDakMsQ0FBQyxNQUFLLElBQUcwQixNQUFNLElBQUksT0FBTyxFQUFDOzBCQUMxQjVCLElBQUksQ0FBQ0UsSUFBSSxHQUFHLE1BQUksQ0FBQzRCLFNBQVMsQ0FBQzlCLElBQUksQ0FBQ0UsSUFBSSxDQUFDO3dCQUN0Qzt3QkFBQzt3QkFBQSxPQUN3QlosR0FBRyxDQUFDNkIsT0FBTyxDQUFDOzBCQUNwQ1AsR0FBRyxFQUFRQSxHQUFHOzBCQUNkVixJQUFJLEVBQU9GLElBQUksQ0FBQ0UsSUFBSTswQkFDcEJFLE9BQU8sRUFBSUosSUFBSSxDQUFDSSxPQUFPOzBCQUN2QkMsUUFBUSxFQUFHTCxJQUFJLENBQUNLLFFBQVE7MEJBQ3hCRixNQUFNLEVBQUtILElBQUksQ0FBQ0csTUFBTTswQkFDdEJpQixNQUFNLEVBQUs7d0JBQ1osQ0FBQyxDQUFDO3NCQUFBO3dCQUFBO3dCQUFBO3dCQVBHQyxLQUFLO3dCQUFFaEMsR0FBRzt3QkFBQSxNQVFaZ0MsS0FBSyxJQUFJLElBQUk7MEJBQUE7MEJBQUE7d0JBQUE7d0JBQUEsa0NBQVUsS0FBSztzQkFBQTt3QkFDL0IsTUFBSSxDQUFDWixnQkFBZ0IsQ0FBQ3BCLEdBQUcsQ0FBQ2EsSUFBSSxDQUFDO3dCQUFDLGtDQUN6QmIsR0FBRyxDQUFDYSxJQUFJO3NCQUFBO3NCQUFBO3dCQUFBO29CQUFBO2tCQUFBO2dCQUFBO2NBQUEsQ0FDZixHQUFDLENBQUNMLEtBQUssQ0FBQyxVQUFDbUIsQ0FBQyxFQUFHO2dCQUNiLGFBQVlBLENBQUM7Z0JBQ2IsTUFBSSxDQUFDTyxVQUFVLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxFQUFFLEVBQUVQLENBQUMsQ0FBQztjQUNmLENBQUMsQ0FBQztZQUFBO1lBQUE7Y0FBQTtVQUFBO1FBQUE7TUFBQTtJQUFBLENBQ0Y7SUFBQTtNQUFBO0lBQUE7SUFBQTtFQUFBO0VBRUQ7RUFDQWUsTUFBTSxFQUFHLGdCQUFTbkIsR0FBRyxFQUFFb0IsUUFBUSxFQUFFQyxRQUFRLEVBQUVqQyxJQUFJLEVBQUVhLFNBQU8sRUFBRUMsTUFBSSxFQUFFQyxVQUFRLEVBQUVkLGNBQWMsRUFBQztJQUFBO0lBQ3hGLElBQUcsQ0FBQ0QsSUFBSSxFQUFDO01BQUNBLElBQUksR0FBRyxDQUFDLENBQUM7SUFBQztJQUNwQixJQUFHLENBQUNhLFNBQU8sRUFBQztNQUFDQSxTQUFPLEdBQUcsaUJBQVN4QixHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDdEMsSUFBRyxDQUFDeUIsTUFBSSxFQUFDO01BQUNBLE1BQUksR0FBRyxjQUFTRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQUE7SUFDOUIsSUFBRyxDQUFDRCxVQUFRLEVBQUM7TUFBQ0EsVUFBUSxHQUFHLGtCQUFTMUIsR0FBRyxFQUFDLENBQUMsQ0FBQztJQUFBO0lBQ3hDLElBQUcsQ0FBQ1ksY0FBYyxFQUFDO01BQUNBLGNBQWMsR0FBRyxLQUFLO0lBQUM7SUFDM0MsSUFBSWYsT0FBTyxDQUFDLElBQUksQ0FBQ0MsUUFBUSxDQUFDOEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM3QixJQUFJLENBQUMsWUFBSTtNQUM5QyxJQUFHWCxrQkFBa0IsQ0FBQ3lDLFVBQVUsSUFBSSxFQUFFLEVBQUM7UUFBQ04sR0FBRyxHQUFHbkMsa0JBQWtCLENBQUN5QyxVQUFVLEdBQUdOLEdBQUc7TUFBQztNQUNsRjtNQUNBLElBQUcsQ0FBQ1osSUFBSSxDQUFDa0MsSUFBSSxFQUFDO1FBQUNsQyxJQUFJLENBQUNrQyxJQUFJLEdBQUcsTUFBTTtNQUFDO01BQ2xDLElBQUcsQ0FBQ2xDLElBQUksQ0FBQ0csTUFBTSxFQUFDO1FBQUNILElBQUksQ0FBQ0csTUFBTSxHQUFPLENBQUMsQ0FBQztNQUFDO01BQ3RDLElBQUcsQ0FBQ0gsSUFBSSxDQUFDbUMsUUFBUSxFQUFDO1FBQUNuQyxJQUFJLENBQUNtQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO01BQUM7TUFDdENuQyxJQUFJLENBQUNHLE1BQU0sQ0FBQ3JCLEtBQUssR0FBRyxNQUFJLENBQUNBLEtBQUs7TUFDOUIsSUFBR21CLGNBQWMsRUFBQztRQUNqQixJQUFJSyxVQUFVLEdBQUcsTUFBSSxDQUFDQyxVQUFVLEVBQUU7UUFDbEMsSUFBR0QsVUFBVSxFQUFDO1VBQUNOLElBQUksQ0FBQ0csTUFBTSxDQUFDRyxVQUFVLEdBQUdBLFVBQVU7UUFBQztNQUNwRDtNQUNBO01BQ0FoQixHQUFHLENBQUM4QyxVQUFVLENBQUM7UUFDZHhCLEdBQUcsRUFBV0EsR0FBRztRQUNqQm9CLFFBQVEsRUFBTUEsUUFBUTtRQUN0QkUsSUFBSSxFQUFVbEMsSUFBSSxDQUFDa0MsSUFBSTtRQUN2QkMsUUFBUSxFQUFNbkMsSUFBSSxDQUFDbUMsUUFBUTtRQUMzQmhDLE1BQU0sRUFBUUgsSUFBSSxDQUFDRyxNQUFNO1FBQ3pCVSxPQUFPLEVBQU8saUJBQUN4QixHQUFHLEVBQUc7VUFDcEJ3QixTQUFPLENBQUN4QixHQUFHLENBQUNhLElBQUksQ0FBQztVQUNqQixNQUFJLENBQUNPLGdCQUFnQixDQUFDcEIsR0FBRyxDQUFDYSxJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNEWSxJQUFJLEVBQVUsY0FBQ08sS0FBSyxFQUFHO1VBQUNQLE1BQUksQ0FBQ08sS0FBSyxDQUFDO1FBQUMsQ0FBQztRQUNyQ04sUUFBUSxFQUFNLGtCQUFDMUIsR0FBRyxFQUFJO1VBQUMwQixVQUFRLENBQUMxQixHQUFHLENBQUM7UUFBQztNQUN0QyxDQUFDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQ1EsS0FBSyxDQUFDLFVBQUNtQixDQUFDLEVBQUc7TUFDYixhQUFZQSxDQUFDO01BQ2IsTUFBSSxDQUFDTyxVQUFVLEVBQUU7SUFDbEIsQ0FBQyxDQUFDO0VBQ0gsQ0FBQztFQUVEO0VBQ0F6QixLQUFLLEVBQUcsZUFBVXVDLE9BQU8sRUFBRTtJQUMxQixPQUFPQSxPQUFPO0lBQ2Q7SUFDQTtFQUNELENBQUM7O0VBRUQ7RUFDQWQsVUFBVSxFQUFHLHNCQUFZO0lBQ3hCakMsR0FBRyxDQUFDZ0QsU0FBUyxDQUFDO01BQUNDLEtBQUssRUFBQyxjQUFjO01BQUVDLElBQUksRUFBQztJQUFNLENBQUMsQ0FBQztFQUNuRCxDQUFDO0VBRUQ7RUFDQVgsSUFBSSxFQUFHLGNBQVUzQixJQUFJLEVBQUU7SUFDdEIsSUFBSXVDLElBQUksR0FBRyxFQUFFO0lBQ2JDLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDdkMsSUFBSSxDQUFDLENBQUN5QyxJQUFJLEVBQUUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLEdBQUcsRUFBSztNQUFDSixJQUFJLENBQUNLLElBQUksQ0FBQ0QsR0FBRyxDQUFDO0lBQUMsQ0FBQyxDQUFDO0lBQ3hESixJQUFJLENBQUNLLElBQUksQ0FBQyxJQUFJLENBQUNoRSxLQUFLLENBQUM7SUFDckIsSUFBSStDLElBQUksR0FBSWxELEdBQUcsQ0FBQ0EsR0FBRyxDQUFDOEQsSUFBSSxDQUFDTSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkM3QyxJQUFJLENBQUM4QyxTQUFTLEdBQUduQixJQUFJO0lBQ3JCLE9BQU8zQixJQUFJO0VBQ1osQ0FBQztFQUVEO0VBQ0E0QixTQUFTLEVBQUcsbUJBQVM1QixJQUFJLEVBQUM7SUFDekIsSUFBSStDLElBQUksR0FBRyxFQUFFO0lBQ2JQLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDdkMsSUFBSSxDQUFDLENBQUN5QyxJQUFJLEVBQUUsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNDLEdBQUcsRUFBSztNQUFDSSxJQUFJLENBQUNILElBQUksQ0FBQzVDLElBQUksQ0FBQzJDLEdBQUcsQ0FBQyxDQUFDO0lBQUMsQ0FBQyxDQUFDO0lBQzlESSxJQUFJLENBQUNILElBQUksQ0FBQyxJQUFJLENBQUNoRSxLQUFLLENBQUM7SUFDckIsSUFBSStDLElBQUksR0FBSWxELEdBQUcsQ0FBQ0EsR0FBRyxDQUFDc0UsSUFBSSxDQUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkM3QyxJQUFJLENBQUM4QyxTQUFTLEdBQUduQixJQUFJO0lBQ3JCLE9BQU8zQixJQUFJO0VBQ1osQ0FBQztFQUVEO0VBQ0E7RUFDQUssVUFBVSxFQUFHLG9CQUFVMkMsVUFBVSxFQUFFO0lBQ2xDLElBQUk1QyxVQUFVLEdBQUdoQixHQUFHLENBQUM2RCxjQUFjLENBQUMxRSxrQkFBa0IsQ0FBQzJFLGdCQUFnQixDQUFDO0lBQ3hFLElBQUcsQ0FBQzlDLFVBQVUsSUFBSUEsVUFBVSxJQUFJLEVBQUUsRUFBQztNQUNsQ0EsVUFBVSxHQUFHLEVBQUU7TUFDZixJQUFHNEMsVUFBVSxFQUFDO1FBQ2I1RCxHQUFHLENBQUNnRCxTQUFTLENBQUM7VUFBQ0MsS0FBSyxFQUFDLEtBQUs7VUFBRUMsSUFBSSxFQUFDLE1BQU07VUFBRWEsSUFBSSxFQUFDO1FBQUksQ0FBQyxDQUFDO1FBQ3BEQyxVQUFVLENBQUMsWUFBSTtVQUFDSixVQUFVLEVBQUU7UUFBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO01BQ3RDO01BQ0EsT0FBTyxLQUFLO0lBQ2I7SUFDQSxPQUFPNUMsVUFBVTtFQUNsQixDQUFDO0VBRUQ7RUFDQWlELFNBQVMsRUFBRyxtQkFBVUMsSUFBSSxFQUFFQyxRQUFRLEVBQUU7SUFDckMsSUFBRyxDQUFDRCxJQUFJLEVBQUM7TUFBQ0EsSUFBSSxHQUFHLGdCQUFnQjtJQUFDO0lBQ2xDLElBQUcsQ0FBQ0MsUUFBUSxFQUFDO01BQUNBLFFBQVEsR0FBRyxVQUFVO0lBQUM7SUFDcEMsUUFBT0EsUUFBUTtNQUNkLEtBQU0sVUFBVTtRQUNoQm5FLEdBQUcsQ0FBQ29FLFVBQVUsQ0FBQztVQUFDOUMsR0FBRyxFQUFDNEM7UUFBSSxDQUFDLENBQUM7UUFDMUI7TUFDQSxLQUFNLFVBQVU7UUFDaEJsRSxHQUFHLENBQUNxRSxVQUFVLENBQUM7VUFBQy9DLEdBQUcsRUFBQzRDO1FBQUksQ0FBQyxDQUFDO1FBQzFCO01BQ0EsS0FBTSxXQUFXO1FBQ2pCbEUsR0FBRyxDQUFDc0UsU0FBUyxDQUFDO1VBQUNoRCxHQUFHLEVBQUM0QztRQUFJLENBQUMsQ0FBQztRQUN6QjtJQUFNO0VBRVIsQ0FBQztFQUVEO0VBQ0E7RUFDQUssZUFBZSxFQUFHLHlCQUFVL0UsS0FBSyxFQUFFZ0YsR0FBRyxFQUFFO0lBQ3ZDLElBQUl4RCxVQUFVLEdBQUd4QixLQUFLLEdBQUMsR0FBRyxHQUFDZ0YsR0FBRztJQUM5QnhFLEdBQUcsQ0FBQ0MsY0FBYyxDQUFDZCxrQkFBa0IsQ0FBQzJFLGdCQUFnQixFQUFFOUMsVUFBVSxDQUFDO0lBQ25FO0VBQ0Q7QUFFRCxDQUFDLEMiLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8g5Yqg6L296YWN572uXHJcbnZhciBHcmFjZVJlcXVlc3RDb25maWcgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL3JlcXVlc3QvY29uZmlnLmpzJyk7XHJcbnZhciBtZDUgICAgICAgICAgICAgICAgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL21kNS5qcycpO1xyXG5cclxuLy8g5qC45b+D5bel5YW35a6a5LmJXHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG5cdFxyXG5cdC8vIHRva2VuIOaVsOaNruiusOW9lVxyXG5cdHRva2VuICAgIDogJycsXHJcblx0XHJcblx0Ly8g6L+e5o6l5o6l5pyN5Yqh5Zmo6I635b6X6K+35rGCIHRva2VuXHJcblx0Z2V0VG9rZW5Gcm9tQXBpIDogZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG5cdFx0bmV3IFByb21pc2UoR3JhY2VSZXF1ZXN0Q29uZmlnLmdldFRva2VuKS50aGVuKChyZXMpPT57XHJcblx0XHRcdHRoaXMudG9rZW4gPSByZXM7XHJcblx0XHRcdC8vIOWwhiB0b2tlbiDkv53lrZjlnKjmnKzlnLDlubborrDlvZXojrflj5bml7bpl7RcclxuXHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKEdyYWNlUmVxdWVzdENvbmZpZy5sb2NhbFRva2VuS2V5TmFtZSwgdGhpcy50b2tlbik7XHJcblx0XHRcdC8vIOiusOW9leaXtumXtFxyXG5cdFx0XHR2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdHZhciBjVGltZSAgID0gZGF0ZU9iai5nZXRUaW1lKCk7XHJcblx0XHRcdGNUaW1lICAgICAgKz0gJyc7XHJcblx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnR3JhY2VSZXF1ZXN0VG9rZW5UaW1lJywgY1RpbWUpO1xyXG5cdFx0XHRyZXNvbHZlKCk7XHJcblx0XHR9KS5jYXRjaCgoKT0+e1xyXG5cdFx0XHR0aGlzLmRlYnVnKCdhcGkg6I635Y+WIHRva2VuIOWksei0pScpO1xyXG5cdFx0XHR0aGlzLnRva2VuID0gJyc7XHJcblx0XHRcdHJlamVjdCgpO1xyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRcclxuXHQvLyDojrflj5YgdG9rZW5cclxuXHRnZXRUb2tlbiA6IGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCl7XHJcblx0XHRyZXNvbHZlKCk7XHJcblx0XHQvLyAvLyDpppblhYjlsJ3or5Xku47mnKzlnLDojrflj5ZcclxuXHRcdC8vIHZhciB0b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYyhHcmFjZVJlcXVlc3RDb25maWcubG9jYWxUb2tlbktleU5hbWUpO1xyXG5cdFx0Ly8gLy8g5pys5Zyw5LiN5a2Y5ZyoIHRva2VuIOaVsOaNrlxyXG5cdFx0Ly8gaWYoIXRva2VuIHx8IHRva2VuID09ICcnKXtcclxuXHRcdC8vIFx0bmV3IFByb21pc2UodGhpcy5nZXRUb2tlbkZyb21BcGkuYmluZCh0aGlzKSkudGhlbigocmVzKT0+e1xyXG5cdFx0Ly8gXHRcdHJlc29sdmUoKTtcclxuXHRcdC8vIFx0fSkuY2F0Y2goKCk9PntyZWplY3QoKTt9KTtcclxuXHRcdC8vIH1cclxuXHRcdC8vIC8vIOWtmOWcqCB0b2tlbiDmlbDmja5cclxuXHRcdC8vIGVsc2V7XHJcblx0XHQvLyBcdC8vIOajgOafpSB0b2tlbiDmnInmlYjmnJ9cclxuXHRcdC8vIFx0dmFyIGV4cGlyZWRUaW1lID0gR3JhY2VSZXF1ZXN0Q29uZmlnLmV4cGlyZWRUaW1lO1xyXG5cdFx0Ly8gXHRleHBpcmVkVGltZSAgICAqPSAxMDAwO1xyXG5cdFx0Ly8gXHR2YXIgdG9rZW5UaW1lICAgPSBOdW1iZXIodW5pLmdldFN0b3JhZ2VTeW5jKCdHcmFjZVJlcXVlc3RUb2tlblRpbWUnKSk7XHJcblx0XHQvLyBcdHRva2VuVGltZSAgICAgICs9IGV4cGlyZWRUaW1lO1xyXG5cdFx0Ly8gXHR2YXIgZGF0ZU9iaiAgICAgPSBuZXcgRGF0ZSgpO1xyXG5cdFx0Ly8gXHR2YXIgY1RpbWUgICAgICAgPSBkYXRlT2JqLmdldFRpbWUoKTtcclxuXHRcdC8vIFx0Ly8g5pyJ5pWI5pyf5YaFXHJcblx0XHQvLyBcdGlmKHRva2VuVGltZSA+IGNUaW1lKXtcclxuXHRcdC8vIFx0XHR0aGlzLnRva2VuID0gdG9rZW47XHJcblx0XHQvLyBcdFx0cmVzb2x2ZSgpO1xyXG5cdFx0Ly8gXHR9XHJcblx0XHQvLyBcdC8vIOiOt+WPluaWsOeahCB0b2tlblxyXG5cdFx0Ly8gXHRlbHNle1xyXG5cdFx0Ly8gXHRcdG5ldyBQcm9taXNlKHRoaXMuZ2V0VG9rZW5Gcm9tQXBpLmJpbmQodGhpcykpLnRoZW4oKHJlcyk9PntcclxuXHRcdC8vIFx0XHRcdHJlc29sdmUoKTtcclxuXHRcdC8vIFx0XHR9KS5jYXRjaCgoKT0+e1xyXG5cdFx0Ly8gXHRcdFx0cmVqZWN0KCk7XHJcblx0XHQvLyBcdFx0fSk7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHR9LFxyXG5cdFxyXG5cdC8vIOiuvue9rum7mOiupOWAvOihpem9kFxyXG5cdHJlcXVlc3RJbml0IDogZnVuY3Rpb24oc2V0cywgd2l0aExvZ2luVG9rZW4pe1xyXG5cdFx0aWYoIXNldHMuZGF0YSl7c2V0cy5kYXRhICAgICAgICAgPSB7fTt9XHJcblx0XHRpZighc2V0cy5oZWFkZXIpe3NldHMuaGVhZGVyICAgICA9IHt9O31cclxuXHRcdGlmKCFzZXRzLnRpbWVvdXQpe3NldHMudGltZW91dCAgID0gNjAwMDA7fVxyXG5cdFx0aWYoIXNldHMuZGF0YVR5cGUpe3NldHMuZGF0YVR5cGUgPSAnanNvbic7fVxyXG5cdFx0c2V0cy5oZWFkZXIudG9rZW4gPSB0aGlzLnRva2VuO1xyXG5cdFx0aWYod2l0aExvZ2luVG9rZW4pe1xyXG5cdFx0XHR2YXIgbG9naW5Ub2tlbiA9IHRoaXMuY2hlY2tMb2dpbigpO1xyXG5cdFx0XHRpZihsb2dpblRva2VuKXtzZXRzLmhlYWRlci5sb2dpbnRva2VuID0gbG9naW5Ub2tlbjt9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gc2V0cztcclxuXHR9LFxyXG5cdFxyXG5cdC8vIOacjeWKoeerryB0b2tlbiDplJnor6/lpITnkIZcclxuXHR0b2tlbkVycm9ySGFuZGxlIDogZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdGlmKHJlcy5kYXRhICYmIHJlcy5kYXRhID09ICd0b2tlbiBlcnJvcicpe1xyXG5cdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoR3JhY2VSZXF1ZXN0Q29uZmlnLmxvY2FsVG9rZW5LZXlOYW1lKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdFxyXG5cdC8vIEdFVCDor7fmsYIg5byC5q2lXHJcblx0Z2V0IDogZnVuY3Rpb24odXJsLCBzZXRzLCBzdWNjZXNzLCBmYWlsLCBjb21wbGV0ZSwgd2l0aExvZ2luVG9rZW4pe1xyXG5cdFx0aWYoIXNldHMpe3NldHMgPSB7fTt9XHJcblx0XHRpZighc3VjY2Vzcyl7c3VjY2VzcyA9IGZ1bmN0aW9uKHJlcyl7fX1cclxuXHRcdGlmKCFmYWlsKXtmYWlsID0gZnVuY3Rpb24oZSl7fX1cclxuXHRcdGlmKCFjb21wbGV0ZSl7Y29tcGxldGUgPSBmdW5jdGlvbihyZXMpe319XHJcblx0XHRpZighd2l0aExvZ2luVG9rZW4pe3dpdGhMb2dpblRva2VuID0gZmFsc2U7fVxyXG5cdFx0bmV3IFByb21pc2UodGhpcy5nZXRUb2tlbi5iaW5kKHRoaXMpKS50aGVuKCgpPT57XHJcblx0XHRcdGlmKEdyYWNlUmVxdWVzdENvbmZpZy5hcGlCYXNlVXJsICE9ICcnKXt1cmwgPSBHcmFjZVJlcXVlc3RDb25maWcuYXBpQmFzZVVybCArIHVybDt9XHJcblx0XHRcdHNldHMgPSB0aGlzLnJlcXVlc3RJbml0KHNldHMsIHdpdGhMb2dpblRva2VuKTtcclxuXHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdHVybCAgICAgIDogdXJsLFxyXG5cdFx0XHRcdGRhdGEgICAgIDogc2V0cy5kYXRhLFxyXG5cdFx0XHRcdHRpbWVvdXQgIDogc2V0cy50aW1lb3V0LFxyXG5cdFx0XHRcdGRhdGFUeXBlIDogc2V0cy5kYXRhVHlwZSxcclxuXHRcdFx0XHRoZWFkZXIgICA6IHNldHMuaGVhZGVyLFxyXG5cdFx0XHRcdG1ldGhvZCAgIDogJ0dFVCcsXHJcblx0XHRcdFx0c3VjY2VzcyAgOiAocmVzKT0+e1xyXG5cdFx0XHRcdFx0dGhpcy5kZWJ1ZyhyZXMpO1xyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMuZGF0YSk7XHJcblx0XHRcdFx0XHR0aGlzLnRva2VuRXJyb3JIYW5kbGUocmVzLmRhdGEpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZmFpbCAgICAgOiAoZXJyb3IpPT57ZmFpbChlcnJvci5lcnJNc2cpO30sXHJcblx0XHRcdFx0Y29tcGxldGUgOiAocmVzKSA9Pntjb21wbGV0ZShyZXMpO31cclxuXHRcdFx0fSk7XHJcblx0XHR9KS5jYXRjaCgoZSk9PntcclxuXHRcdFx0Y29uc29sZS5sb2coZSk7XHJcblx0XHRcdHRoaXMudG9rZW5FcnJvcigpO1xyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRcclxuXHQvLyBHRVQg6K+35rGCIOWQjOatpVxyXG5cdGdldFN5bmMgOiBhc3luYyBmdW5jdGlvbih1cmwsIHNldHMsIHdpdGhMb2dpblRva2VuKSB7XHJcblx0XHRsZXQgcmVzLCBlcnJvcjtcclxuXHRcdGlmKCF3aXRoTG9naW5Ub2tlbil7d2l0aExvZ2luVG9rZW4gPSBmYWxzZTt9XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UodGhpcy5nZXRUb2tlbi5iaW5kKHRoaXMpKS50aGVuKGFzeW5jICgpPT57XHJcblx0XHRcdGlmKEdyYWNlUmVxdWVzdENvbmZpZy5hcGlCYXNlVXJsICE9ICcnKXt1cmwgPSBHcmFjZVJlcXVlc3RDb25maWcuYXBpQmFzZVVybCArIHVybDt9XHJcblx0XHRcdHNldHMgPSB0aGlzLnJlcXVlc3RJbml0KHNldHMsIHdpdGhMb2dpblRva2VuKTtcclxuXHRcdFx0dmFyIFtlcnJvciwgcmVzXSA9IGF3YWl0IHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHR1cmwgICAgICA6IHVybCxcclxuXHRcdFx0XHRkYXRhICAgICA6IHNldHMuZGF0YSxcclxuXHRcdFx0XHR0aW1lb3V0ICA6IHNldHMudGltZW91dCxcclxuXHRcdFx0XHRkYXRhVHlwZSA6IHNldHMuZGF0YVR5cGUsXHJcblx0XHRcdFx0aGVhZGVyICAgOiBzZXRzLmhlYWRlcixcclxuXHRcdFx0XHRtZXRob2QgICA6ICdHRVQnXHJcblx0XHRcdH0pO1xyXG5cdFx0XHRpZihlcnJvciAhPSBudWxsKXsgcmV0dXJuIGZhbHNlOyB9XHJcblx0XHRcdHRoaXMuZGVidWcocmVzKTtcclxuXHRcdFx0dGhpcy50b2tlbkVycm9ySGFuZGxlKHJlcy5kYXRhKTtcclxuXHRcdFx0cmV0dXJuIHJlcy5kYXRhO1xyXG5cdFx0fSkuY2F0Y2goKGUpPT57XHJcblx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHR0aGlzLnRva2VuRXJyb3IoKTtcclxuXHRcdFx0cmV0dXJuIFsnJywgZV07XHJcblx0XHR9KTtcclxuXHR9LFxyXG5cdFxyXG5cdC8vIFBPU1Qg6K+35rGCIOW8guatpVxyXG5cdHBvc3QgOiBmdW5jdGlvbih1cmwsIHNldHMsIHN1Y2Nlc3MsIGZhaWwsIGNvbXBsZXRlLCApe1xyXG5cdFx0aWYoIXNldHMpe3NldHMgPSB7fTt9XHJcblx0XHRpZighc3VjY2Vzcyl7c3VjY2VzcyA9IGZ1bmN0aW9uKHJlcyl7fX1cclxuXHRcdGlmKCFmYWlsKXtmYWlsID0gZnVuY3Rpb24oZSl7fX1cclxuXHRcdGlmKCFjb21wbGV0ZSl7Y29tcGxldGUgPSBmdW5jdGlvbihyZXMpe319XHJcblx0XHRcclxuXHRcdG5ldyBQcm9taXNlKHRoaXMuZ2V0VG9rZW4uYmluZCh0aGlzKSkudGhlbigoKT0+e1xyXG5cdFx0XHRpZihHcmFjZVJlcXVlc3RDb25maWcuYXBpQmFzZVVybCAhPSAnJyl7dXJsID0gR3JhY2VSZXF1ZXN0Q29uZmlnLmFwaUJhc2VVcmwgKyB1cmw7fVxyXG5cdFx0XHRzZXRzID0gdGhpcy5yZXF1ZXN0SW5pdChzZXRzKTtcclxuXHRcdFx0aWYoIXNldHMuaGVhZGVyWydjb250ZW50LXR5cGUnXSl7XHJcblx0XHRcdFx0c2V0cy5oZWFkZXJbJ2NvbnRlbnQtdHlwZSddID0gR3JhY2VSZXF1ZXN0Q29uZmlnLnBvc3RIZWFkZXJEZWZhdWx0O1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0dXJsICAgICAgOiB1cmwsXHJcblx0XHRcdFx0ZGF0YSAgICAgOiBzZXRzLmRhdGEsXHJcblx0XHRcdFx0dGltZW91dCAgOiBzZXRzLnRpbWVvdXQsXHJcblx0XHRcdFx0ZGF0YVR5cGUgOiBzZXRzLmRhdGFUeXBlLFxyXG5cdFx0XHRcdGhlYWRlciAgIDogc2V0cy5oZWFkZXIsXHJcblx0XHRcdFx0bWV0aG9kICAgOiAnUE9TVCcsXHJcblx0XHRcdFx0c3VjY2VzcyAgOiAocmVzKT0+e1xyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRmYWlsICAgICA6IChlcnJvcik9PntmYWlsKGVycm9yLmVyck1zZyk7fSxcclxuXHRcdFx0XHRjb21wbGV0ZSA6IChyZXMpID0+e1xyXG5cdFx0XHRcdFx0Y29tcGxldGUocmVzKTt9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSkuY2F0Y2goKGUpPT57XHJcblx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHR0aGlzLnRva2VuRXJyb3IoKTtcclxuXHRcdH0pO1xyXG5cdH0sXHJcblx0XHJcblx0Ly8gUE9TVCDor7fmsYIg5ZCM5q2lXHJcblx0cG9zdFN5bmMgOiBhc3luYyBmdW5jdGlvbih1cmwsIHNldHMsIGlzU2lnbiwgd2l0aExvZ2luVG9rZW4pIHtcclxuXHRcdGxldCByZXMsIGVycm9yO1xyXG5cdFx0aWYoIXdpdGhMb2dpblRva2VuKXt3aXRoTG9naW5Ub2tlbiA9IGZhbHNlO31cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSh0aGlzLmdldFRva2VuLmJpbmQodGhpcykpLnRoZW4oYXN5bmMgKCk9PntcclxuXHRcdFx0aWYoR3JhY2VSZXF1ZXN0Q29uZmlnLmFwaUJhc2VVcmwgIT0gJycpe3VybCA9IEdyYWNlUmVxdWVzdENvbmZpZy5hcGlCYXNlVXJsICsgdXJsO31cclxuXHRcdFx0c2V0cyA9IHRoaXMucmVxdWVzdEluaXQoc2V0cywgd2l0aExvZ2luVG9rZW4pO1xyXG5cdFx0XHRpZighc2V0cy5oZWFkZXJbJ2NvbnRlbnQtdHlwZSddKXtcclxuXHRcdFx0XHRzZXRzLmhlYWRlclsnY29udGVudC10eXBlJ10gPSBHcmFjZVJlcXVlc3RDb25maWcucG9zdEhlYWRlckRlZmF1bHQ7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYoaXNTaWduID09IHRydWUpe1xyXG5cdFx0XHRcdHNldHMuZGF0YSA9IHRoaXMuc2lnbihzZXRzLmRhdGEpO1xyXG5cdFx0XHR9ZWxzZSBpZihpc1NpZ24gPT0gJ3ZhbHVlJyl7XHJcblx0XHRcdFx0c2V0cy5kYXRhID0gdGhpcy5zaWduVmFsdWUoc2V0cy5kYXRhKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgW2Vycm9yLCByZXNdID0gYXdhaXQgdW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdHVybCAgICAgIDogdXJsLFxyXG5cdFx0XHRcdGRhdGEgICAgIDogc2V0cy5kYXRhLFxyXG5cdFx0XHRcdHRpbWVvdXQgIDogc2V0cy50aW1lb3V0LFxyXG5cdFx0XHRcdGRhdGFUeXBlIDogc2V0cy5kYXRhVHlwZSxcclxuXHRcdFx0XHRoZWFkZXIgICA6IHNldHMuaGVhZGVyLFxyXG5cdFx0XHRcdG1ldGhvZCAgIDogJ1BPU1QnXHJcblx0XHRcdH0pO1xyXG5cdFx0XHRpZihlcnJvciAhPSBudWxsKXsgcmV0dXJuIGZhbHNlOyB9XHJcblx0XHRcdHRoaXMudG9rZW5FcnJvckhhbmRsZShyZXMuZGF0YSk7XHJcblx0XHRcdHJldHVybiByZXMuZGF0YTtcclxuXHRcdH0pLmNhdGNoKChlKT0+e1xyXG5cdFx0XHRjb25zb2xlLmxvZyhlKTtcclxuXHRcdFx0dGhpcy50b2tlbkVycm9yKCk7XHJcblx0XHRcdHJldHVybiBbJycsIGVdO1xyXG5cdFx0fSk7XHJcblx0fSxcclxuXHRcclxuXHQvLyDmlofku7bkuIrkvKBcclxuXHR1cGxvYWQgOiBmdW5jdGlvbih1cmwsIGZpbGVQYXRoLCBmaWxlVHlwZSwgc2V0cywgc3VjY2VzcywgZmFpbCwgY29tcGxldGUsIHdpdGhMb2dpblRva2VuKXtcclxuXHRcdGlmKCFzZXRzKXtzZXRzID0ge307fVxyXG5cdFx0aWYoIXN1Y2Nlc3Mpe3N1Y2Nlc3MgPSBmdW5jdGlvbihyZXMpe319XHJcblx0XHRpZighZmFpbCl7ZmFpbCA9IGZ1bmN0aW9uKGUpe319XHJcblx0XHRpZighY29tcGxldGUpe2NvbXBsZXRlID0gZnVuY3Rpb24ocmVzKXt9fVxyXG5cdFx0aWYoIXdpdGhMb2dpblRva2VuKXt3aXRoTG9naW5Ub2tlbiA9IGZhbHNlO31cclxuXHRcdG5ldyBQcm9taXNlKHRoaXMuZ2V0VG9rZW4uYmluZCh0aGlzKSkudGhlbigoKT0+e1xyXG5cdFx0XHRpZihHcmFjZVJlcXVlc3RDb25maWcuYXBpQmFzZVVybCAhPSAnJyl7dXJsID0gR3JhY2VSZXF1ZXN0Q29uZmlnLmFwaUJhc2VVcmwgKyB1cmw7fVxyXG5cdFx0XHQvLyDliJ3lp4vljJYgc2V0c1xyXG5cdFx0XHRpZighc2V0cy5uYW1lKXtzZXRzLm5hbWUgPSAnZmlsZSc7fVxyXG5cdFx0XHRpZighc2V0cy5oZWFkZXIpe3NldHMuaGVhZGVyICAgICA9IHt9O31cclxuXHRcdFx0aWYoIXNldHMuZm9ybURhdGEpe3NldHMuZm9ybURhdGEgPSB7fTt9XHJcblx0XHRcdHNldHMuaGVhZGVyLnRva2VuID0gdGhpcy50b2tlbjtcclxuXHRcdFx0aWYod2l0aExvZ2luVG9rZW4pe1xyXG5cdFx0XHRcdHZhciBsb2dpblRva2VuID0gdGhpcy5jaGVja0xvZ2luKCk7XHJcblx0XHRcdFx0aWYobG9naW5Ub2tlbil7c2V0cy5oZWFkZXIubG9naW5Ub2tlbiA9IGxvZ2luVG9rZW47fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIOW8gOWni+S4iuS8oFxyXG5cdFx0XHR1bmkudXBsb2FkRmlsZSh7XHJcblx0XHRcdFx0dXJsICAgICAgICAgOiB1cmwsXHJcblx0XHRcdFx0ZmlsZVBhdGggICAgOiBmaWxlUGF0aCxcclxuXHRcdFx0XHRuYW1lICAgICAgICA6IHNldHMubmFtZSxcclxuXHRcdFx0XHRmb3JtRGF0YSAgICA6IHNldHMuZm9ybURhdGEsXHJcblx0XHRcdFx0aGVhZGVyICAgICAgOiBzZXRzLmhlYWRlcixcclxuXHRcdFx0XHRzdWNjZXNzICAgICA6IChyZXMpPT57XHJcblx0XHRcdFx0XHRzdWNjZXNzKHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdHRoaXMudG9rZW5FcnJvckhhbmRsZShyZXMuZGF0YSk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRmYWlsICAgICAgICA6IChlcnJvcik9PntmYWlsKGVycm9yKTt9LFxyXG5cdFx0XHRcdGNvbXBsZXRlICAgIDogKHJlcykgPT57Y29tcGxldGUocmVzKTt9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSkuY2F0Y2goKGUpPT57XHJcblx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHR0aGlzLnRva2VuRXJyb3IoKTtcclxuXHRcdH0pO1xyXG5cdH0sXHJcblx0XHJcblx0Ly8gZGVidWcg5Ye95pWwXHJcblx0ZGVidWcgOiBmdW5jdGlvbiAoY29udGVudCkge1xyXG5cdFx0cmV0dXJuIGNvbnRlbnQ7XHJcblx0XHQvLyBpZighR3JhY2VSZXF1ZXN0Q29uZmlnLmRlYnVnKXtyZXR1cm4gO31cclxuXHRcdC8vIGNvbnNvbGUubG9nKGNvbnRlbnQpO1xyXG5cdH0sXHJcblx0XHJcblx0Ly8gdG9rZW4g6ZSZ6K+vXHJcblx0dG9rZW5FcnJvciA6IGZ1bmN0aW9uICgpIHtcclxuXHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOlwi6K+35rGC5aSx6LSl77yM6K+36YeN5ZCv5bqU55So6YeN6K+VXCIsIGljb246XCJub25lXCJ9KTtcclxuXHR9LFxyXG5cdFxyXG5cdC8vIOetvuWQjeeul+azlVxyXG5cdHNpZ24gOiBmdW5jdGlvbiAoZGF0YSkge1xyXG5cdFx0dmFyIGtleXMgPSBbXTsgXHJcblx0XHRPYmplY3Qua2V5cyhkYXRhKS5zb3J0KCkubWFwKChrZXkpID0+IHtrZXlzLnB1c2goa2V5KTt9KTtcclxuXHRcdGtleXMucHVzaCh0aGlzLnRva2VuKTtcclxuXHRcdHZhciBzaWduICA9IG1kNS5tZDUoa2V5cy5qb2luKCctJykpO1xyXG5cdFx0ZGF0YS5ncmFjZXNpZ24gPSBzaWduO1xyXG5cdFx0cmV0dXJuIGRhdGE7XHJcblx0fSxcclxuXHRcclxuXHQvLyBzaWduVmFsdWVcclxuXHRzaWduVmFsdWUgOiBmdW5jdGlvbihkYXRhKXtcclxuXHRcdHZhciB2YWxzID0gW107XHJcblx0XHRPYmplY3Qua2V5cyhkYXRhKS5zb3J0KCkubWFwKChrZXkpID0+IHt2YWxzLnB1c2goZGF0YVtrZXldKTt9KTtcclxuXHRcdHZhbHMucHVzaCh0aGlzLnRva2VuKTtcclxuXHRcdHZhciBzaWduICA9IG1kNS5tZDUodmFscy5qb2luKCctJykpO1xyXG5cdFx0ZGF0YS5ncmFjZXNpZ24gPSBzaWduO1xyXG5cdFx0cmV0dXJuIGRhdGE7XHJcblx0fSxcclxuXHRcclxuXHQvLyDnmbvlvZXmo4Dmn6VcclxuXHQvLyDnmbvlvZXlkI7lnKjmnKzlnLDkv53lrZjkuIDkuKogdG9rZW5cclxuXHRjaGVja0xvZ2luIDogZnVuY3Rpb24gKG5vdExvZ2luRG8pIHtcclxuXHRcdHZhciBsb2dpblRva2VuID0gdW5pLmdldFN0b3JhZ2VTeW5jKEdyYWNlUmVxdWVzdENvbmZpZy51c2VyVG9rZW5LZXlOYW1lKTtcclxuXHRcdGlmKCFsb2dpblRva2VuIHx8IGxvZ2luVG9rZW4gPT0gJycpe1xyXG5cdFx0XHRsb2dpblRva2VuID0gJyc7XHJcblx0XHRcdGlmKG5vdExvZ2luRG8pe1xyXG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOlwi6K+355m75b2VXCIsIGljb246XCJub25lXCIsIG1hc2s6dHJ1ZX0pO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntub3RMb2dpbkRvKCk7fSwgMTUwMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGxvZ2luVG9rZW47XHJcblx0fSxcclxuXHRcclxuXHQvLyDot7PovazliLDnmbvlvZXpobXpnaJcclxuXHRnb3RvTG9naW4gOiBmdW5jdGlvbiAocGF0aCwgb3BlbnR5cGUpIHtcclxuXHRcdGlmKCFwYXRoKXtwYXRoID0gJy4uL2xvZ2luL2xvZ2luJzt9XHJcblx0XHRpZighb3BlbnR5cGUpe29wZW50eXBlID0gJ3JlZGlyZWN0Jzt9XHJcblx0XHRzd2l0Y2gob3BlbnR5cGUpe1xyXG5cdFx0XHRjYXNlICAncmVkaXJlY3QnIDogXHJcblx0XHRcdHVuaS5yZWRpcmVjdFRvKHt1cmw6cGF0aH0pO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAgJ25hdmlnYXRlJyA6IFxyXG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7dXJsOnBhdGh9KTtcclxuXHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgICdzd2l0Y2hUYWInIDogXHJcblx0XHRcdHVuaS5zd2l0Y2hUYWIoe3VybDpwYXRofSk7XHJcblx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0XHJcblx0Ly8g6K6w5b2VIOeUqOaItyB0b2tlbiDliLDmnKzlnLBcclxuXHQvLyDmoLzlvI8gbG9naW5Ub2tlbi11aWRcclxuXHR3cml0ZUxvZ2luVG9rZW4gOiBmdW5jdGlvbiAodG9rZW4sIHVpZCkge1xyXG5cdFx0dmFyIGxvZ2luVG9rZW4gPSB0b2tlbisnLScrdWlkO1xyXG5cdFx0dW5pLnNldFN0b3JhZ2VTeW5jKEdyYWNlUmVxdWVzdENvbmZpZy51c2VyVG9rZW5LZXlOYW1lLCBsb2dpblRva2VuKTtcclxuXHRcdHJldHVybiA7XHJcblx0fVxyXG5cdFxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///76\n"); + +/***/ }), +/* 77 */ +/*!**********************************************************!*\ + !*** ./node_modules/@babel/runtime/regenerator/index.js ***! + \**********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4); +// TODO(Babel 8): Remove this file. + +var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ 78)(); +module.exports = runtime; + +// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), +/* 78 */ +/*!*******************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"]; +function _regeneratorRuntime() { + "use strict"; + + /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ + module.exports = _regeneratorRuntime = function _regeneratorRuntime() { + return exports; + }, module.exports.__esModule = true, module.exports["default"] = module.exports; + var exports = {}, + Op = Object.prototype, + hasOwn = Op.hasOwnProperty, + defineProperty = Object.defineProperty || function (obj, key, desc) { + obj[key] = desc.value; + }, + $Symbol = "function" == typeof Symbol ? Symbol : {}, + iteratorSymbol = $Symbol.iterator || "@@iterator", + asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", + toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + function define(obj, key, value) { + return Object.defineProperty(obj, key, { + value: value, + enumerable: !0, + configurable: !0, + writable: !0 + }), obj[key]; + } + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + function wrap(innerFn, outerFn, self, tryLocsList) { + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, + generator = Object.create(protoGenerator.prototype), + context = new Context(tryLocsList || []); + return defineProperty(generator, "_invoke", { + value: makeInvokeMethod(innerFn, self, context) + }), generator; + } + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + exports.wrap = wrap; + var ContinueSentinel = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + var getProto = Object.getPrototypeOf, + NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(prototype, method, function (arg) { + return this._invoke(method, arg); + }); + }); + } + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if ("throw" !== record.type) { + var result = record.arg, + value = result.value; + return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }) : PromiseImpl.resolve(value).then(function (unwrapped) { + result.value = unwrapped, resolve(result); + }, function (error) { + return invoke("throw", error, resolve, reject); + }); + } + reject(record.arg); + } + var previousPromise; + defineProperty(this, "_invoke", { + value: function value(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + }); + } + function makeInvokeMethod(innerFn, self, context) { + var state = "suspendedStart"; + return function (method, arg) { + if ("executing" === state) throw new Error("Generator is already running"); + if ("completed" === state) { + if ("throw" === method) throw arg; + return doneResult(); + } + for (context.method = method, context.arg = arg;;) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { + if ("suspendedStart" === state) throw state = "completed", context.arg; + context.dispatchException(context.arg); + } else "return" === context.method && context.abrupt("return", context.arg); + state = "executing"; + var record = tryCatch(innerFn, self, context); + if ("normal" === record.type) { + if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; + return { + value: record.arg, + done: context.done + }; + } + "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); + } + }; + } + function maybeInvokeDelegate(delegate, context) { + var methodName = context.method, + method = delegate.iterator[methodName]; + if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; + var record = tryCatch(method, delegate.iterator, context.arg); + if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; + var info = record.arg; + return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); + } + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); + } + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal", delete record.arg, entry.completion = record; + } + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); + } + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) return iteratorMethod.call(iterable); + if ("function" == typeof iterable.next) return iterable; + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + for (; ++i < iterable.length;) { + if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; + } + return next.value = undefined, next.done = !0, next; + }; + return next.next = next; + } + } + return { + next: doneResult + }; + } + function doneResult() { + return { + value: undefined, + done: !0 + }; + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { + value: GeneratorFunctionPrototype, + configurable: !0 + }), defineProperty(GeneratorFunctionPrototype, "constructor", { + value: GeneratorFunction, + configurable: !0 + }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { + var ctor = "function" == typeof genFun && genFun.constructor; + return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); + }, exports.mark = function (genFun) { + return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; + }, exports.awrap = function (arg) { + return { + __await: arg + }; + }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { + void 0 === PromiseImpl && (PromiseImpl = Promise); + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { + return this; + }), define(Gp, "toString", function () { + return "[object Generator]"; + }), exports.keys = function (val) { + var object = Object(val), + keys = []; + for (var key in object) { + keys.push(key); + } + return keys.reverse(), function next() { + for (; keys.length;) { + var key = keys.pop(); + if (key in object) return next.value = key, next.done = !1, next; + } + return next.done = !0, next; + }; + }, exports.values = values, Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { + "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); + } + }, + stop: function stop() { + this.done = !0; + var rootRecord = this.tryEntries[0].completion; + if ("throw" === rootRecord.type) throw rootRecord.arg; + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) throw exception; + var context = this; + function handle(loc, caught) { + return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; + } + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i], + record = entry.completion; + if ("root" === entry.tryLoc) return handle("end"); + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"), + hasFinally = hasOwn.call(entry, "finallyLoc"); + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); + if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); + } else if (hasCatch) { + if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); + } else { + if (!hasFinally) throw new Error("try statement without catch or finally"); + if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); + var record = finallyEntry ? finallyEntry.completion : {}; + return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); + }, + complete: function complete(record, afterLoc) { + if ("throw" === record.type) throw record.arg; + return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if ("throw" === record.type) { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + return this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }, "next" === this.method && (this.arg = undefined), ContinueSentinel; + } + }, exports; +} +module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 79 */ +/*!**************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 80); +var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ 81); +var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 82); +var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 84); +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} +module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 80 */ +/*!***************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} +module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 81 */ +/*!*********************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _iterableToArrayLimit(arr, i) { + var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; + if (null != _i) { + var _s, + _e, + _x, + _r, + _arr = [], + _n = !0, + _d = !1; + try { + if (_x = (_i = _i.call(arr)).next, 0 === i) { + if (Object(_i) !== _i) return; + _n = !1; + } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { + ; + } + } catch (err) { + _d = !0, _e = err; + } finally { + try { + if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; + } finally { + if (_d) throw _e; + } + } + return _arr; + } +} +module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 82 */ +/*!***************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 83); +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); +} +module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 83 */ +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; +} +module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 84 */ +/*!****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***! + \****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 85 */ +/*!*****************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + if (info.done) { + resolve(value); + } else { + Promise.resolve(value).then(_next, _throw); + } +} +function _asyncToGenerator(fn) { + return function () { + var self = this, + args = arguments; + return new Promise(function (resolve, reject) { + var gen = fn.apply(self, args); + function _next(value) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); + } + function _throw(err) { + asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); + } + _next(undefined); + }); + }; +} +module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; + +/***/ }), +/* 86 */ +/*!*************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/js/request/config.js ***! + \*************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("module.exports = {\n // api 基础 url\n apiBaseUrl: 'http://localhost:8081/',\n // 调试模式 [ false 关闭调试输出,项目发包时请设置此项为 false ]\n debug: false,\n // 本地 Token 数据键名称\n localTokenKeyName: 'reqToken',\n // 用户登录 Token 数据键名称\n userTokenKeyName: 'uToken',\n // token 有效期, 单位 秒 ,要与后端保持一致\n expiredTime: 3600,\n // post 方式 header[content-type] 默认值\n postHeaderDefault: 'application/json',\n // 从服务器获取 token 函数\n // 因后端语言不同、思路不同,请跟据自己的 api 情况完成 token 获取函数\n // 一个示例,实际开发请跟据自己情况复写此函数\t\n getToken: function getToken(resolve, reject) {\n // 接口请求秘钥 与后端开发人员协商格式及获取\n // 如 : \n var appKey = 'AppKey2021&&';\n\n // 发起请求\n uni.request({\n // token 授权 api 服务器地址\n url: \"https://www.******.com/api/srequest/makeToken\",\n // 请求秘钥\n data: {\n 'appKey': appKey\n },\n // 请求方式 POST\n method: \"POST\",\n // headers\n header: {\n 'content-type': 'application/x-www-form-urlencoded'\n },\n // 返回值类型\n dataType: \"json\",\n // 请求成功\n success: function success(res) {\n var data = res.data;\n if (data.status == 'ok') {\n resolve(data.data);\n } else {\n reject();\n }\n },\n // 请求失败\n fail: function fail(e) {\n reject();\n }\n });\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvanMvcmVxdWVzdC9jb25maWcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImFwaUJhc2VVcmwiLCJkZWJ1ZyIsImxvY2FsVG9rZW5LZXlOYW1lIiwidXNlclRva2VuS2V5TmFtZSIsImV4cGlyZWRUaW1lIiwicG9zdEhlYWRlckRlZmF1bHQiLCJnZXRUb2tlbiIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBLZXkiLCJ1bmkiLCJyZXF1ZXN0IiwidXJsIiwiZGF0YSIsIm1ldGhvZCIsImhlYWRlciIsImRhdGFUeXBlIiwic3VjY2VzcyIsInJlcyIsInN0YXR1cyIsImZhaWwiLCJlIl0sIm1hcHBpbmdzIjoiQUFDQUEsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFFaEI7RUFDQUMsVUFBVSxFQUFVLHdCQUF3QjtFQUU1QztFQUNBQyxLQUFLLEVBQWUsS0FBSztFQUV6QjtFQUNBQyxpQkFBaUIsRUFBRyxVQUFVO0VBRTlCO0VBQ0FDLGdCQUFnQixFQUFJLFFBQVE7RUFFNUI7RUFDQUMsV0FBVyxFQUFTLElBQUk7RUFFeEI7RUFDQUMsaUJBQWlCLEVBQUcsa0JBQWtCO0VBRXRDO0VBQ0E7RUFDQTtFQUNBQyxRQUFRLEVBQUcsa0JBQUNDLE9BQU8sRUFBRUMsTUFBTSxFQUFLO0lBRS9CO0lBQ0E7SUFDQSxJQUFJQyxNQUFNLEdBQUcsY0FBYzs7SUFFM0I7SUFDQUMsR0FBRyxDQUFDQyxPQUFPLENBQUM7TUFDWDtNQUNBQyxHQUFHLEVBQVEsK0NBQStDO01BQzFEO01BQ0FDLElBQUksRUFBTztRQUFFLFFBQVEsRUFBR0o7TUFBTyxDQUFDO01BQ2hDO01BQ0FLLE1BQU0sRUFBSyxNQUFNO01BQ2pCO01BQ0FDLE1BQU0sRUFBSztRQUFDLGNBQWMsRUFBRztNQUFtQyxDQUFDO01BQ2pFO01BQ0FDLFFBQVEsRUFBRyxNQUFNO01BQ2pCO01BQ0FDLE9BQU8sRUFBSSxpQkFBQ0MsR0FBRyxFQUFLO1FBQ25CLElBQUlMLElBQUksR0FBR0ssR0FBRyxDQUFDTCxJQUFJO1FBQ25CLElBQUdBLElBQUksQ0FBQ00sTUFBTSxJQUFJLElBQUksRUFBQztVQUN0QlosT0FBTyxDQUFDTSxJQUFJLENBQUNBLElBQUksQ0FBQztRQUNuQixDQUFDLE1BQUk7VUFDSkwsTUFBTSxFQUFFO1FBQ1Q7TUFDRCxDQUFDO01BQ0Q7TUFDQVksSUFBSSxFQUFPLGNBQUNDLENBQUMsRUFBSztRQUFFYixNQUFNLEVBQUU7TUFBQztJQUM5QixDQUFDLENBQUM7RUFDSDtBQUVELENBQUMiLCJmaWxlIjoiODYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcblx0XHJcblx0Ly8gYXBpIOWfuuehgCB1cmxcclxuXHRhcGlCYXNlVXJsICAgICAgICA6ICdodHRwOi8vbG9jYWxob3N0OjgwODEvJyxcclxuXHRcclxuXHQvLyDosIPor5XmqKHlvI8gWyBmYWxzZSDlhbPpl63osIPor5XovpPlh7rvvIzpobnnm67lj5HljIXml7bor7forr7nva7mraTpobnkuLogZmFsc2UgXVxyXG5cdGRlYnVnICAgICAgICAgICAgIDogZmFsc2UsXHJcblx0XHJcblx0Ly8g5pys5ZywIFRva2VuIOaVsOaNrumUruWQjeensFxyXG5cdGxvY2FsVG9rZW5LZXlOYW1lIDogJ3JlcVRva2VuJyxcclxuXHRcclxuXHQvLyDnlKjmiLfnmbvlvZUgVG9rZW4g5pWw5o2u6ZSu5ZCN56ewXHJcblx0dXNlclRva2VuS2V5TmFtZSAgOiAndVRva2VuJyxcclxuXHRcclxuXHQvLyB0b2tlbiDmnInmlYjmnJ8sIOWNleS9jSDnp5Ig77yM6KaB5LiO5ZCO56uv5L+d5oyB5LiA6Ie0XHJcblx0ZXhwaXJlZFRpbWUgICAgICAgOiAzNjAwLFxyXG5cdFxyXG5cdC8vIHBvc3Qg5pa55byPIGhlYWRlcltjb250ZW50LXR5cGVdIOm7mOiupOWAvFxyXG5cdHBvc3RIZWFkZXJEZWZhdWx0IDogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFxyXG5cdC8vIOS7juacjeWKoeWZqOiOt+WPliB0b2tlbiDlh73mlbBcclxuXHQvLyDlm6DlkI7nq6/or63oqIDkuI3lkIzjgIHmgJ3ot6/kuI3lkIzvvIzor7fot5/mja7oh6rlt7HnmoQgYXBpIOaDheWGteWujOaIkCB0b2tlbiDojrflj5blh73mlbBcclxuXHQvLyDkuIDkuKrnpLrkvovvvIzlrp7pmYXlvIDlj5Hor7fot5/mja7oh6rlt7Hmg4XlhrXlpI3lhpnmraTlh73mlbBcdFxyXG5cdGdldFRva2VuIDogKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHJcblx0XHQvLyDmjqXlj6Por7fmsYLnp5jpkqUg5LiO5ZCO56uv5byA5Y+R5Lq65ZGY5Y2P5ZWG5qC85byP5Y+K6I635Y+WXHJcblx0XHQvLyDlpoIgOiBcclxuXHRcdHZhciBhcHBLZXkgPSAnQXBwS2V5MjAyMSYmJztcclxuXHRcdFxyXG5cdFx0Ly8g5Y+R6LW36K+35rGCXHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdC8vIHRva2VuIOaOiOadgyBhcGkg5pyN5Yqh5Zmo5Zyw5Z2AXHJcblx0XHRcdHVybCAgICAgIDogXCJodHRwczovL3d3dy4qKioqKiouY29tL2FwaS9zcmVxdWVzdC9tYWtlVG9rZW5cIixcclxuXHRcdFx0Ly8g6K+35rGC56eY6ZKlXHJcblx0XHRcdGRhdGEgICAgIDogeyAnYXBwS2V5JyA6IGFwcEtleSB9LFxyXG5cdFx0XHQvLyDor7fmsYLmlrnlvI8gUE9TVFxyXG5cdFx0XHRtZXRob2QgICA6IFwiUE9TVFwiLFxyXG5cdFx0XHQvLyBoZWFkZXJzXHJcblx0XHRcdGhlYWRlciAgIDogeydjb250ZW50LXR5cGUnIDogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCd9LFxyXG5cdFx0XHQvLyDov5Tlm57lgLznsbvlnotcclxuXHRcdFx0ZGF0YVR5cGUgOiBcImpzb25cIixcclxuXHRcdFx0Ly8g6K+35rGC5oiQ5YqfXHJcblx0XHRcdHN1Y2Nlc3MgIDogKHJlcykgPT4ge1xyXG5cdFx0XHRcdHZhciBkYXRhID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0aWYoZGF0YS5zdGF0dXMgPT0gJ29rJyl7XHJcblx0XHRcdFx0XHRyZXNvbHZlKGRhdGEuZGF0YSk7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRyZWplY3QoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOivt+axguWksei0pVxyXG5cdFx0XHRmYWlsICAgICA6IChlKSA9PiB7IHJlamVjdCgpO31cclxuXHRcdH0pO1xyXG5cdH1cclxuXHRcclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///86\n"); + +/***/ }), +/* 87 */ +/*!***********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/register/register.vue?mpType=page ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./register.vue?vue&type=template&id=6f6d9236&mpType=page */ 88);\n/* harmony import */ var _register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./register.vue?vue&type=script&lang=js&mpType=page */ 90);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/register/register.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3JlZ2lzdGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ZjZkOTIzNiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vcmVnaXN0ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3JlZ2lzdGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL3JlZ2lzdGVyL3JlZ2lzdGVyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///87\n"); + +/***/ }), +/* 88 */ +/*!*****************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/register/register.vue?vue&type=template&id=6f6d9236&mpType=page ***! + \*****************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./register.vue?vue&type=template&id=6f6d9236&mpType=page */ 89); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_template_id_6f6d9236_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 89 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/register/register.vue?vue&type=template&id=6f6d9236&mpType=page ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view", [ + _c( + "view", + { + staticClass: _vm._$s( + 1, + "sc", + "gui-flex gui-rows gui-justify-content-center" + ), + attrs: { _i: 1 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 2, + "sc", + "login-logo gui-icons gui-color-white gui-block-text gui-border-box gui-bg-black gui-box-shadow gui-box" + ), + attrs: { _i: 2 }, + }), + ] + ), + _c("view", [ + _c("form", { attrs: { _i: 4 }, on: { submit: _vm.submit } }, [ + _c("view", [ + _c("text", { + staticClass: _vm._$s(6, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 6 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(7, "sc", "gui-border-b"), attrs: { _i: 7 } }, + [ + _c("input", { + staticClass: _vm._$s(8, "sc", "gui-form-input"), + attrs: { _i: 8 }, + }), + ] + ), + _c( + "view", + { staticClass: _vm._$s(9, "sc", "gui-margin-top"), attrs: { _i: 9 } }, + [ + _c("text", { + staticClass: _vm._$s(10, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 10 }, + }), + ] + ), + _c( + "view", + { staticClass: _vm._$s(11, "sc", "gui-border-b"), attrs: { _i: 11 } }, + [ + _c("input", { + staticClass: _vm._$s(12, "sc", "gui-form-input"), + attrs: { _i: 12 }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(14, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 14 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(15, "sc", "gui-border-b"), attrs: { _i: 15 } }, + [ + _c("input", { + staticClass: _vm._$s(16, "sc", "gui-form-input"), + attrs: { _i: 16 }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(18, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 18 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(19, "sc", "gui-border-b"), attrs: { _i: 19 } }, + [ + _c("input", { + staticClass: _vm._$s(20, "sc", "gui-form-input"), + attrs: { _i: 20 }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(22, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 22 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(23, "sc", "gui-border-b"), attrs: { _i: 23 } }, + [ + _c("input", { + staticClass: _vm._$s(24, "sc", "gui-form-input"), + attrs: { _i: 24 }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(26, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 26 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(27, "sc", "gui-border-b"), attrs: { _i: 27 } }, + [ + _c("input", { + staticClass: _vm._$s(28, "sc", "gui-form-input"), + attrs: { _i: 28 }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(30, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 30 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(31, "sc", "gui-border-b"), attrs: { _i: 31 } }, + [ + _c( + "view", + { + staticClass: _vm._$s(32, "sc", "gui-form-body"), + attrs: { _i: 32 }, + }, + [ + _c( + "picker", + { + attrs: { + range: _vm._$s(33, "a-range", _vm.gender), + _i: 33, + }, + on: { change: _vm.pickerChange }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 34, + "sc", + "gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center" + ), + attrs: { _i: 34 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s(35, "sc", "gui-text"), + attrs: { _i: 35 }, + }, + [ + _vm._v( + _vm._$s( + 35, + "t0-0", + _vm._s(_vm.gender[_vm.genderIndex]) + ) + ), + ] + ), + ] + ), + ] + ), + ] + ), + ] + ), + _c("view", [ + _c( + "button", + { + staticClass: _vm._$s(37, "sc", "gui-button gui-bg-black"), + attrs: { _i: 37 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 38, + "sc", + "gui-color-white gui-button-text" + ), + attrs: { _i: 38 }, + }), + ] + ), + ]), + ]), + ]), + ]) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 90 */ +/*!***********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/register/register.vue?vue&type=script&lang=js&mpType=page ***! + \***********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./register.vue?vue&type=script&lang=js&mpType=page */ 91);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_register_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJzQixDQUFnQixxckJBQUcsRUFBQyIsImZpbGUiOiI5MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3JlZ2lzdGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZWdpc3Rlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///90\n"); + +/***/ }), +/* 91 */ +/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/register/register.vue?vue&type=script&lang=js&mpType=page ***! + \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar request = __webpack_require__(/*! @/GraceUI5/js/request/request.js */ 76);\nvar graceChecker = __webpack_require__(/*! @/GraceUI5/js/checker.js */ 74);\nvar _default = {\n data: function data() {\n return {\n gender: ['请选择性别', '男', '女'],\n genderIndex: 0\n };\n },\n methods: {\n forgetPwd: function forgetPwd() {\n __f__(\"log\", '请自行完善代码', \" at pages/register/register.vue:87\");\n },\n loginbymsg: function loginbymsg() {\n __f__(\"log\", '请自行完善代码', \" at pages/register/register.vue:90\");\n },\n // picker 切换\n pickerChange: function pickerChange(e) {\n __f__(\"log\", e, \" at pages/register/register.vue:94\");\n this.genderIndex = e.detail.value;\n },\n submit: function submit(e) {\n // 表单数据\n var formData = e.detail.value;\n formData.sex = this.genderIndex == 0 ? 1 : this.genderIndex;\n __f__(\"log\", formData, \" at pages/register/register.vue:102\");\n\n // 利用 graceUI 的表单验证工具进行验证\n //定义表单规则\n var rule = [{\n name: \"username\",\n checkType: \"string\",\n checkRule: \"1,10\",\n errorMsg: \"账户输入有误\"\n }, {\n name: \"password\",\n checkType: \"string\",\n checkRule: \"1,20\",\n errorMsg: \"密码至少1个字符\"\n }];\n var checkRes = graceChecker.check(formData, rule);\n if (checkRes) {\n request.post(\"bohe/add\", {\n data: formData\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/register/register.vue:123\");\n if (res.data.code == 200) {\n var user = {\n user: res.data.data\n };\n graceJS.setStorage(res.data.data);\n uni.showToast({\n title: \"注册成功\",\n icon: \"none\",\n success: function success() {\n setTimeout(function () {\n uni.switchTab({\n url: \"../switchPages/index\"\n });\n }, 500);\n }\n });\n }\n });\n\n // 根据项目需要完成数据验证工作\n } else {\n uni.showToast({\n title: graceChecker.error,\n icon: \"none\"\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvcmVnaXN0ZXIvcmVnaXN0ZXIudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJnZW5kZXIiLCJnZW5kZXJJbmRleCIsIm1ldGhvZHMiLCJmb3JnZXRQd2QiLCJsb2dpbmJ5bXNnIiwicGlja2VyQ2hhbmdlIiwic3VibWl0IiwiZm9ybURhdGEiLCJuYW1lIiwiY2hlY2tUeXBlIiwiY2hlY2tSdWxlIiwiZXJyb3JNc2ciLCJyZXF1ZXN0IiwidXNlciIsImdyYWNlSlMiLCJ1bmkiLCJ0aXRsZSIsImljb24iLCJzdWNjZXNzIiwic2V0VGltZW91dCIsInVybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwRUE7QUFDQTtBQUNBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BRUFDO01BQ0E7O01BRUE7TUFDQTtNQUNBO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0EsR0FDQTtRQUNBSDtRQUNBQztRQUNBQztRQUNBQztNQUNBLEVBQ0E7TUFDQTtNQUNBO1FBRUFDO1VBQUFiO1FBQUE7VUFDQTtVQUNBO1lBQ0E7Y0FBQWM7WUFBQTtZQUNBQztZQUNBQztjQUNBQztjQUNBQztjQUNBQztnQkFDQUM7a0JBQ0FKO29CQUNBSztrQkFDQTtnQkFDQTtjQUNBO1lBQ0E7VUFDQTtRQUVBOztRQUVBO01BQ0E7UUFDQUw7VUFDQUM7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgc3R5bGU9XCJwYWRkaW5nOjUwcnB4O1wiPlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuXHRcdFx0PHRleHRcclxuXHRcdFx0XHRjbGFzcz1cImxvZ2luLWxvZ28gZ3VpLWljb25zIGd1aS1jb2xvci13aGl0ZSBndWktYmxvY2stdGV4dCBndWktYm9yZGVyLWJveCBndWktYmctYmxhY2sgZ3VpLWJveC1zaGFkb3cgZ3VpLWJveFwiPiYjeGU2MjA7PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tdG9wOjgwcnB4O1wiPlxyXG5cdFx0XHQ8Zm9ybSBAc3VibWl0PVwic3VibWl0XCI+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+6LSm5oi3PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJ1c2VybmFtZVwiIHBsYWNlaG9sZGVyPVwi5rOo5YaM6LSm5oi3XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktbWFyZ2luLXRvcFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPuWvhueggTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgbmFtZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCLlr4bnoIFcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLXRleHQtc21hbGwgZ3VpLWNvbG9yLWdyYXlcIj7lp5PlkI08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgbmFtZT1cIm5hbWVcIiBwbGFjZWhvbGRlcj1cIuWnk+WQjVwiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPui6q+mrmDwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJoZWlnaHRcIiBwbGFjZWhvbGRlcj1cImNtXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPuS9k+mHjTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJ3ZWlnaHRcIiBwbGFjZWhvbGRlcj1cIktHXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPuW5tOm+hDwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJhZ2VcIiBwbGFjZWhvbGRlcj1cIuW5tOm+hFwiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dC1zbWFsbCBndWktY29sb3ItZ3JheVwiPuaAp+WIqzwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYm9yZGVyLWJcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZvcm0tYm9keVwiPlxyXG5cdFx0XHRcdFx0XHQ8cGlja2VyIG1vZGU9XCJzZWxlY3RvclwiIDpyYW5nZT1cImdlbmRlclwiIEBjaGFuZ2U9XCJwaWNrZXJDaGFuZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLXNwYWNlLWJldHdlZW4gZ3VpLWFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dFwiPnt7Z2VuZGVyW2dlbmRlckluZGV4XX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tdG9wOjM4cnB4O1wiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiZGVmYXVsdFwiIGNsYXNzPVwiZ3VpLWJ1dHRvbiBndWktYmctYmxhY2tcIiBmb3JtVHlwZT1cInN1Ym1pdFwiXHJcblx0XHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czo1MHJweDtcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktY29sb3Itd2hpdGUgZ3VpLWJ1dHRvbi10ZXh0XCI+5rOoIOWGjDwvdGV4dD5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9mb3JtPlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cblx0dmFyIGdyYWNlSlMgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL2dyYWNlLmpzJyk7XG5cdHZhciByZXF1ZXN0ID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9yZXF1ZXN0L3JlcXVlc3QuanMnKTtcclxuXHR2YXIgZ3JhY2VDaGVja2VyID0gcmVxdWlyZShcIkAvR3JhY2VVSTUvanMvY2hlY2tlci5qc1wiKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGdlbmRlcjogWyfor7fpgInmi6nmgKfliKsnLCAn55S3JywgJ+WlsyddLFxyXG5cdFx0XHRcdGdlbmRlckluZGV4OiAwXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGZvcmdldFB3ZDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+ivt+iHquihjOWujOWWhOS7o+eggScpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRsb2dpbmJ5bXNnOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn6K+36Ieq6KGM5a6M5ZaE5Luj56CBJyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIHBpY2tlciDliIfmjaJcclxuXHRcdFx0cGlja2VyQ2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSk7XHJcblx0XHRcdFx0dGhpcy5nZW5kZXJJbmRleCA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdWJtaXQ6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyDooajljZXmlbDmja5cclxuXHRcdFx0XHR2YXIgZm9ybURhdGEgPSBlLmRldGFpbC52YWx1ZTtcblx0XHRcdFx0XG5cdFx0XHRcdGZvcm1EYXRhLnNleCA9IHRoaXMuZ2VuZGVySW5kZXggPT0gMCA/IDEgOiB0aGlzLmdlbmRlckluZGV4IFxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGZvcm1EYXRhKTtcblx0XHRcdFxyXG5cdFx0XHRcdC8vIOWIqeeUqCBncmFjZVVJIOeahOihqOWNlemqjOivgeW3peWFt+i/m+ihjOmqjOivgVxyXG5cdFx0XHRcdC8v5a6a5LmJ6KGo5Y2V6KeE5YiZXHJcblx0XHRcdFx0dmFyIHJ1bGUgPSBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcInVzZXJuYW1lXCIsXHJcblx0XHRcdFx0XHRcdGNoZWNrVHlwZTogXCJzdHJpbmdcIixcclxuXHRcdFx0XHRcdFx0Y2hlY2tSdWxlOiBcIjEsMTBcIixcclxuXHRcdFx0XHRcdFx0ZXJyb3JNc2c6IFwi6LSm5oi36L6T5YWl5pyJ6K+vXCJcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwicGFzc3dvcmRcIixcclxuXHRcdFx0XHRcdFx0Y2hlY2tUeXBlOiBcInN0cmluZ1wiLFxyXG5cdFx0XHRcdFx0XHRjaGVja1J1bGU6IFwiMSwyMFwiLFxyXG5cdFx0XHRcdFx0XHRlcnJvck1zZzogXCLlr4bnoIHoh7PlsJEx5Liq5a2X56ymXCJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdO1xyXG5cdFx0XHRcdHZhciBjaGVja1JlcyA9IGdyYWNlQ2hlY2tlci5jaGVjayhmb3JtRGF0YSwgcnVsZSk7XHJcblx0XHRcdFx0aWYgKGNoZWNrUmVzKSB7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0cmVxdWVzdC5wb3N0KFwiYm9oZS9hZGRcIix7ZGF0YTpmb3JtRGF0YX0sKHJlcyk9Pntcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0aWYocmVzLmRhdGEuY29kZSA9PSAyMDAgKXtcblx0XHRcdFx0XHRcdFx0dmFyIHVzZXIgPSB7dXNlcjpyZXMuZGF0YS5kYXRhfVxuXHRcdFx0XHRcdFx0XHRncmFjZUpTLnNldFN0b3JhZ2UocmVzLmRhdGEuZGF0YSlcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5rOo5YaM5oiQ5YqfXCIsXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzcygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOlwiLi4vc3dpdGNoUGFnZXMvaW5kZXhcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSw1MDApXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC8vIOagueaNrumhueebrumcgOimgeWujOaIkOaVsOaNrumqjOivgeW3peS9nFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6IGdyYWNlQ2hlY2tlci5lcnJvcixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCJcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZT5cclxuXHQubG9naW4tbG9nbyB7XHJcblx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0aGVpZ2h0OiAxODBycHg7XHJcblx0XHRmb250LXNpemU6IDgwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEyMHJweDtcclxuXHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMThycHg7XHJcblx0fVxyXG5cclxuXHQub3RoZXItbG9naW4taWNvbnMge1xyXG5cdFx0d2lkdGg6IDg4cnB4O1xyXG5cdFx0aGVpZ2h0OiA4OHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogNzBycHg7XHJcblx0XHRtYXJnaW46IDIwcnB4O1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///91\n"); + +/***/ }), +/* 92 */ +/*!*******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-list/c-list.vue?mpType=page ***! + \*******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-list.vue?vue&type=template&id=b6551dd4&mpType=page */ 93);\n/* harmony import */ var _c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-list.vue?vue&type=script&lang=js&mpType=page */ 100);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/c-list/c-list.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEg7QUFDOUg7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSw0RkFBTTtBQUNSLEVBQUUscUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsZ0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiOTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2MtbGlzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YjY1NTFkZDQmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2MtbGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vYy1saXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2MtbGlzdC9jLWxpc3QudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///92\n"); + +/***/ }), +/* 93 */ +/*!*************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-list/c-list.vue?vue&type=template&id=b6551dd4&mpType=page ***! + \*************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-list.vue?vue&type=template&id=b6551dd4&mpType=page */ 94); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_template_id_b6551dd4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 94 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-list/c-list.vue?vue&type=template&id=b6551dd4&mpType=page ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiPage: __webpack_require__(/*! @/GraceUI5/components/gui-page.vue */ 20).default, + guiSearch: __webpack_require__(/*! @/GraceUI5/components/gui-search.vue */ 95).default, + guiModal: __webpack_require__(/*! @/GraceUI5/components/gui-modal.vue */ 57).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + [ + _c( + "gui-page", + { + ref: "guiPage", + attrs: { fullPage: true, isLoading: _vm.pageLoading, _i: 1 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(2, "sc", "gui-flex1"), + attrs: { _i: 2 }, + slot: "gBody", + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 3, + "sc", + "header-search gui-bg-gray gui-border-box" + ), + attrs: { _i: 3 }, + }, + [ + _c("gui-search", { + attrs: { _i: 4 }, + on: { clear: _vm.search, confirm: _vm.search }, + }), + ], + 1 + ), + _c( + "view", + { + staticClass: _vm._$s( + 5, + "sc", + "gui-flex gui-rows gui-space-between" + ), + attrs: { _i: 5 }, + }, + [ + _c( + "scroll-view", + { + staticClass: _vm._$s(6, "sc", "gui-cate-left"), + style: _vm._$s(6, "s", { height: _vm.mainHeight + "px" }), + attrs: { + "scroll-into-view": _vm._$s( + 6, + "a-scroll-into-view", + _vm.leftTo + ), + _i: 6, + }, + }, + _vm._l( + _vm._$s(7, "f", { forItems: _vm.mainCate }), + function (item, index, $20, $30) { + return _c( + "view", + { + key: _vm._$s(7, "f", { forIndex: $20, key: index }), + staticClass: _vm._$s( + "7-" + $30, + "sc", + "gui-cate-left-item gui-border-box" + ), + class: _vm._$s("7-" + $30, "c", [ + _vm.currentCateIndex == item.id + ? "gui-cate-left-current" + : "", + ]), + attrs: { + id: _vm._$s("7-" + $30, "a-id", "cate" + item.id), + _i: "7-" + $30, + }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "8-" + $30, + "sc", + "gui-border-l" + ), + class: _vm._$s("8-" + $30, "c", [ + "gui-cate-left-item-title", + "gui-block-text", + _vm.currentCateIndex == item.id + ? "gui-cate-left-current" + : "", + ]), + attrs: { + "data-cateid": _vm._$s( + "8-" + $30, + "a-data-cateid", + item.id + ), + _i: "8-" + $30, + }, + on: { click: _vm.changCate }, + }, + [ + _vm._v( + _vm._$s("8-" + $30, "t0-0", _vm._s(item.name)) + ), + ] + ), + ] + ) + } + ), + 0 + ), + _c( + "scroll-view", + { + staticClass: _vm._$s(9, "sc", "gui-cate-right"), + style: _vm._$s(9, "s", { height: _vm.mainHeight + "px" }), + attrs: { + "scroll-into-view": _vm._$s( + 9, + "a-scroll-into-view", + _vm.productListTo + ), + _i: 9, + }, + on: { scroll: _vm.rscroll }, + }, + _vm._l( + _vm._$s(10, "f", { forItems: _vm.mainCate }), + function (cate, idx, $21, $31) { + return _c( + "view", + { + key: _vm._$s(10, "f", { forIndex: $21, key: idx }), + staticClass: _vm._$s( + "10-" + $31, + "sc", + "gui-margin-top" + ), + attrs: { + id: _vm._$s( + "10-" + $31, + "a-id", + "productList" + cate.id + ), + _i: "10-" + $31, + }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "11-" + $31, + "sc", + "gui-block-text gui-h6 gui-bold gui-color-gray gui-cate-right-title" + ), + attrs: { _i: "11-" + $31 }, + }, + [ + _vm._v( + _vm._$s( + "11-" + $31, + "t0-0", + _vm._s(cate.name) + ) + ), + ] + ), + _vm._l( + _vm._$s(12 + "-" + $31, "f", { + forItems: cate.products, + }), + function (product, pidx, $22, $32) { + return _c( + "view", + { + key: _vm._$s(12 + "-" + $31, "f", { + forIndex: $22, + key: pidx, + }), + staticClass: _vm._$s( + "12-" + $31 + "-" + $32, + "sc", + "gui-flex gui-rows gui-nowrap gui-cate-product-list gui-align-items-center" + ), + attrs: { + id: _vm._$s( + "12-" + $31 + "-" + $32, + "a-id", + "products" + product.id + ), + "data-parentid": _vm._$s( + "12-" + $31 + "-" + $32, + "a-data-parentid", + cate.id + ), + _i: "12-" + $31 + "-" + $32, + }, + on: { + click: function ($event) { + return _vm.open1(product) + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "13-" + $31 + "-" + $32, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: "13-" + $31 + "-" + $32 }, + }, + [ + _c("image", { + staticClass: _vm._$s( + "14-" + $31 + "-" + $32, + "sc", + "gui-list-image" + ), + attrs: { + src: _vm._$s( + "14-" + $31 + "-" + $32, + "a-src", + product.thumbImageUrl + ), + _i: "14-" + $31 + "-" + $32, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + "15-" + $31 + "-" + $32, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: "15-" + $31 + "-" + $32 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "16-" + $31 + "-" + $32, + "sc", + "gui-list-title" + ), + attrs: { + _i: "16-" + $31 + "-" + $32, + }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "17-" + $31 + "-" + $32, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { + _i: "17-" + $31 + "-" + $32, + }, + }, + [ + _vm._v( + _vm._$s( + "17-" + $31 + "-" + $32, + "t0-0", + _vm._s(product.name) + ) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "18-" + $31 + "-" + $32, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { + _i: "18-" + $31 + "-" + $32, + }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "19-" + $31 + "-" + $32, + "sc", + "gui-color-red" + ), + attrs: { + _i: "19-" + $31 + "-" + $32, + }, + }, + [ + _vm._v( + _vm._$s( + "19-" + $31 + "-" + $32, + "t0-0", + _vm._s(product.calory) + ) + ), + ] + ), + _vm._v( + _vm._$s( + "18-" + $31 + "-" + $32, + "t1-0", + _vm._s(product.weight) + ) + ), + ] + ), + ] + ), + _vm._$s( + "20-" + $31 + "-" + $32, + "i", + product.healthLight == 1 + ) + ? _c("text", { + staticClass: _vm._$s( + "20-" + $31 + "-" + $32, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-green" + ), + attrs: { + _i: "20-" + $31 + "-" + $32, + }, + }) + : _vm._e(), + _vm._$s( + "21-" + $31 + "-" + $32, + "i", + product.healthLight == 2 + ) + ? _c("text", { + staticClass: _vm._$s( + "21-" + $31 + "-" + $32, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-yellow" + ), + attrs: { + _i: "21-" + $31 + "-" + $32, + }, + }) + : _vm._e(), + _vm._$s( + "22-" + $31 + "-" + $32, + "i", + product.healthLight == 3 + ) + ? _c("text", { + staticClass: _vm._$s( + "22-" + $31 + "-" + $32, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-red" + ), + attrs: { + _i: "22-" + $31 + "-" + $32, + }, + }) + : _vm._e(), + _vm._$s( + "23-" + $31 + "-" + $32, + "i", + product.healthLight == 4 + ) + ? _c("text", { + staticClass: _vm._$s( + "23-" + $31 + "-" + $32, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-black" + ), + attrs: { + _i: "23-" + $31 + "-" + $32, + }, + }) + : _vm._e(), + ] + ) + } + ), + ], + 2 + ) + } + ), + 0 + ), + ] + ), + ] + ), + ] + ), + _c( + "gui-modal", + { + ref: "guimodal1", + attrs: { + title: + _vm.type == 0 + ? _vm.food.createTime + " " + _vm.food.name + " 早餐" + : _vm.type == 1 + ? _vm.food.createTime + " " + _vm.food.name + " 午餐" + : _vm.type == 2 + ? _vm.food.createTime + " " + _vm.food.name + " 晚餐" + : _vm.type == 3 + ? _vm.food.createTime + " " + _vm.food.name + " 加餐" + : _vm.food.createTime + " " + _vm.food.name + " 运动", + _i: 24, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(25, "sc", "gui-padding gui-bg-gray"), + attrs: { _i: 25 }, + slot: "content", + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 26, + "sc", + "gui-flex gui-rows gui-nowrap gui-cate-product-list gui-align-items-center" + ), + attrs: { _i: 26 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 27, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: 27 }, + }, + [ + _c("image", { + staticClass: _vm._$s(28, "sc", "gui-list-image"), + attrs: { + src: _vm._$s(28, "a-src", _vm.food.thumbImageUrl), + _i: 28, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 29, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: 29 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(30, "sc", "gui-list-title"), + attrs: { _i: 30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + 31, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: 31 }, + }, + [_vm._v(_vm._$s(31, "t0-0", _vm._s(_vm.food.name)))] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + 32, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: 32 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s(33, "sc", "gui-color-red"), + attrs: { _i: 33 }, + }, + [ + _vm._v( + _vm._$s(33, "t0-0", _vm._s(_vm.food.calory)) + ), + ] + ), + _vm._v(_vm._$s(32, "t1-0", _vm._s(_vm.food.weight))), + ] + ), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 34, + "sc", + "gui-flex gui-align-items-center gui-justify-content-start" + ), + attrs: { _i: 34 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 35, + "sc", + "gui-color-gray gui-flex gui-text-small" + ), + attrs: { _i: 35 }, + }, + [ + _vm._v( + _vm._$s( + 35, + "t0-0", + _vm._s( + (_vm.food.calory * _vm.form.value) / _vm.food.weight + ) + ) + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(36, "sc", "gui-text-center"), + attrs: { _i: 36 }, + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.form.value, + expression: "form.value", + }, + ], + attrs: { id: "", _i: 37 }, + domProps: { + value: _vm._$s(37, "v-model", _vm.form.value), + }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.form, "value", $event.target.value) + }, + }, + }), + ] + ), + _c("view", { + staticClass: _vm._$s( + 38, + "sc", + "gui-color-gray gui-text-small" + ), + attrs: { _i: 38 }, + }), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 39, + "sc", + "gui-flex gui-rows gui-space-between" + ), + attrs: { _i: 39 }, + slot: "btns", + }, + [ + _c( + "view", + { + staticClass: _vm._$s(40, "sc", "modal-btns gui-flex1"), + attrs: { _i: 40 }, + }, + [ + _c("text", { + staticClass: _vm._$s(41, "sc", "modal-btns gui-color-gray"), + attrs: { _i: 41 }, + on: { click: _vm.close1 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(42, "sc", "modal-btns gui-flex1"), + attrs: { _i: 42 }, + }, + [ + _c("text", { + staticClass: _vm._$s(43, "sc", "modal-btns gui-color-blue"), + attrs: { _i: 43 }, + on: { click: _vm.confirm1 }, + }), + ] + ), + ] + ), + ] + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 95 */ +/*!******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-search.vue ***! + \******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-search.vue?vue&type=template&id=3af6459b&scoped=true& */ 96);\n/* harmony import */ var _gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-search.vue?vue&type=script&lang=js& */ 98);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"3af6459b\",\n null,\n false,\n _gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-search.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUk7QUFDbkk7QUFDOEQ7QUFDTDs7O0FBR3pEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLGdGQUFNO0FBQ1IsRUFBRSxpR0FBTTtBQUNSLEVBQUUsMEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUscUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiOTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2d1aS1zZWFyY2gudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTNhZjY0NTliJnNjb3BlZD10cnVlJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZ3VpLXNlYXJjaC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2d1aS1zZWFyY2gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiM2FmNjQ1OWJcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiR3JhY2VVSTUvY29tcG9uZW50cy9ndWktc2VhcmNoLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///95\n"); + +/***/ }), +/* 96 */ +/*!*************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-search.vue?vue&type=template&id=3af6459b&scoped=true& ***! + \*************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-search.vue?vue&type=template&id=3af6459b&scoped=true& */ 97); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_template_id_3af6459b_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 97 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-search.vue?vue&type=template&id=3af6459b&scoped=true& ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s( + 0, + "sc", + "gui-flex gui-rows gui-nowrap gui-align-items-center" + ), + style: _vm._$s(0, "s", { + height: _vm.height, + backgroundColor: _vm.background, + borderRadius: _vm.borderRadius, + }), + attrs: { _i: 0 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 1, + "sc", + "gui-search-icon gui-icons gui-block-text gui-text-center" + ), + style: _vm._$s(1, "s", { + color: _vm.iconColor, + fontSize: _vm.iconFontSize, + lineHeight: _vm.height, + width: _vm.iconWidth, + }), + attrs: { _i: 1 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.tapme($event) + }, + }, + }), + _vm._$s(2, "i", !_vm.disabled) + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.inputVal, + expression: "inputVal", + }, + ], + staticClass: _vm._$s(2, "sc", "gui-search-input gui-flex1"), + style: _vm._$s(2, "s", { + height: _vm.inputHeight, + lineHeight: _vm.inputHeight, + fontSize: _vm.inputFontSize, + color: _vm.inputColor, + }), + attrs: { + "placeholder-class": _vm._$s( + 2, + "a-placeholder-class", + _vm.placeholderClass + ), + placeholder: _vm._$s(2, "a-placeholder", _vm.placeholder), + focus: _vm._$s(2, "a-focus", _vm.focus), + _i: 2, + }, + domProps: { value: _vm._$s(2, "v-model", _vm.inputVal) }, + on: { + input: [ + function ($event) { + if ($event.target.composing) { + return + } + _vm.inputVal = $event.target.value + }, + _vm.inputting, + ], + confirm: _vm.confirm, + }, + }) + : _vm._e(), + _vm._$s(3, "i", _vm.disabled) + ? _c( + "text", + { + staticClass: _vm._$s( + 3, + "sc", + "gui-search-input gui-flex1 gui-block-text" + ), + style: _vm._$s(3, "s", { + height: _vm.inputHeight, + lineHeight: _vm.inputHeight, + fontSize: _vm.inputFontSize, + color: _vm.disableColor, + }), + attrs: { _i: 3 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.tapme($event) + }, + }, + }, + [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.placeholder)))] + ) + : _vm._e(), + _vm._$s(4, "i", _vm.inputVal.length > 0 && _vm.clearBtn) + ? _c("text", { + staticClass: _vm._$s( + 4, + "sc", + "gui-search-icon gui-icons gui-block-text gui-text-center" + ), + style: _vm._$s(4, "s", { + color: _vm.iconColor, + fontSize: _vm.iconFontSize, + lineHeight: _vm.height, + width: _vm.iconWidth, + }), + attrs: { _i: 4 }, + on: { + click: function ($event) { + $event.stopPropagation() + return _vm.clearKwd($event) + }, + }, + }) + : _vm._e(), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 98 */ +/*!*******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-search.vue?vue&type=script&lang=js& ***! + \*******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-search.vue?vue&type=script&lang=js& */ 99);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtzQixDQUFnQiw0cUJBQUcsRUFBQyIsImZpbGUiOiI5OC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2d1aS1zZWFyY2gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9ndWktc2VhcmNoLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///98\n"); + +/***/ }), +/* 99 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-search.vue?vue&type=script&lang=js& ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"gui-search\",\n props: {\n height: {\n type: String,\n default: '66rpx'\n },\n background: {\n type: String,\n default: '#FFFFFF'\n },\n fontSize: {\n type: String,\n default: '28rpx'\n },\n iconWidth: {\n type: String,\n default: '70rpx'\n },\n iconColor: {\n type: String,\n default: '#A5A7B2'\n },\n iconFontSize: {\n type: String,\n default: '30rpx'\n },\n inputHeight: {\n type: String,\n default: '30rpx'\n },\n inputFontSize: {\n type: String,\n default: '26rpx'\n },\n inputColor: {\n type: String,\n default: '#323232'\n },\n placeholder: {\n type: String,\n default: '关键字'\n },\n placeholderClass: {\n type: String,\n default: ''\n },\n disableColor: {\n type: String,\n default: '#666666'\n },\n kwd: {\n type: String,\n default: ''\n },\n borderRadius: {\n type: String,\n default: '66rpx'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n focus: {\n type: Boolean,\n default: false\n },\n clearBtn: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n inputVal: ''\n };\n },\n created: function created() {\n this.inputVal = this.kwd;\n },\n watch: {\n kwd: function kwd(val, vo) {\n this.inputVal = val;\n }\n },\n methods: {\n clearKwd: function clearKwd() {\n this.inputVal = '';\n this.$emit('clear', '');\n },\n inputting: function inputting(e) {\n this.$emit('inputting', e.detail.value);\n },\n confirm: function confirm(e) {\n this.$emit('confirm', e.detail.value);\n uni.hideKeyboard();\n },\n tapme: function tapme() {\n this.$emit('tapme');\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvY29tcG9uZW50cy9ndWktc2VhcmNoLnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwicHJvcHMiLCJoZWlnaHQiLCJ0eXBlIiwiZGVmYXVsdCIsImJhY2tncm91bmQiLCJmb250U2l6ZSIsImljb25XaWR0aCIsImljb25Db2xvciIsImljb25Gb250U2l6ZSIsImlucHV0SGVpZ2h0IiwiaW5wdXRGb250U2l6ZSIsImlucHV0Q29sb3IiLCJwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyQ2xhc3MiLCJkaXNhYmxlQ29sb3IiLCJrd2QiLCJib3JkZXJSYWRpdXMiLCJkaXNhYmxlZCIsImZvY3VzIiwiY2xlYXJCdG4iLCJkYXRhIiwiaW5wdXRWYWwiLCJjcmVhdGVkIiwid2F0Y2giLCJtZXRob2RzIiwiY2xlYXJLd2QiLCJpbnB1dHRpbmciLCJjb25maXJtIiwidW5pIiwidGFwbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQThDQTtFQUNBQTtFQUNBQztJQUNBQztNQUFBQztNQUFBQztJQUFBO0lBQ0FDO01BQUFGO01BQUFDO0lBQUE7SUFDQUU7TUFBQUg7TUFBQUM7SUFBQTtJQUNBRztNQUFBSjtNQUFBQztJQUFBO0lBQ0FJO01BQUFMO01BQUFDO0lBQUE7SUFDQUs7TUFBQU47TUFBQUM7SUFBQTtJQUNBTTtNQUFBUDtNQUFBQztJQUFBO0lBQ0FPO01BQUFSO01BQUFDO0lBQUE7SUFDQVE7TUFBQVQ7TUFBQUM7SUFBQTtJQUNBUztNQUFBVjtNQUFBQztJQUFBO0lBQ0FVO01BQUFYO01BQUFDO0lBQUE7SUFDQVc7TUFBQVo7TUFBQUM7SUFBQTtJQUNBWTtNQUFBYjtNQUFBQztJQUFBO0lBQ0FhO01BQUFkO01BQUFDO0lBQUE7SUFDQWM7TUFBQWY7TUFBQUM7SUFBQTtJQUNBZTtNQUFBaEI7TUFBQUM7SUFBQTtJQUNBZ0I7TUFBQWpCO01BQUFDO0lBQUE7RUFDQTtFQUNBaUI7SUFDQTtNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FSO01BQ0E7SUFDQTtFQUNBO0VBQ0FTO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6Ijk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLW5vd3JhcCBndWktYWxpZ24taXRlbXMtY2VudGVyXCIgXHJcblx0OnN0eWxlPVwie1xyXG5cdFx0aGVpZ2h0OmhlaWdodCwgXHJcblx0XHRiYWNrZ3JvdW5kQ29sb3I6YmFja2dyb3VuZCxcclxuXHRcdGJvcmRlclJhZGl1czpib3JkZXJSYWRpdXNcclxuXHRcdH1cIj5cclxuXHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLXNlYXJjaC1pY29uIGd1aS1pY29ucyBndWktYmxvY2stdGV4dCBndWktdGV4dC1jZW50ZXJcIiBAdGFwLnN0b3A9XCJ0YXBtZVwiIFxyXG5cdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRjb2xvcjppY29uQ29sb3IsIFxyXG5cdFx0XHRmb250U2l6ZTppY29uRm9udFNpemUsIFxyXG5cdFx0XHRsaW5lSGVpZ2h0OmhlaWdodCwgd2lkdGg6aWNvbldpZHRoXHJcblx0XHR9XCI+JiN4ZTYwNDs8L3RleHQ+XHJcblx0XHRcclxuXHRcdDxpbnB1dCBcclxuXHRcdHR5cGU9XCJ0ZXh0XCIgXHJcblx0XHQ6cGxhY2Vob2xkZXItY2xhc3M9XCJwbGFjZWhvbGRlckNsYXNzXCIgXHJcblx0XHRjbGFzcz1cImd1aS1zZWFyY2gtaW5wdXQgZ3VpLWZsZXgxXCIgXHJcblx0XHQ6cGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiIFxyXG5cdFx0di1tb2RlbD1cImlucHV0VmFsXCIgXHJcblx0XHR2LWlmPVwiIWRpc2FibGVkXCIgOmZvY3VzPVwiZm9jdXNcIiBcclxuXHRcdDpzdHlsZT1cIntcclxuXHRcdFx0aGVpZ2h0OmlucHV0SGVpZ2h0LCBcclxuXHRcdFx0bGluZUhlaWdodDppbnB1dEhlaWdodCwgXHJcblx0XHRcdGZvbnRTaXplOmlucHV0Rm9udFNpemUsIFxyXG5cdFx0XHRjb2xvcjppbnB1dENvbG9yXHJcblx0XHR9XCIgXHJcblx0XHRAaW5wdXQ9XCJpbnB1dHRpbmdcIiBAY29uZmlybT1cImNvbmZpcm1cIiAvPlxyXG5cdFx0XHJcblx0XHQ8dGV4dCBjbGFzcz1cImd1aS1zZWFyY2gtaW5wdXQgZ3VpLWZsZXgxIGd1aS1ibG9jay10ZXh0XCIgXHJcblx0XHR2LWlmPVwiZGlzYWJsZWRcIiBAdGFwLnN0b3A9XCJ0YXBtZVwiIFxyXG5cdFx0OnN0eWxlPVwie1xyXG5cdFx0XHRoZWlnaHQ6aW5wdXRIZWlnaHQsIFxyXG5cdFx0XHRsaW5lSGVpZ2h0OmlucHV0SGVpZ2h0LCBcclxuXHRcdFx0Zm9udFNpemU6aW5wdXRGb250U2l6ZSwgXHJcblx0XHRcdGNvbG9yOmRpc2FibGVDb2xvcn1cIj57e3BsYWNlaG9sZGVyfX08L3RleHQ+XHJcblx0XHQ8dGV4dCBjbGFzcz1cImd1aS1zZWFyY2gtaWNvbiBndWktaWNvbnMgZ3VpLWJsb2NrLXRleHQgZ3VpLXRleHQtY2VudGVyXCIgXHJcblx0XHR2LWlmPVwiaW5wdXRWYWwubGVuZ3RoID4gMCAmJiBjbGVhckJ0blwiIEB0YXAuc3RvcD1cImNsZWFyS3dkXCIgXHJcblx0XHQ6c3R5bGU9XCJ7XHJcblx0XHRcdGNvbG9yOmljb25Db2xvciwgXHJcblx0XHRcdGZvbnRTaXplOmljb25Gb250U2l6ZSwgXHJcblx0XHRcdGxpbmVIZWlnaHQ6aGVpZ2h0LCBcclxuXHRcdFx0d2lkdGg6aWNvbldpZHRofVwiPiYjeGU3OGE7PC90ZXh0PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuZXhwb3J0IGRlZmF1bHR7XHJcblx0bmFtZSAgOiBcImd1aS1zZWFyY2hcIixcclxuXHRwcm9wcyA6IHtcclxuXHRcdGhlaWdodDp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JzY2cnB4J30sXHJcblx0XHRiYWNrZ3JvdW5kOnt0eXBlOlN0cmluZywgZGVmYXVsdDonI0ZGRkZGRid9LFxyXG5cdFx0Zm9udFNpemU6e3R5cGU6U3RyaW5nLCBkZWZhdWx0OicyOHJweCd9LFxyXG5cdFx0aWNvbldpZHRoOnt0eXBlOlN0cmluZywgZGVmYXVsdDonNzBycHgnfSxcclxuXHRcdGljb25Db2xvcjp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JyNBNUE3QjInfSxcclxuXHRcdGljb25Gb250U2l6ZTp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JzMwcnB4J30sXHJcblx0XHRpbnB1dEhlaWdodDp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6JzMwcnB4J30sXHJcblx0XHRpbnB1dEZvbnRTaXplOnt0eXBlOlN0cmluZywgZGVmYXVsdDonMjZycHgnfSxcclxuXHRcdGlucHV0Q29sb3I6e3R5cGU6U3RyaW5nLCBkZWZhdWx0OicjMzIzMjMyJ30sXHJcblx0XHRwbGFjZWhvbGRlcjp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6J+WFs+mUruWtlyd9LFxyXG5cdFx0cGxhY2Vob2xkZXJDbGFzczp7dHlwZTpTdHJpbmcsIGRlZmF1bHQ6Jyd9LFxyXG5cdFx0ZGlzYWJsZUNvbG9yOnt0eXBlOlN0cmluZywgZGVmYXVsdDonIzY2NjY2Nid9LFxyXG5cdFx0a3dkOnt0eXBlOlN0cmluZywgZGVmYXVsdDonJ30sXHJcblx0XHRib3JkZXJSYWRpdXM6e3R5cGU6U3RyaW5nLCBkZWZhdWx0Oic2NnJweCd9LFxyXG5cdFx0ZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbiwgZGVmYXVsdDpmYWxzZX0sXHJcblx0XHRmb2N1czp7dHlwZTpCb29sZWFuLCBkZWZhdWx0OmZhbHNlfSxcclxuXHRcdGNsZWFyQnRuOnt0eXBlOkJvb2xlYW4sIGRlZmF1bHQ6dHJ1ZX1cclxuXHR9LFxyXG5cdGRhdGEoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRpbnB1dFZhbCA6ICcnXHJcblx0XHR9XHJcblx0fSxcclxuXHRjcmVhdGVkOiBmdW5jdGlvbiAoKXtcclxuXHRcdHRoaXMuaW5wdXRWYWwgPSB0aGlzLmt3ZDtcclxuXHR9LFxyXG5cdHdhdGNoOntcclxuXHRcdGt3ZCA6IGZ1bmN0aW9uKHZhbCwgdm8pe1xyXG5cdFx0XHR0aGlzLmlucHV0VmFsID0gdmFsO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0bWV0aG9kczp7XHJcblx0XHRjbGVhckt3ZCA6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0dGhpcy5pbnB1dFZhbCA9ICcnO1xyXG5cdFx0XHR0aGlzLiRlbWl0KCdjbGVhcicsICcnKTtcclxuXHRcdH0sXHJcblx0XHRpbnB1dHRpbmcgOiBmdW5jdGlvbihlKXtcclxuXHRcdFx0dGhpcy4kZW1pdCgnaW5wdXR0aW5nJywgZS5kZXRhaWwudmFsdWUpO1xyXG5cdFx0fSxcclxuXHRcdGNvbmZpcm0gOiBmdW5jdGlvbiAoZSkge1xyXG5cdFx0XHR0aGlzLiRlbWl0KCdjb25maXJtJywgZS5kZXRhaWwudmFsdWUpO1xyXG5cdFx0XHR1bmkuaGlkZUtleWJvYXJkKCk7XHJcblx0XHR9LFxyXG5cdFx0dGFwbWUgOiBmdW5jdGlvbiAoKSB7XHJcblx0XHRcdHRoaXMuJGVtaXQoJ3RhcG1lJylcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbi5ndWktc2VhcmNoLWlucHV0e3dpZHRoOjEwMHJweDsgbWFyZ2luOjAgMTBycHg7IGJvcmRlci13aWR0aDowcnB4OyBwYWRkaW5nOjA7IGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTt9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///99\n"); + +/***/ }), +/* 100 */ +/*!*******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-list/c-list.vue?vue&type=script&lang=js&mpType=page ***! + \*******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-list.vue?vue&type=script&lang=js&mpType=page */ 101);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXlzQixDQUFnQixtckJBQUcsRUFBQyIsImZpbGUiOiIxMDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jLWxpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2MtbGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///100\n"); + +/***/ }), +/* 101 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-list/c-list.vue?vue&type=script&lang=js&mpType=page ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _guiPopup = _interopRequireDefault(__webpack_require__(/*! @/GraceUI5/components/gui-popup.vue */ 60));\nvar _grace = _interopRequireDefault(__webpack_require__(/*! @/GraceUI5/js/grace.js */ 14));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar cateChangeData = __webpack_require__(/*! @/GraceUI5/demoData/cateChange.js */ 102);\nvar _default = {\n components: {\n guipopup: _guiPopup.default\n },\n data: function data() {\n return {\n img: \"https://images.unsplash.com/photo-1660505465468-c898ea7ff674?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHx0b3BpYy1mZWVkfDQ2fHhqUFI0aGxrQkdBfHxlbnwwfHx8fA%3D%3D&auto=format&fit=crop&w=200&q=90\",\n // 全屏加载,当数据请求完毕时关闭\n pageLoading: true,\n // 核心区域高度\n mainHeight: 300,\n // 左侧分类定位\n leftTo: 'cate',\n // 标识切换时左侧点击触发的\n isLeftTap: false,\n // 左侧分类数据\n mainCate: cateChangeData.products,\n // 当前分类\n currentCateIndex: 1,\n // 延迟执行防止卡顿\n scrollTimer: null,\n // 产品列表滚动定位\n productListTo: '',\n food: {},\n form: {\n value: 100\n }\n };\n },\n onLoad: function onLoad(option) {\n var _this = this;\n __f__(\"log\", option.type, \" at pages/c-list/c-list.vue:173\");\n this.type = option.type;\n uni.gRequest.post(\"bohe/categorisAndFood\", {}, function (res) {\n if (res.data.code == 200) {\n _this.mainCate = res.data.data;\n }\n });\n __f__(\"log\", this.mainCate, \" at pages/c-list/c-list.vue:181\");\n // 获取页面主体高度从而得出主体高度\n graceJS.getRefs('guiPage', this, 0, function (ref) {\n ref.getDomSize('guiPageBody', function (e) {\n // 02. 导航的高度\n // 可以 使用 graceJS.select() 函数动态获取, 也可以使用 uni.upx2px 转换已知高度\n _this.mainHeight = e.height - uni.upx2px(110);\n setTimeout(function () {\n _this.pageLoading = false;\n }, 1000);\n });\n });\n },\n methods: {\n open1: function open1(e) {\n var date = new Date();\n this.food = e;\n this.food.createTime = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();\n this.$refs.guimodal1.open();\n },\n close1: function close1() {\n this.$refs.guimodal1.close();\n },\n confirm1: function confirm1() {\n __f__(\"log\", graceJS.getStorage(\"id\"), \" at pages/c-list/c-list.vue:210\");\n __f__(\"log\", this.type, \" at pages/c-list/c-list.vue:211\");\n __f__(\"log\", this.form, \" at pages/c-list/c-list.vue:212\");\n __f__(\"log\", this.food, \" at pages/c-list/c-list.vue:213\");\n __f__(\"log\", this.food.calory * this.form.value / this.food.weight, \" at pages/c-list/c-list.vue:214\");\n var params = {\n cType: this.type,\n cValue: this.food.calory * this.form.value / this.food.weight,\n cName: this.food.name,\n cId: this.food.id,\n cImg: this.food.thumbImageUrl,\n uid: graceJS.getStorage(\"id\"),\n cNum: this.form.value,\n cWeight: this.food.weight,\n createTime: this.food.createTime\n };\n __f__(\"log\", params, \" at pages/c-list/c-list.vue:226\");\n uni.gRequest.post(\"bohe/addCalory\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/c-list/c-list.vue:230\");\n if (res.data.code == 200) {}\n });\n // 客户点击确认按钮后的逻辑请在此处实现\n this.$refs.guimodal1.close();\n },\n changCate: function changCate(e) {\n var _this2 = this;\n this.isLeftTap = true;\n var cateid = e.currentTarget.dataset.cateid;\n this.currentCateIndex = cateid;\n if (cateid == 1) {\n this.productListTo = 'productList2';\n this.$nextTick(function () {\n _this2.productListTo = 'productList' + cateid;\n });\n } else {\n this.productListTo = 'productList' + cateid;\n }\n setTimeout(function () {\n _this2.isLeftTap = false;\n }, 3000);\n },\n rscroll: function rscroll(e) {\n var _this3 = this;\n if (this.isLeftTap) {\n return;\n }\n if (this.scrollTimer != null) {\n clearTimeout(this.scrollTimer);\n }\n this.scrollTimer = setTimeout(function () {\n _this3.getIndex();\n }, 100);\n },\n // 动态识别分类激活\n getIndex: function getIndex(i) {\n var _this4 = this;\n var query = uni.createSelectorQuery();\n query.selectAll('.gui-cate-product-list').boundingClientRect();\n query.selectViewport().scrollOffset();\n query.exec(function (res) {\n var products = res[0];\n for (var _i = 0; _i < products.length; _i++) {\n if (products[_i].top > 0 && products[_i].top >= _this4.mainHeight / 2) {\n _this4.currentCateIndex = products[_i].dataset.parentid, _this4.leftTo = 'cate' + products[_i].dataset.parentid;\n break;\n }\n }\n __f__(\"log\", _this4.leftTo, \" at pages/c-list/c-list.vue:283\");\n });\n },\n // 搜索\n search: function search(e) {\n var kwd = e;\n var searchIndex = -1;\n var index = 0;\n for (var k in this.mainCate) {\n for (var i = 0; i < this.mainCate[k].products.length; i++) {\n if (this.mainCate[k].products[i].name.indexOf(kwd) != -1) {\n searchIndex = this.mainCate[k].products[i].id;\n break;\n }\n index++;\n }\n if (searchIndex != -1) {\n break;\n }\n }\n if (searchIndex != -1) {\n this.productListTo = 'products' + searchIndex;\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYy1saXN0L2MtbGlzdC52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsImd1aXBvcHVwIiwiZGF0YSIsImltZyIsInBhZ2VMb2FkaW5nIiwibWFpbkhlaWdodCIsImxlZnRUbyIsImlzTGVmdFRhcCIsIm1haW5DYXRlIiwiY3VycmVudENhdGVJbmRleCIsInNjcm9sbFRpbWVyIiwicHJvZHVjdExpc3RUbyIsImZvb2QiLCJmb3JtIiwidmFsdWUiLCJvbkxvYWQiLCJ1bmkiLCJncmFjZUpTIiwicmVmIiwic2V0VGltZW91dCIsIm1ldGhvZHMiLCJvcGVuMSIsImNsb3NlMSIsImNvbmZpcm0xIiwiY1R5cGUiLCJjVmFsdWUiLCJjTmFtZSIsImNJZCIsImNJbWciLCJ1aWQiLCJjTnVtIiwiY1dlaWdodCIsImNyZWF0ZVRpbWUiLCJjaGFuZ0NhdGUiLCJyc2Nyb2xsIiwiY2xlYXJUaW1lb3V0IiwiZ2V0SW5kZXgiLCJxdWVyeSIsInNlYXJjaCIsInNlYXJjaEluZGV4IiwiaW5kZXgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUEwSUE7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFIQTtBQUNBO0FBQUEsZUFHQTtFQUNBQTtJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0E7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0E7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0FDLE9BRUE7TUFDQUM7UUFDQUM7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO01BQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQUM7UUFDQTtRQUNBO1FBQ0E7UUFDQUM7VUFDQTtRQUVBO01BQ0E7SUFDQTtFQUVBO0VBQ0FDO0lBQ0FDO01BQ0E7TUFHQTtNQUNBO01BRUE7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO01BQ0FoQjtRQUNBZDtNQUNBO1FBQ0E7UUFDQSwyQkFFQTtNQUVBO01BQ0E7TUFDQTtJQUNBO0lBR0ErQjtNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBZDtRQUNBO01BQ0E7SUFFQTtJQUNBZTtNQUFBO01BQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0FDO01BQ0FBO01BQ0FBO1FBQ0E7UUFDQTtVQUNBO1lBQ0EseURBQ0E7WUFDQTtVQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBQztZQUNBO1VBQ0E7VUFDQUM7UUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMTAxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3PlxyXG5cdFx0PGd1aS1wYWdlIDpmdWxsUGFnZT1cInRydWVcIiA6aXNMb2FkaW5nPVwicGFnZUxvYWRpbmdcIiByZWY9XCJndWlQYWdlXCI+XHJcblx0XHRcdDx2aWV3IHNsb3Q9XCJnQm9keVwiIGNsYXNzPVwiZ3VpLWZsZXgxXCI+XHJcblx0XHRcdFx0PCEtLSDmkJzntKLmoYYgLS0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoZWFkZXItc2VhcmNoIGd1aS1iZy1ncmF5IGd1aS1ib3JkZXItYm94XCI+XHJcblx0XHRcdFx0XHQ8Z3VpLXNlYXJjaCBAY2xlYXI9XCJzZWFyY2hcIiBAY29uZmlybT1cInNlYXJjaFwiPjwvZ3VpLXNlYXJjaD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PCEtLSDkuLvkvZPljLrln58gLS0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktcm93cyBndWktc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PCEtLSDlt6bkvqfliIbnsbvliJfooaggLS0+XHJcblx0XHRcdFx0XHQ8c2Nyb2xsLXZpZXcgOnNjcm9sbC15PVwidHJ1ZVwiIDpzaG93LXNjcm9sbGJhcj1cImZhbHNlXCIgOnNjcm9sbC13aXRoLWFuaW1hdGlvbj1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHQ6c2Nyb2xsLWludG8tdmlldz1cImxlZnRUb1wiIGNsYXNzPVwiZ3VpLWNhdGUtbGVmdFwiIDpzdHlsZT1cIntoZWlnaHQ6bWFpbkhlaWdodCsncHgnfVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1jYXRlLWxlZnQtaXRlbSBndWktYm9yZGVyLWJveFwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBtYWluQ2F0ZVwiIDprZXk9XCJpbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0OmNsYXNzPVwiW2N1cnJlbnRDYXRlSW5kZXggPT0gaXRlbS5pZCA/ICdndWktY2F0ZS1sZWZ0LWN1cnJlbnQnIDogJyddXCIgOmlkPVwiJ2NhdGUnK2l0ZW0uaWRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1ib3JkZXItbFwiXHJcblx0XHRcdFx0XHRcdFx0XHQ6Y2xhc3M9XCJbJ2d1aS1jYXRlLWxlZnQtaXRlbS10aXRsZScsJ2d1aS1ibG9jay10ZXh0JywgY3VycmVudENhdGVJbmRleCA9PSBpdGVtLmlkID8gJ2d1aS1jYXRlLWxlZnQtY3VycmVudCcgOiAnJ11cIlxyXG5cdFx0XHRcdFx0XHRcdFx0OmRhdGEtY2F0ZWlkPVwiaXRlbS5pZFwiIEB0YXA9XCJjaGFuZ0NhdGVcIj57e2l0ZW0ubmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cdFx0XHRcdFx0PCEtLSDlj7PkvqfliJfooaggLS0+XHJcblx0XHRcdFx0XHQ8c2Nyb2xsLXZpZXcgOnNjcm9sbC1pbnRvLXZpZXc9XCJwcm9kdWN0TGlzdFRvXCIgOnNob3ctc2Nyb2xsYmFyPVwiZmFsc2VcIiA6c2Nyb2xsLXdpdGgtYW5pbWF0aW9uPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdDpzY3JvbGwteT1cInRydWVcIiBjbGFzcz1cImd1aS1jYXRlLXJpZ2h0XCIgOnN0eWxlPVwie2hlaWdodDptYWluSGVpZ2h0KydweCd9XCIgQHNjcm9sbD1cInJzY3JvbGxcIj5cclxuXHRcdFx0XHRcdFx0PCEtLSDlvqrnjq/lsZXnpLrliIbnsbvlj4rliIbnsbvlr7nlupTnmoTkuqflk4HliJfooaggLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLW1hcmdpbi10b3BcIiA6aWQ9XCIncHJvZHVjdExpc3QnK2NhdGUuaWRcIiB2LWZvcj1cIihjYXRlLCBpZHgpIGluIG1haW5DYXRlXCJcclxuXHRcdFx0XHRcdFx0XHQ6a2V5PVwiaWR4XCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHRcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZ3VpLWJsb2NrLXRleHQgZ3VpLWg2IGd1aS1ib2xkIGd1aS1jb2xvci1ncmF5IGd1aS1jYXRlLXJpZ2h0LXRpdGxlXCI+e3tjYXRlLm5hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIOW+queOr+WxleekuuS6p+WTgSAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLWNhdGUtcHJvZHVjdC1saXN0IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCIocHJvZHVjdCwgcGlkeCkgaW4gY2F0ZS5wcm9kdWN0c1wiIDprZXk9XCJwaWR4XCIgOmlkPVwiJ3Byb2R1Y3RzJytwcm9kdWN0LmlkXCJcclxuXHRcdFx0XHRcdFx0XHRcdDpkYXRhLXBhcmVudGlkPVwiY2F0ZS5pZFwiICBAdGFwPVwib3BlbjEocHJvZHVjdClcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtaW1hZ2UgZ3VpLXJlbGF0aXZlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImd1aS1saXN0LWltYWdlXCIgOnNyYz1cInByb2R1Y3QudGh1bWJJbWFnZVVybFwiPjwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktbGlzdC1ib2R5IGd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtdGl0bGUtdGV4dCBndWktcHJpbWFyeS1jb2xvclwiPnt7cHJvZHVjdC5uYW1lfX08L3RleHQ+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImd1aS1jb2xvci1yZWRcIj57e3Byb2R1Y3QuY2Fsb3J5fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx05Y2D5Y2hL3t7cHJvZHVjdC53ZWlnaHR9feWFizwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYXJyb3ctcmlnaHQgZ3VpLWljb25zIGd1aS1jb2xvci1yZWQgZ3VpLWJnLWdyZWVuXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0di1pZj1cInByb2R1Y3QuaGVhbHRoTGlnaHQgPT0gMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtYXJyb3ctcmlnaHQgZ3VpLWljb25zIGd1aS1jb2xvci1yZWQgZ3VpLWJnLXllbGxvd1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHYtaWY9XCJwcm9kdWN0LmhlYWx0aExpZ2h0ID09IDJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImJvcmRlci1yYWRpdXM6IDEwMCU7d2lkdGg6IDIwdXB4O2hlaWdodDoyMHVweDtcIj48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1yZWRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR2LWlmPVwicHJvZHVjdC5oZWFsdGhMaWdodCA9PSAzXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC1hcnJvdy1yaWdodCBndWktaWNvbnMgZ3VpLWNvbG9yLXJlZCBndWktYmctYmxhY2tcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR2LWlmPVwicHJvZHVjdC5oZWFsdGhMaWdodCA9PSA0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJndWktY2F0ZS1waW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8Z3VpLWltYWdlIDpzcmM9XCJwcm9kdWN0LnRodW1iSW1hZ2VVcmxcIiA6d2lkdGg9XCIxNTBcIiA6aGVpZ2h0PVwiMTUwXCIgYm9yZGVyUmFkaXVzPVwiMTBycHhcIj48L2d1aS1pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY2F0ZS1wYm9keVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktdGV4dCBndWktcHJpbWFyeS1jb2xvciBndWktYmxvY2stdGV4dFwiPnt7cHJvZHVjdC5uYW1lfX0gwrcge3twcm9kdWN0LmlkfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLXNwYWNlLWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktY2F0ZS1wcmljZSBndWktY29sb3ItcmVkXCI+e3twcm9kdWN0LmNhbG9yeX19PHRleHQgY2xhc3M9XCJndWktY29sb3ItZ3JheVwiPuWNg+WNoS8xMDBnPC90ZXh0PjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLW5vd3JhcCBndWktc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWljb25zIGd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+QnV0dG9uPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHJcblx0XHQ8L2d1aS1wYWdlPlxuXHRcdFxuXHRcdDxndWktbW9kYWwgcmVmPVwiZ3VpbW9kYWwxXCIgXG5cdFx0XHRcdDp0aXRsZT1cIiB0eXBlID09IDAgPyBmb29kLmNyZWF0ZVRpbWUgKycgJysgZm9vZC5uYW1lKycg5pep6aSQJyA6IHR5cGUgPT0gMSA/IGZvb2QuY3JlYXRlVGltZSArJyAnKyBmb29kLm5hbWUrJyDljYjppJAnIDogdHlwZT09IDIgPyBmb29kLmNyZWF0ZVRpbWUgKycgJysgZm9vZC5uYW1lKycg5pma6aSQJyA6IHR5cGUgPT0gMyA/IGZvb2QuY3JlYXRlVGltZSArJyAnKyBmb29kLm5hbWUrJyDliqDppJAnIDogZm9vZC5jcmVhdGVUaW1lICsnICcrIGZvb2QubmFtZSsnIOi/kOWKqCdcIiA+XG5cdFx0XHRcdFx0PHZpZXcgc2xvdD1cImNvbnRlbnRcIiBjbGFzcz1cImd1aS1wYWRkaW5nIGd1aS1iZy1ncmF5XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLWNhdGUtcHJvZHVjdC1saXN0IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LWltYWdlIGd1aS1yZWxhdGl2ZVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImd1aS1saXN0LWltYWdlXCIgOnNyYz1cImZvb2QudGh1bWJJbWFnZVVybFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtYm9keSBndWktYm9yZGVyLWJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC10aXRsZS10ZXh0IGd1aS1wcmltYXJ5LWNvbG9yXCI+e3tmb29kLm5hbWV9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZ3VpLWNvbG9yLXJlZFwiPnt7Zm9vZC5jYWxvcnl9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdOWNg+WNoS97e2Zvb2Qud2VpZ2h0fX3lhYs8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLWFsaWduLWl0ZW1zLWNlbnRlciBndWktanVzdGlmeS1jb250ZW50LXN0YXJ0XCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWNvbG9yLWdyYXkgZ3VpLWZsZXggZ3VpLXRleHQtc21hbGxcIiBzdHlsZT1cIndpZHRoOiAzMCU7XCI+e3tmb29kLmNhbG9yeSAqIGZvcm0udmFsdWUgLyBmb29kLndlaWdodH19IOWNg+WNoTwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktdGV4dC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cIm51bWJlclwiIG5hbWU9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJmb3JtLnZhbHVlXCIgIGlkPVwiXCI+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29sb3ItZ3JheSAgZ3VpLXRleHQtc21hbGxcIiBzdHlsZT1cIndpZHRoOiAzMCU7XCI+XG5cdFx0XHRcdFx0XHRcdFx05Lyw566X6YeN6YePXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PCEtLSDliKnnlKggZmxleCDluIPlsYAg5Y+v5Lul5pS+572u5aSa5Liq6Ieq5a6a5LmJ5oyJ6ZKu5ZOmICAtLT5cblx0XHRcdFx0XHQ8dmlldyBzbG90PVwiYnRuc1wiIGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLXNwYWNlLWJldHdlZW5cIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibW9kYWwtYnRucyBndWktZmxleDFcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDo4MHJweDtcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJtb2RhbC1idG5zIGd1aS1jb2xvci1ncmF5XCIgQHRhcD1cImNsb3NlMVwiPuWPlua2iDwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibW9kYWwtYnRucyBndWktZmxleDFcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjgwcnB4O1wiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWNvbG9yLWJsdWVcIiBAdGFwPVwiY29uZmlybTFcIj7mt7vliqA8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L2d1aS1tb2RhbD5cblx0XHRcclxuXHRcdFxyXG5cdDwvdmlldz5cclxuXHQ8IS0tIOW6lemDqOW8ueWHuiAtLT5cclxuXHJcblxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdHZhciBncmFjZUpTID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9ncmFjZS5qcycpO1xyXG5cdHZhciBjYXRlQ2hhbmdlRGF0YSA9IHJlcXVpcmUoJ0AvR3JhY2VVSTUvZGVtb0RhdGEvY2F0ZUNoYW5nZS5qcycpO1xyXG5cdGltcG9ydCBndWlwb3B1cCBmcm9tIFwiQC9HcmFjZVVJNS9jb21wb25lbnRzL2d1aS1wb3B1cC52dWVcIjtcclxuaW1wb3J0IGdyYWNlIGZyb20gXCJAL0dyYWNlVUk1L2pzL2dyYWNlLmpzXCI7XG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0Z3VpcG9wdXBcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGltZzogXCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTY2MDUwNTQ2NTQ2OC1jODk4ZWE3ZmY2NzQ/aXhsaWI9cmItMS4yLjEmaXhpZD1Nbnd4TWpBM2ZEQjhNSHgwYjNCcFl5MW1aV1ZrZkRRMmZIaHFVRkkwYUd4clFrZEJmSHhsYm53d2ZIeDhmQSUzRCUzRCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTIwMCZxPTkwXCIsXHJcblx0XHRcdFx0Ly8g5YWo5bGP5Yqg6L2977yM5b2T5pWw5o2u6K+35rGC5a6M5q+V5pe25YWz6ZetXHJcblx0XHRcdFx0cGFnZUxvYWRpbmc6IHRydWUsXHJcblx0XHRcdFx0Ly8g5qC45b+D5Yy65Z+f6auY5bqmXHJcblx0XHRcdFx0bWFpbkhlaWdodDogMzAwLFxyXG5cdFx0XHRcdC8vIOW3puS+p+WIhuexu+WumuS9jVxyXG5cdFx0XHRcdGxlZnRUbzogJ2NhdGUnLFxyXG5cdFx0XHRcdC8vIOagh+ivhuWIh+aNouaXtuW3puS+p+eCueWHu+inpuWPkeeahFxyXG5cdFx0XHRcdGlzTGVmdFRhcDogZmFsc2UsXHJcblx0XHRcdFx0Ly8g5bem5L6n5YiG57G75pWw5o2uXHJcblx0XHRcdFx0bWFpbkNhdGU6IGNhdGVDaGFuZ2VEYXRhLnByb2R1Y3RzLFxyXG5cdFx0XHRcdC8vIOW9k+WJjeWIhuexu1xyXG5cdFx0XHRcdGN1cnJlbnRDYXRlSW5kZXg6IDEsXHJcblx0XHRcdFx0Ly8g5bu26L+f5omn6KGM6Ziy5q2i5Y2h6aG/XHJcblx0XHRcdFx0c2Nyb2xsVGltZXI6IG51bGwsXHJcblx0XHRcdFx0Ly8g5Lqn5ZOB5YiX6KGo5rua5Yqo5a6a5L2NXHJcblx0XHRcdFx0cHJvZHVjdExpc3RUbzogJycsXG5cdFx0XHRcdGZvb2Q6e1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmb3JtOntcblx0XHRcdFx0XHR2YWx1ZToxMDBcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkOiBmdW5jdGlvbihvcHRpb24pIHtcclxuXHRcdFx0Y29uc29sZS5sb2cob3B0aW9uLnR5cGUpXG5cdFx0XHR0aGlzLnR5cGUgPSBvcHRpb24udHlwZVxyXG5cdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvY2F0ZWdvcmlzQW5kRm9vZFwiLCB7fSwgKHJlcykgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5tYWluQ2F0ZSA9IHJlcy5kYXRhLmRhdGFcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9KVxyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLm1haW5DYXRlKVxyXG5cdFx0XHQvLyDojrflj5bpobXpnaLkuLvkvZPpq5jluqbku47ogIzlvpflh7rkuLvkvZPpq5jluqZcclxuXHRcdFx0Z3JhY2VKUy5nZXRSZWZzKCdndWlQYWdlJywgdGhpcywgMCwgKHJlZikgPT4ge1xyXG5cdFx0XHRcdHJlZi5nZXREb21TaXplKCdndWlQYWdlQm9keScsIChlKSA9PiB7XHJcblx0XHRcdFx0XHQvLyAwMi4g5a+86Iiq55qE6auY5bqmXHJcblx0XHRcdFx0XHQvLyDlj6/ku6Ug5L2/55SoIGdyYWNlSlMuc2VsZWN0KCkg5Ye95pWw5Yqo5oCB6I635Y+W77yMIOS5n+WPr+S7peS9v+eUqCB1bmkudXB4MnB4IOi9rOaNouW3suefpemrmOW6plxyXG5cdFx0XHRcdFx0dGhpcy5tYWluSGVpZ2h0ID0gZS5oZWlnaHQgLSB1bmkudXB4MnB4KDExMCk7XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdH0sIDEwMDApXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdG9wZW4xIDogZnVuY3Rpb24gKGUpIHtcblx0XHRcdFx0dmFyIGRhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0XHRcblxuXHRcdFx0XHR0aGlzLmZvb2QgPSBlXG5cdFx0XHRcdHRoaXMuZm9vZC5jcmVhdGVUaW1lID0gIGRhdGUuZ2V0RnVsbFllYXIoKSsnLScrKGRhdGUuZ2V0TW9udGgoKSArIDEpKyctJytkYXRlLmdldERhdGUoKVxuXHRcdFx0XHRcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLm9wZW4oKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGNsb3NlMSA6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLmNsb3NlKCk7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjb25maXJtMSA6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGdyYWNlSlMuZ2V0U3RvcmFnZShcImlkXCIpKVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy50eXBlKVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5mb3JtKVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5mb29kKVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5mb29kLmNhbG9yeSAqIHRoaXMuZm9ybS52YWx1ZSAvIHRoaXMuZm9vZC53ZWlnaHQpXG5cdFx0XHRcdFx0XHR2YXIgcGFyYW1zID0ge1xuXHRcdFx0XHRcdFx0XHRjVHlwZTp0aGlzLnR5cGUsXG5cdFx0XHRcdFx0XHRcdGNWYWx1ZTp0aGlzLmZvb2QuY2Fsb3J5ICogdGhpcy5mb3JtLnZhbHVlIC8gdGhpcy5mb29kLndlaWdodCxcblx0XHRcdFx0XHRcdFx0Y05hbWU6dGhpcy5mb29kLm5hbWUsXG5cdFx0XHRcdFx0XHRcdGNJZDp0aGlzLmZvb2QuaWQsXG5cdFx0XHRcdFx0XHRcdGNJbWc6dGhpcy5mb29kLnRodW1iSW1hZ2VVcmwsXG5cdFx0XHRcdFx0XHRcdHVpZDpncmFjZUpTLmdldFN0b3JhZ2UoXCJpZFwiKSxcblx0XHRcdFx0XHRcdFx0Y051bTp0aGlzLmZvcm0udmFsdWUsXG5cdFx0XHRcdFx0XHRcdGNXZWlnaHQ6dGhpcy5mb29kLndlaWdodCxcblx0XHRcdFx0XHRcdFx0Y3JlYXRlVGltZTp0aGlzLmZvb2QuY3JlYXRlVGltZVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocGFyYW1zKVxuXHRcdFx0XHRcdFx0dW5pLmdSZXF1ZXN0LnBvc3QoXCJib2hlL2FkZENhbG9yeVwiLCB7XG5cdFx0XHRcdFx0XHRcdGRhdGE6IHBhcmFtc1xuXHRcdFx0XHRcdFx0fSwgKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmNvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC8vIOWuouaIt+eCueWHu+ehruiupOaMiemSruWQjueahOmAu+i+keivt+WcqOatpOWkhOWunueOsFxuXHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5ndWltb2RhbDEuY2xvc2UoKTtcblx0XHRcdFx0XHR9LFxuXHRcdFxyXG5cdFx0XHJcblx0XHRcdGNoYW5nQ2F0ZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMuaXNMZWZ0VGFwID0gdHJ1ZTtcclxuXHRcdFx0XHR2YXIgY2F0ZWlkID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY2F0ZWlkO1xyXG5cdFx0XHRcdHRoaXMuY3VycmVudENhdGVJbmRleCA9IGNhdGVpZDtcclxuXHRcdFx0XHRpZiAoY2F0ZWlkID09IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMucHJvZHVjdExpc3RUbyA9ICdwcm9kdWN0TGlzdDInO1xyXG5cdFx0XHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnByb2R1Y3RMaXN0VG8gPSAncHJvZHVjdExpc3QnICsgY2F0ZWlkO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMucHJvZHVjdExpc3RUbyA9ICdwcm9kdWN0TGlzdCcgKyBjYXRlaWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pc0xlZnRUYXAgPSBmYWxzZTtcclxuXHRcdFx0XHR9LCAzMDAwKVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0cnNjcm9sbDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmlzTGVmdFRhcCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5zY3JvbGxUaW1lciAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaW1lcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuc2Nyb2xsVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0SW5kZXgoKTtcclxuXHRcdFx0XHR9LCAxMDApO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDliqjmgIHor4bliKvliIbnsbvmv4DmtLtcclxuXHRcdFx0Z2V0SW5kZXg6IGZ1bmN0aW9uKGkpIHtcclxuXHRcdFx0XHRjb25zdCBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KClcclxuXHRcdFx0XHRxdWVyeS5zZWxlY3RBbGwoJy5ndWktY2F0ZS1wcm9kdWN0LWxpc3QnKS5ib3VuZGluZ0NsaWVudFJlY3QoKVxyXG5cdFx0XHRcdHF1ZXJ5LnNlbGVjdFZpZXdwb3J0KCkuc2Nyb2xsT2Zmc2V0KClcclxuXHRcdFx0XHRxdWVyeS5leGVjKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHZhciBwcm9kdWN0cyA9IHJlc1swXTtcclxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0aWYgKHByb2R1Y3RzW2ldLnRvcCA+IDAgJiYgcHJvZHVjdHNbaV0udG9wID49IHRoaXMubWFpbkhlaWdodCAvIDIpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmN1cnJlbnRDYXRlSW5kZXggPSBwcm9kdWN0c1tpXS5kYXRhc2V0LnBhcmVudGlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5sZWZ0VG8gPSAnY2F0ZScgKyBwcm9kdWN0c1tpXS5kYXRhc2V0LnBhcmVudGlkO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmxlZnRUbyk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaQnOe0olxyXG5cdFx0XHRzZWFyY2g6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR2YXIga3dkID0gZTtcclxuXHRcdFx0XHR2YXIgc2VhcmNoSW5kZXggPSAtMTtcclxuXHRcdFx0XHR2YXIgaW5kZXggPSAwO1xyXG5cdFx0XHRcdGZvciAodmFyIGsgaW4gdGhpcy5tYWluQ2F0ZSkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLm1haW5DYXRlW2tdLnByb2R1Y3RzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLm1haW5DYXRlW2tdLnByb2R1Y3RzW2ldLm5hbWUuaW5kZXhPZihrd2QpICE9IC0xKSB7XHJcblx0XHRcdFx0XHRcdFx0c2VhcmNoSW5kZXggPSB0aGlzLm1haW5DYXRlW2tdLnByb2R1Y3RzW2ldLmlkO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGluZGV4Kys7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoc2VhcmNoSW5kZXggIT0gLTEpIHtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChzZWFyY2hJbmRleCAhPSAtMSkge1xyXG5cdFx0XHRcdFx0dGhpcy5wcm9kdWN0TGlzdFRvID0gJ3Byb2R1Y3RzJyArIHNlYXJjaEluZGV4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZT5cclxuXHQuZGVtby1jbG9zZSB7XHJcblx0XHR3aWR0aDogMTAwcnB4O1xyXG5cdFx0aGVpZ2h0OiAxMDBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTAwcnB4O1xyXG5cdFx0b3BhY2l0eTogMC44ODtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogNThycHg7XHJcblx0fVxyXG5cclxuXHQuZGVtby1sciB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0aGVpZ2h0OiAyMDBycHg7XHJcblx0fVxyXG5cclxuXHQuZGVtby1sci1pdGVtcyB7XHJcblx0XHRoZWlnaHQ6IDEyMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMjBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0LmhlYWRlci1zZWFyY2gge1xyXG5cdFx0cGFkZGluZzogMjBycHggODBycHg7XHJcblx0XHR3aWR0aDogNzUwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmd1aS1jYXRlLWxlZnQge1xyXG5cdFx0d2lkdGg6IDIwMHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGNkY3Rjg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhdGUtcmlnaHQge1xyXG5cdFx0d2lkdGg6IDUyMHJweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhdGUtbGVmdC1pdGVtIHtcclxuXHRcdGhlaWdodDogMTAwcnB4O1xyXG5cdFx0cGFkZGluZzogMzVycHggMDtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhdGUtbGVmdC1pdGVtLXRpdGxlIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzMnJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRib3JkZXItY29sb3I6ICNGNkY3Rjg7XHJcblx0XHRib3JkZXItbGVmdC13aWR0aDogOHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5ndWktY2F0ZS1sZWZ0LWN1cnJlbnQge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjRkYwMDY2ICFpbXBvcnRhbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Y29sb3I6ICNGRjAwNjY7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblxyXG5cdC5ndWktY2F0ZS1yaWdodC10aXRsZSB7XHJcblx0XHRsaW5lLWhlaWdodDogODBycHg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhdGUtcHJvZHVjdC1saXN0IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyNXJweDtcclxuXHR9XHJcblxyXG5cdC5ndWktY2F0ZS1waW1nIHtcclxuXHRcdHdpZHRoOiAxNTBycHg7XHJcblx0fVxyXG5cclxuXHQuZ3VpLWNhdGUtcGJvZHkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDMwcnB4O1xyXG5cdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRwYWRkaW5nLXRvcDogLTIwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmd1aS1jYXRlLXByaWNlIHtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNjBycHg7XHJcblx0fVxuXHQubW9kYWwtYnRuc3tsaW5lLWhlaWdodDo4OHJweDsgZm9udC1zaXplOjI2cnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgd2lkdGg6MjAwcnB4O31cblxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///101\n"); + +/***/ }), +/* 102 */ +/*!***************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/demoData/cateChange.js ***! + \***************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("module.exports = {\n products: [{\n cateid: 1,\n name: '分类 · 01',\n products: [{\n id: 11,\n name: \"标题\",\n price: 12.88\n }, {\n id: 12,\n name: \"标题\",\n price: 12.88\n }, {\n id: 13,\n name: \"标题\",\n price: 12.88\n }, {\n id: 14,\n name: \"标题\",\n price: 12.88\n }, {\n id: 15,\n name: \"标题\",\n price: 12.88\n }, {\n id: 16,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 2,\n name: '分类 · 02',\n products: [{\n id: 21,\n name: \"标题\",\n price: 12.88\n }, {\n id: 22,\n name: \"标题\",\n price: 12.88\n }, {\n id: 23,\n name: \"标题\",\n price: 12.88\n }, {\n id: 24,\n name: \"标题\",\n price: 12.88\n }, {\n id: 25,\n name: \"标题\",\n price: 12.88\n }, {\n id: 26,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 3,\n name: '分类 · 03',\n products: [{\n id: 31,\n name: \"标题\",\n price: 12.88\n }, {\n id: 32,\n name: \"标题\",\n price: 12.88\n }, {\n id: 33,\n name: \"标题\",\n price: 12.88\n }, {\n id: 34,\n name: \"标题\",\n price: 12.88\n }, {\n id: 35,\n name: \"标题\",\n price: 12.88\n }, {\n id: 36,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 4,\n name: '分类 · 04',\n products: [{\n id: 41,\n name: \"标题\",\n price: 12.88\n }, {\n id: 42,\n name: \"标题\",\n price: 12.88\n }, {\n id: 43,\n name: \"标题\",\n price: 12.88\n }, {\n id: 44,\n name: \"标题\",\n price: 12.88\n }, {\n id: 45,\n name: \"标题\",\n price: 12.88\n }, {\n id: 46,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 5,\n name: '分类 · 05',\n products: [{\n id: 51,\n name: \"标题\",\n price: 12.88\n }, {\n id: 52,\n name: \"标题\",\n price: 12.88\n }, {\n id: 53,\n name: \"标题\",\n price: 12.88\n }, {\n id: 54,\n name: \"标题\",\n price: 12.88\n }, {\n id: 55,\n name: \"标题\",\n price: 12.88\n }, {\n id: 56,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 6,\n name: '分类 · 06',\n products: [{\n id: 61,\n name: \"标题\",\n price: 12.88\n }, {\n id: 62,\n name: \"标题\",\n price: 12.88\n }, {\n id: 63,\n name: \"标题\",\n price: 12.88\n }, {\n id: 64,\n name: \"标题\",\n price: 12.88\n }, {\n id: 65,\n name: \"标题\",\n price: 12.88\n }, {\n id: 66,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 7,\n name: '分类 · 07',\n products: [{\n id: 71,\n name: \"标题\",\n price: 12.88\n }, {\n id: 72,\n name: \"标题\",\n price: 12.88\n }, {\n id: 73,\n name: \"标题\",\n price: 12.88\n }, {\n id: 74,\n name: \"标题\",\n price: 12.88\n }, {\n id: 75,\n name: \"标题\",\n price: 12.88\n }, {\n id: 76,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 8,\n name: '分类 · 08',\n products: [{\n id: 81,\n name: \"标题\",\n price: 12.88\n }, {\n id: 82,\n name: \"标题\",\n price: 12.88\n }, {\n id: 83,\n name: \"标题\",\n price: 12.88\n }, {\n id: 84,\n name: \"标题\",\n price: 12.88\n }, {\n id: 85,\n name: \"标题\",\n price: 12.88\n }, {\n id: 86,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 9,\n name: '分类 · 09',\n products: [{\n id: 91,\n name: \"标题\",\n price: 12.88\n }, {\n id: 92,\n name: \"标题\",\n price: 12.88\n }, {\n id: 93,\n name: \"标题\",\n price: 12.88\n }, {\n id: 94,\n name: \"标题\",\n price: 12.88\n }, {\n id: 95,\n name: \"标题\",\n price: 12.88\n }, {\n id: 96,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 10,\n name: '分类 · 10',\n products: [{\n id: 101,\n name: \"标题\",\n price: 12.88\n }, {\n id: 102,\n name: \"标题\",\n price: 12.88\n }, {\n id: 103,\n name: \"标题\",\n price: 12.88\n }, {\n id: 104,\n name: \"标题\",\n price: 12.88\n }, {\n id: 105,\n name: \"标题\",\n price: 12.88\n }, {\n id: 106,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 11,\n name: '分类 · 11',\n products: [{\n id: 111,\n name: \"标题\",\n price: 12.88\n }, {\n id: 112,\n name: \"标题\",\n price: 12.88\n }, {\n id: 113,\n name: \"标题\",\n price: 12.88\n }, {\n id: 114,\n name: \"标题\",\n price: 12.88\n }, {\n id: 115,\n name: \"标题\",\n price: 12.88\n }, {\n id: 116,\n name: \"标题\",\n price: 12.88\n }]\n }, {\n cateid: 12,\n name: '分类 · 12',\n products: [{\n id: 121,\n name: \"标题\",\n price: 12.88\n }, {\n id: 122,\n name: \"标题\",\n price: 12.88\n }, {\n id: 123,\n name: \"标题\",\n price: 12.88\n }, {\n id: 124,\n name: \"标题\",\n price: 12.88\n }, {\n id: 125,\n name: \"标题\",\n price: 12.88\n }, {\n id: 126,\n name: \"标题\",\n price: 12.88\n }]\n }]\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vR3JhY2VVSTUvZGVtb0RhdGEvY2F0ZUNoYW5nZS5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicHJvZHVjdHMiLCJjYXRlaWQiLCJuYW1lIiwiaWQiLCJwcmljZSJdLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsT0FBTyxHQUFJO0VBQ2pCQyxRQUFRLEVBQUcsQ0FDVjtJQUFFQyxNQUFNLEVBQUUsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFHRixRQUFRLEVBQUMsQ0FDdkM7TUFBQ0csRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUM7RUFDN0IsQ0FBQyxFQUNGO0lBQUVILE1BQU0sRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVGLFFBQVEsRUFBQyxDQUN0QztNQUFDRyxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQztFQUM3QixDQUFDLEVBQ0Y7SUFBRUgsTUFBTSxFQUFFLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUYsUUFBUSxFQUFDLENBQ3RDO01BQUNHLEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDO0VBQzdCLENBQUMsRUFDRjtJQUFFSCxNQUFNLEVBQUUsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFRixRQUFRLEVBQUMsQ0FDdEM7TUFBQ0csRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUM7RUFDN0IsQ0FBQyxFQUNGO0lBQUVILE1BQU0sRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVGLFFBQVEsRUFBQyxDQUN0QztNQUFDRyxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQztFQUM3QixDQUFDLEVBQ0Y7SUFBRUgsTUFBTSxFQUFFLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUYsUUFBUSxFQUFDLENBQ3RDO01BQUNHLEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDO0VBQzdCLENBQUMsRUFDRjtJQUFFSCxNQUFNLEVBQUUsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFRixRQUFRLEVBQUMsQ0FDdEM7TUFBQ0csRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUM7RUFDN0IsQ0FBQyxFQUNGO0lBQUVILE1BQU0sRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVGLFFBQVEsRUFBQyxDQUN0QztNQUFDRyxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQztFQUM3QixDQUFDLEVBQ0Y7SUFBRUgsTUFBTSxFQUFFLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUYsUUFBUSxFQUFDLENBQ3RDO01BQUNHLEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzdCO01BQUNELEVBQUUsRUFBQyxFQUFFO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDN0I7TUFBQ0QsRUFBRSxFQUFDLEVBQUU7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM3QjtNQUFDRCxFQUFFLEVBQUMsRUFBRTtNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDO0VBQzdCLENBQUMsRUFDRjtJQUFFSCxNQUFNLEVBQUUsRUFBRTtJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFRixRQUFRLEVBQUMsQ0FDdkM7TUFBQ0csRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM5QjtNQUFDRCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzlCO01BQUNELEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDOUI7TUFBQ0QsRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM5QjtNQUFDRCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzlCO01BQUNELEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUM7RUFDOUIsQ0FBQyxFQUNGO0lBQUVILE1BQU0sRUFBRSxFQUFFO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVGLFFBQVEsRUFBQyxDQUN2QztNQUFDRyxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzlCO01BQUNELEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDOUI7TUFBQ0QsRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM5QjtNQUFDRCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzlCO01BQUNELEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDOUI7TUFBQ0QsRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQztFQUM5QixDQUFDLEVBQ0Y7SUFBRUgsTUFBTSxFQUFFLEVBQUU7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUYsUUFBUSxFQUFDLENBQ3ZDO01BQUNHLEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDOUI7TUFBQ0QsRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM5QjtNQUFDRCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDLEVBQzlCO01BQUNELEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNFLEtBQUssRUFBQztJQUFLLENBQUMsRUFDOUI7TUFBQ0QsRUFBRSxFQUFDLEdBQUc7TUFBQ0QsSUFBSSxFQUFDLElBQUk7TUFBQ0UsS0FBSyxFQUFDO0lBQUssQ0FBQyxFQUM5QjtNQUFDRCxFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDRSxLQUFLLEVBQUM7SUFBSyxDQUFDO0VBQzlCLENBQUM7QUFFSixDQUFDIiwiZmlsZSI6IjEwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzICA9IHtcclxuXHRwcm9kdWN0cyA6IFtcclxuXHRcdHsgY2F0ZWlkOiAxLCBuYW1lOiAn5YiG57G7IMK3IDAxJyAsIHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjExLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjE0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxNSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogMiwgbmFtZTogJ+WIhuexuyDCtyAwMicsIHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjIxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoyMixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MjMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjI0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoyNSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MjYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogMywgbmFtZTogJ+WIhuexuyDCtyAwMycgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjMxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDozMixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MzMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjM0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDozNSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MzYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogNCwgbmFtZTogJ+WIhuexuyDCtyAwNCcgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjQxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo0MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NDMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjQ0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo0NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NDYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogNSwgbmFtZTogJ+WIhuexuyDCtyAwNScgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjUxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo1MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NTMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjU0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo1NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NTYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogNiwgbmFtZTogJ+WIhuexuyDCtyAwNicgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjYxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo2MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NjMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjY0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo2NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NjYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogNywgbmFtZTogJ+WIhuexuyDCtyAwNycgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjcxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo3MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NzMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjc0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo3NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6NzYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogOCwgbmFtZTogJ+WIhuexuyDCtyAwOCcgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjgxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo4MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6ODMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjg0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo4NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6ODYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogOSwgbmFtZTogJ+WIhuexuyDCtyAwOScgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjkxLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo5MixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6OTMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjk0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDo5NSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6OTYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX0sXHJcblx0XHR7IGNhdGVpZDogMTAsIG5hbWU6ICfliIbnsbsgwrcgMTAnICxwcm9kdWN0czpbXHJcblx0XHRcdHtpZDoxMDEsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjEwMixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTAzLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMDQsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjEwNSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTA2LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH1cclxuXHRcdF19LFxyXG5cdFx0eyBjYXRlaWQ6IDExLCBuYW1lOiAn5YiG57G7IMK3IDExJyAscHJvZHVjdHM6W1xyXG5cdFx0XHR7aWQ6MTExLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMTIsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjExMyxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTE0LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMTUsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjExNixuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9XHJcblx0XHRdfSxcclxuXHRcdHsgY2F0ZWlkOiAxMiwgbmFtZTogJ+WIhuexuyDCtyAxMicgLHByb2R1Y3RzOltcclxuXHRcdFx0e2lkOjEyMSxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTIyLG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMjMsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fSxcclxuXHRcdFx0e2lkOjEyNCxuYW1lOlwi5qCH6aKYXCIscHJpY2U6MTIuODh9LFxyXG5cdFx0XHR7aWQ6MTI1LG5hbWU6XCLmoIfpophcIixwcmljZToxMi44OH0sXHJcblx0XHRcdHtpZDoxMjYsbmFtZTpcIuagh+mimFwiLHByaWNlOjEyLjg4fVxyXG5cdFx0XX1cclxuXHRdXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///102\n"); + +/***/ }), +/* 103 */ +/*!*****************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-move-list/c-move-list.vue?mpType=page ***! + \*****************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-move-list.vue?vue&type=template&id=1c925190&mpType=page */ 104);\n/* harmony import */ var _c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-move-list.vue?vue&type=script&lang=js&mpType=page */ 106);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/c-move-list/c-move-list.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUk7QUFDbkk7QUFDMEU7QUFDTDs7O0FBR3JFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLDRGQUFNO0FBQ1IsRUFBRSxpR0FBTTtBQUNSLEVBQUUsMEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUscUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jLW1vdmUtbGlzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MWM5MjUxOTAmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2MtbW92ZS1saXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jLW1vdmUtbGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9jLW1vdmUtbGlzdC9jLW1vdmUtbGlzdC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///103\n"); + +/***/ }), +/* 104 */ +/*!***********************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-move-list/c-move-list.vue?vue&type=template&id=1c925190&mpType=page ***! + \***********************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-move-list.vue?vue&type=template&id=1c925190&mpType=page */ 105); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_template_id_1c925190_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 105 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-move-list/c-move-list.vue?vue&type=template&id=1c925190&mpType=page ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiModal: __webpack_require__(/*! @/GraceUI5/components/gui-modal.vue */ 57).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s(0, "sc", "gui-margin"), + attrs: { _i: 0 }, + slot: "gBody", + }, + [ + _c( + "view", + { staticClass: _vm._$s(1, "sc", "my-list"), attrs: { _i: 1 } }, + _vm._l( + _vm._$s(2, "f", { forItems: _vm.list }), + function (item, $10, $20, $30) { + return _c( + "view", + { + key: _vm._$s(2, "f", { forIndex: $20, key: 2 + "-" + $30 }), + staticClass: _vm._$s("2-" + $30, "sc", "gui-list-items"), + attrs: { _i: "2-" + $30 }, + on: { + click: function ($event) { + return _vm.open1(item) + }, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "3-" + $30, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: "3-" + $30 }, + }, + [ + _c("image", { + staticClass: _vm._$s("4-" + $30, "sc", "gui-list-image"), + attrs: { + src: _vm._$s("4-" + $30, "a-src", item.img), + _i: "4-" + $30, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + "5-" + $30, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: "5-" + $30 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "6-" + $30, + "sc", + "gui-list-title" + ), + attrs: { _i: "6-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "7-" + $30, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: "7-" + $30 }, + }, + [ + _vm._v( + _vm._$s("7-" + $30, "t0-0", _vm._s(item.name)) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "8-" + $30, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: "8-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "9-" + $30, + "sc", + "gui-color-red" + ), + attrs: { _i: "9-" + $30 }, + }, + [ + _vm._v( + _vm._$s("9-" + $30, "t0-0", _vm._s(item.calory)) + ), + ] + ), + _vm._v( + _vm._$s("8-" + $30, "t1-0", _vm._s(item.weight)) + ), + ] + ), + ] + ), + _vm._$s("10-" + $30, "i", item.healthLight == 1) + ? _c("text", { + staticClass: _vm._$s( + "10-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-green" + ), + attrs: { _i: "10-" + $30 }, + }) + : _vm._e(), + _vm._$s("11-" + $30, "i", item.healthLight == 2) + ? _c("text", { + staticClass: _vm._$s( + "11-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-yellow" + ), + attrs: { _i: "11-" + $30 }, + }) + : _vm._e(), + _vm._$s("12-" + $30, "i", item.healthLight == 3) + ? _c("text", { + staticClass: _vm._$s( + "12-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-red" + ), + attrs: { _i: "12-" + $30 }, + }) + : _vm._e(), + _vm._$s("13-" + $30, "i", item.healthLight == 4) + ? _c("text", { + staticClass: _vm._$s( + "13-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-black" + ), + attrs: { _i: "13-" + $30 }, + }) + : _vm._e(), + ] + ) + } + ), + 0 + ), + _c( + "gui-modal", + { + ref: "guimodal1", + attrs: { + title: _vm.food.createTime + " " + _vm.food.name + " 运动", + _i: 14, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(15, "sc", "gui-padding gui-bg-gray"), + attrs: { _i: 15 }, + slot: "content", + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 16, + "sc", + "gui-flex gui-rows gui-nowrap gui-cate-product-list gui-align-items-center" + ), + attrs: { _i: 16 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 17, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: 17 }, + }, + [ + _c("image", { + staticClass: _vm._$s(18, "sc", "gui-list-image"), + attrs: { + src: _vm._$s(18, "a-src", _vm.food.img), + _i: 18, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 19, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: 19 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s(20, "sc", "gui-list-title"), + attrs: { _i: 20 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + 21, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: 21 }, + }, + [_vm._v(_vm._$s(21, "t0-0", _vm._s(_vm.food.name)))] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + 22, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: 22 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s(23, "sc", "gui-color-red"), + attrs: { _i: 23 }, + }, + [ + _vm._v( + _vm._$s(23, "t0-0", _vm._s(_vm.food.calory)) + ), + ] + ), + _vm._v(_vm._$s(22, "t1-0", _vm._s(_vm.food.weight))), + ] + ), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 24, + "sc", + "gui-flex gui-align-items-center gui-justify-content-start" + ), + attrs: { _i: 24 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 25, + "sc", + "gui-color-gray gui-flex gui-text-small" + ), + attrs: { _i: 25 }, + }, + [ + _vm._v( + _vm._$s( + 25, + "t0-0", + _vm._s( + (_vm.food.calory * _vm.form.value) / _vm.food.weight + ) + ) + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(26, "sc", "gui-text-center"), + attrs: { _i: 26 }, + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.form.value, + expression: "form.value", + }, + ], + attrs: { id: "", _i: 27 }, + domProps: { + value: _vm._$s(27, "v-model", _vm.form.value), + }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.form, "value", $event.target.value) + }, + }, + }), + ] + ), + _c("view", { + staticClass: _vm._$s( + 28, + "sc", + "gui-color-gray gui-text-small" + ), + attrs: { _i: 28 }, + }), + ] + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + 29, + "sc", + "gui-flex gui-rows gui-space-between" + ), + attrs: { _i: 29 }, + slot: "btns", + }, + [ + _c( + "view", + { + staticClass: _vm._$s(30, "sc", "modal-btns gui-flex1"), + attrs: { _i: 30 }, + }, + [ + _c("text", { + staticClass: _vm._$s(31, "sc", "modal-btns gui-color-gray"), + attrs: { _i: 31 }, + on: { click: _vm.close1 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(32, "sc", "modal-btns gui-flex1"), + attrs: { _i: 32 }, + }, + [ + _c("text", { + staticClass: _vm._$s(33, "sc", "modal-btns gui-color-blue"), + attrs: { _i: 33 }, + on: { click: _vm.confirm1 }, + }), + ] + ), + ] + ), + ] + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 106 */ +/*!*****************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-move-list/c-move-list.vue?vue&type=script&lang=js&mpType=page ***! + \*****************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-move-list.vue?vue&type=script&lang=js&mpType=page */ 107);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_move_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThzQixDQUFnQix3ckJBQUcsRUFBQyIsImZpbGUiOiIxMDYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jLW1vdmUtbGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYy1tb3ZlLWxpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///106\n"); + +/***/ }), +/* 107 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/c-move-list/c-move-list.vue?vue&type=script&lang=js&mpType=page ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar list = __webpack_require__(/*! @/data/food.json */ 13);\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar _default = {\n data: function data() {\n return {\n list: [],\n form: {\n value: 60\n },\n food: {}\n };\n },\n onLoad: function onLoad(data) {\n var _this = this;\n uni.gRequest.post(\"bohe/movesList\", {}, function (res) {\n __f__(\"log\", res.data, \" at pages/c-move-list/c-move-list.vue:103\");\n if (res.data.code == 200) {\n _this.list = res.data.data;\n }\n });\n\n // let l = JSON.stringify(list)\n // l = JSON.parse(l)\n // console.log(l)\n // graceJS.get('/static/food.json',\n // \t(res) => {\n // \t\tconsole.log(res);\n // \t}\n // );\n // this.list = l.foods\n },\n\n methods: {\n open1: function open1(e) {\n var date = new Date();\n this.food = e;\n this.food.createTime = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();\n this.$refs.guimodal1.open();\n },\n close1: function close1() {\n this.$refs.guimodal1.close();\n },\n confirm1: function confirm1() {\n __f__(\"log\", this.food, \" at pages/c-move-list/c-move-list.vue:139\");\n __f__(\"log\", this.food.calory * this.form.value / this.food.weight, \" at pages/c-move-list/c-move-list.vue:140\");\n var params = {\n cType: 4,\n cValue: this.food.calory * this.form.value / this.food.weight,\n cName: this.food.name,\n cId: this.food.id,\n cImg: this.food.img,\n uid: graceJS.getStorage(\"id\"),\n cNum: this.form.value,\n cWeight: this.food.weight,\n createTime: this.food.createTime\n };\n __f__(\"log\", params, \" at pages/c-move-list/c-move-list.vue:152\");\n uni.gRequest.post(\"bohe/addCalory\", {\n data: params\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/c-move-list/c-move-list.vue:156\");\n if (res.data.code == 200) {}\n });\n // 客户点击确认按钮后的逻辑请在此处实现\n this.$refs.guimodal1.close();\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYy1tb3ZlLWxpc3QvYy1tb3ZlLWxpc3QudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJsaXN0IiwiZm9ybSIsInZhbHVlIiwiZm9vZCIsIm9uTG9hZCIsInVuaSIsIm1ldGhvZHMiLCJvcGVuMSIsImNsb3NlMSIsImNvbmZpcm0xIiwiY1R5cGUiLCJjVmFsdWUiLCJjTmFtZSIsImNJZCIsImNJbWciLCJ1aWQiLCJjTnVtIiwiY1dlaWdodCIsImNyZWF0ZVRpbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrRkE7QUFDQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztRQUNBQztNQUNBO01BQ0FDLE9BRUE7SUFFQTtFQUNBO0VBQ0FDO0lBQUE7SUFFQUMscUNBRUE7TUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUVBOztJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUlBOztFQUNBQztJQUNBQztNQUNBO01BR0E7TUFDQTtNQUVBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BRUE7TUFDQTtNQUNBO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQTtNQUNBYjtRQUNBTjtNQUNBO1FBQ0E7UUFDQSwyQkFFQTtNQUVBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjEwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBzbG90PVwiZ0JvZHlcIiBjbGFzcz1cImd1aS1tYXJnaW5cIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOjUwcnB4OyBcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwibXktbGlzdFwiPlxyXG5cclxuXHRcdFx0PHZpZXcgIEB0YXA9XCJvcGVuMShpdGVtKVwiIGNsYXNzPVwiZ3VpLWxpc3QtaXRlbXNcIiB2LWZvcj1cIml0ZW0gaW4gbGlzdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWxpc3QtaW1hZ2UgZ3VpLXJlbGF0aXZlXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJndWktbGlzdC1pbWFnZVwiIDpzcmM9XCJpdGVtLmltZ1wiPjwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LWJvZHkgZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XHJcblxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LXRpdGxlLXRleHQgZ3VpLXByaW1hcnktY29sb3JcIj57e2l0ZW0ubmFtZX19PC90ZXh0PlxyXG5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0IGNsYXNzPVwiZ3VpLWNvbG9yLXJlZFwiPnt7aXRlbS5jYWxvcnl9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx05Y2D5Y2hL3t7aXRlbS53ZWlnaHR9feWFizwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC1hcnJvdy1yaWdodCBndWktaWNvbnMgZ3VpLWNvbG9yLXJlZCBndWktYmctZ3JlZW5cIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAxXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy15ZWxsb3dcIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAyXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1yZWRcIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAzXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1ibGFja1wiIHYtaWY9XCJpdGVtLmhlYWx0aExpZ2h0ID09IDRcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PGd1aS1tb2RhbCByZWY9XCJndWltb2RhbDFcIlxyXG5cdFx0XHQ6dGl0bGU9XCJmb29kLmNyZWF0ZVRpbWUgKycgJysgZm9vZC5uYW1lKycg6L+Q5YqoJ1wiPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwiY29udGVudFwiIGNsYXNzPVwiZ3VpLXBhZGRpbmcgZ3VpLWJnLWdyYXlcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLWNhdGUtcHJvZHVjdC1saXN0IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LWltYWdlIGd1aS1yZWxhdGl2ZVwiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJndWktbGlzdC1pbWFnZVwiIDpzcmM9XCJmb29kLmltZ1wiPjwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktbGlzdC1ib2R5IGd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWxpc3QtdGl0bGUtdGV4dCBndWktcHJpbWFyeS1jb2xvclwiPnt7Zm9vZC5uYW1lfX08L3RleHQ+XHJcblxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImd1aS1jb2xvci1yZWRcIj57e2Zvb2QuY2Fsb3J5fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx05Y2D5Y2hL3t7Zm9vZC53ZWlnaHR9feWIhumSnzwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1mbGV4IGd1aS1hbGlnbi1pdGVtcy1jZW50ZXIgZ3VpLWp1c3RpZnktY29udGVudC1zdGFydFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29sb3ItZ3JheSBndWktZmxleCBndWktdGV4dC1zbWFsbFwiIHN0eWxlPVwid2lkdGg6IDMwJTtcIj5cclxuXHRcdFx0XHRcdFx0e3tmb29kLmNhbG9yeSAqIGZvcm0udmFsdWUgLyBmb29kLndlaWdodH19IOWNg+WNoTwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLXRleHQtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbmFtZT1cInZhbHVlXCIgdi1tb2RlbD1cImZvcm0udmFsdWVcIiBpZD1cIlwiPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29sb3ItZ3JheSAgZ3VpLXRleHQtc21hbGxcIiBzdHlsZT1cIndpZHRoOiAzMCU7XCI+XHJcblx0XHRcdFx0XHRcdOS8sOeul+mHjemHj1xyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8IS0tIOWIqeeUqCBmbGV4IOW4g+WxgCDlj6/ku6XmlL7nva7lpJrkuKroh6rlrprkuYnmjInpkq7lk6YgIC0tPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwiYnRuc1wiIGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLXNwYWNlLWJldHdlZW5cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWZsZXgxXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6ODBycHg7XCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWNvbG9yLWdyYXlcIiBAdGFwPVwiY2xvc2UxXCI+5Y+W5raIPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWZsZXgxXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDo4MHJweDtcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibW9kYWwtYnRucyBndWktY29sb3ItYmx1ZVwiIEB0YXA9XCJjb25maXJtMVwiPua3u+WKoDwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvZ3VpLW1vZGFsPlxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGNvbnN0IGxpc3QgPSByZXF1aXJlKCdAL2RhdGEvZm9vZC5qc29uJylcclxuXHR2YXIgZ3JhY2VKUyA9IHJlcXVpcmUoJ0AvR3JhY2VVSTUvanMvZ3JhY2UuanMnKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxpc3Q6IFtdLFxuXHRcdFx0XHRmb3JtOntcblx0XHRcdFx0XHR2YWx1ZTo2MFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmb29kOntcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChkYXRhKSB7XHJcblx0XHJcblx0XHRcdHVuaS5nUmVxdWVzdC5wb3N0KFwiYm9oZS9tb3Zlc0xpc3RcIiwge1xyXG5cdFx0XHRcdFxyXG5cdFx0XHR9LCAocmVzKSA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXHJcblx0XHRcdFx0aWYgKHJlcy5kYXRhLmNvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSByZXMuZGF0YS5kYXRhXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSlcclxuXHJcblxyXG5cdFx0XHQvLyBsZXQgbCA9IEpTT04uc3RyaW5naWZ5KGxpc3QpXHJcblx0XHRcdC8vIGwgPSBKU09OLnBhcnNlKGwpXHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKGwpXHJcblx0XHRcdC8vIGdyYWNlSlMuZ2V0KCcvc3RhdGljL2Zvb2QuanNvbicsXHJcblx0XHRcdC8vIFx0KHJlcykgPT4ge1xyXG5cdFx0XHQvLyBcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0Ly8gXHR9XHJcblx0XHRcdC8vICk7XHJcblx0XHRcdC8vIHRoaXMubGlzdCA9IGwuZm9vZHNcclxuXHJcblxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdG9wZW4xOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dmFyIGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuXHJcblx0XHRcdFx0dGhpcy5mb29kID0gZVxyXG5cdFx0XHRcdHRoaXMuZm9vZC5jcmVhdGVUaW1lID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nICsgZGF0ZS5nZXREYXRlKClcclxuXHJcblx0XHRcdFx0dGhpcy4kcmVmcy5ndWltb2RhbDEub3BlbigpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZTE6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm0xOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5mb29kKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZm9vZC5jYWxvcnkgKiB0aGlzLmZvcm0udmFsdWUgLyB0aGlzLmZvb2Qud2VpZ2h0KVxyXG5cdFx0XHRcdHZhciBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRjVHlwZTogNCxcclxuXHRcdFx0XHRcdGNWYWx1ZTogdGhpcy5mb29kLmNhbG9yeSAqIHRoaXMuZm9ybS52YWx1ZSAvIHRoaXMuZm9vZC53ZWlnaHQsXHJcblx0XHRcdFx0XHRjTmFtZTogdGhpcy5mb29kLm5hbWUsXHJcblx0XHRcdFx0XHRjSWQ6IHRoaXMuZm9vZC5pZCxcclxuXHRcdFx0XHRcdGNJbWc6IHRoaXMuZm9vZC5pbWcsXHJcblx0XHRcdFx0XHR1aWQ6IGdyYWNlSlMuZ2V0U3RvcmFnZShcImlkXCIpLFxyXG5cdFx0XHRcdFx0Y051bTogdGhpcy5mb3JtLnZhbHVlLFxyXG5cdFx0XHRcdFx0Y1dlaWdodDogdGhpcy5mb29kLndlaWdodCxcclxuXHRcdFx0XHRcdGNyZWF0ZVRpbWU6IHRoaXMuZm9vZC5jcmVhdGVUaW1lXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcylcclxuXHRcdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvYWRkQ2Fsb3J5XCIsIHtcclxuXHRcdFx0XHRcdGRhdGE6IHBhcmFtc1xyXG5cdFx0XHRcdH0sIChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmNvZGUgPT0gMjAwKSB7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vIOWuouaIt+eCueWHu+ehruiupOaMiemSruWQjueahOmAu+i+keivt+WcqOatpOWkhOWunueOsFxyXG5cdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuLm1vZGFsLWJ0bnN7bGluZS1oZWlnaHQ6ODhycHg7IGZvbnQtc2l6ZToyNnJweDsgdGV4dC1hbGlnbjpjZW50ZXI7IHdpZHRoOjIwMHJweDt9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///107\n"); + +/***/ }), +/* 108 */ +/*!***********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/userInfo/userInfo.vue?mpType=page ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./userInfo.vue?vue&type=template&id=66b536f6&mpType=page */ 109);\n/* harmony import */ var _userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./userInfo.vue?vue&type=script&lang=js&mpType=page */ 111);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/userInfo/userInfo.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTA4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91c2VySW5mby52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjZiNTM2ZjYmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3VzZXJJbmZvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi91c2VySW5mby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy91c2VySW5mby91c2VySW5mby52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///108\n"); + +/***/ }), +/* 109 */ +/*!*****************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/userInfo/userInfo.vue?vue&type=template&id=66b536f6&mpType=page ***! + \*****************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./userInfo.vue?vue&type=template&id=66b536f6&mpType=page */ 110); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_template_id_66b536f6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 110 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/userInfo/userInfo.vue?vue&type=template&id=66b536f6&mpType=page ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("view", [ + _c("view", [ + _c("form", { attrs: { _i: 2 }, on: { submit: _vm.submit } }, [ + _c("view", [ + _c("text", { + staticClass: _vm._$s(4, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 4 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(5, "sc", "gui-border-b"), attrs: { _i: 5 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.username, + expression: "user.username", + }, + ], + staticClass: _vm._$s(6, "sc", "gui-form-input"), + attrs: { _i: 6 }, + domProps: { value: _vm._$s(6, "v-model", _vm.user.username) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "username", $event.target.value) + }, + }, + }), + ] + ), + _c( + "view", + { staticClass: _vm._$s(7, "sc", "gui-margin-top"), attrs: { _i: 7 } }, + [ + _c("text", { + staticClass: _vm._$s(8, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 8 }, + }), + ] + ), + _c( + "view", + { staticClass: _vm._$s(9, "sc", "gui-border-b"), attrs: { _i: 9 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.password, + expression: "user.password", + }, + ], + staticClass: _vm._$s(10, "sc", "gui-form-input"), + attrs: { _i: 10 }, + domProps: { value: _vm._$s(10, "v-model", _vm.user.password) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "password", $event.target.value) + }, + }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(12, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 12 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(13, "sc", "gui-border-b"), attrs: { _i: 13 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.name, + expression: "user.name", + }, + ], + staticClass: _vm._$s(14, "sc", "gui-form-input"), + attrs: { _i: 14 }, + domProps: { value: _vm._$s(14, "v-model", _vm.user.name) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "name", $event.target.value) + }, + }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(16, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 16 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(17, "sc", "gui-border-b"), attrs: { _i: 17 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.height, + expression: "user.height", + }, + ], + staticClass: _vm._$s(18, "sc", "gui-form-input"), + attrs: { _i: 18 }, + domProps: { value: _vm._$s(18, "v-model", _vm.user.height) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "height", $event.target.value) + }, + }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(20, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 20 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(21, "sc", "gui-border-b"), attrs: { _i: 21 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.weight, + expression: "user.weight", + }, + ], + staticClass: _vm._$s(22, "sc", "gui-form-input"), + attrs: { _i: 22 }, + domProps: { value: _vm._$s(22, "v-model", _vm.user.weight) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "weight", $event.target.value) + }, + }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(24, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 24 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(25, "sc", "gui-border-b"), attrs: { _i: 25 } }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.user.age, + expression: "user.age", + }, + ], + staticClass: _vm._$s(26, "sc", "gui-form-input"), + attrs: { _i: 26 }, + domProps: { value: _vm._$s(26, "v-model", _vm.user.age) }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.$set(_vm.user, "age", $event.target.value) + }, + }, + }), + ] + ), + _c("view", [ + _c("text", { + staticClass: _vm._$s(28, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 28 }, + }), + ]), + _c( + "view", + { staticClass: _vm._$s(29, "sc", "gui-border-b"), attrs: { _i: 29 } }, + [ + _c( + "view", + { + staticClass: _vm._$s(30, "sc", "gui-form-body"), + attrs: { _i: 30 }, + }, + [ + _c( + "picker", + { + attrs: { + range: _vm._$s(31, "a-range", _vm.gender), + _i: 31, + }, + on: { change: _vm.pickerChange }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + 32, + "sc", + "gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center" + ), + attrs: { _i: 32 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s(33, "sc", "gui-text"), + attrs: { _i: 33 }, + }, + [ + _vm._v( + _vm._$s( + 33, + "t0-0", + _vm._s(_vm.gender[_vm.genderIndex]) + ) + ), + ] + ), + ] + ), + ] + ), + ] + ), + ] + ), + _c("view", [ + _c( + "button", + { + staticClass: _vm._$s(35, "sc", "gui-button gui-bg-black"), + attrs: { _i: 35 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 36, + "sc", + "gui-color-white gui-button-text" + ), + attrs: { _i: 36 }, + }), + ] + ), + ]), + ]), + ]), + ]) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 111 */ +/*!***********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/userInfo/userInfo.vue?vue&type=script&lang=js&mpType=page ***! + \***********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./userInfo.vue?vue&type=script&lang=js&mpType=page */ 112);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJzQixDQUFnQixxckJBQUcsRUFBQyIsImZpbGUiOiIxMTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91c2VySW5mby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdXNlckluZm8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///111\n"); + +/***/ }), +/* 112 */ +/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/userInfo/userInfo.vue?vue&type=script&lang=js&mpType=page ***! + \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar request = __webpack_require__(/*! @/GraceUI5/js/request/request.js */ 76);\nvar graceChecker = __webpack_require__(/*! @/GraceUI5/js/checker.js */ 74);\nvar _default = {\n data: function data() {\n return {\n gender: ['请选择性别', '男', '女'],\n genderIndex: 0,\n user: {}\n };\n },\n onLoad: function onLoad() {\n var _this = this;\n var formData = {\n id: graceJS.getStorage(\"id\")\n };\n request.post(\"bohe/userInfo\", {\n data: formData\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/userInfo/userInfo.vue:86\");\n if (res.data.code == 200) {\n var user = {\n user: res.data.data\n };\n _this.user = res.data.data;\n _this.genderIndex = _this.user.sex;\n graceJS.setStorage(res.data.data);\n }\n });\n },\n methods: {\n forgetPwd: function forgetPwd() {\n __f__(\"log\", '请自行完善代码', \" at pages/userInfo/userInfo.vue:100\");\n },\n loginbymsg: function loginbymsg() {\n __f__(\"log\", '请自行完善代码', \" at pages/userInfo/userInfo.vue:103\");\n },\n // picker 切换\n pickerChange: function pickerChange(e) {\n __f__(\"log\", e, \" at pages/userInfo/userInfo.vue:107\");\n this.genderIndex = e.detail.value;\n },\n submit: function submit(e) {\n // 表单数据\n var formData = e.detail.value;\n formData.id = graceJS.getStorage(\"id\");\n formData.sex = this.genderIndex == 0 ? 1 : this.genderIndex;\n __f__(\"log\", formData, \" at pages/userInfo/userInfo.vue:115\");\n\n // 利用 graceUI 的表单验证工具进行验证\n //定义表单规则\n var rule = [{\n name: \"username\",\n checkType: \"string\",\n checkRule: \"1,10\",\n errorMsg: \"账户输入有误\"\n }, {\n name: \"password\",\n checkType: \"string\",\n checkRule: \"1,20\",\n errorMsg: \"密码至少1个字符\"\n }];\n var checkRes = graceChecker.check(formData, rule);\n if (checkRes) {\n __f__(\"log\", formData, \" at pages/userInfo/userInfo.vue:134\");\n request.post(\"bohe/updateUserInfo\", {\n data: formData\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/userInfo/userInfo.vue:136\");\n if (res.data.code == 200) {\n var user = {\n user: res.data.data\n };\n graceJS.setStorage(res.data.data);\n uni.showToast({\n title: \"修改成功\",\n icon: \"success\",\n success: function success() {\n setTimeout(function () {\n uni.switchTab({\n url: \"../switchPages/index\"\n });\n }, 500);\n }\n });\n }\n });\n\n // 根据项目需要完成数据验证工作\n } else {\n uni.showToast({\n title: graceChecker.error,\n icon: \"none\"\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdXNlckluZm8vdXNlckluZm8udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJnZW5kZXIiLCJnZW5kZXJJbmRleCIsInVzZXIiLCJvbkxvYWQiLCJpZCIsInJlcXVlc3QiLCJncmFjZUpTIiwibWV0aG9kcyIsImZvcmdldFB3ZCIsImxvZ2luYnltc2ciLCJwaWNrZXJDaGFuZ2UiLCJzdWJtaXQiLCJmb3JtRGF0YSIsIm5hbWUiLCJjaGVja1R5cGUiLCJjaGVja1J1bGUiLCJlcnJvck1zZyIsInVuaSIsInRpdGxlIiwiaWNvbiIsInN1Y2Nlc3MiLCJzZXRUaW1lb3V0IiwidXJsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxRUE7QUFDQTtBQUNBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUFBO0lBQ0E7TUFDQUM7SUFDQTtJQUNBQztNQUFBTjtJQUFBO01BQ0E7TUFDQTtRQUNBO1VBQUFHO1FBQUE7UUFDQTtRQUNBO1FBQ0FJO01BRUE7SUFFQTtFQUVBO0VBQ0FDO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQUM7TUFDQUE7TUFDQTs7TUFFQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQSxHQUNBO1FBQ0FIO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0EsRUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBWDtVQUFBTjtRQUFBO1VBQ0E7VUFDQTtZQUNBO2NBQUFHO1lBQUE7WUFDQUk7WUFDQVc7Y0FDQUM7Y0FDQUM7Y0FDQUM7Z0JBQ0FDO2tCQUVBSjtvQkFDQUs7a0JBQ0E7Z0JBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFFQTs7UUFFQTtNQUNBO1FBQ0FMO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjExMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBzdHlsZT1cInBhZGRpbmc6NTBycHg7XCI+XHJcblx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6ODBycHg7XCI+XHJcblx0XHRcdDxmb3JtIEBzdWJtaXQ9XCJzdWJtaXRcIj5cclxuXHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLXRleHQtc21hbGwgZ3VpLWNvbG9yLWdyYXlcIj7otKbmiLc8L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgIGRpc2FibGVkPVwidHJ1ZVwiIG5hbWU9XCJ1c2VybmFtZVwiIHYtbW9kZWw9XCJ1c2VyLnVzZXJuYW1lXCIgcGxhY2Vob2xkZXI9XCLms6jlhozotKbmiLdcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1tYXJnaW4tdG9wXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+5a+G56CBPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZ3VpLWZvcm0taW5wdXRcIiBuYW1lPVwicGFzc3dvcmRcIiB2LW1vZGVsPVwidXNlci5wYXNzd29yZFwiIHBsYWNlaG9sZGVyPVwi5a+G56CBXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+5aeT5ZCNPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJndWktZm9ybS1pbnB1dFwiIG5hbWU9XCJuYW1lXCIgdi1tb2RlbD1cInVzZXIubmFtZVwiIHBsYWNlaG9sZGVyPVwi5aeT5ZCNXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+6Lqr6auYPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgbmFtZT1cImhlaWdodFwiIHYtbW9kZWw9XCJ1c2VyLmhlaWdodFwiIHBsYWNlaG9sZGVyPVwiY21cIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+5L2T6YeNPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgbmFtZT1cIndlaWdodFwiIHYtbW9kZWw9XCJ1c2VyLndlaWdodFwiIHBsYWNlaG9sZGVyPVwiS0dcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+5bm06b6EPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cImd1aS1mb3JtLWlucHV0XCIgbmFtZT1cImFnZVwiIHYtbW9kZWw9XCJ1c2VyLmFnZVwiIHBsYWNlaG9sZGVyPVwi5bm06b6EXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0LXNtYWxsIGd1aS1jb2xvci1ncmF5XCI+5oCn5YirPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1ib3JkZXItYlwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZm9ybS1ib2R5XCI+XHJcblx0XHRcdFx0XHRcdDxwaWNrZXIgbW9kZT1cInNlbGVjdG9yXCIgOnJhbmdlPVwiZ2VuZGVyXCIgQGNoYW5nZT1cInBpY2tlckNoYW5nZVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLW5vd3JhcCBndWktc3BhY2UtYmV0d2VlbiBndWktYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS10ZXh0XCI+e3tnZW5kZXJbZ2VuZGVySW5kZXhdfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvcGlja2VyPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6MzhycHg7XCI+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgY2xhc3M9XCJndWktYnV0dG9uIGd1aS1iZy1ibGFja1wiIGZvcm1UeXBlPVwic3VibWl0XCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOjUwcnB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1jb2xvci13aGl0ZSBndWktYnV0dG9uLXRleHRcIj7mj5DkuqTkv67mlLk8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvZm9ybT5cclxuXHRcdDwvdmlldz5cclxuXHJcblxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQ+XG5cdHZhciBncmFjZUpTID0gcmVxdWlyZSgnQC9HcmFjZVVJNS9qcy9ncmFjZS5qcycpO1xuXHR2YXIgcmVxdWVzdCA9IHJlcXVpcmUoJ0AvR3JhY2VVSTUvanMvcmVxdWVzdC9yZXF1ZXN0LmpzJyk7XHJcblx0dmFyIGdyYWNlQ2hlY2tlciA9IHJlcXVpcmUoXCJAL0dyYWNlVUk1L2pzL2NoZWNrZXIuanNcIik7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRnZW5kZXI6IFsn6K+36YCJ5oup5oCn5YirJywgJ+eUtycsICflpbMnXSxcclxuXHRcdFx0XHRnZW5kZXJJbmRleDogMCxcblx0XHRcdFx0dXNlcjp7fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdHZhciBmb3JtRGF0YSA9IHtcblx0XHRcdFx0aWQ6Z3JhY2VKUy5nZXRTdG9yYWdlKFwiaWRcIilcblx0XHRcdH1cblx0XHRcdFx0cmVxdWVzdC5wb3N0KFwiYm9oZS91c2VySW5mb1wiLHtkYXRhOmZvcm1EYXRhfSwocmVzKT0+e1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHRcdGlmKHJlcy5kYXRhLmNvZGUgPT0gMjAwICl7XG5cdFx0XHRcdFx0XHR2YXIgdXNlciA9IHt1c2VyOnJlcy5kYXRhLmRhdGF9XG5cdFx0XHRcdFx0XHR0aGlzLnVzZXIgPSByZXMuZGF0YS5kYXRhXG5cdFx0XHRcdFx0XHR0aGlzLmdlbmRlckluZGV4ID0gdGhpcy51c2VyLnNleFxuXHRcdFx0XHRcdFx0Z3JhY2VKUy5zZXRTdG9yYWdlKHJlcy5kYXRhLmRhdGEpXG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH0pXG5cdFx0XHRcdFxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGZvcmdldFB3ZDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+ivt+iHquihjOWujOWWhOS7o+eggScpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRsb2dpbmJ5bXNnOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn6K+36Ieq6KGM5a6M5ZaE5Luj56CBJyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIHBpY2tlciDliIfmjaJcclxuXHRcdFx0cGlja2VyQ2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSk7XHJcblx0XHRcdFx0dGhpcy5nZW5kZXJJbmRleCA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdWJtaXQ6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyDooajljZXmlbDmja5cclxuXHRcdFx0XHR2YXIgZm9ybURhdGEgPSBlLmRldGFpbC52YWx1ZTtcblx0XHRcdFx0Zm9ybURhdGEuaWQgPSBncmFjZUpTLmdldFN0b3JhZ2UoXCJpZFwiKVxuXHRcdFx0XHRmb3JtRGF0YS5zZXggPSB0aGlzLmdlbmRlckluZGV4ID09IDAgPyAxIDogdGhpcy5nZW5kZXJJbmRleCBcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhmb3JtRGF0YSk7XG5cdFx0XHRcclxuXHRcdFx0XHQvLyDliKnnlKggZ3JhY2VVSSDnmoTooajljZXpqozor4Hlt6Xlhbfov5vooYzpqozor4FcclxuXHRcdFx0XHQvL+WumuS5ieihqOWNleinhOWImVxyXG5cdFx0XHRcdHZhciBydWxlID0gW3tcclxuXHRcdFx0XHRcdFx0bmFtZTogXCJ1c2VybmFtZVwiLFxyXG5cdFx0XHRcdFx0XHRjaGVja1R5cGU6IFwic3RyaW5nXCIsXHJcblx0XHRcdFx0XHRcdGNoZWNrUnVsZTogXCIxLDEwXCIsXHJcblx0XHRcdFx0XHRcdGVycm9yTXNnOiBcIui0puaIt+i+k+WFpeacieivr1wiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcInBhc3N3b3JkXCIsXHJcblx0XHRcdFx0XHRcdGNoZWNrVHlwZTogXCJzdHJpbmdcIixcclxuXHRcdFx0XHRcdFx0Y2hlY2tSdWxlOiBcIjEsMjBcIixcclxuXHRcdFx0XHRcdFx0ZXJyb3JNc2c6IFwi5a+G56CB6Iez5bCRMeS4quWtl+esplwiXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XTtcclxuXHRcdFx0XHR2YXIgY2hlY2tSZXMgPSBncmFjZUNoZWNrZXIuY2hlY2soZm9ybURhdGEsIHJ1bGUpO1xyXG5cdFx0XHRcdGlmIChjaGVja1Jlcykge1x0XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZm9ybURhdGEpXG5cdFx0XHRcdFx0cmVxdWVzdC5wb3N0KFwiYm9oZS91cGRhdGVVc2VySW5mb1wiLHtkYXRhOlx0Zm9ybURhdGF9LChyZXMpPT57XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0XHRcdGlmKHJlcy5kYXRhLmNvZGUgPT0gMjAwICl7XG5cdFx0XHRcdFx0XHRcdHZhciB1c2VyID0ge3VzZXI6cmVzLmRhdGEuZGF0YX1cblx0XHRcdFx0XHRcdFx0Z3JhY2VKUy5zZXRTdG9yYWdlKHJlcy5kYXRhLmRhdGEpXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuS/ruaUueaIkOWKn1wiLFxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3VjY2Vzc1wiLFxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3MoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOlwiLi4vc3dpdGNoUGFnZXMvaW5kZXhcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSw1MDApXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdC8vIOagueaNrumhueebrumcgOimgeWujOaIkOaVsOaNrumqjOivgeW3peS9nFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6IGdyYWNlQ2hlY2tlci5lcnJvcixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCJcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbjxzdHlsZT5cclxuXHQubG9naW4tbG9nbyB7XHJcblx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0aGVpZ2h0OiAxODBycHg7XHJcblx0XHRmb250LXNpemU6IDgwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEyMHJweDtcclxuXHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMThycHg7XHJcblx0fVxyXG5cclxuXHQub3RoZXItbG9naW4taWNvbnMge1xyXG5cdFx0d2lkdGg6IDg4cnB4O1xyXG5cdFx0aGVpZ2h0OiA4OHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogNzBycHg7XHJcblx0XHRtYXJnaW46IDIwcnB4O1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///112\n"); + +/***/ }), +/* 113 */ +/*!*******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/myLove/myLove.vue?mpType=page ***! + \*******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./myLove.vue?vue&type=template&id=4ccd7f54&mpType=page */ 114);\n/* harmony import */ var _myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./myLove.vue?vue&type=script&lang=js&mpType=page */ 116);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/myLove/myLove.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEg7QUFDOUg7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSw0RkFBTTtBQUNSLEVBQUUscUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsZ0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9teUxvdmUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRjY2Q3ZjU0Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9teUxvdmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL215TG92ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9teUxvdmUvbXlMb3ZlLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///113\n"); + +/***/ }), +/* 114 */ +/*!*************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/myLove/myLove.vue?vue&type=template&id=4ccd7f54&mpType=page ***! + \*************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./myLove.vue?vue&type=template&id=4ccd7f54&mpType=page */ 115); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_template_id_4ccd7f54_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 115 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/myLove/myLove.vue?vue&type=template&id=4ccd7f54&mpType=page ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s(0, "sc", "gui-margin"), + attrs: { _i: 0 }, + slot: "gBody", + }, + [ + _c( + "view", + { staticClass: _vm._$s(1, "sc", "my-list"), attrs: { _i: 1 } }, + _vm._l( + _vm._$s(2, "f", { forItems: _vm.list }), + function (item, $10, $20, $30) { + return _c( + "navigator", + { + key: _vm._$s(2, "f", { forIndex: $20, key: 2 + "-" + $30 }), + staticClass: _vm._$s("2-" + $30, "sc", "gui-list-items"), + attrs: { + url: _vm._$s( + "2-" + $30, + "a-url", + "/pages/foodInfo/foodInfo?item=" + + encodeURIComponent(JSON.stringify(item)) + ), + _i: "2-" + $30, + }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "3-" + $30, + "sc", + "gui-list-image gui-relative" + ), + attrs: { _i: "3-" + $30 }, + }, + [ + _c("image", { + staticClass: _vm._$s("4-" + $30, "sc", "gui-list-image"), + attrs: { + src: _vm._$s("4-" + $30, "a-src", item.thumbImageUrl), + _i: "4-" + $30, + }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + "5-" + $30, + "sc", + "gui-list-body gui-border-b" + ), + attrs: { _i: "5-" + $30 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "6-" + $30, + "sc", + "gui-list-title" + ), + attrs: { _i: "6-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "7-" + $30, + "sc", + "gui-list-title-text gui-primary-color" + ), + attrs: { _i: "7-" + $30 }, + }, + [ + _vm._v( + _vm._$s("7-" + $30, "t0-0", _vm._s(item.name)) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "8-" + $30, + "sc", + "gui-list-body-desc gui-color-gray" + ), + attrs: { _i: "8-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "9-" + $30, + "sc", + "gui-color-red" + ), + attrs: { _i: "9-" + $30 }, + }, + [ + _vm._v( + _vm._$s("9-" + $30, "t0-0", _vm._s(item.calory)) + ), + ] + ), + _vm._v( + _vm._$s("8-" + $30, "t1-0", _vm._s(item.weight)) + ), + ] + ), + ] + ), + _vm._$s("10-" + $30, "i", item.healthLight == 1) + ? _c("text", { + staticClass: _vm._$s( + "10-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-green" + ), + attrs: { _i: "10-" + $30 }, + }) + : _vm._e(), + _vm._$s("11-" + $30, "i", item.healthLight == 2) + ? _c("text", { + staticClass: _vm._$s( + "11-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-yellow" + ), + attrs: { _i: "11-" + $30 }, + }) + : _vm._e(), + _vm._$s("12-" + $30, "i", item.healthLight == 3) + ? _c("text", { + staticClass: _vm._$s( + "12-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-red" + ), + attrs: { _i: "12-" + $30 }, + }) + : _vm._e(), + _vm._$s("13-" + $30, "i", item.healthLight == 4) + ? _c("text", { + staticClass: _vm._$s( + "13-" + $30, + "sc", + "gui-list-arrow-right gui-icons gui-color-red gui-bg-black" + ), + attrs: { _i: "13-" + $30 }, + }) + : _vm._e(), + ] + ) + } + ), + 0 + ), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 116 */ +/*!*******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/myLove/myLove.vue?vue&type=script&lang=js&mpType=page ***! + \*******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./myLove.vue?vue&type=script&lang=js&mpType=page */ 117);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_myLove_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXlzQixDQUFnQixtckJBQUcsRUFBQyIsImZpbGUiOiIxMTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9teUxvdmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL215TG92ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///116\n"); + +/***/ }), +/* 117 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/myLove/myLove.vue?vue&type=script&lang=js&mpType=page ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar list = __webpack_require__(/*! @/data/food.json */ 13);\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar _default = {\n data: function data() {\n return {\n list: []\n };\n },\n onLoad: function onLoad(data) {\n var _this = this;\n var pamars = {\n 'uid': parseInt(graceJS.getStorage(\"id\"))\n };\n __f__(\"log\", pamars, \" at pages/myLove/myLove.vue:53\");\n uni.gRequest.post(\"bohe/loveFoods\", {\n data: pamars\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/myLove/myLove.vue:57\");\n if (res.data.code == 200) {\n _this.list = res.data.data;\n }\n __f__(\"log\", _this.list, \" at pages/myLove/myLove.vue:64\");\n });\n\n // let l = JSON.stringify(list)\n // l = JSON.parse(l)\n // console.log(l)\n // graceJS.get('/static/food.json',\n // \t(res) => {\n // \t\tconsole.log(res);\n // \t}\n // );\n // this.list = l.foods\n },\n\n methods: {}\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbXlMb3ZlL215TG92ZS52dWUiXSwibmFtZXMiOlsiZGF0YSIsImxpc3QiLCJvbkxvYWQiLCJ1bmkiLCJtZXRob2RzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0NBO0FBQ0E7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQUE7SUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBSDtJQUNBO01BQ0E7TUFDQTtRQUNBO01BR0E7TUFFQTtJQUVBOztJQUdBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUlBOztFQUNBSSxVQUVBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgc2xvdD1cImdCb2R5XCIgY2xhc3M9XCJndWktbWFyZ2luXCIgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTo1MHJweDsgXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cIm15LWxpc3RcIj5cclxuXHJcblx0XHRcdDxuYXZpZ2F0b3IgIGNsYXNzPVwiZ3VpLWxpc3QtaXRlbXNcIiB2LWZvcj1cIml0ZW0gaW4gbGlzdFwiXHJcblx0XHRcdFx0OnVybD1cIicvcGFnZXMvZm9vZEluZm8vZm9vZEluZm8/aXRlbT0nKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaXRlbSkpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktbGlzdC1pbWFnZSBndWktcmVsYXRpdmVcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImd1aS1saXN0LWltYWdlXCIgOnNyYz1cIml0ZW0udGh1bWJJbWFnZVVybFwiPjwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LWJvZHkgZ3VpLWJvcmRlci1iXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImd1aS1saXN0LXRpdGxlXCI+XHJcblxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LXRpdGxlLXRleHQgZ3VpLXByaW1hcnktY29sb3JcIj57e2l0ZW0ubmFtZX19PC90ZXh0PlxyXG5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWJvZHktZGVzYyBndWktY29sb3ItZ3JheVwiPjx0ZXh0IGNsYXNzPVwiZ3VpLWNvbG9yLXJlZFwiPnt7aXRlbS5jYWxvcnl9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx05Y2D5Y2hL3t7aXRlbS53ZWlnaHR9feWFizwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktbGlzdC1hcnJvdy1yaWdodCBndWktaWNvbnMgZ3VpLWNvbG9yLXJlZCBndWktYmctZ3JlZW5cIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAxXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy15ZWxsb3dcIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAyXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1yZWRcIiB2LWlmPVwiaXRlbS5oZWFsdGhMaWdodCA9PSAzXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMTAwJTt3aWR0aDogMjB1cHg7aGVpZ2h0OjIwdXB4O1wiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1saXN0LWFycm93LXJpZ2h0IGd1aS1pY29ucyBndWktY29sb3ItcmVkIGd1aS1iZy1ibGFja1wiIHYtaWY9XCJpdGVtLmhlYWx0aExpZ2h0ID09IDRcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJib3JkZXItcmFkaXVzOiAxMDAlO3dpZHRoOiAyMHVweDtoZWlnaHQ6MjB1cHg7XCI+PC90ZXh0PlxyXG5cdFx0XHQ8L25hdmlnYXRvcj5cclxuXHJcblxyXG5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHRcclxuXHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRjb25zdCBsaXN0ID0gcmVxdWlyZSgnQC9kYXRhL2Zvb2QuanNvbicpXHJcblx0dmFyIGdyYWNlSlMgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL2dyYWNlLmpzJyk7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRsaXN0OiBbXVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKGRhdGEpIHtcclxuXHRcdFx0dmFyIHBhbWFycyA9IHtcclxuXHRcdFx0XHQndWlkJzogcGFyc2VJbnQoZ3JhY2VKUy5nZXRTdG9yYWdlKFwiaWRcIikpXHJcblx0XHRcdH1cclxuXHRcdFx0Y29uc29sZS5sb2cocGFtYXJzKVxyXG5cdFx0XHR1bmkuZ1JlcXVlc3QucG9zdChcImJvaGUvbG92ZUZvb2RzXCIsIHtcclxuXHRcdFx0XHRkYXRhOiBwYW1hcnNcclxuXHRcdFx0fSwgKHJlcykgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG5cdFx0XHRcdGlmIChyZXMuZGF0YS5jb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5saXN0ID0gcmVzLmRhdGEuZGF0YVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMubGlzdClcclxuXHJcblx0XHRcdH0pXHJcblx0XHRcdFxyXG5cclxuXHRcdFx0Ly8gbGV0IGwgPSBKU09OLnN0cmluZ2lmeShsaXN0KVxyXG5cdFx0XHQvLyBsID0gSlNPTi5wYXJzZShsKVxyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhsKVxyXG5cdFx0XHQvLyBncmFjZUpTLmdldCgnL3N0YXRpYy9mb29kLmpzb24nLFxyXG5cdFx0XHQvLyBcdChyZXMpID0+IHtcclxuXHRcdFx0Ly8gXHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyApO1xyXG5cdFx0XHQvLyB0aGlzLmxpc3QgPSBsLmZvb2RzXHJcblxyXG5cclxuXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///117\n"); + +/***/ }), +/* 118 */ +/*!*******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/uSpeak/uSpeak.vue?mpType=page ***! + \*******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uSpeak.vue?vue&type=template&id=15a4cf76&scoped=true&mpType=page */ 119);\n/* harmony import */ var _uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uSpeak.vue?vue&type=script&lang=js&mpType=page */ 126);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"15a4cf76\",\n null,\n false,\n _uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/uSpeak/uSpeak.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEk7QUFDMUk7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSx3R0FBTTtBQUNSLEVBQUUsaUhBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTE4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91U3BlYWsudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE1YTRjZjc2JnNjb3BlZD10cnVlJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi91U3BlYWsudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3VTcGVhay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjE1YTRjZjc2XCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL3VTcGVhay91U3BlYWsudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n"); + +/***/ }), +/* 119 */ +/*!*************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/uSpeak/uSpeak.vue?vue&type=template&id=15a4cf76&scoped=true&mpType=page ***! + \*************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uSpeak.vue?vue&type=template&id=15a4cf76&scoped=true&mpType=page */ 120); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_template_id_15a4cf76_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 120 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/uSpeak/uSpeak.vue?vue&type=template&id=15a4cf76&scoped=true&mpType=page ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiPage: __webpack_require__(/*! @/GraceUI5/components/gui-page.vue */ 20).default, + guiDemoHeader: __webpack_require__(/*! @/GraceUI5/components/gui-demo-header.vue */ 121).default, + guiModal: __webpack_require__(/*! @/GraceUI5/components/gui-modal.vue */ 57).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("gui-page", { attrs: { customHeader: true, _i: 0 } }, [ + _c( + "view", + { slot: "gHeader" }, + [_c("gui-demo-header", { attrs: { _i: 2 } })], + 1 + ), + _c( + "view", + { + staticClass: _vm._$s(3, "sc", "gui-margin"), + attrs: { _i: 3 }, + slot: "gBody", + }, + [ + _c( + "view", + [ + _c("view", [ + _c( + "button", + { + staticClass: _vm._$s( + 6, + "sc", + "gui-button-mini gui-gtbg-red gui-flex gui-align-items-center gui-justify-content-center" + ), + attrs: { _i: 6 }, + on: { + click: function ($event) { + return _vm.open1() + }, + }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 7, + "sc", + "gui-color-white gui-button-text-mini gui-icons" + ), + attrs: { _i: 7 }, + }), + ] + ), + ]), + _c( + "view", + { + staticClass: _vm._$s(8, "sc", "gui-margin-top"), + attrs: { _i: 8 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + 9, + "sc", + "gui-h5 gui-color-gray gui-bold" + ), + attrs: { _i: 9 }, + }), + ] + ), + _c( + "view", + { + staticClass: _vm._$s(10, "sc", "gui-comments"), + attrs: { _i: 10 }, + }, + _vm._l( + _vm._$s(11, "f", { forItems: _vm.commentContents }), + function (item, index, $20, $30) { + return _c( + "view", + { + key: _vm._$s(11, "f", { forIndex: $20, key: index }), + staticClass: _vm._$s( + "11-" + $30, + "sc", + "gui-comments-items gui-flex gui-rows gui-nowrap gui-space-between" + ), + attrs: { _i: "11-" + $30 }, + }, + [ + _c("Avatar", { + style: _vm._$s( + "12-" + $30, + "s", + "width:40px;height:40px" + ), + attrs: { + username: item.name, + src: item.name, + "background-color": _vm.extractColorByName(item.name), + color: "#fff", + inline: true, + _i: "12-" + $30, + }, + }), + _c( + "view", + { + staticClass: _vm._$s( + "13-" + $30, + "sc", + "gui-comments-body" + ), + attrs: { _i: "13-" + $30 }, + }, + [ + _c( + "view", + { + staticClass: _vm._$s( + "14-" + $30, + "sc", + "gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center" + ), + attrs: { _i: "14-" + $30 }, + }, + [ + _c( + "text", + { + staticClass: _vm._$s( + "15-" + $30, + "sc", + "gui-comments-header-text gui-text gui-primary-color" + ), + attrs: { _i: "15-" + $30 }, + }, + [ + _vm._v( + _vm._$s( + "15-" + $30, + "t0-0", + _vm._s(item.name) + ) + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "16-" + $30, + "sc", + "gui-comments-header-text gui-icons gui-color-gray gui-text-small" + ), + class: _vm._$s("16-" + $30, "c", [ + item.status ? "gui-color-blue" : "", + ]), + attrs: { _i: "16-" + $30 }, + on: { + click: function ($event) { + return _vm.love(index) + }, + }, + }, + [ + _vm._v( + _vm._$s( + "16-" + $30, + "t0-0", + _vm._s(item.count) + ) + ), + ] + ), + ] + ), + _c( + "text", + { + staticClass: _vm._$s( + "17-" + $30, + "sc", + "gui-comments-content gui-block-text" + ), + attrs: { _i: "17-" + $30 }, + }, + [ + _vm._v( + _vm._$s( + "17-" + $30, + "t0-0", + _vm._s(item.content) + ) + ), + ] + ), + _c( + "view", + { + staticClass: _vm._$s( + "18-" + $30, + "sc", + "gui-comments-info gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center" + ), + attrs: { _i: "18-" + $30 }, + }, + [ + _c("text", { + staticClass: _vm._$s( + "19-" + $30, + "sc", + "gui-comments-replay-btn gui-block-text gui-bg-gray" + ), + attrs: { _i: "19-" + $30 }, + }), + _c( + "text", + { + staticClass: _vm._$s( + "20-" + $30, + "sc", + "gui-comments-info-text" + ), + attrs: { _i: "20-" + $30 }, + }, + [ + _vm._v( + _vm._$s( + "20-" + $30, + "t0-0", + _vm._s(item.createTime) + ) + ), + ] + ), + ] + ), + ] + ), + ], + 1 + ) + } + ), + 0 + ), + _c("gui-modal", { + ref: "guimodal1", + attrs: { + customClass: [ + "gui-bg-white", + "gui-dark-bg-level-3", + "gui-border-radius", + ], + title: "发个帖子", + _i: 21, + }, + scopedSlots: _vm._u([ + { + key: "content", + fn: function (_empty_, _svm, _si) { + return [ + _c( + "view", + { + staticClass: _svm._$s( + "23-" + _si, + "sc", + "gui-padding gui-bg-gray gui-dark-bg-level-2" + ), + attrs: { _i: "23-" + _si }, + }, + [ + _c( + "view", + { + staticClass: _svm._$s( + "24-" + _si, + "sc", + "gui-bg-white gui-dark-bg-level-3 gui-padding gui-margin-top" + ), + attrs: { _i: "24-" + _si }, + }, + [ + _c("textarea", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.textareaVal, + expression: "textareaVal", + }, + ], + staticClass: _svm._$s( + "25-" + _si, + "sc", + "gui-textarea" + ), + staticStyle: { width: "100%" }, + attrs: { + maxlength: "-1", + placeholder: "说点什么吧", + _i: "25-" + _si, + }, + domProps: { + value: _vm._$s( + "25-" + _si, + "v-model", + _vm.textareaVal + ), + }, + on: { + input: function ($event) { + if ($event.target.composing) { + return + } + _vm.textareaVal = $event.target.value + }, + }, + }), + ] + ), + ] + ), + ] + }, + }, + { + key: "btns", + fn: function (_empty_, _svm, _si) { + return [ + _c( + "view", + { + staticClass: _svm._$s( + "27-" + _si, + "sc", + "gui-flex gui-row gui-space-between" + ), + attrs: { _i: "27-" + _si }, + }, + [ + _c( + "view", + { + staticClass: _svm._$s( + "28-" + _si, + "sc", + "modal-btns gui-flex1" + ), + staticStyle: { "margin-right": "80rpx" }, + attrs: { + "hover-class": "gui-tap", + _i: "28-" + _si, + }, + }, + [ + _c( + "text", + { + staticClass: _svm._$s( + "29-" + _si, + "sc", + "modal-btns gui-color-gray" + ), + attrs: { _i: "29-" + _si }, + on: { click: _vm.close1 }, + }, + [_vm._v("取消")] + ), + ] + ), + _c( + "view", + { + staticClass: _svm._$s( + "30-" + _si, + "sc", + "modal-btns gui-flex1" + ), + staticStyle: { "margin-left": "80rpx" }, + attrs: { + "hover-class": "gui-tap", + _i: "30-" + _si, + }, + }, + [ + _c( + "text", + { + staticClass: _svm._$s( + "31-" + _si, + "sc", + "modal-btns gui-primary-color" + ), + attrs: { _i: "31-" + _si }, + on: { click: _vm.confirm1 }, + }, + [_vm._v("确认")] + ), + ] + ), + ] + ), + ] + }, + }, + ]), + }), + ], + 1 + ), + ] + ), + ]) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 121 */ +/*!***********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-demo-header.vue ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-demo-header.vue?vue&type=template&id=38f0d854& */ 122);\n/* harmony import */ var _gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-demo-header.vue?vue&type=script&lang=js& */ 124);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"GraceUI5/components/gui-demo-header.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQzBNO0FBQzFNLGdCQUFnQix3TUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9ndWktZGVtby1oZWFkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTM4ZjBkODU0JlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZ3VpLWRlbW8taGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vZ3VpLWRlbW8taGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJHcmFjZVVJNS9jb21wb25lbnRzL2d1aS1kZW1vLWhlYWRlci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///121\n"); + +/***/ }), +/* 122 */ +/*!******************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-demo-header.vue?vue&type=template&id=38f0d854& ***! + \******************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-demo-header.vue?vue&type=template&id=38f0d854& */ 123); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_template_id_38f0d854___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 123 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-demo-header.vue?vue&type=template&id=38f0d854& ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "view", + { + staticClass: _vm._$s( + 0, + "sc", + "gui-margin gui-rows gui-align-items-center" + ), + attrs: { _i: 0 }, + }, + [ + _c("text", { + staticClass: _vm._$s(1, "sc", "gui-h5 gui-icons gui-primary-color"), + attrs: { _i: 1 }, + }), + _c("text", { + staticClass: _vm._$s(2, "sc", "gui-text-small gui-color-gray"), + attrs: { _i: 2 }, + }), + ] + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 124 */ +/*!************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-demo-header.vue?vue&type=script&lang=js& ***! + \************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./gui-demo-header.vue?vue&type=script&lang=js& */ 125);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_gui_demo_header_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVzQixDQUFnQixpckJBQUcsRUFBQyIsImZpbGUiOiIxMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9ndWktZGVtby1oZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9ndWktZGVtby1oZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///124\n"); + +/***/ }), +/* 125 */ +/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-demo-header.vue?vue&type=script&lang=js& ***! + \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("//\n//\n//\n//\n//\n//\n//\n////# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiIxMjUuanMiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///125\n"); + +/***/ }), +/* 126 */ +/*!*******************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/uSpeak/uSpeak.vue?vue&type=script&lang=js&mpType=page ***! + \*******************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uSpeak.vue?vue&type=script&lang=js&mpType=page */ 127);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uSpeak_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXlzQixDQUFnQixtckJBQUcsRUFBQyIsImZpbGUiOiIxMjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91U3BlYWsudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3VTcGVhay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///126\n"); + +/***/ }), +/* 127 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/uSpeak/uSpeak.vue?vue&type=script&lang=js&mpType=page ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _vueAvatar = _interopRequireDefault(__webpack_require__(/*! vue-avatar */ 128));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar graceJS = __webpack_require__(/*! @/GraceUI5/js/grace.js */ 14);\nvar request = __webpack_require__(/*! @/GraceUI5/js/request/request.js */ 76);\nvar graceChecker = __webpack_require__(/*! @/GraceUI5/js/checker.js */ 74);\nvar face = \"https://images.unsplash.com/photo-1663717249250-804cb861ed74?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw5M3x8fGVufDB8fHx8&auto=format&fit=crop&w=100&q=80\";\nvar img = \"https://images.unsplash.com/photo-1657310217094-2214abf4fd88?ixlib=rb-1.2.1&ixid=MnwxMjA3fDF8MHxlZGl0b3JpYWwtZmVlZHwxNTN8fHxlbnwwfHx8fA%3D%3D&auto=format&fit=crop&w=600&q=60\";\nvar _default = {\n data: function data() {\n return {\n textareaVal: \"\",\n // 文本内容\n maxWords: 100,\n // 最多字符数\n textareatimer: null,\n // 延迟记录\n face: face,\n // 模拟评论数据 (实际项目来自api请求)\n commentContents: [],\n name: '张三'\n };\n },\n components: {\n Avatar: _vueAvatar.default\n },\n onLoad: function onLoad() {\n this.getlist();\n // 昵称 / id / 时间 / 赞 / 内容/\n // id , uid \n },\n\n methods: {\n getlist: function getlist() {\n this.userid = graceJS.getStorage(\"id\");\n this.username = graceJS.getStorage(\"name\");\n var formData = {\n userid: this.userid\n };\n var that = this;\n /**\n * 获取列表\n */\n request.post(\"bohe/Articelist\", {\n data: formData\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/uSpeak/uSpeak.vue:112\");\n that.commentContents = res.data;\n });\n },\n //传入名字,根据名字生成颜色,这样颜色就固定下来了\n extractColorByName: function extractColorByName(name) {\n var temp = [];\n temp.push(\"#\");\n for (var index = 0; index < name.length; index++) {\n temp.push(parseInt(name[index].charCodeAt(0), 10).toString(16));\n }\n return temp.slice(0, 5).join('').slice(0, 4);\n },\n open1: function open1() {\n this.$refs.guimodal1.open();\n },\n close1: function close1() {\n this.$refs.guimodal1.close();\n },\n confirm1: function confirm1() {\n var _this = this;\n __f__(\"log\", this.textareaVal, \" at pages/uSpeak/uSpeak.vue:134\");\n var data = {\n uid: this.userid,\n content: this.textareaVal,\n name: this.username\n };\n request.post(\"bohe/bhArticeadd\", {\n data: data\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/uSpeak/uSpeak.vue:143\");\n if (res.data.code == 200) {\n _this.getlist();\n // 客户点击确认按钮后的逻辑请在此处实现\n _this.$refs.guimodal1.close();\n }\n });\n },\n love: function love(i) {\n var that = this;\n this.commentContents[i];\n var list = this.commentContents;\n var data = {\n uid: parseInt(this.userid),\n aid: this.commentContents[i].id\n };\n __f__(\"log\", data, \" at pages/uSpeak/uSpeak.vue:161\");\n request.post(\"bohe/bhALoveadd\", {\n data: data\n }, function (res) {\n __f__(\"log\", res.data, \" at pages/uSpeak/uSpeak.vue:166\");\n if (res.data.code == 200) {\n list[i] = res.data.data;\n }\n that.commentContents = list;\n that.$forceUpdate();\n });\n __f__(\"log\", that.commentContents, \" at pages/uSpeak/uSpeak.vue:175\");\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdVNwZWFrL3VTcGVhay52dWUiXSwibmFtZXMiOlsiZGF0YSIsInRleHRhcmVhVmFsIiwibWF4V29yZHMiLCJ0ZXh0YXJlYXRpbWVyIiwiZmFjZSIsImNvbW1lbnRDb250ZW50cyIsIm5hbWUiLCJjb21wb25lbnRzIiwiQXZhdGFyIiwib25Mb2FkIiwibWV0aG9kcyIsImdldGxpc3QiLCJ1c2VyaWQiLCJyZXF1ZXN0IiwidGhhdCIsImV4dHJhY3RDb2xvckJ5TmFtZSIsInRlbXAiLCJvcGVuMSIsImNsb3NlMSIsImNvbmZpcm0xIiwidWlkIiwiY29udGVudCIsImxvdmUiLCJhaWQiLCJsaXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0VBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUNBO0FBQ0EsVUFDQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUNBO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7O0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtNQUNBO0FBQ0E7QUFDQTtNQUNBQztRQUNBYjtNQUNBO1FBQ0E7UUFDQWM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBQztNQUNBO1FBQ0FBO01BQ0E7TUFDQTtJQUNBO0lBR0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7UUFDQWY7TUFDQTtNQUNBTztRQUNBYjtNQUNBO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BRUE7SUFFQTtJQUNBc0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBRjtRQUNBRztNQUNBO01BQ0E7TUFFQVY7UUFDQWI7TUFDQTtRQUNBO1FBQ0E7VUFDQXdCO1FBQ0E7UUFFQVY7UUFDQUE7TUFDQTtNQUVBO0lBQ0E7RUFFQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMTI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8Z3VpLXBhZ2UgOmN1c3RvbUhlYWRlcj1cInRydWVcIj5cblx0XHQ8dmlldyBzbG90PVwiZ0hlYWRlclwiPjxndWktZGVtby1oZWFkZXI+PC9ndWktZGVtby1oZWFkZXI+PC92aWV3PlxuXHRcdDx2aWV3IHNsb3Q9XCJnQm9keVwiIGNsYXNzPVwiZ3VpLW1hcmdpblwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206NTBycHg7XCI+XG5cdFxyXG5cdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHQ8dmlldz5cclxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiZGVmYXVsdFwiIEBjbGljaz1cIm9wZW4xKClcIlxyXG5cdFx0XHRcdGNsYXNzPVwiZ3VpLWJ1dHRvbi1taW5pIGd1aS1ndGJnLXJlZCBndWktZmxleCBndWktYWxpZ24taXRlbXMtY2VudGVyIGd1aS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuXHRcdFx0XHRzdHlsZT1cIndpZHRoOjI4MnJweDtcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1jb2xvci13aGl0ZSBndWktYnV0dG9uLXRleHQtbWluaSBndWktaWNvbnNcIj4mI3hlNjQyOyDlj5HkuKrluJblrZDor5Xor5U8L3RleHQ+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJndWktbWFyZ2luLXRvcFwiPlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1oNSBndWktY29sb3ItZ3JheSBndWktYm9sZFwiPuWBpeW6t+ekvuWMujwvdGV4dD5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWNvbW1lbnRzXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWNvbW1lbnRzLWl0ZW1zIGd1aS1mbGV4IGd1aS1yb3dzIGd1aS1ub3dyYXAgZ3VpLXNwYWNlLWJldHdlZW5cIlxyXG5cdFx0XHRcdHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBjb21tZW50Q29udGVudHNcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHQ8QXZhdGFyIDp1c2VybmFtZT1cIml0ZW0ubmFtZVwiIDpzcmM9XCJpdGVtLm5hbWVcIiA6c3R5bGU9XCInd2lkdGg6NDBweDtoZWlnaHQ6NDBweCdcIiA6YmFja2dyb3VuZC1jb2xvcj1cImV4dHJhY3RDb2xvckJ5TmFtZShpdGVtLm5hbWUpXCIgY29sb3I9XCIjZmZmXCIgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1wiIDppbmxpbmU9XCJ0cnVlXCIgLz5cblx0XHRcdFx0XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktY29tbWVudHMtYm9keVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktZmxleCBndWktcm93cyBndWktbm93cmFwIGd1aS1zcGFjZS1iZXR3ZWVuIGd1aS1hbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktY29tbWVudHMtaGVhZGVyLXRleHQgZ3VpLXRleHQgZ3VpLXByaW1hcnktY29sb3JcIj57e2l0ZW0ubmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBAY2xpY2s9XCJsb3ZlKGluZGV4KVwiIGNsYXNzPVwiZ3VpLWNvbW1lbnRzLWhlYWRlci10ZXh0IGd1aS1pY29ucyBndWktY29sb3ItZ3JheSBndWktdGV4dC1zbWFsbFwiXHJcblx0XHRcdFx0XHRcdFx0OmNsYXNzPVwiW2l0ZW0uc3RhdHVzID8gJ2d1aS1jb2xvci1ibHVlJyA6ICcnXVwiPiYjeGU2ZWE7IHt7aXRlbS5jb3VudH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJndWktY29tbWVudHMtY29udGVudCBndWktYmxvY2stdGV4dFwiPnt7aXRlbS5jb250ZW50fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdDx2aWV3XHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZ3VpLWNvbW1lbnRzLWluZm8gZ3VpLWZsZXggZ3VpLXJvd3MgZ3VpLW5vd3JhcCBndWktc3BhY2UtYmV0d2VlbiBndWktYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZ3VpLWNvbW1lbnRzLXJlcGxheS1idG4gZ3VpLWJsb2NrLXRleHQgZ3VpLWJnLWdyYXlcIj4gPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImd1aS1jb21tZW50cy1pbmZvLXRleHRcIj57e2l0ZW0uY3JlYXRlVGltZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDxndWktbW9kYWwgc3R5bGU9XCJoZWlnaHQ6IDUwJTtcIiA6Y3VzdG9tQ2xhc3M9XCJbJ2d1aS1iZy13aGl0ZScsICdndWktZGFyay1iZy1sZXZlbC0zJywgJ2d1aS1ib3JkZXItcmFkaXVzJ11cIlxyXG5cdFx0XHRyZWY9XCJndWltb2RhbDFcIiB0aXRsZT1cIuWPkeS4quW4luWtkFwiPlxyXG5cdFx0XHQ8dGVtcGxhdGUgdi1zbG90OmNvbnRlbnQ+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktcGFkZGluZyBndWktYmctZ3JheSBndWktZGFyay1iZy1sZXZlbC0yXCI+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJndWktYmctd2hpdGUgZ3VpLWRhcmstYmctbGV2ZWwtMyBndWktcGFkZGluZyBndWktbWFyZ2luLXRvcFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dGFyZWEgY2xhc3M9XCJndWktdGV4dGFyZWFcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCIgdi1tb2RlbD1cInRleHRhcmVhVmFsXCIgbWF4bGVuZ3RoPVwiLTFcIlxyXG5cdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwi6K+054K55LuA5LmI5ZCnXCI+PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3RlbXBsYXRlPlxyXG5cclxuXHRcdFx0PCEtLSDliKnnlKggZmxleCDluIPlsYAg5Y+v5Lul5pS+572u5aSa5Liq6Ieq5a6a5LmJ5oyJ6ZKu5ZOmICAtLT5cclxuXHRcdFx0PHRlbXBsYXRlIHYtc2xvdDpidG5zPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZ3VpLWZsZXggZ3VpLXJvdyBndWktc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgaG92ZXItY2xhc3M9XCJndWktdGFwXCIgY2xhc3M9XCJtb2RhbC1idG5zIGd1aS1mbGV4MVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjgwcnB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1vZGFsLWJ0bnMgZ3VpLWNvbG9yLWdyYXlcIiBAdGFwPVwiY2xvc2UxXCI+5Y+W5raIPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgaG92ZXItY2xhc3M9XCJndWktdGFwXCIgY2xhc3M9XCJtb2RhbC1idG5zIGd1aS1mbGV4MVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6ODBycHg7XCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibW9kYWwtYnRucyBndWktcHJpbWFyeS1jb2xvclwiIEB0YXA9XCJjb25maXJtMVwiPuehruiupDwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHQ8L2d1aS1tb2RhbD5cclxuXHQ8L3ZpZXc+XG5cdDwvdmlldz5cblx0PC9ndWktcGFnZT5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cblx0aW1wb3J0IEF2YXRhciBmcm9tICd2dWUtYXZhdGFyJ1xuXHJcblx0dmFyIGdyYWNlSlMgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL2dyYWNlLmpzJyk7XHJcblx0dmFyIHJlcXVlc3QgPSByZXF1aXJlKCdAL0dyYWNlVUk1L2pzL3JlcXVlc3QvcmVxdWVzdC5qcycpO1xyXG5cdHZhciBncmFjZUNoZWNrZXIgPSByZXF1aXJlKFwiQC9HcmFjZVVJNS9qcy9jaGVja2VyLmpzXCIpO1xyXG5cdHZhciBmYWNlID1cclxuXHRcdFwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE2NjM3MTcyNDkyNTAtODA0Y2I4NjFlZDc0P2l4bGliPXJiLTEuMi4xJml4aWQ9TW53eE1qQTNmREI4TUh4bFpHbDBiM0pwWVd3dFptVmxaSHc1TTN4OGZHVnVmREI4Zkh4OCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTEwMCZxPTgwXCI7XHJcblx0dmFyIGltZyA9XHJcblx0XHRcImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjU3MzEwMjE3MDk0LTIyMTRhYmY0ZmQ4OD9peGxpYj1yYi0xLjIuMSZpeGlkPU1ud3hNakEzZkRGOE1IeGxaR2wwYjNKcFlXd3RabVZsWkh3eE5UTjhmSHhsYm53d2ZIeDhmQSUzRCUzRCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTYwMCZxPTYwXCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR0ZXh0YXJlYVZhbDogXCJcIiwgLy8g5paH5pys5YaF5a65XHJcblx0XHRcdFx0bWF4V29yZHM6IDEwMCwgLy8g5pyA5aSa5a2X56ym5pWwXHJcblx0XHRcdFx0dGV4dGFyZWF0aW1lcjogbnVsbCwgLy8g5bu26L+f6K6w5b2VXG5cdFx0XHRcdGZhY2U6ZmFjZSxcclxuXHRcdFx0XHQvLyDmqKHmi5/or4TorrrmlbDmja4gKOWunumZhemhueebruadpeiHqmFwaeivt+axgilcclxuXHRcdFx0XHRjb21tZW50Q29udGVudHM6IFtdLFxuXHRcdFx0XHRuYW1lOiflvKDkuIknXHJcblx0XHRcdH1cclxuXHRcdH0sXG5cdFx0Y29tcG9uZW50czoge1xuXHRcdCAgICBBdmF0YXJcblx0XHQgIH0sXHJcblx0XHRvbkxvYWQoKSB7XHJcblx0XHRcdHRoaXMuZ2V0bGlzdCgpXHJcblx0XHRcdC8vIOaYteensCAvIGlkIC8g5pe26Ze0IC8g6LWeIC8g5YaF5a65L1xyXG5cdFx0XHQvLyBpZCAsIHVpZCBcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRnZXRsaXN0KCl7XG5cdFx0XHRcdHRoaXMudXNlcmlkID0gZ3JhY2VKUy5nZXRTdG9yYWdlKFwiaWRcIilcblx0XHRcdFx0dGhpcy51c2VybmFtZSA9IGdyYWNlSlMuZ2V0U3RvcmFnZShcIm5hbWVcIilcblx0XHRcdFx0dmFyIGZvcm1EYXRhID0ge1xuXHRcdFx0XHRcdHVzZXJpZDogdGhpcy51c2VyaWRcblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXNcblx0XHRcdFx0LyoqXG5cdFx0XHRcdCAqIOiOt+WPluWIl+ihqFxuXHRcdFx0XHQgKi9cblx0XHRcdFx0cmVxdWVzdC5wb3N0KFwiYm9oZS9BcnRpY2VsaXN0XCIsIHtcblx0XHRcdFx0XHRkYXRhOiBmb3JtRGF0YVxuXHRcdFx0XHR9LCAocmVzKSA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXG5cdFx0XHRcdFx0dGhhdC5jb21tZW50Q29udGVudHMgPSByZXMuZGF0YVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdC8v5Lyg5YWl5ZCN5a2XLOagueaNruWQjeWtl+eUn+aIkOminOiJsizov5nmoLfpopzoibLlsLHlm7rlrprkuIvmnaXkuoZcblx0XHRcdFx0ZXh0cmFjdENvbG9yQnlOYW1lKG5hbWUpIHtcblx0XHRcdFx0ICAgICAgdmFyIHRlbXAgPSBbXTtcblx0XHRcdFx0ICAgICAgdGVtcC5wdXNoKFwiI1wiKTtcblx0XHRcdFx0ICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG5hbWUubGVuZ3RoOyBpbmRleCsrKSB7XG5cdFx0XHRcdCAgICAgICAgdGVtcC5wdXNoKHBhcnNlSW50KG5hbWVbaW5kZXhdLmNoYXJDb2RlQXQoMCksIDEwKS50b1N0cmluZygxNikpO1xuXHRcdFx0XHQgICAgICB9XG5cdFx0XHRcdCAgICAgIHJldHVybiB0ZW1wLnNsaWNlKDAsIDUpLmpvaW4oJycpLnNsaWNlKDAsIDQpO1xuXHRcdFx0XHQgICAgfSxcblx0XHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0XHRvcGVuMTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5ndWltb2RhbDEub3BlbigpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZTE6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMuZ3VpbW9kYWwxLmNsb3NlKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm0xOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnRleHRhcmVhVmFsKVxyXG5cdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0dWlkOiB0aGlzLnVzZXJpZCxcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IHRoaXMudGV4dGFyZWFWYWwsXG5cdFx0XHRcdFx0bmFtZTp0aGlzLnVzZXJuYW1lXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJlcXVlc3QucG9zdChcImJvaGUvYmhBcnRpY2VhZGRcIiwge1xyXG5cdFx0XHRcdFx0ZGF0YTogZGF0YVxyXG5cdFx0XHRcdH0sIChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmNvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZ2V0bGlzdCgpXHJcblx0XHRcdFx0XHRcdC8vIOWuouaIt+eCueWHu+ehruiupOaMiemSruWQjueahOmAu+i+keivt+WcqOatpOWkhOWunueOsFxyXG5cdFx0XHRcdFx0XHR0aGlzLiRyZWZzLmd1aW1vZGFsMS5jbG9zZSgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9KVxyXG5cclxuXHRcdFx0fSxcblx0XHRcdGxvdmUoaSl7XG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpc1xuXHRcdFx0XHRcdHRoaXMuY29tbWVudENvbnRlbnRzW2ldXG5cdFx0XHRcdFx0dmFyIGxpc3QgPSB0aGlzLmNvbW1lbnRDb250ZW50c1xuXHRcdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdFx0dWlkOnBhcnNlSW50KHRoaXMudXNlcmlkKSxcblx0XHRcdFx0XHRcdGFpZDp0aGlzLmNvbW1lbnRDb250ZW50c1tpXS5pZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhKVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdHJlcXVlc3QucG9zdChcImJvaGUvYmhBTG92ZWFkZFwiLCB7XG5cdFx0XHRcdFx0XHRkYXRhOiBkYXRhXG5cdFx0XHRcdFx0fSwgKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuY29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdFx0bGlzdFtpXSA9IHJlcy5kYXRhLmRhdGFcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0dGhhdC5jb21tZW50Q29udGVudHMgPSBsaXN0XG5cdFx0XHRcdFx0XHR0aGF0LiRmb3JjZVVwZGF0ZSgpO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5jb21tZW50Q29udGVudHMpXG5cdFx0XHR9LFxyXG5cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG5cdC5tb2RhbC1idG5zIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR3aWR0aDogMjAwcnB4O1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///127\n"); + +/***/ }), +/* 128 */ +/*!******************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/node_modules/vue-avatar/dist/vue-avatar.min.js ***! + \******************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4); +!function (t, n) { + "object" == ( false ? undefined : _typeof(exports)) && "object" == ( false ? undefined : _typeof(module)) ? module.exports = n() : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (n), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined; +}(this, function () { + return function (t) { + function n(r) { + if (e[r]) return e[r].exports; + var o = e[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports; + } + var e = {}; + return n.m = t, n.c = e, n.d = function (t, e, r) { + n.o(t, e) || Object.defineProperty(t, e, { + configurable: !1, + enumerable: !0, + get: r + }); + }, n.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default; + } : function () { + return t; + }; + return n.d(e, "a", e), e; + }, n.o = function (t, n) { + return Object.prototype.hasOwnProperty.call(t, n); + }, n.p = "/", n(n.s = 9); + }([function (t, n) { + var e = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); + "number" == typeof __g && (__g = e); + }, function (t, n) { + t.exports = function (t) { + return "object" == _typeof(t) ? null !== t : "function" == typeof t; + }; + }, function (t, n, e) { + t.exports = !e(3)(function () { + return 7 != Object.defineProperty({}, "a", { + get: function get() { + return 7; + } + }).a; + }); + }, function (t, n) { + t.exports = function (t) { + try { + return !!t(); + } catch (t) { + return !0; + } + }; + }, function (t, n) { + var e = t.exports = { + version: "2.5.1" + }; + "number" == typeof __e && (__e = e); + }, function (t, n, e) { + var r = e(6), + o = e(7); + t.exports = function (t) { + return r(o(t)); + }; + }, function (t, n, e) { + var r = e(30); + t.exports = Object("z").propertyIsEnumerable(0) ? Object : function (t) { + return "String" == r(t) ? t.split("") : Object(t); + }; + }, function (t, n) { + t.exports = function (t) { + if (void 0 == t) throw TypeError("Can't call method on " + t); + return t; + }; + }, function (t, n) { + var e = Math.ceil, + r = Math.floor; + t.exports = function (t) { + return isNaN(t = +t) ? 0 : (t > 0 ? r : e)(t); + }; + }, function (t, n, e) { + "use strict"; + + Object.defineProperty(n, "__esModule", { + value: !0 + }), n.Avatar = void 0; + var r = e(10), + o = function (t) { + return t && t.__esModule ? t : { + default: t + }; + }(r); + n.Avatar = o.default, n.default = o.default; + }, function (t, n, e) { + "use strict"; + + Object.defineProperty(n, "__esModule", { + value: !0 + }); + var r = e(12), + o = e.n(r), + i = e(41), + u = e(11), + s = u(o.a, i.a, !1, null, null, null); + n.default = s.exports; + }, function (t, n) { + t.exports = function (t, n, e, r, o, i) { + var u, + s = t = t || {}, + a = _typeof(t.default); + "object" !== a && "function" !== a || (u = t, s = t.default); + var c = "function" == typeof s ? s.options : s; + n && (c.render = n.render, c.staticRenderFns = n.staticRenderFns, c._compiled = !0), e && (c.functional = !0), o && (c._scopeId = o); + var f; + if (i ? (f = function f(t) { + t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, t || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), r && r.call(this, t), t && t._registeredComponents && t._registeredComponents.add(i); + }, c._ssrRegister = f) : r && (f = r), f) { + var l = c.functional, + p = l ? c.render : c.beforeCreate; + l ? (c._injectStyles = f, c.render = function (t, n) { + return f.call(n), p(t, n); + }) : c.beforeCreate = p ? [].concat(p, f) : [f]; + } + return { + esModule: u, + exports: s, + options: c + }; + }; + }, function (t, n, e) { + "use strict"; + + Object.defineProperty(n, "__esModule", { + value: !0 + }); + var r = e(13), + o = function (t) { + return t && t.__esModule ? t : { + default: t + }; + }(r), + i = function i(t) { + for (var n = t.split(/[ -]/), e = "", r = 0; r < n.length; r++) { + e += n[r].charAt(0); + } + return e.length > 3 && -1 !== e.search(/[A-Z]/) && (e = e.replace(/[a-z]+/g, "")), e = e.substr(0, 3).toUpperCase(); + }; + n.default = { + name: "avatar", + props: { + username: { + type: String + }, + initials: { + type: String + }, + backgroundColor: { + type: String + }, + color: { + type: String + }, + customStyle: { + type: Object + }, + inline: { + type: Boolean + }, + size: { + type: Number, + default: 50 + }, + src: { + type: String + }, + rounded: { + type: Boolean, + default: !0 + }, + lighten: { + type: Number, + default: 80 + }, + parser: { + type: Function, + default: i, + validator: function validator(t) { + return "string" == typeof t("John", i); + } + } + }, + data: function data() { + return { + backgroundColors: ["#F44336", "#FF4081", "#9C27B0", "#673AB7", "#3F51B5", "#2196F3", "#03A9F4", "#00BCD4", "#009688", "#4CAF50", "#8BC34A", "#CDDC39", "#FFC107", "#FF9800", "#FF5722", "#795548", "#9E9E9E", "#607D8B"], + imgError: !1 + }; + }, + mounted: function mounted() { + this.isImage || this.$emit("avatar-initials", this.username, this.userInitial); + }, + computed: { + background: function background() { + if (!this.isImage) return this.backgroundColor || this.randomBackgroundColor(this.username.length, this.backgroundColors); + }, + fontColor: function fontColor() { + if (!this.isImage) return this.color || this.lightenColor(this.background, this.lighten); + }, + isImage: function isImage() { + return !this.imgError && Boolean(this.src); + }, + style: function style() { + var t = { + display: this.inline ? "inline-flex" : "flex", + width: this.size + "px", + height: this.size + "px", + borderRadius: this.rounded ? "50%" : 0, + lineHeight: this.size + Math.floor(this.size / 20) + "px", + fontWeight: "bold", + alignItems: "center", + justifyContent: "center", + textAlign: "center", + userSelect: "none" + }, + n = { + background: "transparent url('" + this.src + "') no-repeat scroll 0% 0% / " + this.size + "px " + this.size + "px content-box border-box" + }, + e = { + backgroundColor: this.background, + font: Math.floor(this.size / 2.5) + "px/" + this.size + "px Helvetica, Arial, sans-serif", + color: this.fontColor + }, + r = this.isImage ? n : e; + return (0, o.default)(t, r), t; + }, + userInitial: function userInitial() { + if (!this.isImage) { + return this.initials || this.parser(this.username, i); + } + return ""; + } + }, + methods: { + initial: i, + onImgError: function onImgError(t) { + this.imgError = !0; + }, + randomBackgroundColor: function randomBackgroundColor(t, n) { + return n[t % n.length]; + }, + lightenColor: function lightenColor(t, n) { + var e = !1; + "#" === t[0] && (t = t.slice(1), e = !0); + var r = parseInt(t, 16), + o = (r >> 16) + n; + o > 255 ? o = 255 : o < 0 && (o = 0); + var i = (r >> 8 & 255) + n; + i > 255 ? i = 255 : i < 0 && (i = 0); + var u = (255 & r) + n; + return u > 255 ? u = 255 : u < 0 && (u = 0), (e ? "#" : "") + (u | i << 8 | o << 16).toString(16); + } + } + }; + }, function (t, n, e) { + t.exports = { + default: e(14), + __esModule: !0 + }; + }, function (t, n, e) { + e(15), t.exports = e(4).Object.assign; + }, function (t, n, e) { + var r = e(16); + r(r.S + r.F, "Object", { + assign: e(26) + }); + }, function (t, n, e) { + var r = e(0), + o = e(4), + i = e(17), + u = e(19), + s = function s(t, n, e) { + var a, + c, + f, + l = t & s.F, + p = t & s.G, + d = t & s.S, + h = t & s.P, + v = t & s.B, + y = t & s.W, + g = p ? o : o[n] || (o[n] = {}), + m = g.prototype, + x = p ? r : d ? r[n] : (r[n] || {}).prototype; + p && (e = n); + for (a in e) { + (c = !l && x && void 0 !== x[a]) && a in g || (f = c ? x[a] : e[a], g[a] = p && "function" != typeof x[a] ? e[a] : v && c ? i(f, r) : y && x[a] == f ? function (t) { + var n = function n(_n, e, r) { + if (this instanceof t) { + switch (arguments.length) { + case 0: + return new t(); + case 1: + return new t(_n); + case 2: + return new t(_n, e); + } + return new t(_n, e, r); + } + return t.apply(this, arguments); + }; + return n.prototype = t.prototype, n; + }(f) : h && "function" == typeof f ? i(Function.call, f) : f, h && ((g.virtual || (g.virtual = {}))[a] = f, t & s.R && m && !m[a] && u(m, a, f))); + } + }; + s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, t.exports = s; + }, function (t, n, e) { + var r = e(18); + t.exports = function (t, n, e) { + if (r(t), void 0 === n) return t; + switch (e) { + case 1: + return function (e) { + return t.call(n, e); + }; + case 2: + return function (e, r) { + return t.call(n, e, r); + }; + case 3: + return function (e, r, o) { + return t.call(n, e, r, o); + }; + } + return function () { + return t.apply(n, arguments); + }; + }; + }, function (t, n) { + t.exports = function (t) { + if ("function" != typeof t) throw TypeError(t + " is not a function!"); + return t; + }; + }, function (t, n, e) { + var r = e(20), + o = e(25); + t.exports = e(2) ? function (t, n, e) { + return r.f(t, n, o(1, e)); + } : function (t, n, e) { + return t[n] = e, t; + }; + }, function (t, n, e) { + var r = e(21), + o = e(22), + i = e(24), + u = Object.defineProperty; + n.f = e(2) ? Object.defineProperty : function (t, n, e) { + if (r(t), n = i(n, !0), r(e), o) try { + return u(t, n, e); + } catch (t) {} + if ("get" in e || "set" in e) throw TypeError("Accessors not supported!"); + return "value" in e && (t[n] = e.value), t; + }; + }, function (t, n, e) { + var r = e(1); + t.exports = function (t) { + if (!r(t)) throw TypeError(t + " is not an object!"); + return t; + }; + }, function (t, n, e) { + t.exports = !e(2) && !e(3)(function () { + return 7 != Object.defineProperty(e(23)("div"), "a", { + get: function get() { + return 7; + } + }).a; + }); + }, function (t, n, e) { + var r = e(1), + o = e(0).document, + i = r(o) && r(o.createElement); + t.exports = function (t) { + return i ? o.createElement(t) : {}; + }; + }, function (t, n, e) { + var r = e(1); + t.exports = function (t, n) { + if (!r(t)) return t; + var e, o; + if (n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o; + if ("function" == typeof (e = t.valueOf) && !r(o = e.call(t))) return o; + if (!n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o; + throw TypeError("Can't convert object to primitive value"); + }; + }, function (t, n) { + t.exports = function (t, n) { + return { + enumerable: !(1 & t), + configurable: !(2 & t), + writable: !(4 & t), + value: n + }; + }; + }, function (t, n, e) { + "use strict"; + + var r = e(27), + o = e(38), + i = e(39), + u = e(40), + s = e(6), + a = Object.assign; + t.exports = !a || e(3)(function () { + var t = {}, + n = {}, + e = Symbol(), + r = "abcdefghijklmnopqrst"; + return t[e] = 7, r.split("").forEach(function (t) { + n[t] = t; + }), 7 != a({}, t)[e] || Object.keys(a({}, n)).join("") != r; + }) ? function (t, n) { + for (var e = u(t), a = arguments.length, c = 1, f = o.f, l = i.f; a > c;) { + for (var p, d = s(arguments[c++]), h = f ? r(d).concat(f(d)) : r(d), v = h.length, y = 0; v > y;) { + l.call(d, p = h[y++]) && (e[p] = d[p]); + } + } + return e; + } : a; + }, function (t, n, e) { + var r = e(28), + o = e(37); + t.exports = Object.keys || function (t) { + return r(t, o); + }; + }, function (t, n, e) { + var r = e(29), + o = e(5), + i = e(31)(!1), + u = e(34)("IE_PROTO"); + t.exports = function (t, n) { + var e, + s = o(t), + a = 0, + c = []; + for (e in s) { + e != u && r(s, e) && c.push(e); + } + for (; n.length > a;) { + r(s, e = n[a++]) && (~i(c, e) || c.push(e)); + } + return c; + }; + }, function (t, n) { + var e = {}.hasOwnProperty; + t.exports = function (t, n) { + return e.call(t, n); + }; + }, function (t, n) { + var e = {}.toString; + t.exports = function (t) { + return e.call(t).slice(8, -1); + }; + }, function (t, n, e) { + var r = e(5), + o = e(32), + i = e(33); + t.exports = function (t) { + return function (n, e, u) { + var s, + a = r(n), + c = o(a.length), + f = i(u, c); + if (t && e != e) { + for (; c > f;) { + if ((s = a[f++]) != s) return !0; + } + } else for (; c > f; f++) { + if ((t || f in a) && a[f] === e) return t || f || 0; + } + return !t && -1; + }; + }; + }, function (t, n, e) { + var r = e(8), + o = Math.min; + t.exports = function (t) { + return t > 0 ? o(r(t), 9007199254740991) : 0; + }; + }, function (t, n, e) { + var r = e(8), + o = Math.max, + i = Math.min; + t.exports = function (t, n) { + return t = r(t), t < 0 ? o(t + n, 0) : i(t, n); + }; + }, function (t, n, e) { + var r = e(35)("keys"), + o = e(36); + t.exports = function (t) { + return r[t] || (r[t] = o(t)); + }; + }, function (t, n, e) { + var r = e(0), + o = r["__core-js_shared__"] || (r["__core-js_shared__"] = {}); + t.exports = function (t) { + return o[t] || (o[t] = {}); + }; + }, function (t, n) { + var e = 0, + r = Math.random(); + t.exports = function (t) { + return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++e + r).toString(36)); + }; + }, function (t, n) { + t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","); + }, function (t, n) { + n.f = Object.getOwnPropertySymbols; + }, function (t, n) { + n.f = {}.propertyIsEnumerable; + }, function (t, n, e) { + var r = e(7); + t.exports = function (t) { + return Object(r(t)); + }; + }, function (t, n, e) { + "use strict"; + + var r = function r() { + var t = this, + n = t.$createElement, + e = t._self._c || n; + return e("div", { + staticClass: "vue-avatar--wrapper", + style: [t.style, t.customStyle], + attrs: { + "aria-hidden": "true" + } + }, [this.isImage ? e("img", { + staticStyle: { + display: "none" + }, + attrs: { + src: this.src + }, + on: { + error: t.onImgError + } + }) : t._e(), t._v(" "), e("span", { + directives: [{ + name: "show", + rawName: "v-show", + value: !this.isImage, + expression: "!this.isImage" + }] + }, [t._v(t._s(t.userInitial))])]); + }, + o = [], + i = { + render: r, + staticRenderFns: o + }; + n.a = i; + }]); +}); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/module.js */ 129)(module))) + +/***/ }), +/* 129 */ +/*!***********************************!*\ + !*** (webpack)/buildin/module.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function(module) { + if (!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; +}; + + +/***/ }), +/* 130 */ +/*!***************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/App.vue ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 131);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDb007QUFDcE0sZ0JBQWdCLHdNQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjEzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50c1xudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiQXBwLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///130\n"); + +/***/ }), +/* 131 */ +/*!****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/App.vue?vue&type=script&lang=js& ***! + \****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 132);\n/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW1xQixDQUFnQixxcUJBQUcsRUFBQyIsImZpbGUiOiIxMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL215ZG93bmxvYWRzL2FwcHMvSEJpdWxkZXJYL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vbXlkb3dubG9hZHMvYXBwcy9IQml1bGRlclgvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9teWRvd25sb2Fkcy9hcHBzL0hCaXVsZGVyWC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///131\n"); + +/***/ }), +/* 132 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/App.vue?vue&type=script&lang=js& ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n onLaunch: function onLaunch() {\n plus.screen.lockOrientation('portrait-primary'); //锁定屏幕\n var dom = weex.requireModule('dom');\n dom.addRule('fontFace', {\n 'fontFamily': \"graceIconfont\",\n 'src': \"url('/static/grace.ttf')\"\n });\n },\n onShow: function onShow() {},\n onHide: function onHide() {}\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsInBsdXMiLCJzY3JlZW4iLCJsb2NrT3JpZW50YXRpb24iLCJkb20iLCJ3ZWV4IiwicmVxdWlyZU1vZHVsZSIsImFkZFJ1bGUiLCJvblNob3ciLCJvbkhpZGUiXSwibWFwcGluZ3MiOiI7Ozs7OztlQUNlO0VBQ2RBLFFBQVEsRUFBRSxvQkFBVztJQUVwQkMsSUFBSSxDQUFDQyxNQUFNLENBQUNDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDakQsSUFBTUMsR0FBRyxHQUFHQyxJQUFJLENBQUNDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDckNGLEdBQUcsQ0FBQ0csT0FBTyxDQUFDLFVBQVUsRUFBRTtNQUN2QixZQUFZLEVBQUUsZUFBZTtNQUM3QixLQUFLLEVBQUU7SUFDUixDQUFDLENBQUM7RUFFSCxDQUFDO0VBQ0RDLE1BQU0sRUFBRSxrQkFBVyxDQUFDLENBQUM7RUFDckJDLE1BQU0sRUFBRSxrQkFBVyxDQUFDO0FBQ3JCLENBQUM7QUFBQSIsImZpbGUiOiIxMzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXG5cdFx0cGx1cy5zY3JlZW4ubG9ja09yaWVudGF0aW9uKCdwb3J0cmFpdC1wcmltYXJ5Jyk7IC8v6ZSB5a6a5bGP5bmVXG5cdFx0Y29uc3QgZG9tID0gd2VleC5yZXF1aXJlTW9kdWxlKCdkb20nKTtcblx0XHRkb20uYWRkUnVsZSgnZm9udEZhY2UnLCB7IFxuXHRcdFx0J2ZvbnRGYW1pbHknOiBcImdyYWNlSWNvbmZvbnRcIixcblx0XHRcdCdzcmMnOiBcInVybCgnL3N0YXRpYy9ncmFjZS50dGYnKVwiXG5cdFx0fSk7XG5cblx0fSxcblx0b25TaG93OiBmdW5jdGlvbigpIHt9LFxuXHRvbkhpZGU6IGZ1bmN0aW9uKCkge31cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///132\n"); + +/***/ }) +],[[0,"app-config"]]]); \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-view.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-view.js new file mode 100644 index 0000000..45d9bbf --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/app-view.js @@ -0,0 +1,8583 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "./"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/*!***************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/main.js ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +__webpack_require__(/*! uni-pages?{"type":"view"} */ 1); +// @ts-nocheck + +function initView() { + function injectStyles(context) { + var style0 = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=css& */ 145); + if (style0.__inject__) style0.__inject__(context); + } + typeof injectStyles === 'function' && injectStyles(); + UniViewJSBridge.publishHandler('webviewReady'); +} +if (typeof plus !== 'undefined') { + initView(); +} else { + document.addEventListener('plusready', initView); +} + +/***/ }), +/* 1 */ +/*!**********************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages.json?{"type":"view"} ***! + \**********************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +if (typeof Promise !== 'undefined' && !Promise.prototype.finally) { + Promise.prototype.finally = function (callback) { + var promise = this.constructor; + return this.then(function (value) { + return promise.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return promise.resolve(callback()).then(function () { + throw reason; + }); + }); + }; +} +if (typeof uni !== 'undefined' && uni && uni.requireGlobal) { + var global = uni.requireGlobal(); + ArrayBuffer = global.ArrayBuffer; + Int8Array = global.Int8Array; + Uint8Array = global.Uint8Array; + Uint8ClampedArray = global.Uint8ClampedArray; + Int16Array = global.Int16Array; + Uint16Array = global.Uint16Array; + Int32Array = global.Int32Array; + Uint32Array = global.Uint32Array; + Float32Array = global.Float32Array; + Float64Array = global.Float64Array; + BigInt64Array = global.BigInt64Array; + BigUint64Array = global.BigUint64Array; +} +window.__uniConfig = { + "window": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "GraceUI", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#FFFFFF" + }, + "darkmode": false +}; +if (uni.restoreGlobal) { + uni.restoreGlobal(weex, plus, setTimeout, clearTimeout, setInterval, clearInterval); +} +__definePage('pages/list/list', function () { + return Vue.extend(__webpack_require__(/*! pages/list/list.vue?mpType=page */ 2).default); +}); +__definePage('pages/foodInfo/foodInfo', function () { + return Vue.extend(__webpack_require__(/*! pages/foodInfo/foodInfo.vue?mpType=page */ 8).default); +}); +__definePage('pages/login/login', function () { + return Vue.extend(__webpack_require__(/*! pages/login/login.vue?mpType=page */ 75).default); +}); +__definePage('pages/register/register', function () { + return Vue.extend(__webpack_require__(/*! pages/register/register.vue?mpType=page */ 83).default); +}); +__definePage('pages/c-list/c-list', function () { + return Vue.extend(__webpack_require__(/*! pages/c-list/c-list.vue?mpType=page */ 91).default); +}); +__definePage('pages/c-move-list/c-move-list', function () { + return Vue.extend(__webpack_require__(/*! pages/c-move-list/c-move-list.vue?mpType=page */ 108).default); +}); +__definePage('pages/userInfo/userInfo', function () { + return Vue.extend(__webpack_require__(/*! pages/userInfo/userInfo.vue?mpType=page */ 116).default); +}); +__definePage('pages/myLove/myLove', function () { + return Vue.extend(__webpack_require__(/*! pages/myLove/myLove.vue?mpType=page */ 124).default); +}); +__definePage('pages/uSpeak/uSpeak', function () { + return Vue.extend(__webpack_require__(/*! pages/uSpeak/uSpeak.vue?mpType=page */ 129).default); +}); + +/***/ }), +/* 2 */ +/*!***************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?mpType=page ***! + \***************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.vue?vue&type=template&id=2da1dc16&mpType=page */ 3); +/* harmony import */ var _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.vue?vue&type=script&lang=js&mpType=page */ 5); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 7); + +var renderjs + + + + +/* normalize component */ + +var component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__["default"], + _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"], + _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + null, + null, + false, + _list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"], + renderjs +) + +component.options.__file = "pages/list/list.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 3 */ +/*!*********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=template&id=2da1dc16&mpType=page ***! + \*********************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./list.vue?vue&type=template&id=2da1dc16&mpType=page */ 4); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_template_id_2da1dc16_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 4 */ +/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=template&id=2da1dc16&mpType=page ***! + \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-view", + { + staticClass: _vm._$g(0, "sc"), + staticStyle: { "padding-bottom": "50rpx" }, + attrs: { slot: "gBody", _i: 0 }, + slot: "gBody", + }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(1, "sc"), attrs: { _i: 1 } }, + _vm._l(_vm._$g(2, "f"), function (item, $10, $20, $30) { + return _c( + "v-uni-navigator", + { + key: item, + staticClass: _vm._$g("2-" + $30, "sc"), + attrs: { url: _vm._$g("2-" + $30, "a-url"), _i: "2-" + $30 }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g("3-" + $30, "sc"), + attrs: { _i: "3-" + $30 }, + }, + [ + _c("v-uni-image", { + staticClass: _vm._$g("4-" + $30, "sc"), + attrs: { + src: _vm._$g("4-" + $30, "a-src"), + _i: "4-" + $30, + }, + }), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g("5-" + $30, "sc"), + attrs: { _i: "5-" + $30 }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g("6-" + $30, "sc"), + attrs: { _i: "6-" + $30 }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g("7-" + $30, "sc"), + attrs: { _i: "7-" + $30 }, + }, + [_vm._v(_vm._$g("7-" + $30, "t0-0"))] + ), + ], + 1 + ), + _c( + "v-uni-text", + { + staticClass: _vm._$g("8-" + $30, "sc"), + attrs: { _i: "8-" + $30 }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g("9-" + $30, "sc"), + attrs: { _i: "9-" + $30 }, + }, + [_vm._v(_vm._$g("9-" + $30, "t0-0"))] + ), + _vm._v("千卡/" + _vm._$g("8-" + $30, "t1-0") + "克"), + ], + 1 + ), + ], + 1 + ), + _vm._$g("10-" + $30, "i") + ? _c("v-uni-text", { + staticClass: _vm._$g("10-" + $30, "sc"), + staticStyle: { + "border-radius": "100%", + width: "20upx", + height: "20upx", + }, + attrs: { _i: "10-" + $30 }, + }) + : _vm._e(), + _vm._$g("11-" + $30, "i") + ? _c("v-uni-text", { + staticClass: _vm._$g("11-" + $30, "sc"), + staticStyle: { + "border-radius": "100%", + width: "20upx", + height: "20upx", + }, + attrs: { _i: "11-" + $30 }, + }) + : _vm._e(), + _vm._$g("12-" + $30, "i") + ? _c("v-uni-text", { + staticClass: _vm._$g("12-" + $30, "sc"), + staticStyle: { + "border-radius": "100%", + width: "20upx", + height: "20upx", + }, + attrs: { _i: "12-" + $30 }, + }) + : _vm._e(), + _vm._$g("13-" + $30, "i") + ? _c("v-uni-text", { + staticClass: _vm._$g("13-" + $30, "sc"), + staticStyle: { + "border-radius": "100%", + width: "20upx", + height: "20upx", + }, + attrs: { _i: "13-" + $30 }, + }) + : _vm._e(), + ], + 1 + ) + }), + 1 + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 5 */ +/*!***************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=script&lang=js&mpType=page ***! + \***************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/script.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./list.vue?vue&type=script&lang=js&mpType=page */ 6); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_list_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 6 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/list/list.vue?vue&type=script&lang=js&mpType=page ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + data: function data() { + return { + wxsProps: {} + }; + }, + components: {} +}; +exports.default = _default; + +/***/ }), +/* 7 */ +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***! + \**********************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode, /* vue-cli only */ + components, // fixed by xxxxxx auto components + renderjs // fixed by xxxxxx renderjs +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // fixed by xxxxxx auto components + if (components) { + if (!options.components) { + options.components = {} + } + var hasOwn = Object.prototype.hasOwnProperty + for (var name in components) { + if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) { + options.components[name] = components[name] + } + } + } + // fixed by xxxxxx renderjs + if (renderjs) { + if(typeof renderjs.beforeCreate === 'function'){ + renderjs.beforeCreate = [renderjs.beforeCreate] + } + (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() { + this[renderjs.__module] = this + }); + (options.mixins || (options.mixins = [])).push(renderjs) + } + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), +/* 8 */ +/*!***********************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?mpType=page ***! + \***********************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page */ 9); +/* harmony import */ var _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foodInfo.vue?vue&type=script&lang=js&mpType=page */ 70); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); +/* harmony import */ var _foodInfo_vue_vue_type_style_index_0_id_51f4bc56_scoped_true_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foodInfo.vue?vue&type=style&index=0&id=51f4bc56&scoped=true&lang=css&mpType=page */ 72); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 7); + +var renderjs + + + + + +/* normalize component */ + +var component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _foodInfo_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__["default"], + _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"], + _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "51f4bc56", + null, + false, + _foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"], + renderjs +) + +component.options.__file = "pages/foodInfo/foodInfo.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 9 */ +/*!*****************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page ***! + \*****************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page */ 10); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_foodInfo_vue_vue_type_template_id_51f4bc56_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 10 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/pages/foodInfo/foodInfo.vue?vue&type=template&id=51f4bc56&scoped=true&mpType=page ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiPage: __webpack_require__(/*! @/GraceUI5/components/gui-page.vue */ 11).default, + lCircle: + __webpack_require__(/*! @/uni_modules/lime-circle/components/l-circle/l-circle.vue */ 46) + .default, + guiModal: __webpack_require__(/*! @/GraceUI5/components/gui-modal.vue */ 54).default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-view", + { attrs: { _i: 0 } }, + [ + _c( + "gui-page", + { staticStyle: { "background-color": "#f6f7fa" }, attrs: { _i: 1 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(2, "sc"), + attrs: { slot: "gBody", _i: 2 }, + slot: "gBody", + }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(3, "sc"), attrs: { _i: 3 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(4, "sc"), attrs: { _i: 4 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(5, "sc"), + staticStyle: { height: "20upx" }, + attrs: { _i: 5 }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(6, "sc"), + staticStyle: { "background-color": "#f0fffb" }, + attrs: { _i: 6 }, + }, + [ + _c("v-uni-text", { + staticClass: _vm._$g(7, "sc"), + staticStyle: { + "border-radius": "100%", + width: "20upx", + height: "20upx", + }, + attrs: { _i: 7 }, + }), + _c( + "v-uni-text", + { + staticClass: _vm._$g(8, "sc"), + attrs: { _i: 8 }, + }, + [_vm._v("绿灯食物")] + ), + _c( + "v-uni-text", + { + staticClass: _vm._$g(9, "sc"), + attrs: { _i: 9 }, + }, + [_vm._v("推荐使用")] + ), + ], + 1 + ), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(10, "sc"), attrs: { _i: 10 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(11, "sc"), + attrs: { _i: 11 }, + }, + [ + _c("v-uni-image", { + staticClass: _vm._$g(12, "sc"), + staticStyle: { + width: "120upx", + height: "120upx", + }, + attrs: { src: _vm._$g(12, "a-src"), _i: 12 }, + }), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(13, "sc"), + attrs: { _i: 13 }, + }, + [_vm._v(_vm._$g(13, "t0-0"))] + ), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(14, "sc"), attrs: { _i: 14 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(15, "sc"), + attrs: { _i: 15 }, + on: { + click: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(16, "sc"), + staticStyle: { "font-size": "20px" }, + attrs: { _i: 16 }, + }, + [_vm._v("")] + ), + _c( + "v-uni-text", + { + staticClass: _vm._$g(17, "sc"), + staticStyle: { "margin-left": "-65%" }, + attrs: { _i: 17 }, + }, + [_vm._v(_vm._$g(17, "t0-0") + "收藏")] + ), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(18, "sc"), + attrs: { _i: 18 }, + }, + [_vm._v("|")] + ), + _c( + "uni-view", + { + staticClass: _vm._$g(19, "sc"), + attrs: { _i: 19 }, + on: { + click: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(20, "sc"), + staticStyle: { "font-size": "20px" }, + attrs: { _i: 20 }, + }, + [_vm._v("")] + ), + _c( + "v-uni-text", + { + staticClass: _vm._$g(21, "sc"), + staticStyle: { "margin-left": "-70%" }, + attrs: { _i: 21 }, + }, + [_vm._v("记录")] + ), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + _c("uni-view", { attrs: { _i: 22 } }), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(23, "sc"), attrs: { _i: 23 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(24, "sc"), + staticStyle: { "justify-content": "space-between" }, + attrs: { _i: 24 }, + }, + [ + _c( + "v-uni-text", + { staticClass: _vm._$g(25, "sc"), attrs: { _i: 25 } }, + [_vm._v("营养信息")] + ), + _c( + "v-uni-text", + { staticClass: _vm._$g(26, "sc"), attrs: { _i: 26 } }, + [_vm._v("每「100克」可食部")] + ), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(27, "sc"), + staticStyle: { height: "200upx" }, + attrs: { _i: 27 }, + }, + [ + _vm._v( + _vm._$g(27, "t0-0") + + " 千卡 / " + + _vm._$g(27, "t0-1") + + " 千焦" + ), + ] + ), + _c( + "uni-view", + { staticClass: _vm._$g(28, "sc"), attrs: { _i: 28 } }, + [ + _c( + "l-circle", + { + attrs: { _i: 29 }, + on: { + "update:current": function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(30, "sc"), + staticStyle: { + "font-size": "26upx", + color: "#333", + "text-align": "center", + }, + attrs: { _i: 30 }, + }, + [ + _c("uni-view", { attrs: { _i: 31 } }, [ + _vm._v("蛋白质"), + ]), + _c( + "uni-view", + { + staticClass: _vm._$g(32, "sc"), + attrs: { _i: 32 }, + }, + [_vm._v(_vm._$g(32, "t0-0") + "%")] + ), + ], + 1 + ), + ], + 1 + ), + _c( + "l-circle", + { + attrs: { _i: 33 }, + on: { + "update:current": function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(34, "sc"), + staticStyle: { + "font-size": "26upx", + color: "#333", + "text-align": "center", + }, + attrs: { _i: 34 }, + }, + [ + _c("uni-view", { attrs: { _i: 35 } }, [ + _vm._v("脂肪"), + ]), + _c( + "uni-view", + { + staticClass: _vm._$g(36, "sc"), + attrs: { _i: 36 }, + }, + [_vm._v(_vm._$g(36, "t0-0") + "%")] + ), + ], + 1 + ), + ], + 1 + ), + _c( + "l-circle", + { + attrs: { _i: 37 }, + on: { + "update:current": function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(38, "sc"), + staticStyle: { + "font-size": "26upx", + color: "#333", + "text-align": "center", + }, + attrs: { _i: 38 }, + }, + [ + _c("uni-view", { attrs: { _i: 39 } }, [ + _vm._v("碳水"), + ]), + _c( + "uni-view", + { + staticClass: _vm._$g(40, "sc"), + attrs: { _i: 40 }, + }, + [_vm._v(_vm._$g(40, "t0-0") + "%")] + ), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(41, "sc"), + staticStyle: { + width: "100%", + height: "40upx", + "text-align": "center", + color: "#bdbdbd", + }, + attrs: { _i: 41 }, + }, + [_vm._v("三大营养功能对比")] + ), + _c( + "uni-view", + { staticClass: _vm._$g(42, "sc"), attrs: { _i: 42 } }, + [ + _c("v-uni-text", { attrs: { _i: 43 } }, [_vm._v("项目")]), + _c("v-uni-text", { attrs: { _i: 44 } }, [ + _vm._v("每「100克」可食部"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(45, "sc"), attrs: { _i: 45 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(46, "sc"), attrs: { _i: 46 } }, + [ + _c("uni-view", { attrs: { _i: 47 } }, [ + _vm._v("热量"), + ]), + _c("span", { attrs: { _i: 48 } }, [ + _vm._v(_vm._$g(48, "t0-0") + "千卡"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(49, "sc"), attrs: { _i: 49 } }, + [ + _c("uni-view", { attrs: { _i: 50 } }, [ + _vm._v("蛋白质"), + ]), + _c("span", { attrs: { _i: 51 } }, [ + _vm._v(_vm._$g(51, "t0-0") + "克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(52, "sc"), attrs: { _i: 52 } }, + [ + _c("uni-view", { attrs: { _i: 53 } }, [ + _vm._v("脂肪"), + ]), + _c("span", { attrs: { _i: 54 } }, [ + _vm._v(_vm._$g(54, "t0-0") + "克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(55, "sc"), attrs: { _i: 55 } }, + [ + _c("uni-view", { attrs: { _i: 56 } }, [ + _vm._v("碳水化合物"), + ]), + _c("span", { attrs: { _i: 57 } }, [ + _vm._v(_vm._$g(57, "t0-0") + "克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(58, "sc"), attrs: { _i: 58 } }, + [ + _c("uni-view", { attrs: { _i: 59 } }, [ + _vm._v("膳食纤维"), + ]), + _c("span", { attrs: { _i: 60 } }, [ + _vm._v(_vm._$g(60, "t0-0") + "克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(61, "sc"), attrs: { _i: 61 } }, + [ + _c("uni-view", { attrs: { _i: 62 } }, [_vm._v("糖")]), + _c("span", { attrs: { _i: 63 } }, [ + _vm._v(_vm._$g(63, "t0-0") + "克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(64, "sc"), attrs: { _i: 64 } }, + [ + _c("uni-view", { attrs: { _i: 65 } }, [_vm._v("钠")]), + _c("span", { attrs: { _i: 66 } }, [ + _vm._v(_vm._$g(66, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(67, "sc"), attrs: { _i: 67 } }, + [ + _c("uni-view", { attrs: { _i: 68 } }, [ + _vm._v("维生素A"), + ]), + _c("span", { attrs: { _i: 69 } }, [ + _vm._v(_vm._$g(69, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(70, "sc"), attrs: { _i: 70 } }, + [ + _c("uni-view", { attrs: { _i: 71 } }, [ + _vm._v("维生素B1"), + ]), + _c("span", { attrs: { _i: 72 } }, [ + _vm._v(_vm._$g(72, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(73, "sc"), attrs: { _i: 73 } }, + [ + _c("uni-view", { attrs: { _i: 74 } }, [ + _vm._v("维生素B2"), + ]), + _c("span", { attrs: { _i: 75 } }, [ + _vm._v(_vm._$g(75, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(76, "sc"), attrs: { _i: 76 } }, + [ + _c("uni-view", { attrs: { _i: 77 } }, [ + _vm._v("维生素A"), + ]), + _c("span", { attrs: { _i: 78 } }, [ + _vm._v(_vm._$g(78, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(79, "sc"), attrs: { _i: 79 } }, + [ + _c("uni-view", { attrs: { _i: 80 } }, [ + _vm._v("维生素C"), + ]), + _c("span", { attrs: { _i: 81 } }, [ + _vm._v(_vm._$g(81, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(82, "sc"), attrs: { _i: 82 } }, + [ + _c("uni-view", { attrs: { _i: 83 } }, [ + _vm._v("维生素E"), + ]), + _c("span", { attrs: { _i: 84 } }, [ + _vm._v(_vm._$g(84, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(85, "sc"), attrs: { _i: 85 } }, + [ + _c("uni-view", { attrs: { _i: 86 } }, [ + _vm._v("烟酸"), + ]), + _c("span", { attrs: { _i: 87 } }, [ + _vm._v(_vm._$g(87, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(88, "sc"), attrs: { _i: 88 } }, + [ + _c("uni-view", { attrs: { _i: 89 } }, [_vm._v("钙")]), + _c("span", { attrs: { _i: 90 } }, [ + _vm._v(_vm._$g(90, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(91, "sc"), attrs: { _i: 91 } }, + [ + _c("uni-view", { attrs: { _i: 92 } }, [_vm._v("铁")]), + _c("span", { attrs: { _i: 93 } }, [ + _vm._v(_vm._$g(93, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(94, "sc"), attrs: { _i: 94 } }, + [ + _c("uni-view", { attrs: { _i: 95 } }, [_vm._v("钾")]), + _c("span", { attrs: { _i: 96 } }, [ + _vm._v(_vm._$g(96, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(97, "sc"), attrs: { _i: 97 } }, + [ + _c("uni-view", { attrs: { _i: 98 } }, [_vm._v("铁")]), + _c("span", { attrs: { _i: 99 } }, [ + _vm._v(_vm._$g(99, "t0-0") + "毫克"), + ]), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(100, "sc"), attrs: { _i: 100 } }, + [ + _c("uni-view", { attrs: { _i: 101 } }, [ + _vm._v("锌"), + ]), + _c("span", { attrs: { _i: 102 } }, [ + _vm._v(_vm._$g(102, "t0-0") + "毫克"), + ]), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + _c("uni-view", { + staticStyle: { width: "100%", height: "200upx" }, + attrs: { _i: 103 }, + }), + ], + 1 + ), + ], + 1 + ), + _c( + "gui-modal", + { ref: "guimodal1", attrs: { _i: 104 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(105, "sc"), + attrs: { slot: "content", _i: 105 }, + slot: "content", + }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(106, "sc"), attrs: { _i: 106 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(107, "sc"), attrs: { _i: 107 } }, + [ + _c("v-uni-image", { + staticClass: _vm._$g(108, "sc"), + attrs: { src: _vm._$g(108, "a-src"), _i: 108 }, + }), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(109, "sc"), attrs: { _i: 109 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(110, "sc"), attrs: { _i: 110 } }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(111, "sc"), + attrs: { _i: 111 }, + }, + [_vm._v(_vm._$g(111, "t0-0"))] + ), + ], + 1 + ), + _c( + "v-uni-text", + { staticClass: _vm._$g(112, "sc"), attrs: { _i: 112 } }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(113, "sc"), + attrs: { _i: 113 }, + }, + [_vm._v(_vm._$g(113, "t0-0"))] + ), + _vm._v("千卡/" + _vm._$g(112, "t1-0") + "克"), + ], + 1 + ), + ], + 1 + ), + _c( + "uni-view", + { attrs: { _i: 114 } }, + [ + _c( + "uni-view", + { attrs: { _i: 115 } }, + [ + _c( + "select", + { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.type, + expression: "type", + }, + ], + attrs: { name: "type", id: "", _i: 116 }, + on: { + change: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c("option", { attrs: { value: "0", _i: 117 } }, [ + _vm._v("早餐"), + ]), + _c("option", { attrs: { value: "1", _i: 118 } }, [ + _vm._v("午餐"), + ]), + _c("option", { attrs: { value: "2", _i: 119 } }, [ + _vm._v("晚餐"), + ]), + _c("option", { attrs: { value: "3", _i: 120 } }, [ + _vm._v("加餐"), + ]), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + _c( + "uni-view", + { staticClass: _vm._$g(121, "sc"), attrs: { _i: 121 } }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(122, "sc"), + staticStyle: { width: "30%" }, + attrs: { _i: 122 }, + }, + [_vm._v(_vm._$g(122, "t0-0") + " 千卡")] + ), + _c( + "uni-view", + { staticClass: _vm._$g(123, "sc"), attrs: { _i: 123 } }, + [ + _c("v-uni-input", { + attrs: { + type: "number", + name: "value", + id: "", + _i: 124, + }, + model: { + value: _vm._$g(124, "v-model"), + callback: function ($$v) { + _vm.$handleVModelEvent(124, $$v) + }, + expression: "form.value", + }, + }), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(125, "sc"), + staticStyle: { width: "30%" }, + attrs: { _i: 125 }, + }, + [_vm._v("估算重量")] + ), + ], + 1 + ), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(126, "sc"), + attrs: { slot: "btns", _i: 126 }, + slot: "btns", + }, + [ + _c( + "uni-view", + { + staticClass: _vm._$g(127, "sc"), + staticStyle: { "margin-right": "80rpx" }, + attrs: { _i: 127 }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(128, "sc"), + attrs: { _i: 128 }, + on: { + click: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [_vm._v("取消")] + ), + ], + 1 + ), + _c( + "uni-view", + { + staticClass: _vm._$g(129, "sc"), + staticStyle: { "margin-left": "80rpx" }, + attrs: { _i: 129 }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(130, "sc"), + attrs: { _i: 130 }, + on: { + click: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [_vm._v("添加")] + ), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 11 */ +/*!****************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue ***! + \****************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& */ 12); +/* harmony import */ var _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-page.vue?vue&type=script&lang=js& */ 41); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); +/* harmony import */ var _gui_page_vue_vue_type_style_index_0_id_325fdc7c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gui-page.vue?vue&type=style&index=0&id=325fdc7c&scoped=true&lang=css& */ 43); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 7); + +var renderjs + + + + + +/* normalize component */ + +var component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _gui_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], + _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "325fdc7c", + null, + false, + _gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], + renderjs +) + +component.options.__file = "GraceUI5/components/gui-page.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 12 */ +/*!***********************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& ***! + \***********************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& */ 13); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_page_vue_vue_type_template_id_325fdc7c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 13 */ +/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-page.vue?vue&type=template&id=325fdc7c&scoped=true& ***! + \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +try { + components = { + guiRefresh: __webpack_require__(/*! @/GraceUI5/components/gui-refresh.vue */ 14).default, + guiLoadmore: __webpack_require__(/*! @/GraceUI5/components/gui-loadmore.vue */ 25).default, + guiPageLoading: __webpack_require__(/*! @/GraceUI5/components/gui-page-loading.vue */ 33) + .default, + } +} catch (e) { + if ( + e.message.indexOf("Cannot find module") !== -1 && + e.message.indexOf(".vue") !== -1 + ) { + console.error(e.message) + console.error("1. 排查组件名称拼写是否正确") + console.error( + "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" + ) + console.error( + "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" + ) + } else { + throw e + } +} +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-view", + { class: _vm._$g(0, "c"), attrs: { _i: 0 } }, + [ + _vm._$g(1, "i") + ? _c( + "uni-view", + { + ref: "guiPageHeader", + staticClass: _vm._$g(1, "sc"), + style: _vm._$g(1, "s"), + attrs: { id: "guiPageHeader", _i: 1 }, + }, + [ + _c("uni-view", { + staticClass: _vm._$g(2, "sc"), + style: _vm._$g(2, "s"), + attrs: { _i: 2 }, + }), + _c( + "uni-view", + { + staticClass: _vm._$g(3, "sc"), + style: _vm._$g(3, "s"), + attrs: { _i: 3 }, + on: { + click: function ($event) { + return _vm.$handleViewEvent($event, { + stop: true, + prevnet: true, + }) + }, + }, + }, + [_vm._t("gHeader", null, { _i: 4 })], + 2 + ), + ], + 1 + ) + : _vm._e(), + _vm._$g(5, "i") + ? _c("uni-view", { style: _vm._$g(5, "s"), attrs: { _i: 5 } }) + : _vm._e(), + _vm._$g(6, "i") + ? _c( + "uni-view", + { + ref: "guiPageBody", + staticClass: _vm._$g(6, "sc"), + class: _vm._$g(6, "c"), + attrs: { id: "guiPageBody", _i: 6 }, + }, + [_vm._t("gBody", null, { _i: 7 })], + 2 + ) + : _vm._e(), + _vm._$g(8, "i") + ? _c( + "uni-view", + { + ref: "guiPageBody", + staticClass: _vm._$g(8, "sc"), + style: _vm._$g(8, "s"), + attrs: { id: "guiPageBody", _i: 8 }, + }, + [ + _c( + "v-uni-scroll-view", + { + staticClass: _vm._$g(9, "sc"), + style: _vm._$g(9, "s"), + attrs: { + "scroll-y": true, + "show-scrollbar": false, + "scroll-top": _vm._$g(9, "a-scroll-top"), + _i: 9, + }, + on: { + touchstart: function ($event) { + return _vm.$handleViewEvent($event) + }, + touchmove: function ($event) { + return _vm.$handleViewEvent($event) + }, + touchend: function ($event) { + return _vm.$handleViewEvent($event) + }, + scroll: function ($event) { + return _vm.$handleViewEvent($event) + }, + scrolltolower: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }, + [ + _c( + "uni-view", + { attrs: { _i: 10 } }, + [ + _c("gui-refresh", { + ref: "guiPageRefresh", + attrs: { _i: 11 }, + on: { + reload: function ($event) { + return _vm.$handleViewEvent($event) + }, + }, + }), + ], + 1 + ), + _vm._t("gBody", null, { _i: 12 }), + _vm._$g(13, "i") + ? _c( + "uni-view", + { staticClass: _vm._$g(13, "sc"), attrs: { _i: 13 } }, + [ + _c("gui-loadmore", { + ref: "guipageloadmore", + attrs: { _i: 14 }, + }), + ], + 1 + ) + : _vm._e(), + ], + 2 + ), + ], + 1 + ) + : _vm._e(), + _vm._$g(15, "i") + ? _c("uni-view", { style: _vm._$g(15, "s"), attrs: { _i: 15 } }) + : _vm._e(), + _vm._$g(16, "i") + ? _c( + "uni-view", + { + ref: "guiPageFooter", + staticClass: _vm._$g(16, "sc"), + class: _vm._$g(16, "c"), + style: _vm._$g(16, "s"), + attrs: { id: "guiPageFooter", _i: 16 }, + }, + [ + _c( + "uni-view", + { attrs: { _i: 17 } }, + [_vm._t("gFooter", null, { _i: 18 })], + 2 + ), + _c("uni-view", { style: _vm._$g(19, "s"), attrs: { _i: 19 } }), + ], + 1 + ) + : _vm._e(), + _c( + "uni-view", + { + staticClass: _vm._$g(20, "sc"), + style: _vm._$g(20, "s"), + attrs: { _i: 20 }, + }, + [_vm._t("gPendant", null, { _i: 21 })], + 2 + ), + _c( + "uni-view", + { + ref: "guiPageFixedTop", + staticClass: _vm._$g(22, "sc"), + style: _vm._$g(22, "s"), + attrs: { id: "guiPageFixedTop", _i: 22 }, + }, + [_vm._t("gFixedTop", null, { _i: 23 })], + 2 + ), + _c("gui-page-loading", { ref: "guipageloading", attrs: { _i: 24 } }), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 14 */ +/*!*******************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue ***! + \*******************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& */ 15); +/* harmony import */ var _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gui-refresh.vue?vue&type=script&lang=js& */ 17); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); +/* harmony import */ var _gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./gui-refresh.vue?vue&type=style&index=0&id=18336c10&scoped=true&lang=css& */ 19); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 7); + +var renderjs + + + + + +/* normalize component */ + +var component = Object(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], + _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "18336c10", + null, + false, + _gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], + renderjs +) + +component.options.__file = "GraceUI5/components/gui-refresh.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), +/* 15 */ +/*!**************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& ***! + \**************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& */ 16); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_template_id_18336c10_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); + + + +/***/ }), +/* 16 */ +/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=template&id=18336c10&scoped=true& ***! + \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns, recyclableRender, components */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); +var components +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "uni-view", + { + staticClass: _vm._$g(0, "sc"), + class: _vm._$g(0, "c"), + style: _vm._$g(0, "s"), + attrs: { _i: 0 }, + }, + [ + _vm._$g(1, "i") + ? _c( + "v-uni-text", + { + staticClass: _vm._$g(1, "sc"), + style: _vm._$g(1, "s"), + attrs: { _i: 1 }, + }, + [_vm._v("")] + ) + : _vm._e(), + _vm._$g(2, "i") + ? _c( + "uni-view", + { + ref: "loadingIcon", + staticClass: _vm._$g(2, "sc"), + attrs: { _i: 2 }, + }, + [ + _c( + "v-uni-text", + { + staticClass: _vm._$g(3, "sc"), + style: _vm._$g(3, "s"), + attrs: { _i: 3 }, + }, + [_vm._v("")] + ), + ], + 1 + ) + : _vm._e(), + _vm._$g(4, "i") + ? _c( + "v-uni-text", + { + staticClass: _vm._$g(4, "sc"), + style: _vm._$g(4, "s"), + attrs: { _i: 4 }, + }, + [_vm._v("")] + ) + : _vm._e(), + _c( + "v-uni-text", + { + staticClass: _vm._$g(5, "sc"), + style: _vm._$g(5, "s"), + attrs: { _i: 5 }, + }, + [_vm._v(_vm._$g(5, "t0-0"))] + ), + ], + 1 + ) +} +var recyclableRender = false +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), +/* 17 */ +/*!********************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=script&lang=js& ***! + \********************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/script.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./gui-refresh.vue?vue&type=script&lang=js& */ 18); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_script_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 18 */ +/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=script&lang=js& ***! + \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + name: "gui-refresh", + props: ["refreshText", "refreshBgColor", "refreshColor", "refreshFontSize"], + data: function data() { + return { + wxsProps: {} + }; + }, + components: {} +}; +exports.default = _default; + +/***/ }), +/* 19 */ +/*!****************************************************************************************************************************************************************!*\ + !*** C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=style&index=0&id=18336c10&scoped=true&lang=css& ***! + \****************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/app-vue-style-loader??ref--6-oneOf-1-0!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../../mydownloads/apps/HBiulderX/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./gui-refresh.vue?vue&type=style&index=0&id=18336c10&scoped=true&lang=css& */ 20); +/* harmony import */ var _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); + /* harmony default export */ __webpack_exports__["default"] = (_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_app_vue_style_loader_index_js_ref_6_oneOf_1_0_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mydownloads_apps_HBiulderX_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_gui_refresh_vue_vue_type_style_index_0_id_18336c10_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); + +/***/ }), +/* 20 */ +/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/app-vue-style-loader??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!C:/computer_science/ruangongkeshe/dazuoye/mint/mint/boheApp/GraceUI5/components/gui-refresh.vue?vue&type=style&index=0&id=18336c10&scoped=true&lang=css& ***! + \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// style-loader: Adds some css to the DOM by adding a + + +
+
+ + +
+
+ + +
+
+ + + \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.css b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.css new file mode 100644 index 0000000..532c0e1 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.css @@ -0,0 +1 @@ +*{margin:0;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent}input[type=search]::-webkit-search-cancel-button{display:none}@font-face{font-weight:400;font-style:normal;font-family:uni;src:url("data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx+AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5ZvCRR/EAAASUAAAKtGhlYWQLKIN9AAAA4AAAADZoaGVhCCwD+gAAALwAAAAkaG10eEJo//8AAAHUAAAASGxvY2EYqhW6AAAEbAAAACZtYXhwASEAVQAAARgAAAAgbmFtZeNcHtgAAA9IAAAB5nBvc3T6bLhLAAARMAAAAOYAAQAAA+gAAABaA+j/////A+kAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAACkCj3dfDzz1AAsD6AAAAADUER9XAAAAANQRH1f//wAAA+kD6gAAAAgAAgAAAAAAAAABAAAAEgBJAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPqAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+j//wPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARgCMANIBJgF4AcQCMgJgAqgC/ANIA6YD/gROBKAE9AVaAAAAAgAAAAADrwOtABQAKQAAASIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAfV4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NlteA608O2Rn8GdjOzw8O2Nn8GdkOzz8rzc1W17bXlw1Nzc1XF7bXls1NwAAAAACAAAAAAOzA7MAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTBwYiLwEmNjsBETQ2OwEyFhURMzIWAe52Z2Q7PT07ZGd2fGpmOz4+O2ZpIXYOKA52Dg0XXQsHJgcLXRcNA7M+O2ZqfHZnZDs9PTtkZ3Z9aWY7Pv3wmhISmhIaARcICwsI/ukaAAMAAAAAA+UD5QAXACMALAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAxQrASI1AzQ7ATIHJyImNDYyFhQGAe6Ecm9BRERBb3KEiXZxQkREQnF1aQIxAwgCQgMBIxIZGSQZGQPkREJxdomEcm9BRERBb3KEinVxQkT9HQICAWICAjEZIxkZIxkAAAAAAwAAAAADsQPkABsAKgAzAAABBgcGBwYHBjcRFBcWFxYXNjc2NzY1ESQXJicmBzMyFhUDFAYrASInAzQ2EyImNDYyFhQGAfVBQTg7LDt/IEc+bF5sbF1tPUj+2KhQQVVvNAQGDAMCJgUBCwYeDxYWHhUVA+QPEg4SDhIpCv6tj3VkST4dHT5JZHWPAVNeNRkSGPwGBP7GAgMFAToEBv5AFR8VFR8VAAAAAgAAAAADsQPkABkALgAAAQYHBgc2BREUFxYXFhc2NzY3NjURJBcmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9VVVQk+v/tFHPmxebGxdbT1I/tGvT0JVo/7VBASKAwMSAQUBcQEFAgESAgUBEQQD4xMYEhk3YP6sjnVlSD8cHD9IZXWOAVRgNxkSGP62/tkDA48EBBkCAVYCAQHlAQIQBAAAAAACAAAAAAPkA+QAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTAQYiLwEmPwE2Mh8BFjI3ATYyHwEWAe6Ecm9BQ0NCbnODiXVxQkREQnF1kf6gAQUBowMDFgEFAYUCBQEBQwIFARUEA+NEQnF1iYNzbkJDQ0FvcoSJdXFCRP6j/qUBAagEBR4CAWYBAQENAgIVBAAAAAQAAAAAA68DrQAUACkAPwBDAAABIgcGBwYUFxYXFjI3Njc2NCcmJyYDIicmJyY0NzY3NjIXFhcWFAcGBwYTBQ4BLwEmBg8BBhYfARYyNwE+ASYiFzAfAQH1eGdkOzw8O2Rn8GZkOzw8O2RmeG5eWzY3NzZbXtteWzY3NzZbXmn+9gYSBmAGDwUDBQEGfQUQBgElBQELEBUBAQOtPDtkZ/BnYzs8PDtjZ/BnZDs8/K83NVte215cNTc3NVxe215bNTcCJt0FAQVJBQIGBAcRBoAGBQEhBQ8LBAEBAAABAAAAAAO7AzoAFwAAEy4BPwE+AR8BFjY3ATYWFycWFAcBBiInPQoGBwUHGgzLDCELAh0LHwsNCgr9uQoeCgGzCyEOCw0HCZMJAQoBvgkCCg0LHQv9sQsKAAAAAAIAAAAAA+UD5gAXACwAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBi8BJicmNRM0NjsBMhYVExceAQHvhHJvQUNDQm5zg4l1cUJEREJxdVcQAwT6AwIEEAMCKwIDDsUCAQPlREJxdYmDc25CQ0NBb3KEiXVxQkT9VhwEAncCAgMGAXoCAwMC/q2FAgQAAAQAAAAAA68DrQADABgALQAzAAABMB8BAyIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAyMVMzUjAuUBAfJ4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NltemyT92QKDAQEBLDw7ZGfwZ2M7PDw7Y2fwZ2Q7PPyvNzVbXtteXDU3NzVcXtteWzU3AjH9JAAAAAMAAAAAA+QD5AAXACcAMAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAzMyFhUDFAYrASImNQM0NhMiJjQ2MhYUBgHuhHJvQUNDQm5zg4l1cUJEREJxdZ42BAYMAwInAwMMBh8PFhYeFhYD40RCcXWJg3NuQkNDQW9yhIl1cUJE/vYGBf7AAgMDAgFABQb+NhYfFhYfFgAABAAAAAADwAPAAAgAEgAoAD0AAAEyNjQmIgYUFhcjFTMRIxUzNSMDIgcGBwYVFBYXFjMyNzY3NjU0Jy4BAyInJicmNDc2NzYyFxYXFhQHBgcGAfQYISEwISFRjzk5yTorhG5rPT99am+DdmhlPD4+PMyFbV5bNTc3NVte2l5bNTc3NVteAqAiLyIiLyI5Hf7EHBwCsT89a26Ed8w8Pj48ZWh2g29qffyjNzVbXtpeWzU3NzVbXtpeWzU3AAADAAAAAAOoA6gACwAgADUAAAEHJwcXBxc3FzcnNwMiBwYHBhQXFhcWMjc2NzY0JyYnJgMiJyYnJjQ3Njc2MhcWFxYUBwYHBgKOmpocmpocmpocmpq2dmZiOjs7OmJm7GZiOjs7OmJmdmtdWTQ2NjRZXdZdWTQ2NjRZXQKqmpocmpocmpocmpoBGTs6YmbsZmI6Ozs6YmbsZmI6O/zCNjRZXdZdWTQ2NjRZXdZdWTQ2AAMAAAAAA+kD6gAaAC8AMAAAAQYHBiMiJyYnJjQ3Njc2MhcWFxYVFAcGBwEHATI3Njc2NCcmJyYiBwYHBhQXFhcWMwKONUBCR21dWjU3NzVaXdpdWzU2GBcrASM5/eBXS0grKysrSEuuSkkqLCwqSUpXASMrFxg2NVtd2l1aNTc3NVpdbUdCQDX+3jkBGSsrSEuuSkkqLCwqSUquS0grKwAC//8AAAPoA+gAFAAwAAABIgcGBwYQFxYXFiA3Njc2ECcmJyYTFg4BIi8BBwYuATQ/AScmPgEWHwE3Nh4BBg8BAfSIdHFDRERDcXQBEHRxQ0REQ3F0SQoBFBsKoqgKGxMKqKIKARQbCqKoChsUAQqoA+hEQ3F0/vB0cUNERENxdAEQdHFDRP1jChsTCqiiCgEUGwqiqAobFAEKqKIKARQbCqIAAAIAAAAAA+QD5AAXADQAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMUBiMFFxYUDwEGLwEuAT8BNh8BFhQPAQUyFh0BAe6Ecm9BQ0NCbnODiXVxQkREQnF1fwQC/pGDAQEVAwTsAgEC7AQEFAIBhAFwAgMD40RCcXWJg3NuQkNDQW9yhIl1cUJE/fYCAwuVAgQCFAQE0AIFAtEEBBQCBQGVCwMDJwAAAAUAAAAAA9QD0wAjACcANwBHAEgAAAERFAYjISImNREjIiY9ATQ2MyE1NDYzITIWHQEhMhYdARQGIyERIREHIgYVERQWOwEyNjURNCYjISIGFREUFjsBMjY1ETQmKwEDeyYb/XYbJkMJDQ0JAQYZEgEvExkBBgkNDQn9CQJc0QkNDQktCQ0NCf7sCQ0NCS0JDQ0JLQMi/TQbJiYbAswMCiwJDS4SGRkSLg0JLAoM/UwCtGsNCf5NCQ0NCQGzCQ0NCf5NCQ0NCQGzCQ0AAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlX3N1Y2Nlc3MJc2FmZV93YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA") format("truetype")}@font-face{font-weight:400;font-style:normal;font-family:unibtn;src:url("data:application/octet-stream;base64,AAEAAAALAIAAAwAwT1MvMg8SAzoAAAC8AAAAYGNtYXAAILNAAAABHAAAAGRnYXNwAAAAEAAAAYAAAAAIZ2x5ZnVT/G4AAAGIAAAEHGhlYWQOAdVuAAAFpAAAADZoaGVhB3wDzAAABdwAAAAkaG10eCIABqYAAAYAAAAALGxvY2EDqgTMAAAGLAAAABhtYXhwAA8ATQAABkQAAAAgbmFtZXBR8sQAAAZkAAAB2nBvc3QAAwAAAAAIQAAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmUAPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQASAAAAA4ACAACAAYAAQAg5gLmBuZQ//3//wAAAAAAIOYA5gTmUP/9//8AAf/jGgQaAxm6AAMAAQAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQFgAHkCwQLqABYAAAEmNDc2MhcBHgEVFAYHAQYiJyY0NwkBAWAICAcWBwE1BAQEBP7LBxYHCAgBIv7eAsUHFwcICP7cBAsFBgsE/twICAcXCAETARMAAAEBWAB5ArkC6gAXAAAJAhYUBwYiJwEuATU0NjcBNjIXFhQHMQK5/t4BIggICBUI/swFAwMFATQIFQgICALF/u3+7QgXBwgIASQECwYFCwQBJAgIBxcHAAACANAAaQO6Aw0AHAA2AAAlFAYjISImNRE0NjsBNSMiBhURFBYzITI2PQEjFRMnBxcHDgMPATM1PgE3PgE/AgcXNyc3A1IHBP3CBAYGBLDAERgYEQJfERcuaKQhbndKgmM9BQEvBTYtLXVABmpuIaQBAaUEBwcEAagFBjEZEf40ERkZEqWUAbysI3MBBjxffkcIBzxuKysyBAEBdCKsAgIAAgCXAF4DcwMbADEASgAAAS4BLwIuASMiBg8CDgEHBhYfAQcGFhceATMyNj8BFx4BMzI2Nz4BJzQwNSc3PgEnBTYmLwE3PgE/ARceAR8BBw4BHwEnJgYPAQNzAgoG42cDCgcGCgNk4wYKAgEDBKUlAQUFAwYEAgUDyswCBQMGCgMCAQEoowUDAv38AQMEjcIFCQJWWAIJBcOMBAMBIq4FCwSuAhQGCAEfzQYGBgbOIwEIBgYMBJ/iBgwEAgICAWxqAQEGBgMJAwEB3qEFDAa2BgoEiB0BBgWxsAUGARuJBAsFwVoDAQJcAAIAvwB1A1ADEQAhAD4AAAEiBh0BFAYjISImPQE0JiMiBh0BHgEzITI2PQE0JicuASM3AS4BIyIGBwEGFBceATMyNjcBNjIXARYyNz4BJwL3Cg4LB/51CAsOCgkPASYbAYwbJwQDAwkFWf7mChgNDRgJ/uYGBwMJBQQIBAEZBRAFARoHEwcGAQYBsA4J4gcLCwfiCQ4OCeIbJycb4gQJAwQDNAEaCgkJCf7lBxMGBAMDAwEZBQX+5wYHBhMHAAAAAAMA3AF2AzEB+gALABcAJAAAATI2NTQmIyIGFRQWITI2NTQmIyIGFRQWITI2NTQmIyIGFRQWMwEeHCcnHBsnJwEDHCcnHBsnJwEEGycnGxwnJxwBdicbGycnGxsnJxsbJycbGycnGxsnJxsbJwAAAAABAOwAnQMUAs4AJQAAATc2NCcmIg8BJyYiBwYUHwEHBhQXHgEzMjY/ARceATMyNjc2NCcCKOwJCQgYCOzqCBgICQnq7AkJBAoGBQsE7OwECwUGCgQJCQG76gkXCQgI6+sICAgYCOvrCBgIBAQEBOvtBQQFBAgXCQABAAAAAQAA3hDrLV8PPPUACwQAAAAAANWUyKsAAAAA1ZTIqwAAAAADugMbAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAO6AAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWAEAAFYBAAA0AQAAJcEAAC/BAAA3AQAAOwAAAAAAAoAFAAeAEoAdgDGAToBmgHSAg4AAQAAAAsASwADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAAcAnwABAAAAAAADAA4ASwABAAAAAAAEAA4AtAABAAAAAAAFAAsAKgABAAAAAAAGAA4AdQABAAAAAAAKABoA3gADAAEECQABABwADgADAAEECQACAA4ApgADAAEECQADABwAWQADAAEECQAEABwAwgADAAEECQAFABYANQADAAEECQAGABwAgwADAAEECQAKADQA+HN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcnN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdEZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}body,html{-webkit-user-select:none;user-select:none;width:100%}html{height:100%;height:100vh;width:100%;width:100vw}body{overflow-x:hidden;background-color:#fff}[class*=" uni-icon-"],[class^=uni-icon-]{display:inline-block;vertical-align:middle;font:normal normal normal 14px/1 uni;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}[class*=" uni-btn-icon"],[class^=uni-btn-icon]{display:inline-block;font:normal normal normal 14px/1 unibtn;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}[class*=" uni-btn-icon"]:before,[class^=uni-btn-icon]:before{margin:0;box-sizing:border-box}.uni-icon-success-no-circle:before{content:"\EA08"}.uni-icon-error:before{content:"\EA0B"}.uni-loading,uni-button[loading]:before{background:rgba(0,0,0,0) url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=") no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:uni-loading 1s steps(12) infinite;animation:uni-loading 1s steps(12) infinite;background-size:100%}@-webkit-keyframes uni-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes uni-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}[nvue] uni-scroll-view,[nvue] uni-swiper-item,[nvue] uni-view{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-shrink:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0;-webkit-flex-basis:auto;flex-basis:auto;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:flex-start;align-content:flex-start}[nvue] uni-button{margin:0}[nvue-dir-row] uni-label,[nvue-dir-row] uni-swiper-item,[nvue-dir-row] uni-view{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}[nvue-dir-column] uni-label,[nvue-dir-column] uni-swiper-item,[nvue-dir-column] uni-view{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}[nvue-dir-row-reverse] uni-label,[nvue-dir-row-reverse] uni-swiper-item,[nvue-dir-row-reverse] uni-view{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}[nvue-dir-column-reverse] uni-label,[nvue-dir-column-reverse] uni-swiper-item,[nvue-dir-column-reverse] uni-view{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}[nvue] uni-image,[nvue] uni-input,[nvue] uni-scroll-view,[nvue] uni-swiper,[nvue] uni-swiper-item,[nvue] uni-text,[nvue] uni-textarea,[nvue] uni-video,[nvue] uni-view{position:relative;border:0 solid #000;box-sizing:border-box}[nvue] uni-swiper-item{position:absolute}html{--UI-BG:#fff;--UI-BG-1:#f7f7f7;--UI-BG-2:#fff;--UI-BG-3:#f7f7f7;--UI-BG-4:#4c4c4c;--UI-BG-5:#fff;--UI-FG:#000;--UI-FG-0:rgba(0,0,0,0.9);--UI-FG-HALF:rgba(0,0,0,0.9);--UI-FG-1:rgba(0,0,0,0.5);--UI-FG-2:rgba(0,0,0,0.3);--UI-FG-3:rgba(0,0,0,0.1)}@media (prefers-color-scheme:dark){html{--UI-BG-CLOLOR-ACTIVE:#373737;--UI-BORDER-CLOLOR-1:#373737;--UI-BG:#000;--UI-BG-0:#191919;--UI-BG-1:#1f1f1f;--UI-BG-2:#232323;--UI-BG-3:#2f2f2f;--UI-BG-4:#606060;--UI-BG-5:#2c2c2c;--UI-FG:#fff;--UI-FG-0:hsla(0,0%,100%,0.8);--UI-FG-HALF:hsla(0,0%,100%,0.6);--UI-FG-1:hsla(0,0%,100%,0.5);--UI-FG-2:hsla(0,0%,100%,0.3);--UI-FG-3:hsla(0,0%,100%,0.05)}body{background-color:var(--UI-BG-0);color:var(--UI-FG-0)}}uni-audio{display:none}uni-audio[controls]{display:inline-block}uni-audio[hidden]{display:none}.uni-audio-default{max-width:100%;min-width:302px;height:65px;background:#fcfcfc;border:1px solid #e0e0e0;border-radius:2.5px;display:inline-block;overflow:hidden}.uni-audio-left{width:65px;height:65px;float:left;background-color:#e6e6e6;background-size:100% 100%;background-position:50% 50%}.uni-audio-button{width:24px;height:24px;margin:20.5px;background-size:cover}.uni-audio-button.play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAB4dJREFUaAXNWg1MlVUYvpcfIRCJ+MnCaOBl8dOcOCEQZ9kmI5cQG5Yb6MifKbMaGVobOtlibTWHDpgpxBUwF07826iFsMkYJhg559JdGiQSkUzSBA0QkZ7n4/u+nXsvwf3jwru99/y/3/N+3znvec97rlbjABofH38GYtaAV4MjwDqwH9gHTBoE3wd3gA3gi+B6rVY7hHR2CKD9wFngs+BHYGuJYziWMqiscwgP8wLvBQ+AHUWURZle1mqhtXQAhLui7xZwPvgFsBENDg7+Drp069at2z09Pf03b978u6mpqZ+dVq1aFRAVFeW/aNGigNDQ0JfDwsISfXx8wowETBT+QpIPLsf0GpuomvrXIgUAPhhizoGXi+II+tq1az/o9fpLFRUVd8S26fJZWVkLN2/enBgTE/PW/PnzF5v0b0P5HSjxp0m9WXFaBQD+NYw6C1bf+vDwcF9DQ4N+/fr19ciPm0m1osLT01N76tSpNaD3PTw8FgpD+TXSoESrUGeWnVIBgM/EiDKwJ0eiPNrS0nJsw4YNNd3d3aOscxSFhIS4V1dXpyckJGRB5jxZ7jDSbVDiW7lslriY1cgVMvjjKErgR0dH/zl06NCuFStWfOdo8HwkZVL2wYMHP3ny5AlNLonPPi5jkSpMfyb9AhjAadMIlsBjrndmZ2fnnThxos9UwEyUMzIynj9y5EgB1gb3ExK/xBuTTSczBQCeC/ZnsDTnCR6f9YMbN25QiNMoOjras7W1tcjb2ztcfijXRKzpwjaaQgBPU0lrI4HntOGbdzZ4AuYzt2/fvm9sbOweyyBiOidjlCr4Y6QAyrTzkqlEx9GSkpJ9zpo2BGNKfHZRUdF+1D+W24iNGFVSpxAAcxekryK9/cuXLx/FoqpWe85iBlPpvbi4uB0yBE4lHabSvyyLX2AXyhJ42nmYytPsMBcI+80ZWKZeGQsxEqtEkgJ4+3Sm9sh1Gm5SM2EqFfnWpsRSV1dXIYzbI2NWv0AqGiXXl+4Bd1ihs0XZu3fvHhgYGNBXVVUlWDTAyk7p6ekNIyMj7fIwYiVmIwWkNvo2trgHAQEBy+CghW7cuPGLvr6+L3fu3PmSJNBBP8R09erVHwVxEwrgU/AwkqQ00DFT8lamqkEICgqKKy4u1sMU7li6dKnVLvL/Pbe0tLRFaEsidi1+UlB5ng3ctBYsWLBV6GRxFnJ4yjIj7CX36uvrS1NTU+uwEM3ara3Al/gaTl+EPC6Vi/hNRUhHR8dPSt5Rqbu7+3Nr1679rL+//3BBQYHyYJvFd3V1iTNkNRV4RZF2G6TkHZ36+vpG5uXlHcah59Pk5GSbj5AY3y1gi6ACisOk4UlKaJyJrBYnsuTa2trjzc3N7/r7+9N1sYo6OzsfCAN0VEB9GzwGCo0zlnV1dfVOTEzMhn3Xl5eXx1rzIBOMflRAsv8UopxhrRFoT18vL68QHCu/am9vz7FUjglGHyow6xQcHBxjKwgqwKCTRIweKHlnpZhGDfC7LP4CJhgH3QCUxzd/AmboA0kP8zNNcDt+w8ZUvHv37l+tedaSJUueFfrfpwJ0oSVLxLiN0DgjWWxsDxobG79JSUn53haXRafT+QrAOjiFDEoFg05K3tEpduoxg8FweuXKlRlJSUm1toAnpvDwcB55FTJQAdUFYMRMaXFkil34l9zc3K2RkZElV65ceWSPbCz414XxF6kAXWfpdMNwHyNmQge7skNDQ3dOnjy5PzAwMLewsLDLLmEYDJMb5ObmFiXLIeZ6FxzNGOK+IFeyk91f4enTpyNtbW3HIiIiNsHCNCmy7U1zcnKWCTIuEDu/AOn8RKLRMFbJcJ9StjRlBIN94Y40ZmZmboqNja3iScrS8dP1IyaEWt4W+kmYaYVILHA/8GGglbHKdevWqV+FHaYjOGofw811hcfZOV1fW9pxzE1wcXGJlscSq6SA+qZhJfai8nN2wNHtDhb0pt7eXoe9Qcq1lRg3hRvNkLtyytuHfAHlKVOI+UIwQxYaRolramrSmZ8LhLefJIAnRmKVSFUAHbiq8yeqNRpGiWE5XlXKs5WWlZUthu3/SHh+voxVqlKnEEuYRvTPee5czjKjxDCr2bMVnYNF9IO7fRRQAokHxIuPeCig3t4YKcAeUCIYiRrcffjwYUd8fPyHzo6PwuJ4XL9+/QAWrjILOHWmDu5SAWjHa500sBSNZoibUWKGvNnuDOKbNwFPLLytITYjUteAWIuOvNbZptQxxF1ZWXnYGWuCc57TRnjzhMFbGmIyI7MpJPbAdMpEuQzsKdc/hi+jT0tLO+NoE0tTSWsjL9h58vP45qe8YppSAQqBEmaXfAy0MlbJcJ+tXqUMUMMdlpsUIuE78JYVO89mznn7LvmUh8gL+xzKknVS6hmrZLiPETNrr1npmNG3oXsg7LCKaFobx1yzKhKhBE3sFnA+mCFuI4IyBuyWzYjb/MHQh+lFN09SPIxgirxIlxhepeIWiHL41vPBFl90i4MtykOROfVXA4tAT9YJisyJP3tMu4gnA29aB2UY4V4DXg1m/FMH9gMrMSd6jwwe8PxtAPMU6JC/2/wHuyI2cMsNBRIAAAAASUVORK5CYII=)}.uni-audio-button.pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABatJREFUaAXVWl1IpFUYnllZGUf3wlz6MXER1ES7s83VUDJw6KpdaSTDwMnYFSK6KNirooHullKQCNzQRjZ/wom1u9ALQ0mT1ktFdEBWXLdibaH1jwmx5zme83W+z2Hm+7bZmc8X3jl/73vO837n/z3j9aSBjo6O8lBNC7gZXAUuBxeCz4FJj8APwTHwCngaPOX1evcRZocAuhAcAt8G74KdEnWoyzpobGYIjfnBn4D/BqeLWBfr9Du1wmtXAZXnQPY9cBj8HNhEe3t7sbW1tfn19fW7m5ubD5aXl7dnZmYeUKipqel8dXV1UUlJyfmysrILFRUV9X6/n8PMSveREQYPYHgdWgsTpW0ZAPDPQ3kC/JJeCUEvLi7+NDg4+EskEvldL0sVD4VCz3Z1db1SW1v7egJj7kD/Coy4l6qelAYAfB0quQ02vno8Hr8/OTkZaWtrmzo4ODhK1Uiycp/P5x0fH28JBAKh3Nxcow3osDdaYcRCMv2kBgD8O1D+BuyTlcTn5+cj7e3t0Y2NjX+SVey0rLS09OzY2Fiwvr4+BN1cqX+A8CqM+E6mTwRnTuTIDAn+FpIC/OHh4V+9vb0fNzQ0jKYbPJtknaybbbAtCYNt35JYZJY5SNgDctj8DFEBfnd3d627u/vT4eHhP8zqTybV0dHxTH9//+f5+fkVsgX2xKuJhtMJAwCeE/Y3sBiPBF9XV/fh0tISK8kY1dTU+BYWFvo0IzgnLlontmkIATyXSq42Ajy7kl8+0+D5ldgm29aGEzFNSIwUEWQyADlc59VSGe/r6/ssU8PmGI75l20TA3LjsoTYiNEgYwjBMu6CPKuIr4/Vph+TasyQzGJkbm7ubaxO1yQEDqVyDKU9pvUe+AhpAZ7rPJbKHyjgBuKyTUwSCzESqyBhAL4+D1PXZZ6Hm9STWCpV/U5DYiEmTe+6xOwRQwiJEAq/pQCPB0VFRdf+7w7LutJJ3LG3t7dvaseOdzGMImoIXVaN8WzjNvDERkzEpnAiFJjP4OvzMhJQBTyYqbjdEDov7+/vf4+6pu0wZQcGBi7arV/JWbAFiN2Lnzcg8COFuGkVFBSo2a70UoYEhC5+OqWgJoAv+mdeXt5bWpat6M7Ozk1tc7vMIfSa0lxdXf1VxZ2ETsGz7sfRoV4sFtMxNtOAF1hAugs6jrn3lxcmDV0VDTBuRrxJaYWujFowltMA40LNa6ArUWugLBgLaYByfXjUHVaTd13UgvEcDTjVRAPodBJE74GKuzW0YHxEA+gxE0TXh4q7NbRgfEgDeIQWRL+Nirs1tGCM0YAVBZZOJxV3a2jBuEIDphVYesxU3EnIY4ETeco+jg71LBinacAUWNxueFSlx4yCTmh0dPRLJ4AoOzIy8oWTNihLbNpxmpin1H2AnrcrFJqdnf0KM901tzFiUoQ94M3GxsYPZHoC94FW9gBJnEYZoa8SBy1hGNNuIWIiNg2PwKwbIPYDdhF9lZqgK6LEpA0fYv3PAHQF94IbCikdrcXFxWdVOtsh/abEpOG4ITGbvBI9EBA3f3qJo9FoUFPIapROX81zTYzEKkgNIQ8s4qwOH2d7PPQS9/T0vKjS2QqJQXqsFYSwxCrSpsmK6yVdi7zx0APmoVuvs7Pz/Wx55+jkHRoa+jonJ+cp4gHdAV+CAcbrjckASsCI0+vcpQGw7h6CVrDwRvMCTS8xvwbLM0Fsy+KZJha+1hCbiYw5oOdCkM86V1UejWBXZmJOsA22pXkeCIOvNAmfmk4MIQWaIYZTwiemYDAY3dracsUTU1IDpBGn95FP9Yac2KfzmVUzgkssHxfCYOGGR2gQvXp0jNG3lOyh+wKosrLykmWMq3q4SYXBth+6laLtEL3hqr8a2AZuFYQhrvizR8pJbAWeKA1j6OFuATeDq8D09hWClc+Jp0ceGHn/5hWWt8C0/N3mX15C4bDnCIuAAAAAAElFTkSuQmCC)}.uni-audio-right{box-sizing:border-box;height:65px;margin-left:65px;padding:11px 16.5px 13.5px 15px;overflow:hidden}.uni-audio-time{margin-top:3.5px;height:16.5px;font-size:12px;color:#888;float:right}.uni-audio-info{margin-right:70px;overflow:hidden}.uni-audio-name{height:22.5px;line-height:22.5px;margin-bottom:3.5px;font-size:14px;color:#353535}.uni-audio-author,.uni-audio-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-audio-author{height:14.5px;line-height:14.5px;font-size:12px;color:#888}uni-button{position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;text-decoration:none;line-height:2.55555556;border-radius:5px;-webkit-tap-highlight-color:transparent;overflow:hidden;color:#000;background-color:#f8f8f8;cursor:pointer}uni-button[hidden]{display:none!important}uni-button:after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;border:1px solid rgba(0,0,0,.2);-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;box-sizing:border-box;border-radius:10px}uni-button[native]{padding-left:0;padding-right:0}uni-button[native] .uni-button-cover-view-wrapper{border:inherit;border-color:inherit;border-radius:inherit;background-color:inherit}uni-button[native] .uni-button-cover-view-inner{padding-left:14px;padding-right:14px}uni-button uni-cover-view{line-height:inherit;white-space:inherit}uni-button[type=default]{color:#000;background-color:#f8f8f8}uni-button[type=primary]{color:#fff;background-color:#007aff}uni-button[type=warn]{color:#fff;background-color:#e64340}uni-button[disabled]{color:hsla(0,0%,100%,.6);cursor:not-allowed}uni-button[disabled]:not([type]),uni-button[disabled][type=default]{color:rgba(0,0,0,.3);background-color:#f7f7f7}uni-button[disabled][type=primary]{background-color:rgba(0,122,255,.6)}uni-button[disabled][type=warn]{background-color:#ec8b89}uni-button[type=primary][plain]{color:#007aff;border:1px solid #007aff;background-color:rgba(0,0,0,0)}uni-button[type=primary][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=primary][plain]:after{border-width:0}uni-button[type=default][plain]{color:#353535;border:1px solid #353535;background-color:rgba(0,0,0,0)}uni-button[type=default][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=default][plain]:after{border-width:0}uni-button[plain]{color:#353535;border:1px solid #353535;background-color:rgba(0,0,0,0)}uni-button[plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[plain]:after{border-width:0}uni-button[plain][native] .uni-button-cover-view-inner{padding:0}uni-button[type=warn][plain]{color:#e64340;border:1px solid #e64340;background-color:rgba(0,0,0,0)}uni-button[type=warn][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=warn][plain]:after{border-width:0}uni-button[size=mini]{display:inline-block;line-height:2.3;font-size:13px;padding:0 1.34em}uni-button[size=mini][native]{padding:0}uni-button[size=mini][native] .uni-button-cover-view-inner{padding:0 1.34em}uni-button[loading]:not([disabled]){cursor:progress}uni-button[loading]:before{content:" ";display:inline-block;width:18px;height:18px;vertical-align:middle;-webkit-animation:uni-loading 1s steps(12) infinite;animation:uni-loading 1s steps(12) infinite;background-size:100%}uni-button[loading][type=primary]{color:hsla(0,0%,100%,.6);background-color:#0062cc}uni-button[loading][type=primary][plain]{color:#007aff;background-color:rgba(0,0,0,0)}uni-button[loading][type=default]{color:rgba(0,0,0,.6);background-color:#dedede}uni-button[loading][type=default][plain]{color:#353535;background-color:rgba(0,0,0,0)}uni-button[loading][type=warn]{color:hsla(0,0%,100%,.6);background-color:#ce3c39}uni-button[loading][type=warn][plain]{color:#e64340;background-color:rgba(0,0,0,0)}uni-button[loading][native]:before{content:none}.button-hover{color:rgba(0,0,0,.6);background-color:#dedede}.button-hover[plain]{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6);background-color:rgba(0,0,0,0)}.button-hover[type=primary]{color:hsla(0,0%,100%,.6);background-color:#0062cc}.button-hover[type=primary][plain]{color:rgba(0,122,255,.6);border-color:rgba(0,122,255,.6);background-color:rgba(0,0,0,0)}.button-hover[type=default]{color:rgba(0,0,0,.6);background-color:#dedede}.button-hover[type=default][plain]{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6);background-color:rgba(0,0,0,0)}.button-hover[type=warn]{color:hsla(0,0%,100%,.6);background-color:#ce3c39}.button-hover[type=warn][plain]{color:rgba(230,67,64,.6);border-color:rgba(230,67,64,.6);background-color:rgba(0,0,0,0)}@media (prefers-color-scheme:dark){uni-button,uni-button[type=default]{color:#d6d6d6;background-color:#343434}.button-hover,.button-hover[type=default]{color:#d6d6d6;background-color:hsla(0,0%,100%,.1)}uni-button[disabled]:not([type]),uni-button[disabled][type=default]{color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.08)}uni-button[type=primary][plain][disabled]{color:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.2)}uni-button[type=default][plain]{color:#d6d6d6;border:1px solid #d6d6d6}.button-hover[type=default][plain]{color:hsla(0,0%,58.8%,.6);border-color:hsla(0,0%,58.8%,.6);background-color:rgba(50,50,50,.2)}uni-button[type=default][plain][disabled]{border-color:hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.2)}}uni-canvas{width:300px;height:150px;display:block;position:relative}uni-canvas>canvas{position:absolute;top:0;left:0;width:100%;height:100%}uni-checkbox-group[hidden]{display:none}uni-checkbox{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-checkbox[hidden]{display:none}uni-checkbox[disabled]{cursor:not-allowed}uni-checkbox .uni-checkbox-wrapper{display:-webkit-inline-flex;display:-webkit-inline-box;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;vertical-align:middle}uni-checkbox .uni-checkbox-input{margin-right:5px;-webkit-appearance:none;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative}uni-checkbox:not([disabled]) .uni-checkbox-input:hover{border-color:#007aff}uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked{color:#007aff}uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked:before{font:normal normal normal 14px/1 uni;content:"\EA08";font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73);-webkit-transform:translate(-50%,-48%) scale(.73)}uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled{background-color:#e1e1e1}uni-checkbox .uni-checkbox-input.uni-checkbox-input-disabled:before{color:#adadad}uni-checkbox-group{display:block}.ql-container{display:block;position:relative;box-sizing:border-box;-webkit-user-select:text;user-select:text;outline:none;overflow:hidden;width:100%;height:200px;min-height:200px}.ql-container[hidden]{display:none}.ql-container .ql-editor{position:relative;font-size:inherit;line-height:inherit;font-family:inherit;min-height:inherit;width:100%;height:100%;padding:0;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-overflow-scrolling:touch}.ql-container .ql-editor::-webkit-scrollbar{width:0!important}.ql-container .ql-editor.scroll-disabled{overflow:hidden}.ql-container .ql-image-overlay{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;box-sizing:border-box;border:1px dashed #ccc;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-user-select:none;user-select:none}.ql-container .ql-image-overlay .ql-image-size{position:absolute;padding:4px 8px;text-align:center;background-color:#fff;color:#888;border:1px solid #ccc;box-sizing:border-box;opacity:.8;right:4px;top:4px;font-size:12px;display:inline-block;width:auto}.ql-container .ql-image-overlay .ql-image-toolbar{position:relative;text-align:center;box-sizing:border-box;background:#000;border-radius:5px;color:#fff;font-size:0;min-height:24px;z-index:100}.ql-container .ql-image-overlay .ql-image-toolbar span{display:inline-block;cursor:pointer;padding:5px;font-size:12px;border-right:1px solid #fff}.ql-container .ql-image-overlay .ql-image-toolbar span:last-child{border-right:0}.ql-container .ql-image-overlay .ql-image-toolbar span.triangle-up{padding:0;position:absolute;top:-12px;left:50%;-webkit-transform:translatex(-50%);transform:translatex(-50%);width:0;height:0;border-width:6px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #000 rgba(0,0,0,0)}.ql-container .ql-image-overlay .ql-image-handle{position:absolute;height:12px;width:12px;border-radius:50%;border:1px solid #ccc;box-sizing:border-box;background:#fff}.ql-container img{display:inline-block;max-width:100%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;height:100%;outline:none;overflow-y:auto;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:2em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl),.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:2em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:2em}.ql-editor .ql-indent-2:not(.ql-direction-rtl),.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:4em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:4em}.ql-editor .ql-indent-3:not(.ql-direction-rtl),.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:6em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor .ql-indent-4:not(.ql-direction-rtl),.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:8em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:8em}.ql-editor .ql-indent-5:not(.ql-direction-rtl),.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:10em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:10em}.ql-editor .ql-indent-6:not(.ql-direction-rtl),.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:12em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor .ql-indent-7:not(.ql-direction-rtl),.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:14em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:14em}.ql-editor .ql-indent-8:not(.ql-direction-rtl),.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:16em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:16em}.ql-editor .ql-indent-9:not(.ql-direction-rtl),.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:18em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;pointer-events:none;position:absolute}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}uni-icon{display:inline-block;font-size:0;box-sizing:border-box}uni-icon[hidden]{display:none}uni-icon>i{font:normal normal normal 14px/1 weui}uni-icon>i:before{margin:0;box-sizing:border-box}@font-face{font-weight:400;font-style:normal;font-family:weui;src:url("data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx8AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5Zp+UEEcAAASUAAAIvGhlYWQUqc7xAAAA4AAAADZoaGVhB/YD+wAAALwAAAAkaG10eEJoAAAAAAHUAAAASGxvY2EUxhJeAAAEbAAAACZtYXhwASEAQwAAARgAAAAgbmFtZeNcHtgAAA1QAAAB5nBvc3T6OoZLAAAPOAAAAOYAAQAAA+gAAABaA+gAAAAAA7MAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAAMCU2KdfDzz1AAsD6AAAAADY7EUUAAAAANjsRRQAAAAAA7MD5AAAAAgAAgAAAAAAAAABAAAAEgA3AAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPoAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARACKAMQBEgFgAZIB4gH6AioCeAK0AwwDZAOiA9wEEAReAAAAAgAAAAADlQOVABQAKQAAJSInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAIAAAAAA7MDswAXAC0AAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBiIvASY2OwERNDY7ATIWFREzMhYB7nZnZDs9PTtkZ3Z8amY7Pj47Zmkhdg4oDnYODRddCwcmBwtdFw0Dsz47Zmp8dmdkOz09O2Rndn1pZjs+/fCaEhKaEhoBFwgLCwj+6RoAAwAAAAADlQOVABQAGAAhAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDETMRJzI2NCYiBhQWAfRxYV83OTk3X2HiYV83OTk3X2GQPh8RGRkiGRlTOTdfYeJhXzc5OTdfYeJhXzc5AfT+3QEjKhgjGBgjGAAAAAACAAAAAAOxA+QAFwAsAAABBgcGDwERFBcWFxYXNjc2NzY1EScmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9WlsP3A3Rz5sXmxsXW09SDdwQGuP/tUEBIoDAxIBBQFxAQUCARICBQERBAPjFyASJBL+rI51ZUg/HBw/SGV1jgFUEiQSIP66/tkDA48EBBkCAVYCAQHlAQIQBAAAAAADAAAAAAOxA+QAFwAmAC8AAAEGBwYPAREUFxYXFhc2NzY3NjURJyYnJgczMhYVAxQGKwEiJwM0NhMiJjQ2MhYUBgH1aWtAcDdHPmxebGxdbT1IN3BAa4M0BAYMAwImBQELBh4PFhYeFRUD5BggEiQS/q2PdWRJPh0dPklkdY8BUxIkEiD4BgT+xgIDBQE6BAb+QBUfFRUfFQAAAAACAAAAAAOVA5UAFAAaAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJwcXAScB9HFhXzc5OTdfYeJhXzc5OTdfYaJzLJ8BFi1TOTdfYeJhXzc5OTdfYeJhXzc5AUhzLJ8BFSwAAAAAAwAAAAADlQOVABQAKQAvAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTNxcBJzcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1Uz8iT+6p8jUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIBBPIj/uufJAAAAAEAAAAAA5kDGAAHAAAlATcXARcBBgGF/vg7zgHYOv3vAcsBCTvPAdg7/e4BAAAAAAIAAAAAA5UDlQAFABoAAAE1IxUXNwMiJyYnJjQ3Njc2MhcWFxYUBwYHBgITPrEsvnFhXzc5OTdfYeJhXzc5OTdfYQIO4PqxLP7kOTdfYeJhXzc5OTdfYeJhXzc5AAAAAAMAAAAAA5UDlQAFABoALwAAARcHJzUzAyInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAg2iI7EyGXFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1UCCaIksfr9ZTk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAMAAAAAA5UDlQAUABgAIQAAJSInJicmNDc2NzYyFxYXFhQHBgcGAxMzEwMyNjQmIg4BFgH0cWFfNzk5N19h4mFfNzk5N19hkQU2BSAQFRUgFQEWUzk3X2HiYV83OTk3X2HiYV83OQKV/sQBPP43Fh8VFR8WAAAAAAQAAAAAA5UDlQAUACkALQA2AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTMxEjEyImNDYyFhQGAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVSzIyGREZGSIZGVM5N19h4mFfNzk5N19h4mFfNzkyMjFTVchVUzEyMjFTVchVUzEyAcL+3QFNGCMYGCMYAAAAAwAAAAADlQOVABQAKQA1AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTFwcnByc3JzcXNxcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1WHgiOCgiOCgiOCgiNTOTdfYeJhXzc5OTdfYeJhXzc5MjIxU1XIVVMxMjIxU1XIVVMxMgFvgiOCgiOCgiOCgiMAAAACAAAAAANUA0IAGAAlAAABFwcnDgEjIicmJyY0NzY3NjIXFhcWFRQGJzQuASIOARQeATI+AQKoqyOsJ180T0RCJycnJ0JEn0RCJiglDUFvg29BQW+Db0EBYKwjrCAjKCZCRJ9EQicnJydCRE82YZdBb0FBb4NvQUFvAAAAAgAAAAADlQOVAAsAIAAAATcnBycHFwcXNxc3AyInJicmNDc2NzYyFxYXFhQHBgcGAiB9LH19LH19LH19LKlxYV83OTk3X2HiYV83OTk3X2EB9H0sfX0sfX0sfX0s/tw5N19h4mFfNzk5N19h4mFfNzkAAAACAAAAAAOVA5UAFAAcAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJzcnBwYfAQH0cWFfNzk5N19h4mFfNzk5N19hHoqKK7UBAbVTOTdfYeJhXzc5OTdfYeJhXzc5ARKPjy27AQG6AAAAAAUAAAAAA1cDbAAJAB0AJwArAC8AAAETHgEzITI2NxMzAw4BIyEiJicDIzU0NjMhMhYdASUyFh0BIzU0NjMHMxMjEzMDIwEaIgETDQEuDRMBIjIiAjAh/tIhMAIiVgwJApoJDP7xCQzQDAkVMhUyiTIVMgLd/cgOEhIOAjj9xSEuLiECOx4IDAwIHo4MCR0dCQz6/okBd/6JAAAAAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlLXN1Y2Nlc3MJc2FmZS13YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA") format("truetype")}.uni-icon-success:before{content:"\EA06"}.uni-icon-success_circle:before{content:"\EA07"}.uni-icon-success_no_circle:before{content:"\EA08"}.uni-icon-safe_success:before{content:"\EA04"}.uni-icon-safe_warn:before{content:"\EA05"}.uni-icon-info:before{content:"\EA03"}.uni-icon-info_circle:before{content:"\EA0C"}.uni-icon-warn:before{content:"\EA0B"}.uni-icon-waiting:before{content:"\EA09"}.uni-icon-waiting_circle:before{content:"\EA0A"}.uni-icon-circle:before{content:"\EA01"}.uni-icon-cancel:before{content:"\EA0D"}.uni-icon-download:before{content:"\EA02"}.uni-icon-search:before{content:"\EA0E"}.uni-icon-clear:before{content:"\EA0F"}.uni-icon-safe_success,.uni-icon-success,.uni-icon-success_circle,.uni-icon-success_no_circle{color:#007aff}.uni-icon-safe_warn{color:#ffbe00}.uni-icon-info{color:#10aeff}.uni-icon-info_circle{color:#007aff}.uni-icon-warn{color:#f76260}.uni-icon-waiting,.uni-icon-waiting_circle{color:#10aeff}.uni-icon-circle{color:#c9c9c9}.uni-icon-cancel{color:#f43530}.uni-icon-download{color:#007aff}.uni-icon-clear,.uni-icon-search{color:#b2b2b2}uni-image{width:320px;height:240px;display:inline-block;overflow:hidden;position:relative}uni-image[hidden]{display:none}uni-image>div,uni-image>img{width:100%;height:100%}uni-image>img{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;display:block;position:absolute;top:0;left:0;opacity:0}uni-image>.uni-image-will-change{will-change:transform}uni-input{display:block;font-size:16px;line-height:1.4em;height:1.4em;min-height:1.4em;overflow:hidden}uni-input[hidden]{display:none}.uni-input-form,.uni-input-input,.uni-input-placeholder,.uni-input-wrapper{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-input-form,.uni-input-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;width:100%;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.uni-input-input,.uni-input-placeholder{width:100%}.uni-input-placeholder{position:absolute;top:auto!important;left:0;color:grey;overflow:hidden;text-overflow:clip;white-space:pre;word-break:keep-all;pointer-events:none;line-height:inherit}.uni-input-input{position:relative;display:block;height:100%;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-input-input[type=search]::-webkit-search-cancel-button,.uni-input-input[type=search]::-webkit-search-decoration{display:none}.uni-input-input::-webkit-inner-spin-button,.uni-input-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.uni-input-input[type=number]{-moz-appearance:textfield}.uni-input-input:disabled{-webkit-text-fill-color:currentcolor}.uni-label-pointer{cursor:pointer}uni-movable-area{display:block;position:relative;width:10px;height:10px}uni-movable-area[hidden]{display:none}uni-movable-view{display:inline-block;width:10px;height:10px;top:0;left:0;position:absolute;cursor:grab}uni-movable-view[hidden]{display:none}uni-navigator{height:auto;width:auto;display:block;cursor:pointer}uni-navigator[hidden]{display:none}.navigator-hover{background-color:rgba(0,0,0,.1);opacity:.7}uni-picker-view-column{-webkit-flex:1;-webkit-box-flex:1;flex:1;position:relative;height:100%;overflow:hidden}uni-picker-view-column[hidden]{display:none}.uni-picker-view-group{height:100%;overflow:hidden}.uni-picker-view-mask{transform:translateZ(0);-webkit-transform:translateZ(0)}.uni-picker-view-indicator,.uni-picker-view-mask{position:absolute;left:0;width:100%;z-index:3;pointer-events:none}.uni-picker-view-mask{top:0;height:100%;margin:0 auto;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),-webkit-linear-gradient(bottom,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),linear-gradient(0deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background-position:top,bottom;background-size:100% 102px;background-repeat:no-repeat}.uni-picker-view-indicator{height:34px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.uni-picker-view-content{position:absolute;top:0;left:0;width:100%;will-change:transform;padding:102px 0;cursor:pointer}.uni-picker-view-content>*{height:34px;overflow:hidden}.uni-picker-view-indicator:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.uni-picker-view-indicator:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.uni-picker-view-indicator:after,.uni-picker-view-indicator:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}@media (prefers-color-scheme:dark){.uni-picker-view-indicator:before{border-top-color:var(--UI-FG-3)}.uni-picker-view-indicator:after{border-bottom-color:var(--UI-FG-3)}.uni-picker-view-mask{background-image:-webkit-linear-gradient(top,rgba(35,35,35,.95),rgba(35,35,35,.6)),-webkit-linear-gradient(bottom,rgba(35,35,35,.95),rgba(35,35,35,.6));background-image:linear-gradient(180deg,rgba(35,35,35,.95),rgba(35,35,35,.6)),linear-gradient(0deg,rgba(35,35,35,.95),rgba(35,35,35,.6))}}uni-picker-view{display:block}uni-picker-view .uni-picker-view-wrapper{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;overflow:hidden;height:100%}uni-picker-view[hidden]{display:none}uni-progress{display:-webkit-flex;display:-webkit-box;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center}uni-progress[hidden]{display:none}.uni-progress-bar{-webkit-flex:1;-webkit-box-flex:1;flex:1}.uni-progress-inner-bar{width:0;height:100%}.uni-progress-info{margin-top:0;margin-bottom:0;min-width:2em;margin-left:15px;font-size:16px}uni-radio-group[hidden]{display:none}uni-radio{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-radio[hidden]{display:none}uni-radio[disabled]{cursor:not-allowed}uni-radio .uni-radio-wrapper{display:-webkit-inline-flex;display:-webkit-inline-box;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;vertical-align:middle}uni-radio .uni-radio-input{-webkit-appearance:none;appearance:none;margin-right:5px;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:50%;width:22px;height:22px;position:relative}uni-radio:not([disabled]) .uni-radio-input:hover{border-color:#007aff}uni-radio .uni-radio-input.uni-radio-input-checked:before{font:normal normal normal 14px/1 uni;content:"\EA08";color:#fff;font-size:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73);-webkit-transform:translate(-50%,-48%) scale(.73)}uni-radio .uni-radio-input.uni-radio-input-disabled{background-color:#e1e1e1;border-color:#d1d1d1}uni-radio .uni-radio-input.uni-radio-input-disabled:before{color:#adadad}uni-radio-group{display:block}@-webkit-keyframes once-show{0%{top:0}}@keyframes once-show{0%{top:0}}uni-resize-sensor,uni-resize-sensor>div{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}uni-resize-sensor{display:block;z-index:-1;visibility:hidden;-webkit-animation:once-show 1ms;animation:once-show 1ms}uni-resize-sensor>div>div{position:absolute;left:0;top:0}uni-resize-sensor>div:first-child>div{width:100000px;height:100000px}uni-resize-sensor>div:last-child>div{width:200%;height:200%}uni-scroll-view{display:block;width:100%}uni-scroll-view[hidden]{display:none}.uni-scroll-view{position:relative;-webkit-overflow-scrolling:touch;max-height:inherit}.uni-scroll-view,.uni-scroll-view-content{width:100%;height:100%}.uni-scroll-view-refresher{position:relative;overflow:hidden}.uni-scroll-view-refresh{position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.uni-scroll-view-refresh,.uni-scroll-view-refresh-inner{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.uni-scroll-view-refresh-inner{line-height:0;width:40px;height:40px;border-radius:50%;background-color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647)}.uni-scroll-view-refresh__spinner{-webkit-transform-origin:center center;transform-origin:center center;-webkit-animation:uni-scroll-view-refresh-rotate 2s linear infinite;animation:uni-scroll-view-refresh-rotate 2s linear infinite}.uni-scroll-view-refresh__spinner>circle{stroke:currentColor;stroke-linecap:round;-webkit-animation:uni-scroll-view-refresh-dash 2s linear infinite;animation:uni-scroll-view-refresh-dash 2s linear infinite}@-webkit-keyframes uni-scroll-view-refresh-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes uni-scroll-view-refresh-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes uni-scroll-view-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes uni-scroll-view-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-slider{margin:10px 18px;padding:0;display:block}uni-slider[hidden]{display:none}uni-slider .uni-slider-wrapper{display:-webkit-flex;display:-webkit-box;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;min-height:16px}uni-slider .uni-slider-tap-area{-webkit-flex:1;-webkit-box-flex:1;flex:1;padding:8px 0}uni-slider .uni-slider-handle-wrapper{position:relative;height:2px;border-radius:5px;background-color:#e9e9e9;cursor:pointer;-webkit-tap-highlight-color:transparent}uni-slider .uni-slider-handle-wrapper,uni-slider .uni-slider-track{-webkit-transition:background-color .3s ease;transition:background-color .3s ease}uni-slider .uni-slider-track{height:100%;border-radius:6px;background-color:#007aff}uni-slider .uni-slider-handle,uni-slider .uni-slider-thumb{position:absolute;left:50%;top:50%;cursor:pointer;border-radius:50%;-webkit-transition:border-color .3s ease;transition:border-color .3s ease}uni-slider .uni-slider-handle{width:28px;height:28px;margin-top:-14px;margin-left:-14px;background-color:rgba(0,0,0,0);z-index:3;cursor:grab}uni-slider .uni-slider-thumb{z-index:2;box-shadow:0 0 4px rgba(0,0,0,.2)}uni-slider .uni-slider-step{position:absolute;width:100%;height:2px;background:rgba(0,0,0,0);z-index:1}uni-slider .uni-slider-value{width:3ch;color:#888;font-size:14px;margin-left:1em}uni-slider .uni-slider-disabled .uni-slider-track{background-color:#ccc}uni-slider .uni-slider-disabled .uni-slider-thumb{background-color:#fff;border-color:#ccc}uni-swiper-item{display:block;overflow:hidden;will-change:transform;position:absolute;width:100%;height:100%;cursor:grab}uni-swiper-item[hidden]{display:none}uni-swiper{display:block;height:150px}uni-swiper[hidden]{display:none}uni-swiper .uni-swiper-wrapper{overflow:hidden;position:relative;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}uni-swiper .uni-swiper-slides{position:absolute;left:0;top:0;right:0;bottom:0}uni-swiper .uni-swiper-slide-frame{position:absolute;left:0;top:0;width:100%;height:100%;will-change:transform}uni-swiper .uni-swiper-dots{position:absolute;font-size:0}uni-swiper .uni-swiper-dots-horizontal{left:50%;bottom:10px;text-align:center;white-space:nowrap;-webkit-transform:translate(-50%);transform:translate(-50%)}uni-swiper .uni-swiper-dots-horizontal .uni-swiper-dot{margin-right:8px}uni-swiper .uni-swiper-dots-horizontal .uni-swiper-dot:last-child{margin-right:0}uni-swiper .uni-swiper-dots-vertical{right:10px;top:50%;text-align:right;-webkit-transform:translateY(-50%);transform:translateY(-50%)}uni-swiper .uni-swiper-dots-vertical .uni-swiper-dot{display:block;margin-bottom:9px}uni-swiper .uni-swiper-dots-vertical .uni-swiper-dot:last-child{margin-bottom:0}uni-swiper .uni-swiper-dot{display:inline-block;width:8px;height:8px;cursor:pointer;-webkit-transition-property:background-color;transition-property:background-color;-webkit-transition-timing-function:ease;transition-timing-function:ease;background:rgba(0,0,0,.3);border-radius:50%}uni-swiper .uni-swiper-dot-active{background-color:#000}uni-swiper .uni-swiper-navigation{width:26px;height:26px;cursor:pointer;position:absolute;top:50%;margin-top:-13px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-transition:all .2s;transition:all .2s;border-radius:50%;opacity:1}uni-swiper .uni-swiper-navigation-disabled{opacity:.35;cursor:not-allowed}uni-swiper .uni-swiper-navigation-hide{opacity:0;cursor:auto;pointer-events:none}uni-swiper .uni-swiper-navigation-prev{left:10px}uni-swiper .uni-swiper-navigation-prev i{margin-left:-1px;left:10px}uni-swiper .uni-swiper-navigation-prev.uni-swiper-navigation-vertical{top:18px;left:50%;margin-left:-13px}uni-swiper .uni-swiper-navigation-prev.uni-swiper-navigation-vertical i{-webkit-transform:rotate(90deg);transform:rotate(90deg);margin-left:auto;margin-top:-2px}uni-swiper .uni-swiper-navigation-next{right:10px}uni-swiper .uni-swiper-navigation-next i{-webkit-transform:rotate(180deg);transform:rotate(180deg)}uni-swiper .uni-swiper-navigation-next.uni-swiper-navigation-vertical{top:auto;bottom:5px;left:50%;margin-left:-13px}uni-swiper .uni-swiper-navigation-next.uni-swiper-navigation-vertical i{margin-top:2px;-webkit-transform:rotate(270deg);transform:rotate(270deg)}uni-switch{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-switch[hidden]{display:none}uni-switch[disabled]{cursor:not-allowed}uni-switch .uni-switch-wrapper{display:-webkit-inline-flex;display:-webkit-inline-box;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;vertical-align:middle}uni-switch .uni-switch-input{-webkit-appearance:none;appearance:none;position:relative;width:52px;height:32px;margin-right:5px;border:1px solid #dfdfdf;outline:0;border-radius:16px;box-sizing:border-box;background-color:#dfdfdf;-webkit-transition:background-color .1s,border .1s;transition:background-color .1s,border .1s}uni-switch[disabled] .uni-switch-input{opacity:.7}uni-switch .uni-switch-input:before{width:50px;background-color:#fdfdfd}uni-switch .uni-switch-input:after,uni-switch .uni-switch-input:before{content:" ";position:absolute;top:0;left:0;height:30px;border-radius:15px;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}uni-switch .uni-switch-input:after{width:30px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}uni-switch .uni-switch-input.uni-switch-input-checked{border-color:#007aff;background-color:#007aff}uni-switch .uni-switch-input.uni-switch-input-checked:before{-webkit-transform:scale(0);transform:scale(0)}uni-switch .uni-switch-input.uni-switch-input-checked:after{-webkit-transform:translateX(20px);transform:translateX(20px)}uni-switch .uni-checkbox-input{margin-right:5px;-webkit-appearance:none;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative;color:#007aff}uni-switch:not([disabled]) .uni-checkbox-input:hover{border-color:#007aff}uni-switch .uni-checkbox-input.uni-checkbox-input-checked:before{font:normal normal normal 14px/1 uni;content:"\EA08";color:inherit;font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73);-webkit-transform:translate(-50%,-48%) scale(.73)}uni-switch .uni-checkbox-input.uni-checkbox-input-disabled{background-color:#e1e1e1}uni-switch .uni-checkbox-input.uni-checkbox-input-disabled:before{color:#adadad}@media (prefers-color-scheme:dark){uni-switch .uni-switch-input{border-color:#3b3b3f}uni-switch .uni-switch-input,uni-switch .uni-switch-input:before{background-color:#3b3b3f}uni-switch .uni-switch-input:after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}uni-switch .uni-checkbox-input{background-color:#2c2c2c;border:1px solid #656565}}uni-text[selectable]{cursor:auto;user-select:text;-webkit-user-select:text}uni-textarea{width:300px;height:150px;display:block;position:relative;font-size:16px;line-height:normal;white-space:pre-wrap;word-break:break-all}uni-textarea[hidden]{display:none}.uni-textarea-compute,.uni-textarea-line,.uni-textarea-placeholder,.uni-textarea-textarea,.uni-textarea-wrapper{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-textarea-wrapper{display:block;position:relative;width:100%;height:100%;min-height:inherit;overflow-y:hidden}.uni-textarea-compute,.uni-textarea-line,.uni-textarea-placeholder,.uni-textarea-textarea{position:absolute;width:100%;height:100%;left:0;top:0;white-space:inherit;word-break:inherit}.uni-textarea-placeholder{color:grey;overflow:hidden}.uni-textarea-compute,.uni-textarea-line{visibility:hidden;height:auto}.uni-textarea-line{width:1em}.uni-textarea-textarea{resize:none;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-textarea-textarea-fix-margin{width:auto;right:0;margin:0 -3px}.uni-textarea-textarea:disabled{-webkit-text-fill-color:currentcolor}uni-ad{display:block;overflow:hidden}uni-ad[hidden]{display:none}uni-ad .uni-ad-container{width:100%;min-height:1px}uni-cover-image{display:block;line-height:1.2;overflow:hidden;height:100%;width:100%;pointer-events:auto}uni-cover-image[hidden]{display:none}uni-cover-image .uni-cover-image{width:100%;height:100%}uni-cover-view{display:block;line-height:1.2;overflow:hidden;white-space:nowrap;pointer-events:auto}uni-cover-view[hidden]{display:none}uni-cover-view .uni-cover-view{width:100%;height:100%;visibility:hidden;text-overflow:inherit;overflow:hidden;white-space:inherit;-webkit-align-items:inherit;-webkit-box-align:inherit;align-items:inherit;-webkit-justify-content:inherit;-webkit-box-pack:inherit;justify-content:inherit;-webkit-flex-direction:inherit;-webkit-box-orient:inherit;-webkit-box-direction:inherit;flex-direction:inherit;-webkit-flex-wrap:inherit;flex-wrap:inherit;display:inherit;overflow:inherit}uni-live-pusher{width:300px;height:225px;display:inline-block;line-height:0;overflow:hidden;position:relative}uni-live-pusher[hidden]{display:none}.uni-live-pusher-container{left:0;background-color:#000}.uni-live-pusher-container,.uni-live-pusher-slot{width:100%;height:100%;position:absolute;top:0;overflow:hidden}.uni-live-pusher-slot{pointer-events:none}uni-map{width:300px;height:225px;display:inline-block;line-height:0;overflow:hidden;position:relative}uni-map[hidden]{display:none}.uni-map-container{left:0;background-color:rgba(0,0,0,0)}.uni-map-container,.uni-map-slot{width:100%;height:100%;position:absolute;top:0;overflow:hidden}.uni-map-slot{pointer-events:none}uni-picker{display:block}uni-video{width:300px;height:225px;display:inline-block;line-height:0;overflow:hidden;position:relative}uni-video[hidden]{display:none}.uni-video-container{left:0;background-color:#000}.uni-video-container,.uni-video-slot{width:100%;height:100%;position:absolute;top:0;overflow:hidden}.uni-video-slot{pointer-events:none}uni-view{display:block}uni-view[hidden]{display:none}uni-web-view{position:absolute;left:0;right:0;top:0;bottom:0} \ No newline at end of file diff --git a/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.umd.min.js b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.umd.min.js new file mode 100644 index 0000000..f9bb4c9 --- /dev/null +++ b/src/cyxproject/healthy_diet/jiankangAPP/unpackage/dist/dev/app-plus/view.umd.min.js @@ -0,0 +1,6 @@ +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e():"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["uni"]=e():t["uni"]=e()})("undefined"!==typeof self?self:this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fae3")}({"0094":function(t,e,n){"use strict";n.r(e);var i=n("f2b3"),r=n("c4c5");function o(t,e,n){return o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var i=a(t,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(n):r.value}},o(t,e,n||t)}function a(t,e){while(!Object.prototype.hasOwnProperty.call(t,e))if(t=y(t),null===t)break;return t}function s(t){var e="function"===typeof Map?new Map:void 0;return s=function(t){if(null===t||!u(t))return t;if("function"!==typeof t)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return c(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)},s(t)}function c(t,e,n){return c=b()?Reflect.construct:function(t,e,n){var i=[null];i.push.apply(i,e);var r=Function.bind.apply(t,i),o=new r;return n&&v(o,n.prototype),o},c.apply(null,arguments)}function u(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function l(t){return l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function h(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function d(t,e){for(var n=0;n1)){this.getAttribute("hover-stop-propagation")&&(t._hoverPropagationStopped=!0),this._hoverTouch=!0;var n=50,i=Number(this.getAttribute("hover-start-time")||n);this._hoverStartTimer=setTimeout((function(){e.hovering=!0,e._hoverTouch||e._hoverReset()}),isNaN(i)?n:i)}}},{key:"_hoverTouchEnd",value:function(){this._hoverTouch=!1,this.hovering&&this._hoverReset()}},{key:"_hoverReset",value:function(){var t=this;requestAnimationFrame((function(){clearTimeout(t._hoverStayTimer);var e=400,n=Number(t.getAttribute("hover-stay-time")||e);t._hoverStayTimer=setTimeout((function(){t.hovering=!1}),isNaN(n)?e:n)}))}},{key:"_hoverTouchCancel",value:function(){this._hoverTouch=!1,this.hovering=!1,clearTimeout(this._hoverStartTimer)}},{key:"hovering",get:function(){return this._hovering},set:function(t){this._hovering=t;var e=this.getAttribute("hover-class").split(" ").filter(Boolean),n=this.classList;t?n.add.apply(n,e):n.remove.apply(n,e)}}]),n}(F);function et(t){return et="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},et(t)}function nt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function it(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rt(t,e)}function rt(t,e){return rt=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},rt(t,e)}function ot(t){return function(){var e,n=ut(t);if(ct()){var i=ut(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return at(this,e)}}function at(t,e){return!e||"object"!==et(e)&&"function"!==typeof e?st(t):e}function st(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ct(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function ut(t){return ut=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},ut(t)}var lt=function(t){it(n,t);var e=ot(n);function n(){return nt(this,n),e.apply(this,arguments)}return n}(tt);e["default"]={View:lt}},"010d":function(t,e,n){},"02b5":function(t,e,n){"use strict";var i=n("e5e5"),r=n.n(i);r.a},"02ed":function(t){t.exports=JSON.parse('{"uni.app.quit":"再按一次退出應用","uni.async.error":"連接服務器超時,點擊屏幕重試","uni.showActionSheet.cancel":"取消","uni.showToast.unpaired":"請注意 showToast 與 hideToast 必須配對使用","uni.showLoading.unpaired":"請注意 showLoading 與 hideLoading 必須配對使用","uni.showModal.cancel":"取消","uni.showModal.confirm":"確定","uni.chooseImage.cancel":"取消","uni.chooseImage.sourceType.album":"從相冊選擇","uni.chooseImage.sourceType.camera":"拍攝","uni.chooseVideo.cancel":"取消","uni.chooseVideo.sourceType.album":"從相冊選擇","uni.chooseVideo.sourceType.camera":"拍攝","uni.chooseFile.notUserActivation":"文件選擇器對話框只能在由用戶激活時顯示","uni.previewImage.cancel":"取消","uni.previewImage.button.save":"保存圖像","uni.previewImage.save.success":"保存圖像到相冊成功","uni.previewImage.save.fail":"保存圖像到相冊失敗","uni.setClipboardData.success":"內容已復制","uni.scanCode.title":"掃碼","uni.scanCode.album":"相冊","uni.scanCode.fail":"識別失敗","uni.scanCode.flash.on":"輕觸照亮","uni.scanCode.flash.off":"輕觸關閉","uni.startSoterAuthentication.authContent":"指紋識別中...","uni.startSoterAuthentication.waitingContent":"無法識別","uni.picker.done":"完成","uni.picker.cancel":"取消","uni.video.danmu":"彈幕","uni.video.volume":"音量","uni.button.feedback.title":"問題反饋","uni.button.feedback.send":"發送","uni.chooseLocation.search":"搜索地點","uni.chooseLocation.cancel":"取消"}')},"03df":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-web-view",t._g({},t.$listeners))},r=[],o=n("646c"),a=o["a"],s=(n("2df3"),n("0c7c")),c=Object(s["a"])(a,i,r,!1,null,null,null);e["default"]=c.exports},"0516":function(t,e,n){"use strict";(function(t,i){n.d(e,"a",(function(){return f}));var r=n("f2b3"),o=n("a6b0"),a=n("33ed"),s=n("2522"),c=n("a20d"),u=!!r["l"]&&{passive:!1};function l(e){var n=e.statusbarHeight,i=e.windowTop,r=e.windowBottom;if(t.__WINDOW_TOP=i,t.__WINDOW_BOTTOM=r,uni.canIUse("css.var")){var o=document.documentElement.style;o.setProperty("--window-left","0px"),o.setProperty("--window-right","0px"),o.setProperty("--window-top",i+"px"),o.setProperty("--window-bottom",r+"px"),o.setProperty("--status-bar-height",n+"px")}}function h(t,e){var n=t.locale,i=t.statusbarHeight,r=t.windowTop,s=t.windowBottom,c=t.disableScroll,h=t.onPageScroll,d=t.onPageReachBottom,f=t.onReachBottomDistance;Object(o["c"])(n),l({statusbarHeight:i,windowTop:r,windowBottom:s}),c?document.addEventListener("touchmove",a["b"],u):(h||d)&&requestAnimationFrame((function(){document.addEventListener("scroll",Object(a["a"])(e,{enablePageScroll:h,enablePageReachBottom:d,onReachBottomDistance:f}))}))}function d(){i.publishHandler("webviewReady")}function f(t){t(c["m"],d),t(s["a"],h),t(c["f"],o["c"])}}).call(this,n("c8ba"),n("501c"))},"0741":function(t,e,n){"use strict";var i=n("5bb5a"),r=n.n(i);r.a},"07f4":function(t,e,n){"use strict";var i=n("be7f"),r=4,o=0,a=1,s=2;function c(t){var e=t.length;while(--e>=0)t[e]=0}var u=0,l=1,h=2,d=3,f=258,p=29,v=256,m=v+1+p,g=30,_=19,b=2*m+1,y=15,w=16,S=7,k=256,x=16,C=17,T=18,O=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],I=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],A=512,M=new Array(2*(m+2));c(M);var P=new Array(2*g);c(P);var j=new Array(A);c(j);var L=new Array(f-d+1);c(L);var N=new Array(p);c(N);var D,R,B,F=new Array(g);function z(t,e,n,i,r){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}function V(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function H(t){return t<256?j[t]:j[256+(t>>>7)]}function Y(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function U(t,e,n){t.bi_valid>w-n?(t.bi_buf|=e<>w-t.bi_valid,t.bi_valid+=n-w):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function q(t){16===t.bi_valid?(Y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function Z(t,e){var n,i,r,o,a,s,c=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,h=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,f=e.stat_desc.extra_base,p=e.stat_desc.max_length,v=0;for(o=0;o<=y;o++)t.bl_count[o]=0;for(c[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;np&&(o=p,v++),c[2*i+1]=o,i>u||(t.bl_count[o]++,a=0,i>=f&&(a=d[i-f]),s=c[2*i],t.opt_len+=s*(o+a),h&&(t.static_len+=s*(l[2*i+1]+a)));if(0!==v){do{o=p-1;while(0===t.bl_count[o])o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[p]--,v-=2}while(v>0);for(o=p;0!==o;o--){i=t.bl_count[o];while(0!==i)r=t.heap[--n],r>u||(c[2*r+1]!==o&&(t.opt_len+=(o-c[2*r+1])*c[2*r],c[2*r+1]=o),i--)}}}function G(t,e,n){var i,r,o=new Array(y+1),a=0;for(i=1;i<=y;i++)o[i]=a=a+n[i-1]<<1;for(r=0;r<=e;r++){var s=t[2*r+1];0!==s&&(t[2*r]=X(o[s]++,s))}}function K(){var t,e,n,i,r,o=new Array(y+1);for(n=0,i=0;i>=7;i8?Y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function tt(t,e,n,r){Q(t),r&&(Y(t,n),Y(t,~n)),i.arraySet(t.pending_buf,t.window,e,n,t.pending),t.pending+=n}function et(t,e,n,i){var r=2*e,o=2*n;return t[r]>1;n>=1;n--)nt(t,o,n);r=c;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],nt(t,o,1),i=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=i,o[2*r]=o[2*n]+o[2*i],t.depth[r]=(t.depth[n]>=t.depth[i]?t.depth[n]:t.depth[i])+1,o[2*n+1]=o[2*i+1]=r,t.heap[1]=r++,nt(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],Z(t,e),G(o,u,t.bl_count)}function ot(t,e,n){var i,r,o=-1,a=e[1],s=0,c=7,u=4;for(0===a&&(c=138,u=3),e[2*(n+1)+1]=65535,i=0;i<=n;i++)r=a,a=e[2*(i+1)+1],++s=3;e--)if(0!==t.bl_tree[2*I[e]+1])break;return t.opt_len+=3*(e+1)+5+5+4,e}function ct(t,e,n,i){var r;for(U(t,e-257,5),U(t,n-1,5),U(t,i-4,4),r=0;r>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return a;for(e=32;e0?(t.strm.data_type===s&&(t.strm.data_type=ut(t)),rt(t,t.l_desc),rt(t,t.d_desc),c=st(t),o=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=o&&(o=a)):o=a=n+5,n+4<=o&&-1!==e?dt(t,e,n,i):t.strategy===r||a===o?(U(t,(l<<1)+(i?1:0),3),it(t,M,P)):(U(t,(h<<1)+(i?1:0),3),ct(t,t.l_desc.max_code+1,t.d_desc.max_code+1,c+1),it(t,t.dyn_ltree,t.dyn_dtree)),J(t),i&&Q(t)}function vt(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(L[n]+v+1)]++,t.dyn_dtree[2*H(e)]++),t.last_lit===t.lit_bufsize-1}e._tr_init=ht,e._tr_stored_block=dt,e._tr_flush_block=pt,e._tr_tally=vt,e._tr_align=ft},"0998":function(t,e,n){"use strict";var i=n("010d"),r=n.n(i);r.a},"0aa0":function(t,e,n){"use strict";var i=n("a53f");function r(t){var e;while(t){var n=getComputedStyle(t),i=n.transform||n.webkitTransform;e=(!i||"none"===i)&&e,e="fixed"===n.position||e,t=t.parentElement}return e}e["a"]={name:"Native",data:function(){return{position:{top:"0px",left:"0px",width:"0px",height:"0px",position:"static"},hidden:!1}},provide:function(){return{parentOnDraw:this._onDraw}},inject:{parentOnDraw:{default:null}},created:function(){this.isNative=!0,this.onCanInsertCallbacks=[],this.onDrawCallbacks=[]},mounted:function(){this._updatePosition(),this.onCanInsertCallbacks.forEach((function(t){return t()})),this.onCanInsertCallbacks=null,this.$on("uni-view-update",this._requestPositionUpdate)},methods:{_updatePosition:function(){var t=(this.$refs.container||this.$el).getBoundingClientRect();if(this.hidden=0===t.width||0===t.height,!this.hidden){var e=this.position;e.position=r(this.$el)?"absolute":"static";var n=["top","left","width","height"];n.forEach((function(n){var r=t[n];r="top"===n?r+("static"===e.position?document.documentElement.scrollTop||document.body.scrollTop||0:Object(i["a"])()):r,e[n]=r+"px"}))}},_requestPositionUpdate:function(){var t=this;this._positionUpdateRequest&&cancelAnimationFrame(this._positionUpdateRequest),this._positionUpdateRequest=requestAnimationFrame((function(){delete t._positionUpdateRequest,t._updatePosition()}))},_onParentReady:function(t){var e=this,n=function(n){t(n),e.onDrawCallbacks.forEach((function(t){return t(e.position)})),e.onDrawCallbacks=null};this._onSelfReady((function(){e.parentOnDraw?e.parentOnDraw(n):n({top:"0px",left:"0px",width:Number.MAX_SAFE_INTEGER+"px",height:Number.MAX_SAFE_INTEGER+"px",position:"static"})}))},_onSelfReady:function(t){this.onCanInsertCallbacks?this.onCanInsertCallbacks.push(t):t()},_onDraw:function(t){this.onDrawCallbacks?this.onDrawCallbacks.push(t):t(this.position)}}}},"0b86":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var i=n("f2b3");function r(t,e,n){if(!t.$parent)return"-1";var r=t.$vnode,o=r.context,a=r.data.attrs._i;return n&&Object(i["e"])(r.data,"key")&&(a=a+";"+r.data.key),o&&o!==e&&o._$id?o._$id+";"+e._$id+","+a:e._$id+","+a}},"0c7c":function(t,e,n){"use strict";function i(t,e,n,i,r,o,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):r&&(c=s?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(t,e){return c.call(e),l(t,e)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return i}))},"0f55":function(t,e,n){"use strict";var i=n("55e3"),r=n.n(i);r.a},1029:function(t,e,n){"use strict";(function(t){var i=n("8af1"),r=n("18fd"),o=n("b253"),a=n("93ab");function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(){return"ios"===plus.os.name.toLowerCase()}e["a"]={name:"Editor",mixins:[i["f"],i["a"],i["d"]],props:{id:{type:String,default:""},readOnly:{type:[Boolean,String],default:!1},placeholder:{type:String,default:""},showImgSize:{type:[Boolean,String],default:!1},showImgToolbar:{type:[Boolean,String],default:!1},showImgResize:{type:[Boolean,String],default:!1}},data:function(){return{quillReady:!1}},computed:{},watch:{readOnly:function(t){if(this.quillReady){var e=this.quill;e.enable(!t),t||e.blur()}},placeholder:function(t){this.quillReady&&this.setPlaceHolder(t)}},mounted:function(){var t=this,e=[];this.showImgSize&&e.push("DisplaySize"),this.showImgToolbar&&e.push("Toolbar"),this.showImgResize&&e.push("Resize");var n="./__uniappquill.js";Object(a["a"])(window.Quill,n,(function(){if(e.length){var n="./__uniappquillimageresize.js";Object(a["a"])(window.ImageResize,n,(function(){t.initQuill(e)}))}else t.initQuill(e)}))},methods:{_textChangeHandler:function(){this.$trigger("input",{},this.getContents())},_handleSubscribe:function(e){var n,i,r,o=this,a=e.type,c=e.data,u=c.options,l=c.callbackId,h=this.quill,d=window.Quill;if(this.quillReady){switch(a){case"format":var f=u.name,p=void 0===f?"":f,v=u.value,m=void 0!==v&&v;i=h.getSelection(!0);var g=h.getFormat(i)[p]||!1;if(["bold","italic","underline","strike","ins"].includes(p))m=!g;else if("direction"===p){m=("rtl"!==m||!g)&&m;var _=h.getFormat(i).align;"rtl"!==m||_?m||"right"!==_||h.format("align",!1,d.sources.USER):h.format("align","right",d.sources.USER)}else if("indent"===p){var b="rtl"===h.getFormat(i).direction;m="+1"===m,b&&(m=!m),m=m?"+1":"-1"}else"list"===p&&(m="check"===m?"unchecked":m,g="checked"===g?"unchecked":g),m=g&&g!==(m||!1)||!g&&m?m:!g;h.format(p,m,d.sources.USER);break;case"insertDivider":i=h.getSelection(!0),h.insertText(i.index,"\n",d.sources.USER),h.insertEmbed(i.index+1,"divider",!0,d.sources.USER),h.setSelection(i.index+2,d.sources.SILENT);break;case"insertImage":i=h.getSelection(!0);var y=u.src,w=void 0===y?"":y,S=u.alt,k=void 0===S?"":S,x=u.width,C=void 0===x?"":x,T=u.height,O=void 0===T?"":T,$=u.extClass,E=void 0===$?"":$,I=u.data,A=void 0===I?{}:I,M=this.$getRealPath(w);h.insertEmbed(i.index,"image",M,d.sources.SILENT);var P=!!/^(file|blob):/.test(M)&&M;h.formatText(i.index,1,"data-local",P,d.sources.SILENT),h.formatText(i.index,1,"alt",k,d.sources.SILENT),h.formatText(i.index,1,"width",C,d.sources.SILENT),h.formatText(i.index,1,"height",O,d.sources.SILENT),h.formatText(i.index,1,"class",E,d.sources.SILENT),h.formatText(i.index,1,"data-custom",Object.keys(A).map((function(t){return"".concat(t,"=").concat(A[t])})).join("&"),d.sources.SILENT),h.setSelection(i.index+1,d.sources.SILENT),h.scrollIntoView(),setTimeout((function(){o._textChangeHandler()}),1e3);break;case"insertText":i=h.getSelection(!0);var j=u.text,L=void 0===j?"":j;h.insertText(i.index,L,d.sources.USER),h.setSelection(i.index+L.length,0,d.sources.SILENT);break;case"setContents":var N=u.delta,D=u.html;"object"===s(N)?h.setContents(N,d.sources.SILENT):"string"===typeof D?h.setContents(this.html2delta(D),d.sources.SILENT):r="contents is missing";break;case"getContents":n=this.getContents();break;case"clear":h.setContents([]);break;case"removeFormat":i=h.getSelection(!0);var R=d.import("parchment");i.length?h.removeFormat(i,d.sources.USER):Object.keys(h.getFormat(i)).forEach((function(t){R.query(t,R.Scope.INLINE)&&h.format(t,!1)}));break;case"undo":h.history.undo();break;case"redo":h.history.redo();break;case"blur":h.blur();break;case"getSelectionText":i=h.selection.savedRange,n={text:""},i&&0!==i.length&&(n.text=h.getText(i.index,i.length));break;case"scrollIntoView":h.scrollIntoView();break;default:break}this.updateStatus(i)}else r="not ready";l&&t.publishHandler("onEditorMethodCallback",{callbackId:l,data:Object.assign({},n,{errMsg:"".concat(a,":").concat(r?"fail "+r:"ok")})},this.$page.id)},setPlaceHolder:function(t){var e="data-placeholder",n=this.quill.root;n.getAttribute(e)!==t&&n.setAttribute(e,t)},initQuill:function(t){var e=this,n=window.Quill;o["a"](n);var i={toolbar:!1,readOnly:this.readOnly,placeholder:this.placeholder,modules:{}};t.length&&(n.register("modules/ImageResize",window.ImageResize.default),i.modules.ImageResize={modules:t});var r=this.quill=new n(this.$el,i),a=r.root,s=["focus","blur","input"];s.forEach((function(t){a.addEventListener(t,(function(n){var i=e.getContents();if("input"===t){if(c()){var r=(i.html.match(/([\s\S]*)<\/span>/)||[])[1],o=r&&r.replace(/\s/g,"")?"":e.placeholder;e.setPlaceHolder(o)}n.stopPropagation()}else e.$trigger(t,n,i)}))})),r.on(n.events.TEXT_CHANGE,this._textChangeHandler),r.on(n.events.SELECTION_CHANGE,this.updateStatus.bind(this)),r.on(n.events.SCROLL_OPTIMIZE,(function(){var t=r.selection.getRange()[0];e.updateStatus(t)})),r.clipboard.addMatcher(Node.ELEMENT_NODE,(function(t,n){return e.skipMatcher||(n.ops=n.ops.filter((function(t){var e=t.insert;return"string"===typeof e})).map((function(t){var e=t.insert;return{insert:e}}))),n})),this.initKeyboard(a),this.quillReady=!0,this.$trigger("ready",event,{})},getContents:function(){var t=this.quill,e=t.root["inner"+"HTML"],n=t.getText(),i=t.getContents();return{html:e,text:n,delta:i}},html2delta:function(t){var e,n=["span","strong","b","ins","em","i","u","a","del","s","sub","sup","img","div","p","h1","h2","h3","h4","h5","h6","hr","ol","ul","li","br"],i="";Object(r["a"])(t,{start:function(t,r,o){if(n.includes(t)){e=!1;var a=r.map((function(t){var e=t.name,n=t.value;return"".concat(e,'="').concat(n,'"')})).join(" "),s="<".concat(t," ").concat(a," ").concat(o?"/":"",">");i+=s}else e=!o},end:function(t){e||(i+=""))},chars:function(t){e||(i+=t)}}),this.skipMatcher=!0;var o=this.quill.clipboard.convert(i);return this.skipMatcher=!1,o},updateStatus:function(t){var e=this,n=t?this.quill.getFormat(t):{},i=Object.keys(n);(i.length!==Object.keys(this.__status||{}).length||i.find((function(t){return n[t]!==e.__status[t]})))&&(this.__status=n,this.$trigger("statuschange",{},n))}}}}).call(this,n("501c"))},1082:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-image",t._g({},t.$listeners),[n("div",{ref:"content",style:t.style}),"widthFix"===t.mode||"heightFix"===t.mode?n("v-uni-resize-sensor",{ref:"sensor",on:{resize:function(e){return t._fixSize()}}}):t._e()],1)},r=[];function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return("undefined"===typeof navigator||o(navigator))&&"Google Inc."===navigator.vendor&&t>10&&(t=2*Math.round(t/2)),t}var s={name:"Image",props:{src:{type:String,default:""},mode:{type:String,default:"scaleToFill"},lazyLoad:{type:[Boolean,String],default:!1},draggable:{type:Boolean,default:!1}},data:function(){return{originalWidth:0,originalHeight:0,originalStyle:{width:"",height:""},contentPath:""}},computed:{ratio:function(){return this.originalWidth&&this.originalHeight?this.originalWidth/this.originalHeight:0},style:function(){var t="auto",e="",n="no-repeat";switch(this.mode){case"aspectFit":t="contain",e="center center";break;case"aspectFill":t="cover",e="center center";break;case"widthFix":case"heightFix":t="100% 100%";break;case"top":e="center top";break;case"bottom":e="center bottom";break;case"center":e="center center";break;case"left":e="left center";break;case"right":e="right center";break;case"top left":e="left top";break;case"top right":e="right top";break;case"bottom left":e="left bottom";break;case"bottom right":e="right bottom";break;default:t="100% 100%",e="0% 0%";break}return{"background-image":this.contentPath?'url("'.concat(this.contentPath,'")'):"none","background-position":e,"background-size":t,"background-repeat":n}}},watch:{src:function(t,e){this._loadImage()},mode:function(t,e){"widthFix"!==e&&"heightFix"!==e||this._resetSize(),"widthFix"!==t&&"heightFix"!==t||this._fixSize()},contentPath:function(t){!t&&this.__img&&(this.__img.remove(),delete this.__img)}},mounted:function(){this.originalStyle.width=this.$el.style.width||"",this.originalStyle.height=this.$el.style.height||"",this._loadImage()},beforeDestroy:function(){this._clearImage()},methods:{_fixSize:function(){if(this.ratio){var t=this.$el;if("widthFix"===this.mode){var e=t.offsetWidth;e&&(t.style.height=a(e/this.ratio)+"px")}else if("heightFix"===this.mode){var n=t.offsetHeight;n&&(t.style.width=a(n*this.ratio)+"px")}}window.dispatchEvent(new CustomEvent("updateview"))},_resetSize:function(){this.$el.style.width=this.originalStyle.width,this.$el.style.height=this.originalStyle.height},_resetData:function(){this.originalWidth=0,this.originalHeight=0,this.contentPath=""},_loadImage:function(){var t=this,e=this.$getRealPath(this.src);if(e){var n=this._img=this._img||new Image;n.onload=function(i){t._img=null;var r=t.originalWidth=n.width,o=t.originalHeight=n.height;t._fixSize(),t.contentPath=e,n.draggable=t.draggable,t.__img&&t.__img.remove(),t.__img=n,t.$el.appendChild(n),t.$trigger("load",i,{width:r,height:o})},n.onerror=function(e){t._img=null,t._resetData(),t.$trigger("error",e,{errMsg:"GET ".concat(t.src," 404 (Not Found)")})},n.src=e}else this._clearImage(),this._resetData()},_clearImage:function(){var t=this._img;t&&(t.onload=null,t.onerror=null,this._img=null)}}},c=s,u=(n("db18"),n("0c7c")),l=Object(u["a"])(c,i,r,!1,null,null,null);e["default"]=l.exports},"14db":function(t,e,n){"use strict";var i=n("3770"),r=n.n(i);r.a},1757:function(t,e,n){},"17fd":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.hoverClass&&"none"!==t.hoverClass?n("uni-navigator",t._g({class:[t.hovering?t.hoverClass:""],on:{touchstart:t._hoverTouchStart,touchend:t._hoverTouchEnd,touchcancel:t._hoverTouchCancel,mousedown:t._hoverMousedown,mouseup:t._hoverMouseup,click:t._onClick}},t.$listeners),[t._t("default")],2):n("uni-navigator",t._g({on:{click:t._onClick}},t.$listeners),[t._t("default")],2)},r=[],o=n("8af1"),a=["navigate","redirect","switchTab","reLaunch","navigateBack"],s=["slide-in-right","slide-in-left","slide-in-top","slide-in-bottom","fade-in","zoom-out","zoom-fade-out","pop-in","none"],c=["slide-out-right","slide-out-left","slide-out-top","slide-out-bottom","fade-out","zoom-in","zoom-fade-in","pop-out","none"],u={name:"Navigator",mixins:[o["c"]],props:{hoverClass:{type:String,default:"navigator-hover"},url:{type:String,default:""},openType:{type:String,default:"navigate",validator:function(t){return~a.indexOf(t)}},delta:{type:Number,default:1},hoverStartTime:{type:[Number,String],default:50},hoverStayTime:{type:[Number,String],default:600},exists:{type:String,default:""},animationType:{type:String,validator:function(t){return!t||~s.concat(c).indexOf(t)},default:""},animationDuration:{type:[String,Number],default:300}},methods:{_onClick:function(t){if("navigateBack"===this.openType||this.url){var e=parseInt(this.animationDuration);switch(this.openType){case"navigate":uni.navigateTo({url:this.url,animationType:this.animationType||"pop-in",animationDuration:e});break;case"redirect":uni.redirectTo({url:this.url,exists:this.exists});break;case"switchTab":uni.switchTab({url:this.url});break;case"reLaunch":uni.reLaunch({url:this.url});break;case"navigateBack":uni.navigateBack({delta:this.delta,animationType:this.animationType||"pop-out",animationDuration:e});break;default:break}}else console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab")}}},l=u,h=(n("f7fd"),n("0c7c")),d=Object(h["a"])(l,i,r,!1,null,null,null);e["default"]=d.exports},"18fd":function(t,e,n){"use strict";n.d(e,"a",(function(){return d}));var i=/^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,r=/^<\/([-A-Za-z0-9_]+)[^>]*>/,o=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,a=f("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr"),s=f("a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video"),c=f("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),u=f("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),l=f("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),h=f("script,style");function d(t,e){var n,d,f,p=[],v=t;p.last=function(){return this[this.length-1]};while(t){if(d=!0,p.last()&&h[p.last()])t=t.replace(new RegExp("([\\s\\S]*?)]*>"),(function(t,n){return n=n.replace(/|/g,"$1$2"),e.chars&&e.chars(n),""})),_("",p.last());else if(0==t.indexOf("\x3c!--")?(n=t.indexOf("--\x3e"),n>=0&&(e.comment&&e.comment(t.substring(4,n)),t=t.substring(n+3),d=!1)):0==t.indexOf("=0;i--)if(p[i]==n)break}else var i=0;if(i>=0){for(var r=p.length-1;r>=i;r--)e.end&&e.end(p[r]);p.length=i}}_()}function f(t){for(var e={},n=t.split(","),i=0;i*{height: ").concat(t,"px;overflow: hidden;}"),document.head.appendChild(e)},_handleTrack:function(t){if(this._scroller)switch(t.detail.state){case"start":this._handleTouchStart(t),Object(s["a"])({disable:!0});break;case"move":this._handleTouchMove(t),t.stopPropagation();break;case"end":case"cancel":this._handleTouchEnd(t),Object(s["a"])({disable:!1})}},_handleTap:function(t){var e=t.clientY;if(!this._scroller.isScrolling()){var n=this.$el.getBoundingClientRect(),i=e-n.top-this.height/2,r=this.indicatorHeight/2;if(!(Math.abs(i)<=r)){var o=Math.ceil((Math.abs(i)-r)/this.indicatorHeight),a=i<0?-o:o,s=Math.min(this.current+a,this.length-1);this.current=s=Math.max(s,0),this._scroller.scrollTo(s*this.indicatorHeight)}}},_handleWheel:function(t){var e=this.deltaY+t.deltaY;if(Math.abs(e)>10){this.deltaY=0;var n=Math.min(this.current+(e<0?-1:1),this.length-1);this.current=n=Math.max(n,0),this._scroller.scrollTo(n*this.indicatorHeight)}else this.deltaY=e;t.preventDefault()},setCurrent:function(t){t!==this.current&&(this.current=t,this.inited&&this.update())},init:function(){var t=this;this.initScroller(this.$refs.content,{enableY:!0,enableX:!1,enableSnap:!0,itemSize:this.indicatorHeight,friction:new o["a"](1e-4),spring:new a["a"](2,90,20),onSnap:function(e){isNaN(e)||e===t.current||(t.current=e)}}),this.inited=!0},update:function(){var t=this;this.$nextTick((function(){var e=Math.min(t.current,t.length-1);e=Math.max(e,0),t._scroller.update(e*t.indicatorHeight,void 0,t.indicatorHeight)}))},_resize:function(t){var e=t.height;this.indicatorHeight=e}},render:function(t){return this.length=this.$slots.default&&this.$slots.default.length||0,t("uni-picker-view-column",{on:{on:this.$listeners}},[t("div",{ref:"main",staticClass:"uni-picker-view-group",on:{wheel:this._handleWheel,click:this._handleTap}},[t("div",{ref:"mask",staticClass:"uni-picker-view-mask",class:this.maskClass,style:"background-size: 100% ".concat(this.maskSize,"px;").concat(this.maskStyle)}),t("div",{ref:"indicator",staticClass:"uni-picker-view-indicator",class:this.indicatorClass,style:this.indicatorStyle},[t("v-uni-resize-sensor",{attrs:{initial:!0},on:{resize:this._resize}})]),t("div",{ref:"content",staticClass:"uni-picker-view-content",class:this.scope,style:"padding: ".concat(this.maskSize,"px 0;")},[this.$slots.default])])])}},d=h,f=(n("edfa"),n("0c7c")),p=Object(f["a"])(d,u,l,!1,null,null,null);e["default"]=p.exports},"1b6f":function(t,e,n){"use strict";(function(t){var i=n("f2b3");e["a"]={mounted:function(){var t=this;this._toggleListeners("subscribe",this.id),this.$watch("id",(function(e,n){t._toggleListeners("unsubscribe",n,!0),t._toggleListeners("subscribe",e,!0)}))},beforeDestroy:function(){this._toggleListeners("unsubscribe",this.id),this._contextId&&this._toggleListeners("unsubscribe",this._contextId)},methods:{_toggleListeners:function(e,n,r){r&&!n||Object(i["f"])(this._handleSubscribe)&&t[e](this.$page.id+"-"+this.$options.name.replace(/VUni([A-Z])/,"$1").toLowerCase()+"-"+n,this._handleSubscribe)},_getContextInfo:function(){var t="context-".concat(this._uid);return this._contextId||(this._toggleListeners("subscribe",t),this._contextId=t),{name:this.$options.name.replace(/VUni([A-Z])/,"$1").toLowerCase(),id:t,page:this.$page.id}}}}}).call(this,n("501c"))},"1c64":function(t,e,n){"use strict";var i=n("97b9"),r=n.n(i);r.a},"1c73":function(t,e,n){"use strict";(function(t){n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return c}));var i={},r={};function o(t){for(var e=[],n=["width","minWidth","maxWidth","height","minHeight","maxHeight","orientation"],i=0,r=n;i=0&&e.push("(".concat(a(o),": ").concat(Number(t[o]),"px)")),"orientation"===o&&t[o]&&e.push("(".concat(a(o),": ").concat(t[o],")"))}return e=e.join(" and "),e}function a(t){return t.replace(/([A-Z])/g,"-$1").toLowerCase()}function s(e){var n=e.reqId,a=e.options,s=i[n]=window.matchMedia(o(a)),c=r[n]=function(e){t.publishHandler("onRequestMediaQueryObserver",{reqId:n,res:e.matches})};c(s),s.addListener(c)}function c(e){var n=e.reqId,o=r[n],a=i[n];a&&(a.removeListener(o),delete i[n],t.publishHandler("onRequestMediaQueryObserver",{reqId:n,reqEnd:!0}))}}).call(this,n("501c"))},"1e88":function(t,e,n){"use strict";function i(){return{top:0,bottom:0,left:0,right:0}}n.d(e,"a",(function(){return i}))},"1efd":function(t,e,n){"use strict";n.r(e);var i=n("e571"),r=n("a34f"),o=n("d4b6"),a={methods:{$getRealPath:function(t){return t?Object(r["a"])(t):t},$trigger:function(t,e,n){this.$emit(t,o["b"].call(this,t,e,n,this.$el,this.$el))}}},s=n("9b52"),c=[n("5408"),n("1922")],u={};n("d16b");var l=n("0094");for(var h in u=l.default||l,u)customElements.define("uni-".concat(h.toLowerCase()),u[h]);c.forEach((function(t,e){t.keys().forEach((function(e){var n=t(e),r=n.default||n;r.mixins=r.mixins?[].concat(a,r.mixins):[a],r.functional||r.mixins.push(s["a"]),r.name="VUni"+r.name,r.isReserved=!0,i["a"].component(r.name,r)}))}))},"1f56":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-video",t._g({},t.$listeners),[n("div",{ref:"container",staticClass:"uni-video-container"}),n("div",{staticClass:"uni-video-slot"},[t._t("default")],2)])},r=[],o=n("8af1"),a=n("0aa0");function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function u(t){for(var e=1;e-1:t.valueSync},on:{change:[function(e){var n=t.valueSync,i=e.target,r=!!i.checked;if(Array.isArray(n)){var o=null,a=t._i(n,o);i.checked?a<0&&(t.valueSync=n.concat([o])):a>-1&&(t.valueSync=n.slice(0,a).concat(n.slice(a+1)))}else t.valueSync=r},function(t){t.stopPropagation()}],focus:t._onFocus,blur:t._onBlur,input:function(e){return e.stopPropagation(),t._onInput(e)},compositionstart:function(e){return e.stopPropagation(),t._onComposition(e)},compositionend:function(e){return e.stopPropagation(),t._onComposition(e)},compositionupdate:function(e){return e.stopPropagation(),t._onComposition(e)},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:(e.stopPropagation(),t._onKeyup(e))}}}),t.disabled&&t.fixColor?n("input",{ref:"input",staticClass:"uni-input-input",attrs:{tabindex:"-1",readonly:t.disabled,type:t.inputType,maxlength:t.maxlength,step:t._step},domProps:{value:t.valueSync},on:{focus:function(t){return t.target.blur()}}}):t._e()])])},r=[],o=n("8af1"),a=n("f2b3"),s=["text","number","idcard","digit","password","tel"],c=["number","digit"],u=["off","one-time-code"],l=["none","text","decimal","numeric","tel","search","email","url"],h={name:"Input",mixins:[o["b"]],props:{name:{type:String,default:""},type:{type:String,default:"text"},password:{type:[Boolean,String],default:!1},placeholder:{type:String,default:""},placeholderStyle:{type:String,default:""},placeholderClass:{type:String,default:"input-placeholder"},disabled:{type:[Boolean,String],default:!1},maxlength:{type:[Number,String],default:140},confirmType:{type:String,default:"done"},textContentType:{type:String,default:""},step:{type:String,default:"0.000000000000000001"},inputmode:{type:String,default:void 0,validator:function(t){return!!~l.indexOf(t)}}},data:function(){return{wrapperHeight:0,cachedValue:""}},computed:{inputType:function(){var t="";switch(this.type){case"text":"search"===this.confirmType&&(t="search");break;case"idcard":t="text";break;case"digit":t="number";break;default:t=~s.indexOf(this.type)?this.type:"text";break}return this.password?"password":t},_step:function(){return~c.indexOf(this.type)?this.step:""},autocomplete:function(){var t=u.indexOf(this.textContentType),e=u.indexOf(Object(a["i"])(this.textContentType)),n=-1!==t?t:-1!==e?e:0;return u[n]},showPlaceholder:function(){var t="digit"===this.type?this.cachedValue.indexOf("."):-1;return!(this.composing||this.valueSync.length||"-"===this.cachedValue||-1!==t&&t===this.cachedValue.length-1)}},watch:{maxlength:function(t){var e=this.valueSync.slice(0,parseInt(t,10));e!==this.valueSync&&(this.valueSync=e)},valueSync:function(t){"number"!==this.type||"-"===this.cachedValue&&""===t||(this.cachedValue=t)}},created:function(){this.$dispatch("Form","uni-form-group-update",{type:"add",vm:this})},mounted:function(){if("search"===this.confirmType){var t=document.createElement("form");t.action="",t.onsubmit=function(){return!1},t.className="uni-input-form",t.appendChild(this.$refs.input),this.$refs.wrapper.appendChild(t)}var e=this;while(e){var n=e.$options._scopeId;n&&this.$refs.placeholder.setAttribute(n,""),e=e.$parent}},beforeDestroy:function(){this.$dispatch("Form","uni-form-group-update",{type:"remove",vm:this})},methods:{_onKeyup:function(t){var e=t.target;this.$trigger("confirm",t,{value:e.value}),this.confirmHold||e.blur()},_onInput:function(t,e){var n=this,i=!1;if(!this.composing||!this.ignoreCompositionEvent){if("number"===this.inputType){var r=parseInt(this.maxlength,10);if(r>0&&t.target.value.length>r&&(this.cachedValue.length===r?(this.valueSync=this.cachedValue,i=!0):(t.target.value=t.target.value.slice(0,r),this.valueSync=t.target.value)),this.__clearCachedValue&&t.target.removeEventListener("blur",this.__clearCachedValue),t.target.validity&&!t.target.validity.valid){if((!this.cachedValue||!t.target.value)&&"-"===t.data||"-"===this.cachedValue[0]&&"deleteContentBackward"===t.inputType){this.cachedValue="-",this.valueSync="";var o=this.__clearCachedValue=function(){n.cachedValue=t.target.value=""};return void t.target.addEventListener("blur",o)}if(this.cachedValue)if(-1!==this.cachedValue.indexOf(".")){if("."!==t.data&&"deleteContentBackward"===t.inputType){var a=this.cachedValue.indexOf(".");return this.cachedValue=t.target.value=this.valueSync=this.cachedValue.slice(0,a),this.$triggerInput(t,{value:this.valueSync},e)}}else if("."===t.data)return this.cachedValue+=".",this.__clearCachedValue=function(){n.cachedValue=n.valueSync=t.target.value=n.cachedValue.slice(0,-1)},t.target.addEventListener("blur",this.__clearCachedValue),!1;return void(this.cachedValue=this.valueSync=t.target.value="-"===this.cachedValue?"":this.cachedValue)}this.cachedValue=this.valueSync}i||(this.valueSync=this.$refs.input.value,this.$triggerInput(t,{value:this.valueSync},e))}},_onComposition:function(t){switch(t.type){case"compositionstart":this.composing=!0;break;case"compositionend":this.composing&&(this.composing=!1,this._onInput(t));break}!this.ignoreCompositionEvent&&this.$trigger(t.type,t,{data:t.data})},_resetFormData:function(){this.valueSync=""},_getFormData:function(){return this.name?{value:this.valueSync,key:this.name}:{}}}},d=h,f=(n("0f55"),n("0c7c")),p=Object(f["a"])(d,i,r,!1,null,null,null);e["default"]=p.exports},2522:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var i="onPageCreate"},"25ce":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-checkbox-group",t._g({},t.$listeners),[t._t("default")],2)},r=[],o=n("8af1"),a={name:"CheckboxGroup",mixins:[o["a"],o["e"]],props:{name:{type:String,default:""}},data:function(){return{checkboxList:[]}},listeners:{"@checkbox-change":"_changeHandler","@checkbox-group-update":"_checkboxGroupUpdateHandler"},created:function(){this.$dispatch("Form","uni-form-group-update",{type:"add",vm:this})},beforeDestroy:function(){this.$dispatch("Form","uni-form-group-update",{type:"remove",vm:this})},methods:{_changeHandler:function(t){var e=[];this.checkboxList.forEach((function(t){t.checkboxChecked&&e.push(t.value)})),this.$trigger("change",t,{value:e})},_checkboxGroupUpdateHandler:function(t){if("add"===t.type)this.checkboxList.push(t.vm);else{var e=this.checkboxList.indexOf(t.vm);this.checkboxList.splice(e,1)}},_getFormData:function(){var t={};if(""!==this.name){var e=[];this.checkboxList.forEach((function(t){t.checkboxChecked&&e.push(t.value)})),t.value=e,t.key=this.name}return t}}},s=a,c=(n("0998"),n("0c7c")),u=Object(c["a"])(s,i,r,!1,null,null,null);e["default"]=u.exports},"27ab":function(t,e,n){"use strict";n.r(e);var i=n("f2b3");function r(t){return c(t)||s(t)||a(t)||o()}function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(t,e){if(t){if("string"===typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(t,e):void 0}}function s(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function c(t){if(Array.isArray(t))return u(t)}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0)&&(this.valueSync.length=t.length,t.forEach((function(t,e){t!==n.valueSync[e]&&n.$set(n.valueSync,e,t)})))},valueSync:{deep:!0,handler:function(t,e){if(""===this.changeSource)this._valueChanged(t);else{this.changeSource="";var n=t.map((function(t){return t}));this.$emit("update:value",n),this.$trigger("change",{},{value:n})}}}},methods:{getItemIndex:function(t){return this.items.indexOf(t)},getItemValue:function(t){return this.valueSync[this.getItemIndex(t.$vnode)]||0},setItemValue:function(t,e){var n=this.getItemIndex(t.$vnode),i=this.valueSync[n];i!==e&&(this.changeSource="touch",this.$set(this.valueSync,n,e))},_valueChanged:function(t){this.items.forEach((function(e,n){e.componentInstance.setCurrent(t[n]||0)}))},_resize:function(t){var e=t.height;this.height=e}},render:function(t){var e=[];return this.$slots.default&&Object(i["d"])(this.$slots.default,t).forEach((function(t){t.componentOptions&&"v-uni-picker-view-column"===t.componentOptions.tag&&e.push(t)})),this.items=e,t("uni-picker-view",{on:this.$listeners},[t("v-uni-resize-sensor",{attrs:{initial:!0},on:{resize:this._resize}}),t("div",{ref:"wrapper",class:"uni-picker-view-wrapper"},e)])}},f=d,p=(n("6062"),n("0c7c")),v=Object(p["a"])(f,l,h,!1,null,null,null);e["default"]=v.exports},"27c2":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-editor",t._g({staticClass:"ql-container",attrs:{id:t.id}},t.$listeners))},r=[],o=n("1029"),a=o["a"],s=(n("e298"),n("0c7c")),c=Object(s["a"])(a,i,r,!1,null,null,null);e["default"]=c.exports},"27ef":function(t,e,n){"use strict";var i=n("6596"),r=n.n(i);r.a},"28e4":function(t,e,n){"use strict";function i(t){return new Promise((function(e,n){function i(){var i=new plus.nativeObj.Bitmap("bitmap_".concat(Date.now(),"_").concat(Math.random(),"}"));i.load(t,(function(){e(i.toBase64Data()),i.clear()}),(function(t){i.clear(),n(t)}))}plus.io.resolveLocalFileSystemURL(t,(function(t){t.file((function(t){var n=new plus.io.FileReader;n.onload=function(t){e(t.target.result)},n.onerror=i,n.readAsDataURL(t)}),i)}),i)}))}function r(t){return new Promise((function(e,n){0===t.indexOf("http://")||0===t.indexOf("https://")?plus.downloader.createDownload(t,{filename:"_doc/uniapp_temp/download/"},(function(t,i){200===i?e(t.filename):n(new Error("network fail"))})).start():e(t)}))}function o(t){return r(t).then((function(t){return window.webkit&&window.webkit.messageHandlers?i(t):plus.io.convertLocalFileSystemURL(t)}))}n.d(e,"a",(function(){return o}))},"2a0a":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"a",(function(){return s}));var i,r,o=n("f2b3");function a(){Object(o["j"])((function(){i||(i=plus.webview.currentWebview()),r||(r=(i.getStyle()||{}).pullToRefresh||{})}))}function s(t){var e=t.disable;r&&r.support&&i.setPullToRefresh(Object.assign({},r,{support:!e}))}},"2b4d":function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var n=0;n0&&t>e&&n+e+c>=t,r=Math.abs(t-s)>c;return!i||h&&!r?(!i&&h&&(h=!1),!1):(s=t,h=!0,!0)}function p(){var n=getCurrentPages();if(n.length&&n[n.length-1].$page.id===e){var s=window.pageYOffset;o&&Object(r["a"])("onPageScroll",{scrollTop:s},e),u&&t.emit("onPageScroll",{scrollTop:s}),a&&d&&(c()||(i=setTimeout(c,300))),l=!1}function c(){if(f())return Object(r["a"])("onReachBottom",{},e),d=!1,setTimeout((function(){d=!0}),350),!0}}return function(){clearTimeout(i),l||requestAnimationFrame(p),l=!0}}}).call(this,n("501c"))},3569:function(t,e,n){},3770:function(t,e,n){},3878:function(t,e){var n,i;0===String(navigator.vendor).indexOf("Apple")&&document.documentElement.addEventListener("click",(function(t){var e=450,r=44;clearTimeout(i),n&&Math.abs(t.pageX-n.pageX)<=r&&Math.abs(t.pageY-n.pageY)<=r&&t.timeStamp-n.timeStamp<=e&&t.preventDefault(),n=t,i=setTimeout((function(){n=null}),e)}))},"39aa":function(t){t.exports=JSON.parse('{"uni.app.quit":"Press back button again to exit","uni.async.error":"The connection timed out, click the screen to try again.","uni.showActionSheet.cancel":"Cancel","uni.showToast.unpaired":"Please note showToast must be paired with hideToast","uni.showLoading.unpaired":"Please note showLoading must be paired with hideLoading","uni.showModal.cancel":"Cancel","uni.showModal.confirm":"OK","uni.chooseImage.cancel":"Cancel","uni.chooseImage.sourceType.album":"Album","uni.chooseImage.sourceType.camera":"Camera","uni.chooseVideo.cancel":"Cancel","uni.chooseVideo.sourceType.album":"Album","uni.chooseVideo.sourceType.camera":"Camera","uni.chooseFile.notUserActivation":"File chooser dialog can only be shown with a user activation","uni.previewImage.cancel":"Cancel","uni.previewImage.button.save":"Save Image","uni.previewImage.save.success":"Saved successfully","uni.previewImage.save.fail":"Save failed","uni.setClipboardData.success":"Content copied","uni.scanCode.title":"Scan code","uni.scanCode.album":"Album","uni.scanCode.fail":"Recognition failure","uni.scanCode.flash.on":"Tap to turn light on","uni.scanCode.flash.off":"Tap to turn light off","uni.startSoterAuthentication.authContent":"Fingerprint recognition","uni.startSoterAuthentication.waitingContent":"Unrecognizable","uni.picker.done":"Done","uni.picker.cancel":"Cancel","uni.video.danmu":"Danmu","uni.video.volume":"Volume","uni.button.feedback.title":"feedback","uni.button.feedback.send":"send","uni.chooseLocation.search":"Find Place","uni.chooseLocation.cancel":"Cancel"}')},"39ba":function(t,e,n){"use strict";n.r(e);var i,r,o=n("0aa0"),a=n("5077"),s={name:"CoverView",mixins:[o["a"],a["a"]],props:{},data:function(){return{coverType:"text",coverContent:""}},render:function(t){var e="",n=this.$slots.default||[],i=n.filter((function(t){return t.tag}));return i.length?e=i:(n.forEach((function(t){t.tag||(e+=t.text||"")})),this.coverContent=e),t("uni-cover-view",{on:{on:this.$listeners}},[t("div",{ref:"container",staticClass:"uni-cover-view"},[].concat(e))])}},c=s,u=(n("4ba9"),n("0c7c")),l=Object(u["a"])(c,i,r,!1,null,null,null);e["default"]=l.exports},"3ae8":function(t,e,n){},"3cd3":function(t,e,n){},"3e5d":function(t,e,n){"use strict";(function(t){n.d(e,"b",(function(){return r})),n.d(e,"a",(function(){return O}));var i,r,o,a=n("e571"),s=n("a20d"),c=n("2522"),u=n("9d20"),l=n("9856"),h=n("2376");function d(t){return d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function f(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t,e){return b(t)||_(t,e)||m(t,e)||v()}function v(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(t,e){if(t){if("string"===typeof t)return g(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(t,e):void 0}}function g(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n3?i-3:0),o=3;o0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var n=i.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==h)throw new Error(a[n]);if(e.header&&i.deflateSetHeader(this.strm,e.header),e.dictionary){var u;if(u="string"===typeof e.dictionary?o.string2buf(e.dictionary):"[object ArrayBuffer]"===c.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,n=i.deflateSetDictionary(this.strm,u),n!==h)throw new Error(a[n]);this._dict_set=!0}}function _(t,e){var n=new g(e);if(n.push(t,!0),n.err)throw n.msg||a[n.err];return n.result}function b(t,e){return e=e||{},e.raw=!0,_(t,e)}function y(t,e){return e=e||{},e.gzip=!0,_(t,e)}g.prototype.push=function(t,e){var n,a,s=this.strm,p=this.options.chunkSize;if(this.ended)return!1;a=e===~~e?e:!0===e?l:u,"string"===typeof t?s.input=o.string2buf(t):"[object ArrayBuffer]"===c.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new r.Buf8(p),s.next_out=0,s.avail_out=p),n=i.deflate(s,a),n!==d&&n!==h)return this.onEnd(n),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||a!==l&&a!==f)||("string"===this.options.to?this.onData(o.buf2binstring(r.shrinkBuf(s.output,s.next_out))):this.onData(r.shrinkBuf(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&n!==d);return a===l?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===h):a!==f||(this.onEnd(h),s.avail_out=0,!0)},g.prototype.onData=function(t){this.chunks.push(t)},g.prototype.onEnd=function(t){t===h&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=g,e.deflate=_,e.deflateRaw=b,e.gzip=y},"42f9":function(t,e,n){},"435a":function(t,e,n){"use strict";n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return h})),n.d(e,"c",(function(){return d})),n.d(e,"d",(function(){return f}));var i,r="__UNIAPP_PICKER",o="_www/__uniapppicker.html",a=null,s=!1,c=null,u=null;function l(t){function e(t){c=t,u.forEach((function(e){return e(t)})),u=null}null===c?u?u.push(t):(u=[t],plus.io.resolveLocalFileSystemURL(o,(function(){e(!0)}),(function(){e(!1)}))):t(c)}function h(){a||(a=plus.webview.getWebviewById(r),a?s=!0:(a=plus.webview.create(o,r,{popGesture:"none",background:"transparent",backButtonAutoControl:"hide",render:"always",kernel:"WKWebview",bounce:"none",cachemode:"noCache"}),window.__pickerCallback=function(){delete window.__pickerCallback,s=!0}),a.addEventListener("hide",(function(){i&&i(),i=null})))}function d(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;e.id=plus.webview.currentWebview().id,a.show("fade-in"),i=function(){n(t||{event:"cancel"})},window.__pickerCallback=function(i){var r=i.event,o=void 0===r?"cancel":r,c=i.column,u=i.value,l=void 0===u?-1:u;if("created"===o&&a)return s=!0,void a.evalJS("showPicker(".concat(JSON.stringify(e),")"));"columnchange"===o&&a&&n({event:o,column:c,value:l}),"change"!==o&&"cancel"!==o||(window.__pickerCallback=function(){},t={event:o,value:l},a.hide("fade-out",100))},s&&a.evalJS("showPicker(".concat(JSON.stringify(e),")"))}function f(t){s&&a.evalJS("showPicker(".concat(JSON.stringify(t),")"))}},4617:function(t,e,n){"use strict";(function(t){function i(t,e){return c(t)||s(t,e)||o(t,e)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(t,e){if(t){if("string"===typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:p;if(!e)return[t];var i=this._caches[t];return i||(i=_(t,n),this._caches[t]=i),b(i,e)}}]),t}(),m=/^(?:\d)+/,g=/^(?:\w)+/;function _(t,e){var n=i(e,2),r=n[0],o=n[1],a=[],s=0,c="";while(s-1?y:t.indexOf("-hant")>-1||$(t,["-tw","-hk","-mo","-cht"])?w:y;var n=[S,k,x];e&&Object.keys(e).length>0&&(n=Object.keys(e));var i=E(t,n);return i||void 0}}var A=function(){function t(e){var n=e.locale,i=e.fallbackLocale,r=e.messages,o=e.watcher,a=e.formater;u(this,t),this.locale=S,this.fallbackLocale=S,this.message={},this.messages={},this.watchers=[],i&&(this.fallbackLocale=i),this.formater=a||O,this.messages=r||{},this.setLocale(n||S),o&&this.watchLocale(o)}return h(t,[{key:"setLocale",value:function(t){var e=this,n=this.locale;this.locale=I(t,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],n!==this.locale&&this.watchers.forEach((function(t){t(e.locale,n)}))}},{key:"getLocale",value:function(){return this.locale}},{key:"watchLocale",value:function(t){var e=this,n=this.watchers.push(t)-1;return function(){e.watchers.splice(n,1)}}},{key:"add",value:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this.messages[t];i?n?Object.assign(i,e):Object.keys(e).forEach((function(t){T(i,t)||(i[t]=e[t])})):this.messages[t]=e}},{key:"f",value:function(t,e,n){return this.formater.interpolate(t,e,n).join("")}},{key:"t",value:function(t,e,n){var i=this.message;return"string"===typeof e?(e=I(e,this.messages),e&&(i=this.messages[e])):n=e,T(i,t)?this.formater.interpolate(i[t],n).join(""):(console.warn("Cannot translate the value of keypath ".concat(t,". Use the value of keypath as default.")),t)}}]),t}();function M(t,e){t.$watchLocale?t.$watchLocale((function(t){e.setLocale(t)})):t.$watch((function(){return t.$locale}),(function(t){e.setLocale(t)}))}function P(){return"undefined"!==typeof uni&&uni.getLocale?uni.getLocale():"undefined"!==typeof t&&t.getLocale?t.getLocale():S}function j(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if("string"!==typeof t){var r=[e,t];t=r[0],e=r[1]}"string"!==typeof t&&(t=P()),"string"!==typeof n&&(n="undefined"!==typeof __uniConfig&&__uniConfig.fallbackLocale||S);var o=new A({locale:t,fallbackLocale:n,messages:e,watcher:i}),a=function(t,e){if("function"!==typeof getApp)a=function(t,e){return o.t(t,e)};else{var n=!1;a=function(t,e){var i=getApp().$vm;return i&&(i.$locale,n||(n=!0,M(i,o))),o.t(t,e)}}return a(t,e)};return{i18n:o,f:function(t,e,n){return o.f(t,e,n)},t:function(t,e){return a(t,e)},add:function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return o.add(t,e,n)},watch:function(t){return o.watchLocale(t)},getLocale:function(){return o.getLocale()},setLocale:function(t){return o.setLocale(t)}}}function L(t,e){return t.indexOf(e[0])>-1}}).call(this,n("c8ba"))},4814:function(t,e,n){},"4ba9":function(t,e,n){"use strict";var i=n("89cf"),r=n.n(i);r.a},"4da7":function(t,e,n){"use strict";n.r(e);var i,r,o={ensp:" ",emsp:" ",nbsp:" "},a={name:"Text",props:{selectable:{type:[Boolean,String],default:!1},space:{type:String,default:""},decode:{type:[Boolean,String],default:!1}},methods:{_decodeHtml:function(t){return this.space&&o[this.space]&&(t=t.replace(/ /g,o[this.space])),this.decode&&(t=t.replace(/ /g,o.nbsp).replace(/ /g,o.ensp).replace(/ /g,o.emsp).replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'")),t}},render:function(t){var e=this,n=[];return this.$slots.default&&this.$slots.default.forEach((function(i){if(i.text){var r=i.text.replace(/\\n/g,"\n"),o=r.split("\n");o.forEach((function(i,r){n.push(e._decodeHtml(i)),r!==o.length-1&&n.push(t("br"))}))}else i.componentOptions&&"v-uni-text"!==i.componentOptions.tag&&console.warn("Do not nest other components in the text component, as there may be display differences on different platforms."),n.push(i)})),t("uni-text",{on:this.$listeners,attrs:{selectable:!!this.selectable}},[t("span",{},n)])}},s=a,c=(n("c8ed"),n("0c7c")),u=Object(c["a"])(s,i,r,!1,null,null,null);e["default"]=u.exports},"4dc6":function(t,e,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},"4f1c":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-switch",t._g({attrs:{disabled:t.disabled},on:{click:t._onClick}},t.$listeners),[n("div",{staticClass:"uni-switch-wrapper"},[n("div",{directives:[{name:"show",rawName:"v-show",value:"switch"===t.type,expression:"type === 'switch'"}],staticClass:"uni-switch-input",class:[t.switchChecked?"uni-switch-input-checked":""],style:t.checkedColor}),n("div",{directives:[{name:"show",rawName:"v-show",value:"checkbox"===t.type,expression:"type === 'checkbox'"}],staticClass:"uni-checkbox-input",class:[t.switchChecked?"uni-checkbox-input-checked":""],style:{color:t.color}})])])},r=[],o=n("8af1"),a={name:"Switch",mixins:[o["a"],o["e"]],props:{name:{type:String,default:""},checked:{type:[Boolean,String],default:!1},type:{type:String,default:"switch"},id:{type:String,default:""},disabled:{type:[Boolean,String],default:!1},color:{type:String,default:""}},data:function(){return{switchChecked:this.checked}},computed:{checkedColor:function(){return this.switchChecked&&this.color?{backgroundColor:this.color,borderColor:this.color}:{}}},watch:{checked:function(t){this.switchChecked=t}},created:function(){this.$dispatch("Form","uni-form-group-update",{type:"add",vm:this})},beforeDestroy:function(){this.$dispatch("Form","uni-form-group-update",{type:"remove",vm:this})},listeners:{"label-click":"_onClick","@label-click":"_onClick"},methods:{_onClick:function(t){this.disabled||(this.switchChecked=!this.switchChecked,this.$trigger("change",t,{value:this.switchChecked}))},_resetFormData:function(){this.switchChecked=!1},_getFormData:function(){var t={};return""!==this.name&&(t.value=this.switchChecked,t.key=this.name),t}}},s=a,c=(n("a5ec"),n("0c7c")),u=Object(c["a"])(s,i,r,!1,null,null,null);e["default"]=u.exports},"501c":function(t,e,n){"use strict";n.r(e),n.d(e,"on",(function(){return v})),n.d(e,"off",(function(){return m})),n.d(e,"once",(function(){return g})),n.d(e,"emit",(function(){return _})),n.d(e,"subscribe",(function(){return b})),n.d(e,"unsubscribe",(function(){return y})),n.d(e,"subscribeHandler",(function(){return w})),n.d(e,"publishHandler",(function(){return f["a"]}));var i=n("e571");function r(t){var e=t.pageStyle,n=t.rootFontSize,i=document.querySelector("uni-page-body")||document.body;i.setAttribute("style",e),n&&document.documentElement.style.fontSize!==n&&(document.documentElement.style.fontSize=n)}var o=n("6bdf"),a=n("5dc1"),s=n("1c73"),c={setPageMeta:r,requestComponentInfo:o["a"],requestComponentObserver:a["b"],destroyComponentObserver:a["a"],requestMediaQueryObserver:s["b"],destroyMediaQueryObserver:s["a"]},u=n("33ed"),l=n("7107"),h=n("0516");function d(t){Object.keys(c).forEach((function(e){t(e,c[e])})),t("pageScrollTo",u["c"]),t("loadFontFace",l["a"]),Object(h["a"])(t)}var f=n("5bb5"),p=new i["a"],v=p.$on.bind(p),m=p.$off.bind(p),g=p.$once.bind(p),_=p.$emit.bind(p);function b(t,e){return v("service."+t,e)}function y(t,e){return m("service."+t,e)}function w(t,e,n){_("service."+t,e,n)}d(b)},5077:function(t,e,n){"use strict";var i=["borderRadius","borderColor","borderWidth","backgroundColor"],r=["paddingTop","paddingRight","paddingBottom","paddingLeft","color","textAlign","lineHeight","fontSize","fontWeight","textOverflow","whiteSpace"],o=[],a={start:"left",end:"right"},s=0;e["a"]={name:"Cover",data:function(){return{style:{},parentPosition:{}}},computed:{viewPosition:function(){var t={};for(var e in this.position){var n=this.position[e],i=parseFloat(n),r=parseFloat(this.parentPosition[e]);if("top"===e||"left"===e)n=Math.max(i,r)+"px";else if("width"===e||"height"===e){var o="width"===e?"left":"top",a=parseFloat(this.parentPosition[o]),s=parseFloat(this.position[o]),c=Math.max(a-s,0),u=Math.max(s+i-(a+r),0);n=Math.max(i-c-u,0)+"px"}t[e]=n}return t},tags:function(){var t=this._getTagPosition(),e=this.style,n=[{tag:"rect",position:t,rectStyles:{color:e.backgroundColor,radius:e.borderRadius,borderColor:e.borderColor,borderWidth:e.borderWidth}}];if("image"===this.coverType)n.push({tag:"img",position:t,src:this.coverContent});else{var i=parseFloat(e.lineHeight)-parseFloat(e.fontSize),r=parseFloat(t.width)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight);r=r<0?0:r;var o=parseFloat(t.height)-parseFloat(e.paddingTop)-i/2-parseFloat(e.paddingBottom);o=o<0?0:o,n.push({tag:"font",position:{top:"".concat(parseFloat(t.top)+parseFloat(e.paddingTop)+i/2,"px"),left:"".concat(parseFloat(t.left)+parseFloat(e.paddingLeft),"px"),width:"".concat(r,"px"),height:"".concat(o,"px")},textStyles:{align:a[e.textAlign]||e.textAlign,color:e.color,decoration:"none",lineSpacing:"".concat(i,"px"),margin:"0px",overflow:e.textOverflow,size:e.fontSize,verticalAlign:"top",weight:e.fontWeight,whiteSpace:e.whiteSpace},text:this.coverContent})}return n}},created:function(){var t=this.$parent;while(!t.isNative&&t!==this.$root)t=t.$parent;this._nativeParent=t},mounted:function(){var t=this;this._onParentReady((function(e){t.parentPosition=t._nativeParent.position||e,t._updateStyle(),t._onCanInsert(),t.$watch("hidden",(function(e){t.cover&&t.cover[e?"hide":"show"]()})),t.$watch("viewPosition",(function(e){t.cover&&t.cover.setStyle(e)}),{deep:!0}),t.$watch("tags",(function(){var e=t.cover;e&&(e.reset(),e.draw(t.tags))}),{deep:!0}),t.$on("uni-view-update",t._requestStyleUpdate)}))},beforeDestroy:function(){this._nativeParent.isNative&&(this.cover&&this.cover.close(),delete this.cover)},methods:{_onCanInsert:function(){var t=this,e=this.cover=new plus.nativeObj.View("cover-".concat(Date.now(),"-").concat(s++),this.viewPosition,this.tags);plus.webview.currentWebview().append(e),this.hidden&&e.hide(),e.addEventListener("click",(function(){t.$trigger("click",{},{})}))},_getTagPosition:function(){var t={};for(var e in this.position){var n=this.position[e];"top"!==e&&"left"!==e||(n=Math.min(parseFloat(n)-parseFloat(this.parentPosition[e]),0)+"px"),t[e]=n}return t},_updateStyle:function(){var t=this,e=getComputedStyle(this.$el);i.concat(r,o).forEach((function(n){t.$set(t.style,n,e[n])}))},_requestStyleUpdate:function(){var t=this;this._styleUpdateRequest&&cancelAnimationFrame(this._styleUpdateRequest),this._styleUpdateRequest=requestAnimationFrame((function(){delete t._styleUpdateRequest,t._updateStyle()}))}}}},5129:function(t,e){t.exports=["uni-app","uni-layout","uni-content","uni-main","uni-top-window","uni-left-window","uni-right-window","uni-tabbar","uni-page","uni-page-head","uni-page-wrapper","uni-page-body","uni-page-refresh","uni-actionsheet","uni-modal","uni-toast","uni-resize-sensor","uni-shadow-root","uni-ad","uni-audio","uni-button","uni-camera","uni-canvas","uni-checkbox","uni-checkbox-group","uni-cover-image","uni-cover-view","uni-editor","uni-form","uni-functional-page-navigator","uni-icon","uni-image","uni-input","uni-label","uni-live-player","uni-live-pusher","uni-map","uni-movable-area","uni-movable-view","uni-navigator","uni-official-account","uni-open-data","uni-picker","uni-picker-view","uni-picker-view-column","uni-progress","uni-radio","uni-radio-group","uni-rich-text","uni-scroll-view","uni-slider","uni-swiper","uni-swiper-item","uni-switch","uni-text","uni-textarea","uni-video","uni-view","uni-web-view"]},5363:function(t,e,n){"use strict";function i(t){this._drag=t,this._dragLog=Math.log(t),this._x=0,this._v=0,this._startTime=0}n.d(e,"a",(function(){return i})),i.prototype.set=function(t,e){this._x=t,this._v=e,this._startTime=(new Date).getTime()},i.prototype.setVelocityByEnd=function(t){this._v=(t-this._x)*this._dragLog/(Math.pow(this._drag,100)-1)},i.prototype.x=function(t){var e;return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),e=t===this._dt&&this._powDragDt?this._powDragDt:this._powDragDt=Math.pow(this._drag,t),this._dt=t,this._x+this._v*e/this._dragLog-this._v/this._dragLog},i.prototype.dx=function(t){var e;return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),e=t===this._dt&&this._powDragDt?this._powDragDt:this._powDragDt=Math.pow(this._drag,t),this._dt=t,this._v*e},i.prototype.done=function(){return Math.abs(this.dx())<3},i.prototype.reconfigure=function(t){var e=this.x(),n=this.dx();this._drag=t,this._dragLog=Math.log(t),this.set(e,n)},i.prototype.configuration=function(){var t=this;return[{label:"Friction",read:function(){return t._drag},write:function(e){t.reconfigure(e)},min:.001,max:.1,step:.001}]}},5408:function(t,e,n){var i={"./audio/index.vue":"6150","./button/index.vue":"d3bd","./canvas/index.vue":"bacd","./checkbox-group/index.vue":"25ce","./checkbox/index.vue":"7bb3","./editor/index.vue":"27c2","./form/index.vue":"b34d","./icon/index.vue":"9a8b","./image/index.vue":"1082","./input/index.vue":"250d","./label/index.vue":"70f4","./movable-area/index.vue":"c61c","./movable-view/index.vue":"8842","./navigator/index.vue":"17fd","./picker-view-column/index.vue":"1955","./picker-view/index.vue":"27ab","./progress/index.vue":"9b1f","./radio-group/index.vue":"d5ec","./radio/index.vue":"6491","./resize-sensor/index.vue":"3e8c","./rich-text/index.vue":"b705","./scroll-view/index.vue":"f1ef","./slider/index.vue":"9f96","./swiper-item/index.vue":"9213","./swiper/index.vue":"5513","./switch/index.vue":"4f1c","./text/index.vue":"4da7","./textarea/index.vue":"5768"};function r(t){var e=o(t);return n(e)}function o(t){if(!n.o(i,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return i[t]}r.keys=function(){return Object.keys(i)},r.resolve=o,t.exports=r,r.id="5408"},5513:function(t,e,n){"use strict";n.r(e);var i=n("ba15"),r=n("f2b3");var o,a,s={name:"Swiper",mixins:[i["a"]],props:{indicatorDots:{type:[Boolean,String],default:!1},vertical:{type:[Boolean,String],default:!1},autoplay:{type:[Boolean,String],default:!1},circular:{type:[Boolean,String],default:!1},interval:{type:[Number,String],default:5e3},duration:{type:[Number,String],default:500},current:{type:[Number,String],default:0},indicatorColor:{type:String,default:""},indicatorActiveColor:{type:String,default:""},previousMargin:{type:String,default:""},nextMargin:{type:String,default:""},currentItemId:{type:String,default:""},skipHiddenItemLayout:{type:[Boolean,String],default:!1},displayMultipleItems:{type:[Number,String],default:1},disableTouch:{type:[Boolean,String],default:!1},navigation:{type:[Boolean,String],default:!1},navigationColor:{type:String,default:"#fff"},navigationActiveColor:{type:String,default:"rgba(53, 53, 53, 0.6)"}},data:function(){return{currentSync:Math.round(this.current)||0,currentItemIdSync:this.currentItemId||"",userTracking:!1,currentChangeSource:"",items:[],isNavigationAuto:!1,hideNavigation:!1,prevDisabled:!1,nextDisabled:!1}},computed:{intervalNumber:function(){var t=Number(this.interval);return isNaN(t)?5e3:t},durationNumber:function(){var t=Number(this.duration);return isNaN(t)?500:t},displayMultipleItemsNumber:function(){var t=Math.round(this.displayMultipleItems);return isNaN(t)?1:t},slidesStyle:function(){var t={};return(this.nextMargin||this.previousMargin)&&(t=this.vertical?{left:0,right:0,top:this._upx2px(this.previousMargin),bottom:this._upx2px(this.nextMargin)}:{top:0,bottom:0,left:this._upx2px(this.previousMargin),right:this._upx2px(this.nextMargin)}),t},slideFrameStyle:function(){var t=Math.abs(100/this.displayMultipleItemsNumber)+"%";return{width:this.vertical?"100%":t,height:this.vertical?t:"100%"}},swiperEnabled:function(){return this.items.length>this.displayMultipleItemsNumber},circularEnabled:function(){return this.circular&&this.swiperEnabled}},watch:{vertical:function(){this._resetLayout()},circular:function(){this._resetLayout()},intervalNumber:function(t){this._timer&&(this._cancelSchedule(),this._scheduleAutoplay())},current:function(t){this._currentCheck()},currentSync:function(t,e){this._currentChanged(t,e),this.$emit("update:current",t),this._setNavigationState()},currentItemId:function(t){this._currentCheck()},currentItemIdSync:function(t){this.$emit("update:currentItemId",t)},displayMultipleItemsNumber:function(){this._resetLayout()},navigation:{immediate:!0,handler:function(t){this.isNavigationAuto="auto"===t,this.hideNavigation=!0!==t||this.isNavigationAuto,this._navigationSwiperAddMouseEvent()}},items:function(){this._setNavigationState()},swiperEnabled:function(t){t||(this.prevDisabled=!0,this.nextDisabled=!0,this.isNavigationAuto&&(this.hideNavigation=!0))}},created:function(){this._invalid=!0,this._viewportPosition=0,this._viewportMoveRatio=1,this._animating=null,this._requestedAnimation=!1,this._userDirectionChecked=!1,this._contentTrackViewport=0,this._contentTrackSpeed=0,this._contentTrackT=0},mounted:function(){var t=this;this._currentCheck(),this.touchtrack(this.$refs.slidesWrapper,"_handleContentTrack",!0),this._resetLayout(),this.$watch((function(){return t.autoplay&&!t.userTracking}),this._inintAutoplay),this._inintAutoplay(this.autoplay&&!this.userTracking),this.$watch("items.length",this._resetLayout),this._navigationSwiperAddMouseEvent()},beforeDestroy:function(){this._cancelSchedule(),cancelAnimationFrame(this._animationFrame)},methods:{_inintAutoplay:function(t){t?this._scheduleAutoplay():this._cancelSchedule()},_currentCheck:function(){var t=-1;if(this.currentItemId)for(var e=0,n=this.items;er/2?1:0)}var o=this.items[t];o&&this._itemReady(o,(function(){var t=n.currentItemIdSync=o.componentInstance.itemId||"";n.$trigger("change",{},{current:n.currentSync,currentItemId:t,source:i})}))},_scheduleAutoplay:function(){var t=this;function e(){t._timer=null,t.currentChangeSource="autoplay",t.circularEnabled?t.currentSync=t._normalizeCurrentValue(t.currentSync+1):t.currentSync=t.currentSync+t.displayMultipleItemsNumbere-this.displayMultipleItemsNumber)return e-this.displayMultipleItemsNumber;return n},_upx2px:function(t){return/\d+[ur]px$/i.test(t)&&t.replace(/\d+[ur]px$/i,(function(t){return"".concat(uni.upx2px(parseFloat(t)),"px")})),t||""},_resetLayout:function(){if(this._isMounted){this._cancelSchedule(),this._endViewportAnimation();for(var t=this.items,e=0;e0&&this._viewportMoveRatio<1||(this._viewportMoveRatio=1)}var r=this._viewportPosition;this._viewportPosition=-2;var o=this.currentSync;o>=0?(this._invalid=!1,this.userTracking?(this._updateViewport(r+o-this._contentTrackViewport),this._contentTrackViewport=o):(this._updateViewport(o),this.autoplay&&this._scheduleAutoplay())):(this._invalid=!0,this._updateViewport(-this.displayMultipleItemsNumber-1))}},_checkCircularLayout:function(t){if(!this._invalid)for(var e=this.items,n=e.length,i=t+this.displayMultipleItemsNumber,r=0;r=this.items.length&&(t-=this.items.length),t=this._transitionStart%1>.5||this._transitionStart<0?t-1:t,this.$trigger("transition",{},{dx:this.vertical?0:t*r.offsetWidth,dy:this.vertical?t*r.offsetHeight:0})},_animateFrameFuncProto:function(){var t=this;if(this._animating){var e=this._animating,n=e.toPos,i=e.acc,r=e.endTime,o=e.source,a=r-Date.now();if(a<=0){this._updateViewport(n),this._animating=null,this._requestedAnimation=!1,this._transitionStart=null;var s=this.items[this.currentSync];s&&this._itemReady(s,(function(){var e=s.componentInstance.itemId||"";t.$trigger("animationfinish",{},{current:t.currentSync,currentItemId:e,source:o})}))}else{var c=i*a*a/2,u=n+c;this._updateViewport(u),this._animationFrame=requestAnimationFrame(this._animateFrameFuncProto.bind(this))}}else this._requestedAnimation=!1},_animateViewport:function(t,e,n){this._cancelViewportAnimation();var i=this.durationNumber,r=this.items.length,o=this._viewportPosition;if(this.circularEnabled)if(n<0){for(;ot;)o-=r}else if(n>0){for(;o>t;)o-=r;for(;o+rt;)o-=r;o+r-tr)&&(i<0?i=-o(-i):i>r&&(i=r+o(i-r)),e._contentTrackSpeed=0),e._updateViewport(i)}var s=this._contentTrackT-n||1;this.vertical?a(-t.dy/this.$refs.slideFrame.offsetHeight,-t.ddy/s):a(-t.dx/this.$refs.slideFrame.offsetWidth,-t.ddx/s)},_handleTrackEnd:function(t){this.userTracking=!1;var e=this._contentTrackSpeed/Math.abs(this._contentTrackSpeed),n=0;!t&&Math.abs(this._contentTrackSpeed)>.2&&(n=.5*e);var i=this._normalizeCurrentValue(this._viewportPosition+n);t?this._updateViewport(this._contentTrackViewport):(this.currentChangeSource="touch",this.currentSync=i,this._animateViewport(i,"touch",0!==n?n:0===i&&this.circularEnabled&&this._viewportPosition>=1?1:0))},_handleContentTrack:function(t){if(!this.disableTouch&&this.items.length&&!this._invalid){if("start"===t.detail.state)return this.userTracking=!0,this._userDirectionChecked=!1,this._handleTrackStart();if("end"===t.detail.state)return this._handleTrackEnd(!1);if("cancel"===t.detail.state)return this._handleTrackEnd(!0);if(this.userTracking){if(!this._userDirectionChecked){this._userDirectionChecked=!0;var e=Math.abs(t.detail.dx),n=Math.abs(t.detail.dy);if((e>=n&&this.vertical||e<=n&&!this.vertical)&&(this.userTracking=!1),!this.userTracking)return void(this.autoplay&&this._scheduleAutoplay())}return this._handleTrackMove(t.detail),!1}}},_onSwiperDotClick:function(t){this._animateViewport(this.currentSync=t,this.currentChangeSource="click",this.circularEnabled?1:0)},_navigationClick:function(t,e,n){if(t.stopPropagation(),!n){var i=this.items.length,r=this.currentSync;switch(e){case"prev":r--,r<0&&this.circularEnabled&&(r=i-1);break;case"next":r++,r>=i&&this.circularEnabled&&(r=0);break}this._onSwiperDotClick(r)}},_navigationMouseMove:function(t){var e=this;clearTimeout(this.hideNavigationTimer);var n=t.clientX,i=t.clientY,r=this.$refs.slidesWrapper.getBoundingClientRect(),o=r.left,a=r.right,s=r.top,c=r.bottom,u=r.width,l=r.height,h=!1;h=this.vertical?!(i-s=t}},render:function(t){var e=this,n=[],i=[];this.$slots.default&&Object(r["d"])(this.$slots.default,t).forEach((function(t){t.componentOptions&&"v-uni-swiper-item"===t.componentOptions.tag&&i.push(t)}));for(var o=function(i,r){var o=e.currentSync;n.push(t("div",{on:{click:function(){return e._onSwiperDotClick(i)}},class:{"uni-swiper-dot":!0,"uni-swiper-dot-active":i=o||i-1&&t.indexOf("MSIE")>-1,n=t.indexOf("Edge")>-1&&!e,i=t.indexOf("Trident")>-1&&t.indexOf("rv:11.0")>-1;if(e){var r=new RegExp("MSIE (\\d+\\.\\d+);");r.test(t);var o=parseFloat(RegExp.$1);return o>6?o:6}return n?-1:i?11:-1}function y(){if(!0!==__uniConfig.darkmode)return Object(_["h"])(__uniConfig.darkmode)?__uniConfig.darkmode:"light";try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch(t){return"light"}}var w=navigator.userAgent,S=/android/i.test(w),k=/iphone|ipad|ipod/i.test(w),x=w.match(/Windows NT ([\d|\d.\d]*)/i),C=/Macintosh|Mac/i.test(w),T=/Linux|X11/i.test(w),O=C&&navigator.maxTouchPoints>0;function $(){var t,e,n,i=navigator.language,r="phone";if(k){t="iOS";var o=w.match(/OS\s([\w_]+)\slike/);o&&(e=o[1].replace(/_/g,"."));var a=w.match(/\(([a-zA-Z]+);/);a&&(n=a[1])}else if(S){t="Android";var s=w.match(/Android[\s/]([\w\.]+)[;\s]/);s&&(e=s[1]);for(var c=w.match(/\((.+?)\)/),u=c?c[1].split(";"):w.split(" "),l=[/\bAndroid\b/i,/\bLinux\b/i,/\bU\b/i,/^\s?[a-z][a-z]$/i,/^\s?[a-z][a-z]-[a-z][a-z]$/i,/\bwv\b/i,/\/[\d\.,]+$/,/^\s?[\d\.,]+$/,/\bBrowser\b/i,/\bMobile\b/i],h=0;h0){n=d.split("Build")[0].trim();break}for(var f=void 0,p=0;p=13)&&document.activeElement.blur()};t.addEventListener("focus",(function(){e=!0,clearTimeout(i),document.addEventListener("click",h,!1),s=l,a&&n.$trigger("keyboardheightchange",{},{height:a,duration:0}),f(n),d(n)})),r&&t.addEventListener("click",(function(){!n.disabled&&e&&0===a&&d(n)})),r||(parseInt(o)<12&&t.addEventListener("touchstart",(function(){n.disabled||e||d(n)})),parseFloat(o)>=14.6&&!c&&Object(u["j"])((function(){var t=plus.webview.currentWebview();c=t.getStyle()||{}})));var v=function(){document.removeEventListener("click",h,!1),s=null,a&&n.$trigger("keyboardheightchange",{},{height:0,duration:0}),p(n),r&&(i=setTimeout((function(){d(n,!0)}),300)),n.isApple&&document.documentElement.scrollTo(document.documentElement.scrollLeft,document.documentElement.scrollTop)};t.addEventListener("blur",(function(){n.isApple&&t.blur(),e=!1,v()}))}}}},"5ab3":function(t,e,n){"use strict";var i=n("907b"),r=n.n(i);r.a},"5abe":function(t,e){(function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=window.document,e=[];i.prototype.THROTTLE_TIMEOUT=100,i.prototype.POLL_INTERVAL=null,i.prototype.USE_MUTATION_OBSERVER=!0,i.prototype.observe=function(t){var e=this._observationTargets.some((function(e){return e.element==t}));if(!e){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},i.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},i.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},i.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},i.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},i.prototype._parseRootMargin=function(t){var e=t||"0px",n=e.split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},i.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(a(window,"resize",this._checkForIntersections,!0),a(t,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in window&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(t,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},i.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,s(window,"resize",this._checkForIntersections,!0),s(t,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},i.prototype._checkForIntersections=function(){var t=this._rootIsInDom(),e=t?this._getRootRect():l();this._observationTargets.forEach((function(i){var o=i.element,a=u(o),s=this._rootContainsTarget(o),c=i.entry,l=t&&s&&this._computeTargetAndRootIntersection(o,e),h=i.entry=new n({time:r(),target:o,boundingClientRect:a,rootBounds:e,intersectionRect:l});c?t&&s?this._hasCrossedThreshold(c,h)&&this._queuedEntries.push(h):c&&c.isIntersecting&&this._queuedEntries.push(h):this._queuedEntries.push(h)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},i.prototype._computeTargetAndRootIntersection=function(e,n){if("none"!=window.getComputedStyle(e).display){var i=u(e),r=i,o=d(e),a=!1;while(!a){var s=null,l=1==o.nodeType?window.getComputedStyle(o):{};if("none"==l.display)return;if(o==this.root||o==t?(a=!0,s=n):o!=t.body&&o!=t.documentElement&&"visible"!=l.overflow&&(s=u(o)),s&&(r=c(s,r),!r))break;o=d(o)}return r}},i.prototype._getRootRect=function(){var e;if(this.root)e=u(this.root);else{var n=t.documentElement,i=t.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},i.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},i.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,i=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==i)for(var r=0;r=0&&s>=0&&{top:n,bottom:i,left:r,right:o,width:a,height:s}}function u(t){var e;try{e=t.getBoundingClientRect()}catch(n){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):l()}function l(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function h(t,e){var n=e;while(n){if(n==t)return!0;n=d(n)}return!1}function d(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e&&e.assignedSlot?e.assignedSlot.parentNode:e}})()},"5bb5":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i=n("a20d"),r=n("f2b3");function o(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object(r["j"])((function(){var n=plus.webview.currentWebview().id;plus.webview.postMessageToUniNView({type:"subscribeHandler",args:{type:t,data:e,pageId:n}},i["a"])}))}},"5bb5a":function(t,e,n){},"5bf9":function(t,e,n){},"5c85":function(t,e,n){},"5cf8":function(t,e,n){"use strict";function i(t,e){for(var n=this.$children,r=n.length,o=arguments.length,a=new Array(o>2?o-2:0),s=2;s2?r-2:0),a=2;a2?n-2:0),o=2;o=1;M--)if(0!==z[M])break;if(P>M&&(P=M),0===M)return v[m++]=20971520,v[m++]=20971520,_.bits=1,0;for(A=1;A0&&(t===s||1!==M))return-1;for(V[1]=0,E=1;Eo||t===u&&D>a)return 1;for(;;){C=E-L,g[I]x?(T=H[Y+g[I]],O=B[F+g[I]]):(T=96,O=0),b=1<>L)+y]=C<<24|T<<16|O|0}while(0!==y);b=1<>=1;if(0!==b?(R&=b-1,R+=b):R=0,I++,0===--z[E]){if(E===M)break;E=e[n+g[I]]}if(E>P&&(R&S)!==w){0===L&&(L=P),k+=A,j=E-L,N=1<o||t===u&&D>a)return 1;w=R&S,v[w]=P<<24|j<<16|k-m|0}}return 0!==R&&(v[k+R]=E-L<<24|64<<16|0),_.bits=P,0}},"687b":function(t,e,n){},"6bdf":function(t,e,n){"use strict";(function(t){n.d(e,"a",(function(){return l}));var i=n("85b6"),r=n("f2b3"),o=n("1e88"),a=n("db8e");function s(t){var e={};if(t.id&&(e.id=""),t.dataset&&(e.dataset={}),t.rect&&(e.left=0,e.right=0,e.top=0,e.bottom=0),t.size&&(e.width=document.documentElement.clientWidth,e.height=document.documentElement.clientHeight),t.scrollOffset){var n=document.documentElement,i=document.body;e.scrollLeft=n.scrollLeft||i.scrollLeft||0,e.scrollTop=n.scrollTop||i.scrollTop||0,e.scrollHeight=n.scrollHeight||i.scrollHeight||0,e.scrollWidth=n.scrollWidth||i.scrollWidth||0}return e}function c(t,e){var n={},a=Object(o["a"])(),s=a.top;if(e.id&&(n.id=t.id),e.dataset&&(n.dataset=Object(i["a"])(t)),e.rect||e.size){var c=t.getBoundingClientRect();e.rect&&(n.left=c.left,n.right=c.right,n.top=c.top-s,n.bottom=c.bottom-s),e.size&&(n.width=c.width,n.height=c.height)}if(Array.isArray(e.properties)){var u=t.__vue__&&t.__vue__.$props;u&&e.properties.forEach((function(t){"string"===typeof t&&(t=Object(r["b"])(t),null!=u[t]&&(n[t]=u[t]))}))}if(e.scrollOffset&&("UNI-SCROLL-VIEW"===t.tagName&&t.__vue__&&t.__vue__.getScrollPosition?Object.assign(n,t.__vue__.getScrollPosition()):(n.scrollLeft=0,n.scrollTop=0,n.scrollHeight=0,n.scrollWidth=0)),Array.isArray(e.computedStyle)){var l=getComputedStyle(t);e.computedStyle.forEach((function(t){n[t]=l[t]}))}return e.context&&t.__vue__&&t.__vue__._getContextInfo&&(n.context=t.__vue__._getContextInfo()),n}function u(t,e,n,i,r){var o=Object(a["a"])(Object(a["b"])(e,t));if(!o||o&&8===o.nodeType)return i?null:[];if(i){var s=o.matches(n)?o:o.querySelector(n);return s?c(s,r):null}var u=[],l=o.querySelectorAll(n);return l&&l.length&&(u=[].map.call(l,(function(t){return c(t,r)}))),o.matches(n)&&u.unshift(c(o,r)),u}function l(e,n){var i,r=e.reqId,o=e.reqs;if(n._isVue)i=n;else{var a=getCurrentPages(),c=a.find((function(t){return t.$page.id===n}));if(!c)throw new Error("Not Found:Page[".concat(n,"]"));i=c.$vm}var l=[];o.forEach((function(t){var e=t.component,n=t.selector,r=t.single,o=t.fields;0===e?l.push(s(o)):l.push(u(i,e,n,r,o))})),t.publishHandler("onRequestComponentInfo",{reqId:r,res:l})}}).call(this,n("501c"))},"70f4":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-label",t._g({class:{"uni-label-pointer":t.pointer},on:{click:t._onClick}},t.$listeners),[t._t("default")],2)},r=[],o=n("897e"),a=o["a"],s=(n("6730"),n("0c7c")),c=Object(s["a"])(a,i,r,!1,null,null,null);e["default"]=c.exports},7107:function(t,e,n){"use strict";(function(t){function i(e){var n=e.options,i=e.callbackId,r=n.family,o=n.source,a=n.desc,s=void 0===a?{}:a,c=document.fonts;if(c){var u=new FontFace(r,o,s);u.load().then((function(){c.add(u),t.publishHandler("onLoadFontFaceCallback",{callbackId:i,data:{errMsg:"loadFontFace:ok"}})})).catch((function(e){t.publishHandler("onLoadFontFaceCallback",{callbackId:i,data:{errMsg:"loadFontFace:fail ".concat(e)}})}))}else{var l=document.createElement("style");l.innerText='@font-face{font-family:"'.concat(r,'";src:').concat(o,";font-style:").concat(s.style,";font-weight:").concat(s.weight,";font-stretch:").concat(s.stretch,";unicode-range:").concat(s.unicodeRange,";font-variant:").concat(s.variant,";font-feature-settings:").concat(s.featureSettings,";}"),document.head.appendChild(l),t.publishHandler("onLoadFontFaceCallback",{callbackId:i,data:{errMsg:"loadFontFace:ok"}})}}n.d(e,"a",(function(){return i}))}).call(this,n("501c"))},"717e":function(t,e,n){"use strict";var i=n("9e6e"),r=n("be7f"),o=n("7b27"),a=n("2ceb"),s=n("4dc6"),c=n("8936"),u=n("8013"),l=Object.prototype.toString;function h(t){if(!(this instanceof h))return new h(t);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,e.windowBits);if(n!==a.Z_OK)throw new Error(s[n]);if(this.header=new u,i.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"===typeof e.dictionary?e.dictionary=o.string2buf(e.dictionary):"[object ArrayBuffer]"===l.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=i.inflateSetDictionary(this.strm,e.dictionary),n!==a.Z_OK)))throw new Error(s[n])}function d(t,e){var n=new h(e);if(n.push(t,!0),n.err)throw n.msg||s[n.err];return n.result}function f(t,e){return e=e||{},e.raw=!0,d(t,e)}h.prototype.push=function(t,e){var n,s,c,u,h,d=this.strm,f=this.options.chunkSize,p=this.options.dictionary,v=!1;if(this.ended)return!1;s=e===~~e?e:!0===e?a.Z_FINISH:a.Z_NO_FLUSH,"string"===typeof t?d.input=o.binstring2buf(t):"[object ArrayBuffer]"===l.call(t)?d.input=new Uint8Array(t):d.input=t,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new r.Buf8(f),d.next_out=0,d.avail_out=f),n=i.inflate(d,a.Z_NO_FLUSH),n===a.Z_NEED_DICT&&p&&(n=i.inflateSetDictionary(this.strm,p)),n===a.Z_BUF_ERROR&&!0===v&&(n=a.Z_OK,v=!1),n!==a.Z_STREAM_END&&n!==a.Z_OK)return this.onEnd(n),this.ended=!0,!1;d.next_out&&(0!==d.avail_out&&n!==a.Z_STREAM_END&&(0!==d.avail_in||s!==a.Z_FINISH&&s!==a.Z_SYNC_FLUSH)||("string"===this.options.to?(c=o.utf8border(d.output,d.next_out),u=d.next_out-c,h=o.buf2string(d.output,c),d.next_out=u,d.avail_out=f-u,u&&r.arraySet(d.output,d.output,c,u,0),this.onData(h)):this.onData(r.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(v=!0)}while((d.avail_in>0||0===d.avail_out)&&n!==a.Z_STREAM_END);return n===a.Z_STREAM_END&&(s=a.Z_FINISH),s===a.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===a.Z_OK):s!==a.Z_SYNC_FLUSH||(this.onEnd(a.Z_OK),d.avail_out=0,!0)},h.prototype.onData=function(t){this.chunks.push(t)},h.prototype.onEnd=function(t){t===a.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=h,e.inflate=d,e.inflateRaw=f,e.ungzip=d},7225:function(t,e,n){},"72b3":function(t,e,n){"use strict";function i(t,e,n){return t>e-n&&t0){var u=(-n-Math.sqrt(o))/(2*i),l=(-n+Math.sqrt(o))/(2*i),h=(e-u*t)/(l-u),d=t-h;return{x:function(t){var e,n;return t===this._t&&(e=this._powER1T,n=this._powER2T),this._t=t,e||(e=this._powER1T=Math.pow(Math.E,u*t)),n||(n=this._powER2T=Math.pow(Math.E,l*t)),d*e+h*n},dx:function(t){var e,n;return t===this._t&&(e=this._powER1T,n=this._powER2T),this._t=t,e||(e=this._powER1T=Math.pow(Math.E,u*t)),n||(n=this._powER2T=Math.pow(Math.E,l*t)),d*u*e+h*l*n}}}var f=Math.sqrt(4*i*r-n*n)/(2*i),p=-n/2*i,v=t,m=(e-p*t)/f;return{x:function(t){return Math.pow(Math.E,p*t)*(v*Math.cos(f*t)+m*Math.sin(f*t))},dx:function(t){var e=Math.pow(Math.E,p*t),n=Math.cos(f*t),i=Math.sin(f*t);return e*(m*f*n-v*f*i)+p*e*(m*i+v*n)}}},o.prototype.x=function(t){return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),this._solution?this._endPosition+this._solution.x(t):0},o.prototype.dx=function(t){return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),this._solution?this._solution.dx(t):0},o.prototype.setEnd=function(t,e,n){if(n||(n=(new Date).getTime()),t!==this._endPosition||!r(e,.4)){e=e||0;var i=this._endPosition;this._solution&&(r(e,.4)&&(e=this._solution.dx((n-this._startTime)/1e3)),i=this._solution.x((n-this._startTime)/1e3),r(e,.4)&&(e=0),r(i,.4)&&(i=0),i+=this._endPosition),this._solution&&r(i-t,.4)&&r(e,.4)||(this._endPosition=t,this._solution=this._solve(i-this._endPosition,e),this._startTime=n)}},o.prototype.snap=function(t){this._startTime=(new Date).getTime(),this._endPosition=t,this._solution={x:function(){return 0},dx:function(){return 0}}},o.prototype.done=function(t){return t||(t=(new Date).getTime()),i(this.x(),this._endPosition,.4)&&r(this.dx(),.4)},o.prototype.reconfigure=function(t,e,n){this._m=t,this._k=e,this._c=n,this.done()||(this._solution=this._solve(this.x()-this._endPosition,this.dx()),this._startTime=(new Date).getTime())},o.prototype.springConstant=function(){return this._k},o.prototype.damping=function(){return this._c},o.prototype.configuration=function(){function t(t,e){t.reconfigure(1,e,t.damping())}function e(t,e){t.reconfigure(1,t.springConstant(),e)}return[{label:"Spring Constant",read:this.springConstant.bind(this),write:t.bind(this,this),min:100,max:1e3},{label:"Damping",read:this.damping.bind(this),write:e.bind(this,this),min:1,max:500}]}},7466:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-map",t._g({},t.$listeners),[n("div",{ref:"container",staticClass:"uni-map-container"}),t._l(t.mapControls,(function(e,i){return n("v-uni-cover-image",{key:i,style:e.position,attrs:{src:e.iconPath,"auto-size":""},on:{click:function(n){return t.controlclick(e)}}})})),n("div",{staticClass:"uni-map-slot"},[t._t("default")],2)],2)},r=[],o=n("a521"),a=o["a"],s=(n("a252"),n("0c7c")),c=Object(s["a"])(a,i,r,!1,null,null,null);e["default"]=c.exports},7522:function(t,e,n){},"76a8":function(t,e,n){"use strict";var i=n("3cd3"),r=n.n(i);r.a},"77a8":function(t,e,n){},7822:function(t,e,n){},"7b27":function(t,e,n){"use strict";var i=n("be7f"),r=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(u){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(u){o=!1}for(var a=new i.Buf8(256),s=0;s<256;s++)a[s]=s>=252?6:s>=248?5:s>=240?4:s>=224?3:s>=192?2:1;function c(t,e){if(e<65534&&(t.subarray&&o||!t.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var n="",a=0;a>>6,e[a++]=128|63&n):n<65536?(e[a++]=224|n>>>12,e[a++]=128|n>>>6&63,e[a++]=128|63&n):(e[a++]=240|n>>>18,e[a++]=128|n>>>12&63,e[a++]=128|n>>>6&63,e[a++]=128|63&n);return e},e.buf2binstring=function(t){return c(t,t.length)},e.binstring2buf=function(t){for(var e=new i.Buf8(t.length),n=0,r=e.length;n4)u[i++]=65533,n+=o-1;else{r&=2===o?31:3===o?15:7;while(o>1&&n1?u[i++]=65533:r<65536?u[i++]=r:(r-=65536,u[i++]=55296|r>>10&1023,u[i++]=56320|1023&r)}return c(u,i)},e.utf8border=function(t,e){var n;e=e||t.length,e>t.length&&(e=t.length),n=e-1;while(n>=0&&128===(192&t[n]))n--;return n<0||0===n?e:n+a[t[n]]>e?n:e}},"7bb3":function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-checkbox",t._g({attrs:{disabled:t.disabled},on:{click:t._onClick}},t.$listeners),[n("div",{staticClass:"uni-checkbox-wrapper"},[n("div",{staticClass:"uni-checkbox-input",class:{"uni-checkbox-input-checked":t.checkboxChecked,"uni-checkbox-input-disabled":t.disabled},style:{color:t.color}}),t._t("default")],2)])},r=[],o=n("8af1"),a={name:"Checkbox",mixins:[o["a"],o["e"]],props:{checked:{type:[Boolean,String],default:!1},id:{type:String,default:""},disabled:{type:[Boolean,String],default:!1},color:{type:String,default:"#007aff"},value:{type:String,default:""}},data:function(){return{checkboxChecked:this.checked,checkboxValue:this.value}},watch:{checked:function(t){this.checkboxChecked=t},value:function(t){this.checkboxValue=t}},listeners:{"label-click":"_onClick","@label-click":"_onClick"},created:function(){this.$dispatch("CheckboxGroup","uni-checkbox-group-update",{type:"add",vm:this}),this.$dispatch("Form","uni-form-group-update",{type:"add",vm:this})},beforeDestroy:function(){this.$dispatch("CheckboxGroup","uni-checkbox-group-update",{type:"remove",vm:this}),this.$dispatch("Form","uni-form-group-update",{type:"remove",vm:this})},methods:{_onClick:function(t){this.disabled||(this.checkboxChecked=!this.checkboxChecked,this.$dispatch("CheckboxGroup","uni-checkbox-change",t))},_resetFormData:function(){this.checkboxChecked=!1}}},s=a,c=(n("f53a"),n("0c7c")),u=Object(c["a"])(s,i,r,!1,null,null,null);e["default"]=u.exports},"7c2b":function(t,e,n){"use strict";var i=n("e804"),r=n.n(i);r.a},"7d0f":function(t,e,n){"use strict";var i=n("5129"),r=n.n(i),o=n("85b6"),a=n("f2b3");function s(t){t.config.errorHandler=function(e,n,i){var r=Object(a["n"])(e);t.util.warn("Error in ".concat(i,': "').concat("Error"===r?e.toString():e,'"'),n);var s="function"===typeof getApp&&getApp();s&&Object(o["b"])(s.$options,"onError")?s.__call_hook("onError",e):console.error(e)};var e=t.config.isReservedTag;t.config.isReservedTag=function(t){return-1!==r.a.indexOf(t)||e(t)},t.config.ignoredElements=r.a;var n=t.config.getTagNamespace,i=["switch","image","text","view"];t.config.getTagNamespace=function(t){return!~i.indexOf(t)&&n(t)}}var c=n("8c15"),u=n("a34f"),l=n("3e5d");function h(t){Object.defineProperty(t.prototype,"$page",{get:function(){return getCurrentPages()[0].$page}}),t.prototype.$handleVModelEvent=function(t,e){l["b"].sendUIEvent(this._$id,t,{type:"input",target:{value:e}})},t.prototype.$handleViewEvent=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.stop&&t.stopPropagation(),e.prevent&&t.preventDefault();var n=this.$handleEvent(t),i=this._$id,r=t.$origCurrentTarget||t.currentTarget,o=(r===this.$el&&"page"!==this.$options.mpType?"r-":"")+n.options.nid;if("undefined"===typeof o)return console.error("[".concat(i,"] nid not found"));delete n._processed,delete n.mp,delete n.preventDefault,delete n.stopPropagation,delete n.options,delete n.$origCurrentTarget,l["b"].sendUIEvent(i,o,n)}}n("3878"),e["a"]={install:function(t,e){t.prototype._$getRealPath=u["a"],s(t),c["a"].install(t,e),Object(l["a"])(t),h(t)}}},"7e6a":function(t,e,n){"use strict";var i=n("5bf9"),r=n.n(i);r.a},"7eb1":function(t,e,n){"use strict";var i=30,r=12;t.exports=function(t,e){var n,o,a,s,c,u,l,h,d,f,p,v,m,g,_,b,y,w,S,k,x,C,T,O,$;n=t.state,o=t.next_in,O=t.input,a=o+(t.avail_in-5),s=t.next_out,$=t.output,c=s-(e-t.avail_out),u=s+(t.avail_out-257),l=n.dmax,h=n.wsize,d=n.whave,f=n.wnext,p=n.window,v=n.hold,m=n.bits,g=n.lencode,_=n.distcode,b=(1<>>24,v>>>=S,m-=S,S=w>>>16&255,0===S)$[s++]=65535&w;else{if(!(16&S)){if(0===(64&S)){w=g[(65535&w)+(v&(1<>>=S,m-=S),m<15&&(v+=O[o++]<>>24,v>>>=S,m-=S,S=w>>>16&255,!(16&S)){if(0===(64&S)){w=_[(65535&w)+(v&(1<l){t.msg="invalid distance too far back",n.mode=i;break t}if(v>>>=S,m-=S,S=s-c,x>S){if(S=x-S,S>d&&n.sane){t.msg="invalid distance too far back",n.mode=i;break t}if(C=0,T=p,0===f){if(C+=h-S,S2)$[s++]=T[C++],$[s++]=T[C++],$[s++]=T[C++],k-=3;k&&($[s++]=T[C++],k>1&&($[s++]=T[C++]))}else{C=s-x;do{$[s++]=$[C++],$[s++]=$[C++],$[s++]=$[C++],k-=3}while(k>2);k&&($[s++]=$[C++],k>1&&($[s++]=$[C++]))}break}}break}}while(o>3,o-=k,m-=k<<3,v&=(1<0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;return Array.isArray(t[e])&&t[e].length}function o(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=JSON.parse(JSON.stringify(t));return e}function a(t){var e={},n=t.__vue__;function r(t,n){var r=t.$attrs;for(var o in r)if(o.startsWith("data-")){var a=Object(i["b"])(o.substr(5).toLowerCase()),s=r[o];e[a]=n?s:e[a]||s}}if(n){var a=n;while(a&&a.$el===t)r(a),a=a.$children[0];var s=n.$parent;while(s&&s.$el===t)r(s,!0),s=s.$parent}else e=Object.assign({},t.dataset,t.__uniDataset);return o(e)}},"86a1":function(t,e,n){},8842:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("uni-movable-view",t._g({},t.$listeners),[n("v-uni-resize-sensor",{on:{resize:t.setParent}}),t._t("default")],2)},r=[],o=n("ba15");function a(t,e,n){return t>e-n&&tthis._t&&(t=this._t,this._lastDt=t);var e=this._x_v*t+.5*this._x_a*Math.pow(t,2)+this._x_s,n=this._y_v*t+.5*this._y_a*Math.pow(t,2)+this._y_s;return(this._x_a>0&&ethis._endPositionX)&&(e=this._endPositionX),(this._y_a>0&&nthis._endPositionY)&&(n=this._endPositionY),{x:e,y:n}},u.prototype.ds=function(t){return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),t>this._t&&(t=this._t),{dx:this._x_v+this._x_a*t,dy:this._y_v+this._y_a*t}},u.prototype.delta=function(){return{x:-1.5*Math.pow(this._x_v,2)/this._x_a||0,y:-1.5*Math.pow(this._y_v,2)/this._y_a||0}},u.prototype.dt=function(){return-this._x_v/this._x_a},u.prototype.done=function(){var t=a(this.s().x,this._endPositionX)||a(this.s().y,this._endPositionY)||this._lastDt===this._t;return this._lastDt=null,t},u.prototype.setEnd=function(t,e){this._endPositionX=t,this._endPositionY=e},u.prototype.reconfigure=function(t,e){this._m=t,this._f=1e3*e},l.prototype._solve=function(t,e){var n=this._c,i=this._m,r=this._k,o=n*n-4*i*r;if(0===o){var a=-n/(2*i),s=t,c=e/(a*t);return{x:function(t){return(s+c*t)*Math.pow(Math.E,a*t)},dx:function(t){var e=Math.pow(Math.E,a*t);return a*(s+c*t)*e+c*e}}}if(o>0){var u=(-n-Math.sqrt(o))/(2*i),l=(-n+Math.sqrt(o))/(2*i),h=(e-u*t)/(l-u),d=t-h;return{x:function(t){var e,n;return t===this._t&&(e=this._powER1T,n=this._powER2T),this._t=t,e||(e=this._powER1T=Math.pow(Math.E,u*t)),n||(n=this._powER2T=Math.pow(Math.E,l*t)),d*e+h*n},dx:function(t){var e,n;return t===this._t&&(e=this._powER1T,n=this._powER2T),this._t=t,e||(e=this._powER1T=Math.pow(Math.E,u*t)),n||(n=this._powER2T=Math.pow(Math.E,l*t)),d*u*e+h*l*n}}}var f=Math.sqrt(4*i*r-n*n)/(2*i),p=-n/2*i,v=t,m=(e-p*t)/f;return{x:function(t){return Math.pow(Math.E,p*t)*(v*Math.cos(f*t)+m*Math.sin(f*t))},dx:function(t){var e=Math.pow(Math.E,p*t),n=Math.cos(f*t),i=Math.sin(f*t);return e*(m*f*n-v*f*i)+p*e*(m*i+v*n)}}},l.prototype.x=function(t){return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),this._solution?this._endPosition+this._solution.x(t):0},l.prototype.dx=function(t){return void 0===t&&(t=((new Date).getTime()-this._startTime)/1e3),this._solution?this._solution.dx(t):0},l.prototype.setEnd=function(t,e,n){if(n||(n=(new Date).getTime()),t!==this._endPosition||!s(e,.1)){e=e||0;var i=this._endPosition;this._solution&&(s(e,.1)&&(e=this._solution.dx((n-this._startTime)/1e3)),i=this._solution.x((n-this._startTime)/1e3),s(e,.1)&&(e=0),s(i,.1)&&(i=0),i+=this._endPosition),this._solution&&s(i-t,.1)&&s(e,.1)||(this._endPosition=t,this._solution=this._solve(i-this._endPosition,e),this._startTime=n)}},l.prototype.snap=function(t){this._startTime=(new Date).getTime(),this._endPosition=t,this._solution={x:function(){return 0},dx:function(){return 0}}},l.prototype.done=function(t){return t||(t=(new Date).getTime()),a(this.x(),this._endPosition,.1)&&s(this.dx(),.1)},l.prototype.reconfigure=function(t,e,n){this._m=t,this._k=e,this._c=n,this.done()||(this._solution=this._solve(this.x()-this._endPosition,this.dx()),this._startTime=(new Date).getTime())},l.prototype.springConstant=function(){return this._k},l.prototype.damping=function(){return this._c},l.prototype.configuration=function(){function t(t,e){t.reconfigure(1,e,t.damping())}function e(t,e){t.reconfigure(1,t.springConstant(),e)}return[{label:"Spring Constant",read:this.springConstant.bind(this),write:t.bind(this,this),min:100,max:1e3},{label:"Damping",read:this.damping.bind(this),write:e.bind(this,this),min:1,max:500}]},h.prototype.setEnd=function(t,e,n,i){var r=(new Date).getTime();this._springX.setEnd(t,i,r),this._springY.setEnd(e,i,r),this._springScale.setEnd(n,i,r),this._startTime=r},h.prototype.x=function(){var t=((new Date).getTime()-this._startTime)/1e3;return{x:this._springX.x(t),y:this._springY.x(t),scale:this._springScale.x(t)}},h.prototype.done=function(){var t=(new Date).getTime();return this._springX.done(t)&&this._springY.done(t)&&this._springScale.done(t)},h.prototype.reconfigure=function(t,e,n){this._springX.reconfigure(t,e,n),this._springY.reconfigure(t,e,n),this._springScale.reconfigure(t,e,n)};var d=n("2a0a"),f=!1;function p(t){f||(f=!0,requestAnimationFrame((function(){t(),f=!1})))}function v(t,e){if(t===e)return 0;var n=t.offsetLeft;return t.offsetParent?n+=v(t.offsetParent,e):0}function m(t,e){if(t===e)return 0;var n=t.offsetTop;return t.offsetParent?n+=m(t.offsetParent,e):0}function g(t,e){return+((1e3*t-1e3*e)/1e3).toFixed(1)}function _(t,e,n){var i=function(t){t&&t.id&&cancelAnimationFrame(t.id),t&&(t.cancelled=!0)},r={id:0,cancelled:!1};function o(e,n,i,r){if(!e||!e.cancelled){i(n);var a=t.done();a||e.cancelled||(e.id=requestAnimationFrame(o.bind(null,e,n,i,r))),a&&r&&r(n)}}return o(r,t,e,n),{cancel:i.bind(null,r),model:t}}var b={name:"MovableView",mixins:[o["a"]],props:{direction:{type:String,default:"none"},inertia:{type:[Boolean,String],default:!1},outOfBounds:{type:[Boolean,String],default:!1},x:{type:[Number,String],default:0},y:{type:[Number,String],default:0},damping:{type:[Number,String],default:20},friction:{type:[Number,String],default:2},disabled:{type:[Boolean,String],default:!1},scale:{type:[Boolean,String],default:!1},scaleMin:{type:[Number,String],default:.5},scaleMax:{type:[Number,String],default:10},scaleValue:{type:[Number,String],default:1},animation:{type:[Boolean,String],default:!0}},data:function(){return{xSync:this._getPx(this.x),ySync:this._getPx(this.y),scaleValueSync:Number(this.scaleValue)||1,width:0,height:0,minX:0,minY:0,maxX:0,maxY:0}},computed:{dampingNumber:function(){var t=Number(this.damping);return isNaN(t)?20:t},frictionNumber:function(){var t=Number(this.friction);return isNaN(t)||t<=0?2:t},scaleMinNumber:function(){var t=Number(this.scaleMin);return isNaN(t)?.5:t},scaleMaxNumber:function(){var t=Number(this.scaleMax);return isNaN(t)?10:t},xMove:function(){return"all"===this.direction||"horizontal"===this.direction},yMove:function(){return"all"===this.direction||"vertical"===this.direction}},watch:{x:function(t){this.xSync=this._getPx(t)},xSync:function(t){this._setX(t)},y:function(t){this.ySync=this._getPx(t)},ySync:function(t){this._setY(t)},disabled:function(){this.__handleTouchStart()},scaleValue:function(t){this.scaleValueSync=Number(t)||0},scaleValueSync:function(t){this._setScaleValue(t)},scaleMinNumber:function(){this._setScaleMinOrMax()},scaleMaxNumber:function(){this._setScaleMinOrMax()}},created:function(){this._offset={x:0,y:0},this._scaleOffset={x:0,y:0},this._translateX=0,this._translateY=0,this._scale=1,this._oldScale=1,this._STD=new h(1,9*Math.pow(this.dampingNumber,2)/40,this.dampingNumber),this._friction=new u(1,this.frictionNumber),this._declineX=new c,this._declineY=new c,this.__touchInfo={historyX:[0,0],historyY:[0,0],historyT:[0,0]}},mounted:function(){this.touchtrack(this.$el,"_onTrack"),this.setParent(),this._friction.reconfigure(1,this.frictionNumber),this._STD.reconfigure(1,9*Math.pow(this.dampingNumber,2)/40,this.dampingNumber),this.$el.style.transformOrigin="center",Object(d["b"])()},methods:{_getPx:function(t){return/\d+[ur]px$/i.test(t)?uni.upx2px(parseFloat(t)):Number(t)||0},_setX:function(t){if(this.xMove){if(t+this._scaleOffset.x===this._translateX)return this._translateX;this._SFA&&this._SFA.cancel(),this._animationTo(t+this._scaleOffset.x,this.ySync+this._scaleOffset.y,this._scale)}return t},_setY:function(t){if(this.yMove){if(t+this._scaleOffset.y===this._translateY)return this._translateY;this._SFA&&this._SFA.cancel(),this._animationTo(this.xSync+this._scaleOffset.x,t+this._scaleOffset.y,this._scale)}return t},_setScaleMinOrMax:function(){if(!this.scale)return!1;this._updateScale(this._scale,!0),this._updateOldScale(this._scale)},_setScaleValue:function(t){return!!this.scale&&(t=this._adjustScale(t),this._updateScale(t,!0),this._updateOldScale(t),t)},__handleTouchStart:function(){this._isScaling||this.disabled||(Object(d["a"])({disable:!0}),this._FA&&this._FA.cancel(),this._SFA&&this._SFA.cancel(),this.__touchInfo.historyX=[0,0],this.__touchInfo.historyY=[0,0],this.__touchInfo.historyT=[0,0],this.xMove&&(this.__baseX=this._translateX),this.yMove&&(this.__baseY=this._translateY),this.$el.style.willChange="transform",this._checkCanMove=null,this._firstMoveDirection=null,this._isTouching=!0)},__handleTouchMove:function(t){var e=this;if(!this._isScaling&&!this.disabled&&this._isTouching){var n=this._translateX,i=this._translateY;if(null===this._firstMoveDirection&&(this._firstMoveDirection=Math.abs(t.detail.dx/t.detail.dy)>1?"htouchmove":"vtouchmove"),this.xMove&&(n=t.detail.dx+this.__baseX,this.__touchInfo.historyX.shift(),this.__touchInfo.historyX.push(n),this.yMove||null!==this._checkCanMove||(this._checkCanMove=Math.abs(t.detail.dx/t.detail.dy)<1)),this.yMove&&(i=t.detail.dy+this.__baseY,this.__touchInfo.historyY.shift(),this.__touchInfo.historyY.push(i),this.xMove||null!==this._checkCanMove||(this._checkCanMove=Math.abs(t.detail.dy/t.detail.dx)<1)),this.__touchInfo.historyT.shift(),this.__touchInfo.historyT.push(t.detail.timeStamp),!this._checkCanMove){t.preventDefault();var r="touch";nthis.maxX&&(this.outOfBounds?(r="touch-out-of-bounds",n=this.maxX+this._declineX.x(n-this.maxX)):n=this.maxX),ithis.maxY&&(this.outOfBounds?(r="touch-out-of-bounds",i=this.maxY+this._declineY.x(i-this.maxY)):i=this.maxY),p((function(){e._setTransform(n,i,e._scale,r)}))}}},__handleTouchEnd:function(){var t=this;if(!this._isScaling&&!this.disabled&&this._isTouching&&(Object(d["a"])({disable:!1}),this.$el.style.willChange="auto",this._isTouching=!1,!this._checkCanMove&&!this._revise("out-of-bounds")&&this.inertia)){var e=1e3*(this.__touchInfo.historyX[1]-this.__touchInfo.historyX[0])/(this.__touchInfo.historyT[1]-this.__touchInfo.historyT[0]),n=1e3*(this.__touchInfo.historyY[1]-this.__touchInfo.historyY[0])/(this.__touchInfo.historyT[1]-this.__touchInfo.historyT[0]);this._friction.setV(e,n),this._friction.setS(this._translateX,this._translateY);var i=this._friction.delta().x,r=this._friction.delta().y,o=i+this._translateX,a=r+this._translateY;othis.maxX&&(o=this.maxX,a=this._translateY+(this.maxX-this._translateX)*r/i),athis.maxY&&(a=this.maxY,o=this._translateX+(this.maxY-this._translateY)*i/r),this._friction.setEnd(o,a),this._FA=_(this._friction,(function(){var e=t._friction.s(),n=e.x,i=e.y;t._setTransform(n,i,t._scale,"friction")}),(function(){t._FA.cancel()}))}},_onTrack:function(t){switch(t.detail.state){case"start":this.__handleTouchStart();break;case"move":this.__handleTouchMove(t);break;case"end":this.__handleTouchEnd()}},_getLimitXY:function(t,e){var n=!1;return t>this.maxX?(t=this.maxX,n=!0):tthis.maxY?(e=this.maxY,n=!0):e3&&void 0!==arguments[3]?arguments[3]:"",r=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0;null!==t&&"NaN"!==t.toString()&&"number"===typeof t||(t=this._translateX||0),null!==e&&"NaN"!==e.toString()&&"number"===typeof e||(e=this._translateY||0),t=Number(t.toFixed(1)),e=Number(e.toFixed(1)),n=Number(n.toFixed(1)),this._translateX===t&&this._translateY===e||r||this.$trigger("change",{},{x:g(t,this._scaleOffset.x),y:g(e,this._scaleOffset.y),source:i}),this.scale||(n=this._scale),n=this._adjustScale(n),n=+n.toFixed(3),o&&n!==this._scale&&this.$trigger("scale",{},{x:t,y:e,scale:n});var a="translateX("+t+"px) translateY("+e+"px) translateZ(0px) scale("+n+")";this.$el.style.transform=a,this.$el.style.webkitTransform=a,this._translateX=t,this._translateY=e,this._scale=n}}},y=b,w=(n("7c2b"),n("0c7c")),S=Object(w["a"])(y,i,r,!1,null,null,null);e["default"]=S.exports},8875:function(t,e,n){var i,r,o;(function(n,a){r=[],i=a,o="function"===typeof i?i.apply(e,r):i,void 0===o||(t.exports=o)})("undefined"!==typeof self&&self,(function(){function t(){if(document.currentScript)return document.currentScript;try{throw new Error}catch(h){var t,e,n,i=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,r=/@([^@]*):(\d+):(\d+)\s*$/gi,o=i.exec(h.stack)||r.exec(h.stack),a=o&&o[1]||!1,s=o&&o[2]||!1,c=document.location.href.replace(document.location.hash,""),u=document.getElementsByTagName("script");a===c&&(t=document.documentElement.outerHTML,e=new RegExp("(?:[^\\n]+?\\n){0,"+(s-2)+"}[^<]*