diff --git "a/.image/Java\347\233\221\346\216\247.jpg" "b/.image/Java\347\233\221\346\216\247.jpg" new file mode 100644 index 00000000..6ad522ab Binary files /dev/null and "b/.image/Java\347\233\221\346\216\247.jpg" differ diff --git a/.image/MySQL.jpg b/.image/MySQL.jpg new file mode 100644 index 00000000..64a1940c Binary files /dev/null and b/.image/MySQL.jpg differ diff --git "a/.image/OA\350\257\267\345\201\207-\345\210\227\350\241\250.jpg" "b/.image/OA\350\257\267\345\201\207-\345\210\227\350\241\250.jpg" new file mode 100644 index 00000000..787bb73f Binary files /dev/null and "b/.image/OA\350\257\267\345\201\207-\345\210\227\350\241\250.jpg" differ diff --git "a/.image/OA\350\257\267\345\201\207-\345\217\221\350\265\267.jpg" "b/.image/OA\350\257\267\345\201\207-\345\217\221\350\265\267.jpg" new file mode 100644 index 00000000..1a7342d7 Binary files /dev/null and "b/.image/OA\350\257\267\345\201\207-\345\217\221\350\265\267.jpg" differ diff --git "a/.image/OA\350\257\267\345\201\207-\350\257\246\346\203\205.jpg" "b/.image/OA\350\257\267\345\201\207-\350\257\246\346\203\205.jpg" new file mode 100644 index 00000000..a83e7c14 Binary files /dev/null and "b/.image/OA\350\257\267\345\201\207-\350\257\246\346\203\205.jpg" differ diff --git a/.image/Redis.jpg b/.image/Redis.jpg new file mode 100644 index 00000000..95693526 Binary files /dev/null and b/.image/Redis.jpg differ diff --git a/.image/admin-uniapp/01.png b/.image/admin-uniapp/01.png new file mode 100644 index 00000000..0f65d99e Binary files /dev/null and b/.image/admin-uniapp/01.png differ diff --git a/.image/admin-uniapp/02.png b/.image/admin-uniapp/02.png new file mode 100644 index 00000000..05ec781c Binary files /dev/null and b/.image/admin-uniapp/02.png differ diff --git a/.image/admin-uniapp/03.png b/.image/admin-uniapp/03.png new file mode 100644 index 00000000..f400c688 Binary files /dev/null and b/.image/admin-uniapp/03.png differ diff --git a/.image/admin-uniapp/04.png b/.image/admin-uniapp/04.png new file mode 100644 index 00000000..d5d5ea07 Binary files /dev/null and b/.image/admin-uniapp/04.png differ diff --git a/.image/admin-uniapp/05.png b/.image/admin-uniapp/05.png new file mode 100644 index 00000000..1de6d8ae Binary files /dev/null and b/.image/admin-uniapp/05.png differ diff --git a/.image/admin-uniapp/06.png b/.image/admin-uniapp/06.png new file mode 100644 index 00000000..400ae90b Binary files /dev/null and b/.image/admin-uniapp/06.png differ diff --git a/.image/admin-uniapp/07.png b/.image/admin-uniapp/07.png new file mode 100644 index 00000000..2ed8c0ff Binary files /dev/null and b/.image/admin-uniapp/07.png differ diff --git a/.image/admin-uniapp/08.png b/.image/admin-uniapp/08.png new file mode 100644 index 00000000..090e64a6 Binary files /dev/null and b/.image/admin-uniapp/08.png differ diff --git a/.image/admin-uniapp/09.png b/.image/admin-uniapp/09.png new file mode 100644 index 00000000..f2032c8a Binary files /dev/null and b/.image/admin-uniapp/09.png differ diff --git a/.image/common/mall-feature.png b/.image/common/mall-feature.png new file mode 100644 index 00000000..cca05c0e Binary files /dev/null and b/.image/common/mall-feature.png differ diff --git a/.image/common/mall-preview.png b/.image/common/mall-preview.png new file mode 100644 index 00000000..f939214b Binary files /dev/null and b/.image/common/mall-preview.png differ diff --git a/.image/common/project-vs.png b/.image/common/project-vs.png new file mode 100644 index 00000000..561e092f Binary files /dev/null and b/.image/common/project-vs.png differ diff --git a/.image/common/ruoyi-vue-pro-architecture.png b/.image/common/ruoyi-vue-pro-architecture.png new file mode 100644 index 00000000..7bd7d59a Binary files /dev/null and b/.image/common/ruoyi-vue-pro-architecture.png differ diff --git a/.image/common/ruoyi-vue-pro-biz.png b/.image/common/ruoyi-vue-pro-biz.png new file mode 100644 index 00000000..24a385ab Binary files /dev/null and b/.image/common/ruoyi-vue-pro-biz.png differ diff --git a/.image/common/yudao-cloud-architecture.png b/.image/common/yudao-cloud-architecture.png new file mode 100644 index 00000000..59416d80 Binary files /dev/null and b/.image/common/yudao-cloud-architecture.png differ diff --git a/.image/common/yudao-roadmap.png b/.image/common/yudao-roadmap.png new file mode 100644 index 00000000..f4becc98 Binary files /dev/null and b/.image/common/yudao-roadmap.png differ diff --git "a/.image/\344\270\252\344\272\272\344\270\255\345\277\203.jpg" "b/.image/\344\270\252\344\272\272\344\270\255\345\277\203.jpg" new file mode 100644 index 00000000..ce57f6e1 Binary files /dev/null and "b/.image/\344\270\252\344\272\272\344\270\255\345\277\203.jpg" differ diff --git "a/.image/\344\273\243\347\240\201\347\224\237\346\210\220.jpg" "b/.image/\344\273\243\347\240\201\347\224\237\346\210\220.jpg" new file mode 100644 index 00000000..751603ef Binary files /dev/null and "b/.image/\344\273\243\347\240\201\347\224\237\346\210\220.jpg" differ diff --git "a/.image/\344\273\244\347\211\214\347\256\241\347\220\206.jpg" "b/.image/\344\273\244\347\211\214\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..04abf4d2 Binary files /dev/null and "b/.image/\344\273\244\347\211\214\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\256\241\346\211\271.jpg" "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\256\241\346\211\271.jpg" new file mode 100644 index 00000000..cba312a0 Binary files /dev/null and "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\256\241\346\211\271.jpg" differ diff --git "a/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\267\262\345\212\236.jpg" "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\267\262\345\212\236.jpg" new file mode 100644 index 00000000..7a8d0fb1 Binary files /dev/null and "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\267\262\345\212\236.jpg" differ diff --git "a/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\276\205\345\212\236.jpg" "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\276\205\345\212\236.jpg" new file mode 100644 index 00000000..a90323fb Binary files /dev/null and "b/.image/\344\273\273\345\212\241\345\210\227\350\241\250-\345\276\205\345\212\236.jpg" differ diff --git "a/.image/\344\273\273\345\212\241\346\227\245\345\277\227.jpg" "b/.image/\344\273\273\345\212\241\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..599e50a9 Binary files /dev/null and "b/.image/\344\273\273\345\212\241\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\345\225\206\346\210\267\344\277\241\346\201\257.jpg" "b/.image/\345\225\206\346\210\267\344\277\241\346\201\257.jpg" new file mode 100644 index 00000000..483eace1 Binary files /dev/null and "b/.image/\345\225\206\346\210\267\344\277\241\346\201\257.jpg" differ diff --git "a/.image/\345\234\250\347\272\277\347\224\250\346\210\267.jpg" "b/.image/\345\234\250\347\272\277\347\224\250\346\210\267.jpg" new file mode 100644 index 00000000..b183009b Binary files /dev/null and "b/.image/\345\234\250\347\272\277\347\224\250\346\210\267.jpg" differ diff --git "a/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\345\210\227\350\241\250.jpg" "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\345\210\227\350\241\250.jpg" new file mode 100644 index 00000000..9a45c3bd Binary files /dev/null and "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\345\210\227\350\241\250.jpg" differ diff --git "a/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\347\274\226\350\276\221.jpg" "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\347\274\226\350\276\221.jpg" new file mode 100644 index 00000000..63298a0c Binary files /dev/null and "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\347\274\226\350\276\221.jpg" differ diff --git "a/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\351\242\204\350\247\210.jpg" "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\351\242\204\350\247\210.jpg" new file mode 100644 index 00000000..501d9ea2 Binary files /dev/null and "b/.image/\345\244\247\345\261\217\350\256\276\350\256\241\345\231\250-\351\242\204\350\247\210.jpg" differ diff --git "a/.image/\345\255\227\345\205\270\346\225\260\346\215\256.jpg" "b/.image/\345\255\227\345\205\270\346\225\260\346\215\256.jpg" new file mode 100644 index 00000000..8298c893 Binary files /dev/null and "b/.image/\345\255\227\345\205\270\346\225\260\346\215\256.jpg" differ diff --git "a/.image/\345\255\227\345\205\270\347\261\273\345\236\213.jpg" "b/.image/\345\255\227\345\205\270\347\261\273\345\236\213.jpg" new file mode 100644 index 00000000..6613392f Binary files /dev/null and "b/.image/\345\255\227\345\205\270\347\261\273\345\236\213.jpg" differ diff --git "a/.image/\345\256\232\346\227\266\344\273\273\345\212\241.jpg" "b/.image/\345\256\232\346\227\266\344\273\273\345\212\241.jpg" new file mode 100644 index 00000000..d5bbd851 Binary files /dev/null and "b/.image/\345\256\232\346\227\266\344\273\273\345\212\241.jpg" differ diff --git "a/.image/\345\262\227\344\275\215\347\256\241\347\220\206.jpg" "b/.image/\345\262\227\344\275\215\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..42b64d2c Binary files /dev/null and "b/.image/\345\262\227\344\275\215\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\345\210\227\350\241\250.jpg" "b/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\345\210\227\350\241\250.jpg" new file mode 100644 index 00000000..da419a24 Binary files /dev/null and "b/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\345\210\227\350\241\250.jpg" differ diff --git "a/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\347\274\226\350\276\221.jpg" "b/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\347\274\226\350\276\221.jpg" new file mode 100644 index 00000000..913cfbc8 Binary files /dev/null and "b/.image/\345\272\224\347\224\250\344\277\241\346\201\257-\347\274\226\350\276\221.jpg" differ diff --git "a/.image/\345\272\224\347\224\250\347\256\241\347\220\206.jpg" "b/.image/\345\272\224\347\224\250\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..6e7789fc Binary files /dev/null and "b/.image/\345\272\224\347\224\250\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\210\227\350\241\250.jpg" "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\210\227\350\241\250.jpg" new file mode 100644 index 00000000..223d17af Binary files /dev/null and "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\210\227\350\241\250.jpg" differ diff --git "a/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\217\221\350\265\267.jpg" "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\217\221\350\265\267.jpg" new file mode 100644 index 00000000..7a833062 Binary files /dev/null and "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\345\217\221\350\265\267.jpg" differ diff --git "a/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\350\257\246\346\203\205.jpg" "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\350\257\246\346\203\205.jpg" new file mode 100644 index 00000000..6a015418 Binary files /dev/null and "b/.image/\346\210\221\347\232\204\346\265\201\347\250\213-\350\257\246\346\203\205.jpg" differ diff --git "a/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\345\233\276\345\275\242\346\212\245\350\241\250.jpg" "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\345\233\276\345\275\242\346\212\245\350\241\250.jpg" new file mode 100644 index 00000000..681b3185 Binary files /dev/null and "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\345\233\276\345\275\242\346\212\245\350\241\250.jpg" differ diff --git "a/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\211\223\345\215\260\350\256\276\350\256\241.jpg" "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\211\223\345\215\260\350\256\276\350\256\241.jpg" new file mode 100644 index 00000000..bb86da64 Binary files /dev/null and "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\211\223\345\215\260\350\256\276\350\256\241.jpg" differ diff --git "a/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\225\260\346\215\256\346\212\245\350\241\250.jpg" "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\225\260\346\215\256\346\212\245\350\241\250.jpg" new file mode 100644 index 00000000..9ca5b9b6 Binary files /dev/null and "b/.image/\346\212\245\350\241\250\350\256\276\350\256\241\345\231\250-\346\225\260\346\215\256\346\212\245\350\241\250.jpg" differ diff --git "a/.image/\346\223\215\344\275\234\346\227\245\345\277\227.jpg" "b/.image/\346\223\215\344\275\234\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..4a0611a3 Binary files /dev/null and "b/.image/\346\223\215\344\275\234\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\346\224\257\344\273\230\350\256\242\345\215\225.jpg" "b/.image/\346\224\257\344\273\230\350\256\242\345\215\225.jpg" new file mode 100644 index 00000000..0a56dd74 Binary files /dev/null and "b/.image/\346\224\257\344\273\230\350\256\242\345\215\225.jpg" differ diff --git "a/.image/\346\225\217\346\204\237\350\257\215.jpg" "b/.image/\346\225\217\346\204\237\350\257\215.jpg" new file mode 100644 index 00000000..92a53974 Binary files /dev/null and "b/.image/\346\225\217\346\204\237\350\257\215.jpg" differ diff --git "a/.image/\346\225\260\346\215\256\345\272\223\346\226\207\346\241\243.jpg" "b/.image/\346\225\260\346\215\256\345\272\223\346\226\207\346\241\243.jpg" new file mode 100644 index 00000000..a4339d96 Binary files /dev/null and "b/.image/\346\225\260\346\215\256\345\272\223\346\226\207\346\241\243.jpg" differ diff --git "a/.image/\346\226\207\344\273\266\347\256\241\347\220\206.jpg" "b/.image/\346\226\207\344\273\266\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..054b19f1 Binary files /dev/null and "b/.image/\346\226\207\344\273\266\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\346\226\207\344\273\266\347\256\241\347\220\2062.jpg" "b/.image/\346\226\207\344\273\266\347\256\241\347\220\2062.jpg" new file mode 100644 index 00000000..b12e5c3c Binary files /dev/null and "b/.image/\346\226\207\344\273\266\347\256\241\347\220\2062.jpg" differ diff --git "a/.image/\346\226\207\344\273\266\351\205\215\347\275\256.jpg" "b/.image/\346\226\207\344\273\266\351\205\215\347\275\256.jpg" new file mode 100644 index 00000000..e618049a Binary files /dev/null and "b/.image/\346\226\207\344\273\266\351\205\215\347\275\256.jpg" differ diff --git "a/.image/\346\227\245\345\277\227\344\270\255\345\277\203.jpg" "b/.image/\346\227\245\345\277\227\344\270\255\345\277\203.jpg" new file mode 100644 index 00000000..27c1c6cb Binary files /dev/null and "b/.image/\346\227\245\345\277\227\344\270\255\345\277\203.jpg" differ diff --git "a/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\210\227\350\241\250.jpg" "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\210\227\350\241\250.jpg" new file mode 100644 index 00000000..ffdc5840 Binary files /dev/null and "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\210\227\350\241\250.jpg" differ diff --git "a/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\256\232\344\271\211.jpg" "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\256\232\344\271\211.jpg" new file mode 100644 index 00000000..18b316c7 Binary files /dev/null and "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\345\256\232\344\271\211.jpg" differ diff --git "a/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\350\256\276\350\256\241.jpg" "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\350\256\276\350\256\241.jpg" new file mode 100644 index 00000000..96149690 Binary files /dev/null and "b/.image/\346\265\201\347\250\213\346\250\241\345\236\213-\350\256\276\350\256\241.jpg" differ diff --git "a/.image/\346\265\201\347\250\213\350\241\250\345\215\225.jpg" "b/.image/\346\265\201\347\250\213\350\241\250\345\215\225.jpg" new file mode 100644 index 00000000..60669c14 Binary files /dev/null and "b/.image/\346\265\201\347\250\213\350\241\250\345\215\225.jpg" differ diff --git "a/.image/\347\224\237\346\210\220\346\225\210\346\236\234.jpg" "b/.image/\347\224\237\346\210\220\346\225\210\346\236\234.jpg" new file mode 100644 index 00000000..98ff2cca Binary files /dev/null and "b/.image/\347\224\237\346\210\220\346\225\210\346\236\234.jpg" differ diff --git "a/.image/\347\224\250\346\210\267\345\210\206\347\273\204.jpg" "b/.image/\347\224\250\346\210\267\345\210\206\347\273\204.jpg" new file mode 100644 index 00000000..39af1cd1 Binary files /dev/null and "b/.image/\347\224\250\346\210\267\345\210\206\347\273\204.jpg" differ diff --git "a/.image/\347\224\250\346\210\267\347\256\241\347\220\206.jpg" "b/.image/\347\224\250\346\210\267\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..844604a6 Binary files /dev/null and "b/.image/\347\224\250\346\210\267\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\347\231\273\345\275\225.jpg" "b/.image/\347\231\273\345\275\225.jpg" new file mode 100644 index 00000000..b782b988 Binary files /dev/null and "b/.image/\347\231\273\345\275\225.jpg" differ diff --git "a/.image/\347\231\273\345\275\225\346\227\245\345\277\227.jpg" "b/.image/\347\231\273\345\275\225\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..25662d97 Binary files /dev/null and "b/.image/\347\231\273\345\275\225\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\347\237\255\344\277\241\346\227\245\345\277\227.jpg" "b/.image/\347\237\255\344\277\241\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..ada8e56d Binary files /dev/null and "b/.image/\347\237\255\344\277\241\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\347\237\255\344\277\241\346\250\241\346\235\277.jpg" "b/.image/\347\237\255\344\277\241\346\250\241\346\235\277.jpg" new file mode 100644 index 00000000..09381cc5 Binary files /dev/null and "b/.image/\347\237\255\344\277\241\346\250\241\346\235\277.jpg" differ diff --git "a/.image/\347\237\255\344\277\241\346\270\240\351\201\223.jpg" "b/.image/\347\237\255\344\277\241\346\270\240\351\201\223.jpg" new file mode 100644 index 00000000..df3a5c39 Binary files /dev/null and "b/.image/\347\237\255\344\277\241\346\270\240\351\201\223.jpg" differ diff --git "a/.image/\347\247\237\346\210\267\345\245\227\351\244\220.png" "b/.image/\347\247\237\346\210\267\345\245\227\351\244\220.png" new file mode 100644 index 00000000..96631679 Binary files /dev/null and "b/.image/\347\247\237\346\210\267\345\245\227\351\244\220.png" differ diff --git "a/.image/\347\247\237\346\210\267\347\256\241\347\220\206.jpg" "b/.image/\347\247\237\346\210\267\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..647416a9 Binary files /dev/null and "b/.image/\347\247\237\346\210\267\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\347\263\273\347\273\237\346\216\245\345\217\243.jpg" "b/.image/\347\263\273\347\273\237\346\216\245\345\217\243.jpg" new file mode 100644 index 00000000..6d39d421 Binary files /dev/null and "b/.image/\347\263\273\347\273\237\346\216\245\345\217\243.jpg" differ diff --git "a/.image/\350\217\234\345\215\225\347\256\241\347\220\206.jpg" "b/.image/\350\217\234\345\215\225\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..ad3b7979 Binary files /dev/null and "b/.image/\350\217\234\345\215\225\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\350\241\250\345\215\225\346\236\204\345\273\272.jpg" "b/.image/\350\241\250\345\215\225\346\236\204\345\273\272.jpg" new file mode 100644 index 00000000..81f03746 Binary files /dev/null and "b/.image/\350\241\250\345\215\225\346\236\204\345\273\272.jpg" differ diff --git "a/.image/\350\247\222\350\211\262\347\256\241\347\220\206.jpg" "b/.image/\350\247\222\350\211\262\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..eed776e8 Binary files /dev/null and "b/.image/\350\247\222\350\211\262\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\350\256\277\351\227\256\346\227\245\345\277\227.jpg" "b/.image/\350\256\277\351\227\256\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..ef301aad Binary files /dev/null and "b/.image/\350\256\277\351\227\256\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\351\200\200\346\254\276\350\256\242\345\215\225.jpg" "b/.image/\351\200\200\346\254\276\350\256\242\345\215\225.jpg" new file mode 100644 index 00000000..2c6c6c9e Binary files /dev/null and "b/.image/\351\200\200\346\254\276\350\256\242\345\215\225.jpg" differ diff --git "a/.image/\351\200\232\347\237\245\345\205\254\345\221\212.jpg" "b/.image/\351\200\232\347\237\245\345\205\254\345\221\212.jpg" new file mode 100644 index 00000000..97bb42fe Binary files /dev/null and "b/.image/\351\200\232\347\237\245\345\205\254\345\221\212.jpg" differ diff --git "a/.image/\351\203\250\351\227\250\347\256\241\347\220\206.jpg" "b/.image/\351\203\250\351\227\250\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..6eab2330 Binary files /dev/null and "b/.image/\351\203\250\351\227\250\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\351\205\215\347\275\256\347\256\241\347\220\206.jpg" "b/.image/\351\205\215\347\275\256\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..0abaec93 Binary files /dev/null and "b/.image/\351\205\215\347\275\256\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\351\223\276\350\267\257\350\277\275\350\270\252.jpg" "b/.image/\351\223\276\350\267\257\350\277\275\350\270\252.jpg" new file mode 100644 index 00000000..12f7aa8e Binary files /dev/null and "b/.image/\351\223\276\350\267\257\350\277\275\350\270\252.jpg" differ diff --git "a/.image/\351\224\231\350\257\257\346\227\245\345\277\227.jpg" "b/.image/\351\224\231\350\257\257\346\227\245\345\277\227.jpg" new file mode 100644 index 00000000..eb615ea3 Binary files /dev/null and "b/.image/\351\224\231\350\257\257\346\227\245\345\277\227.jpg" differ diff --git "a/.image/\351\224\231\350\257\257\347\240\201\347\256\241\347\220\206.jpg" "b/.image/\351\224\231\350\257\257\347\240\201\347\256\241\347\220\206.jpg" new file mode 100644 index 00000000..ea91dde1 Binary files /dev/null and "b/.image/\351\224\231\350\257\257\347\240\201\347\256\241\347\220\206.jpg" differ diff --git "a/.image/\351\246\226\351\241\265.jpg" "b/.image/\351\246\226\351\241\265.jpg" new file mode 100644 index 00000000..10a7fde7 Binary files /dev/null and "b/.image/\351\246\226\351\241\265.jpg" differ diff --git a/README.md b/README.md new file mode 100644 index 00000000..48ce3398 --- /dev/null +++ b/README.md @@ -0,0 +1,212 @@ +**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** + +**「我喜欢写代码,乐此不疲」** +**「我喜欢做开源,以此为乐」** + +我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。 + +如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 + +## 🐶 新手必读 + +* nodejs > 14.17.0 +* 演示地址【Vue3 + element-plus】: +* 演示地址【Vue3 + vben(ant-design-vue)】: +* 演示地址【Vue2 + element-ui】: +* 启动文档: +* 视频教程: + +## 🐯 平台简介 + +**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 + +* 采用 [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/guide/) 实现 + +![首页](/.image/首页.jpg) + +## 技术栈 + +| 框架 | 说明 | 版本 | 学习指南 | +|------------------------------------------------------------------------------------|------------------|--------|-----------------------------------------------------------------| +| [Node](https://nodejs.org/zh-cn/) | JavaScript 运行时环境 | >= 12 | - | +| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.7.14 | [书单](https://www.iocoder.cn/Books/Vue-books-recommended/?yudao) | +| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/guide/) | 后台前端解决方案 | 2.5.10 | | + +## 🔥 后端架构 + +支持 Spring Boot、Spring Cloud 两种架构: + +① Spring Boot 单体架构: + +![架构图](/.image/common/ruoyi-vue-pro-architecture.png) + +② Spring Cloud 微服务架构: + +![架构图](/.image/common/yudao-cloud-architecture.png) + +## 内置功能 + +系统内置多种多种业务功能,可以用于快速你的业务系统: + +* 系统功能 +* 基础设施 +* 工作流程 +* 支付系统 +* 会员中心 +* 数据报表 +* 商城系统 +* 微信公众号 + +### 系统功能 + +| | 功能 | 描述 | +|-----|-------|---------------------------------| +| | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 | +| ⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 | +| | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | +| | 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 | +| | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 | +| | 岗位管理 | 配置系统用户所属担任职务 | +| 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 | +| 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 | +| | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | +| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 | +| 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 | +| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 | +| 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | +| ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | +| 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | +| | 通知公告 | 系统通知公告信息发布维护 | +| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 | +| 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 | +| 🚀 | 地区管理 | 展示省份、城市、区镇等城市信息,支持 IP 对应城市 | + +### 工作流程 + +| | 功能 | 描述 | +|-----|-------|----------------------------------------| +| 🚀 | 流程模型 | 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则 | +| 🚀 | 流程表单 | 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件 | +| 🚀 | 用户分组 | 自定义用户分组,可用于工作流的审批分组 | +| 🚀 | 我的流程 | 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线 | +| 🚀 | 待办任务 | 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作 | +| 🚀 | 已办任务 | 查看自己【已】审批的工作任务,未来会支持回退操作 | +| 🚀 | OA 请假 | 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批 | + +### 支付系统 + +| | 功能 | 描述 | +|-----|------|---------------------------| +| 🚀 | 商户信息 | 管理商户信息,支持 Saas 场景下的多商户功能 | +| 🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 | +| 🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 | +| 🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 | + +ps:核心功能已经实现,正在对接微信小程序中... + +### 基础设施 + +| | 功能 | 描述 | +|-----|----------|----------------------------------------------| +| 🚀 | 代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 | +| 🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 | +| 🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 | +| | 表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 | +| 🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 | +| ⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 | +| 🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 | +| 🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 | +| | MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 | +| | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 | +| 🚀 | 消息队列 | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 | +| 🚀 | Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 | +| 🚀 | 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 | +| 🚀 | 日志中心 | 接入 SkyWalking 组件,实现日志中心 | +| 🚀 | 分布式锁 | 基于 Redis 实现分布式锁,满足并发场景 | +| 🚀 | 幂等组件 | 基于 Redis 实现幂等组件,解决重复请求问题 | +| 🚀 | 服务保障 | 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能 | +| 🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 | +| 🚀 | 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 | + +### 数据报表 + +| | 功能 | 描述 | +|-----|-------|--------------------| +| 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 | +| 🚀 | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 | + +### 微信公众号 + +| | 功能 | 描述 | +|-----|--------|-------------------------------| +| 🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 | +| 🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 | +| 🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 | +| 🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 | +| 🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 | +| 🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 | +| 🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 | +| 🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 | +| 🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 | +| 🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 | + +### 商城系统 + +![功能图](/.image/common/mall-feature.png) + +![功能图](/.image/common/mall-preview.png) + +_前端基于 crmeb uniapp 经过授权重构,优化代码实现,接入芋道快速开发平台_ + +演示地址: + +## 🐷 演示图 + +### 系统功能 + +| 模块 | biu | biu | biu | +|----------|-----------------------------|---------------------------|--------------------------| +| 登录 & 首页 | ![登录](/.image/登录.jpg) | ![首页](/.image/首页.jpg) | ![个人中心](/.image/个人中心.jpg) | +| 用户 & 应用 | ![用户管理](/.image/用户管理.jpg) | ![令牌管理](/.image/令牌管理.jpg) | ![应用管理](/.image/应用管理.jpg) | +| 租户 & 套餐 | ![租户管理](/.image/租户管理.jpg) | ![租户套餐](/.image/租户套餐.png) | - | +| 部门 & 岗位 | ![部门管理](/.image/部门管理.jpg) | ![岗位管理](/.image/岗位管理.jpg) | - | +| 菜单 & 角色 | ![菜单管理](/.image/菜单管理.jpg) | ![角色管理](/.image/角色管理.jpg) | - | +| 审计日志 | ![操作日志](/.image/操作日志.jpg) | ![登录日志](/.image/登录日志.jpg) | - | +| 短信 | ![短信渠道](/.image/短信渠道.jpg) | ![短信模板](/.image/短信模板.jpg) | ![短信日志](/.image/短信日志.jpg) | +| 字典 & 敏感词 | ![字典类型](/.image/字典类型.jpg) | ![字典数据](/.image/字典数据.jpg) | ![敏感词](/.image/敏感词.jpg) | +| 错误码 & 通知 | ![错误码管理](/.image/错误码管理.jpg) | ![通知公告](/.image/通知公告.jpg) | - | + +### 工作流程 + +| 模块 | biu | biu | biu | +|---------|---------------------------------|---------------------------------|---------------------------------| +| 流程模型 | ![流程模型-列表](/.image/流程模型-列表.jpg) | ![流程模型-设计](/.image/流程模型-设计.jpg) | ![流程模型-定义](/.image/流程模型-定义.jpg) | +| 表单 & 分组 | ![流程表单](/.image/流程表单.jpg) | ![用户分组](/.image/用户分组.jpg) | - | +| 我的流程 | ![我的流程-列表](/.image/我的流程-列表.jpg) | ![我的流程-发起](/.image/我的流程-发起.jpg) | ![我的流程-详情](/.image/我的流程-详情.jpg) | +| 待办 & 已办 | ![任务列表-审批](/.image/任务列表-审批.jpg) | ![任务列表-待办](/.image/任务列表-待办.jpg) | ![任务列表-已办](/.image/任务列表-已办.jpg) | +| OA 请假 | ![OA请假-列表](/.image/OA请假-列表.jpg) | ![OA请假-发起](/.image/OA请假-发起.jpg) | ![OA请假-详情](/.image/OA请假-详情.jpg) | + +### 基础设施 + +| 模块 | biu | biu | biu | +|---------------|-------------------------------|-----------------------------|---------------------------| +| 代码生成 | ![代码生成](/.image/代码生成.jpg) | ![生成效果](/.image/生成效果.jpg) | - | +| 文档 | ![系统接口](/.image/系统接口.jpg) | ![数据库文档](/.image/数据库文档.jpg) | - | +| 文件 & 配置 | ![文件配置](/.image/文件配置.jpg) | ![文件管理](/.image/文件管理2.jpg) | ![配置管理](/.image/配置管理.jpg) | +| 定时任务 | ![定时任务](/.image/定时任务.jpg) | ![任务日志](/.image/任务日志.jpg) | - | +| API 日志 | ![访问日志](/.image/访问日志.jpg) | ![错误日志](/.image/错误日志.jpg) | - | +| MySQL & Redis | ![MySQL](/.image/MySQL.jpg) | ![Redis](/.image/Redis.jpg) | - | +| 监控平台 | ![Java监控](/.image/Java监控.jpg) | ![链路追踪](/.image/链路追踪.jpg) | ![日志中心](/.image/日志中心.jpg) | + +### 支付系统 + +| 模块 | biu | biu | biu | +|---------|---------------------------|---------------------------------|---------------------------------| +| 商家 & 应用 | ![商户信息](/.image/商户信息.jpg) | ![应用信息-列表](/.image/应用信息-列表.jpg) | ![应用信息-编辑](/.image/应用信息-编辑.jpg) | +| 支付 & 退款 | ![支付订单](/.image/支付订单.jpg) | ![退款订单](/.image/退款订单.jpg) | --- | +### 数据报表 + +| 模块 | biu | biu | biu | +|-------|---------------------------------|---------------------------------|---------------------------------------| +| 报表设计器 | ![数据报表](/.image/报表设计器-数据报表.jpg) | ![图形报表](/.image/报表设计器-图形报表.jpg) | ![报表设计器-打印设计](/.image/报表设计器-打印设计.jpg) | +| 大屏设计器 | ![大屏列表](/.image/大屏设计器-列表.jpg) | ![大屏预览](/.image/大屏设计器-预览.jpg) | ![大屏编辑](/.image/大屏设计器-编辑.jpg) |