@ -1,16 +1,23 @@ |
|||||
###################################################################### |
.DS_Store |
||||
# Build Tools |
node_modules/ |
||||
|
unpackage/ |
||||
|
dist/ |
||||
|
|
||||
/unpackage/* |
# local env files |
||||
/node_modules/* |
.env.local |
||||
|
.env.*.local |
||||
|
|
||||
###################################################################### |
# Log files |
||||
# Development Tools |
npm-debug.log* |
||||
|
yarn-debug.log* |
||||
/.idea/* |
yarn-error.log* |
||||
/.vscode/* |
|
||||
/.hbuilderx/* |
|
||||
|
|
||||
package-lock.json |
|
||||
yarn.lock |
|
||||
|
|
||||
|
# Editor directories and files |
||||
|
.project |
||||
|
.idea |
||||
|
.vscode |
||||
|
*.suo |
||||
|
*.ntvs* |
||||
|
*.njsproj |
||||
|
*.sln |
||||
|
*.sw* |
||||
|
@ -1,52 +1,19 @@ |
|||||
**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** |
# my-project |
||||
|
|
||||
**「我喜欢写代码,乐此不疲」** |
## Project setup |
||||
**「我喜欢做开源,以此为乐」** |
``` |
||||
|
yarn install |
||||
|
``` |
||||
|
|
||||
我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。 |
### Compiles and hot-reloads for development |
||||
|
``` |
||||
|
yarn serve |
||||
|
``` |
||||
|
|
||||
如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 |
### Compiles and minifies for production |
||||
|
``` |
||||
|
yarn build |
||||
|
``` |
||||
|
|
||||
## 🐶 新手必读 |
### Customize configuration |
||||
|
See [Configuration Reference](https://cli.vuejs.org/config/). |
||||
* 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn> |
|
||||
* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn> |
|
||||
* 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn> |
|
||||
* 启动文档:<https://doc.iocoder.cn/quick-start/> |
|
||||
* 视频教程:<https://doc.iocoder.cn/video/> |
|
||||
|
|
||||
## 🐯 平台简介 |
|
||||
|
|
||||
**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 |
|
||||
|
|
||||
![](/.image/admin-uniapp/02.png) |
|
||||
|
|
||||
* 采用 uni-app 框架,一套代码多端适配,支持 App、小程序、H5! |
|
||||
* 已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。 |
|
||||
|
|
||||
## 技术栈 |
|
||||
|
|
||||
| 框架 | 说明 | 版本 | |
|
||||
|-------------------------------------------------|--------------------|--------| |
|
||||
| [uni-app](hhttps://github.com/dcloudio/uni-app) | 跨平台框架 | 2.0.0 | |
|
||||
| [uni-ui](https://github.com/dcloudio/uni-ui) | 基于 uni-app 的 UI 框架 | 1.4.20 | |
|
||||
|
|
||||
## 🔥 后端架构 |
|
||||
|
|
||||
支持 Spring Boot、Spring Cloud 两种架构: |
|
||||
|
|
||||
① Spring Boot 单体架构:<https://github.com/YunaiV/ruoyi-vue-pro> |
|
||||
|
|
||||
![架构图](/.image/common/ruoyi-vue-pro-architecture.png) |
|
||||
|
|
||||
② Spring Cloud 微服务架构:<https://github.com/YunaiV/yudao-cloud> |
|
||||
|
|
||||
![架构图](/.image/common/yudao-cloud-architecture.png) |
|
||||
|
|
||||
## 🐷 演示图 |
|
||||
|
|
||||
| biu | biu | biu | |
|
||||
|----------------------------------|----------------------------------|----------------------------------| |
|
||||
| ![](/.image/admin-uniapp/01.png) | ![](/.image/admin-uniapp/02.png) | ![](/.image/admin-uniapp/03.png) | |
|
||||
| ![](/.image/admin-uniapp/04.png) | ![](/.image/admin-uniapp/05.png) | ![](/.image/admin-uniapp/06.png) | |
|
||||
| ![](/.image/admin-uniapp/07.png) | ![](/.image/admin-uniapp/08.png) | ![](/.image/admin-uniapp/09.png) | |
|
||||
|
@ -0,0 +1,81 @@ |
|||||
|
const webpack = require('webpack') |
||||
|
const plugins = [] |
||||
|
|
||||
|
if (process.env.UNI_OPT_TREESHAKINGNG) { |
||||
|
plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js')) |
||||
|
} |
||||
|
|
||||
|
if ( |
||||
|
( |
||||
|
process.env.UNI_PLATFORM === 'app-plus' && |
||||
|
process.env.UNI_USING_V8 |
||||
|
) || |
||||
|
( |
||||
|
process.env.UNI_PLATFORM === 'h5' && |
||||
|
process.env.UNI_H5_BROWSER === 'builtin' |
||||
|
) |
||||
|
) { |
||||
|
const path = require('path') |
||||
|
|
||||
|
const isWin = /^win/.test(process.platform) |
||||
|
|
||||
|
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) |
||||
|
|
||||
|
const input = normalizePath(process.env.UNI_INPUT_DIR) |
||||
|
try { |
||||
|
plugins.push([ |
||||
|
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'), |
||||
|
{ |
||||
|
file (file) { |
||||
|
file = normalizePath(file) |
||||
|
if (file.indexOf(input) === 0) { |
||||
|
return path.relative(input, file) |
||||
|
} |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
]) |
||||
|
} catch (e) { } |
||||
|
} |
||||
|
|
||||
|
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui'] |
||||
|
process.UNI_LIBRARIES.forEach(libraryName => { |
||||
|
plugins.push([ |
||||
|
'import', |
||||
|
{ |
||||
|
'libraryName': libraryName, |
||||
|
'customName': (name) => { |
||||
|
return `${libraryName}/lib/${name}/${name}` |
||||
|
} |
||||
|
} |
||||
|
]) |
||||
|
}) |
||||
|
|
||||
|
if (process.env.UNI_PLATFORM !== 'h5') { |
||||
|
plugins.push('@babel/plugin-transform-runtime') |
||||
|
} |
||||
|
|
||||
|
const config = { |
||||
|
presets: [ |
||||
|
[ |
||||
|
'@vue/app', |
||||
|
{ |
||||
|
modules: webpack.version[0] > 4 ? 'auto' : 'commonjs', |
||||
|
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry' |
||||
|
} |
||||
|
] |
||||
|
], |
||||
|
plugins |
||||
|
} |
||||
|
|
||||
|
const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js' |
||||
|
if (process.env.NODE_ENV === 'production') { |
||||
|
config.overrides = [{ |
||||
|
test: UNI_H5_TEST, |
||||
|
compact: true, |
||||
|
}] |
||||
|
} else { |
||||
|
config.ignore = [UNI_H5_TEST] |
||||
|
} |
||||
|
|
||||
|
module.exports = config |
@ -1,9 +1,68 @@ |
|||||
{ |
{ |
||||
|
"name": "eam_uni-app", |
||||
|
"version": "0.1.0", |
||||
|
"private": true, |
||||
|
"scripts": { |
||||
|
"serve": "npm run dev:h5", |
||||
|
"build": "npm run build:h5", |
||||
|
"build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build", |
||||
|
"build:custom": "cross-env NODE_ENV=production uniapp-cli custom", |
||||
|
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build", |
||||
|
"build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build", |
||||
|
"dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch", |
||||
|
"dev:custom": "cross-env NODE_ENV=development uniapp-cli custom", |
||||
|
"dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve", |
||||
|
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch", |
||||
|
"info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js", |
||||
|
"test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i", |
||||
|
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i", |
||||
|
"test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i", |
||||
|
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i" |
||||
|
}, |
||||
"dependencies": { |
"dependencies": { |
||||
"crypto-js": "^4.0.0" |
"@dcloudio/uni-app": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-app-plus": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-h5": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-mp-weixin": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-stacktracey": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-stat": "^2.0.2-3090920231225001", |
||||
|
"@vue/shared": "^3.0.0", |
||||
|
"core-js": "^3.8.3", |
||||
|
"crypto-js": "^4.0.0", |
||||
|
"flyio": "^0.6.2", |
||||
|
"vue": ">= 2.6.14 < 2.7", |
||||
|
"vuex": "^3.2.0" |
||||
}, |
}, |
||||
"devDependencies": { |
"devDependencies": { |
||||
|
"@dcloudio/types": "^3.3.2", |
||||
|
"@dcloudio/uni-automator": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-cli-i18n": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-cli-shared": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-helper-json": "*", |
||||
|
"@dcloudio/uni-i18n": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-migration": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/uni-template-compiler": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/vue-cli-plugin-uni": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/webpack-uni-mp-loader": "^2.0.2-3090920231225001", |
||||
|
"@dcloudio/webpack-uni-pages-loader": "^2.0.2-3090920231225001", |
||||
|
"@vue/cli-plugin-babel": "~5.0.0", |
||||
|
"@vue/cli-service": "~5.0.0", |
||||
|
"babel-plugin-import": "^1.11.0", |
||||
|
"cross-env": "^7.0.2", |
||||
|
"jest": "^25.4.0", |
||||
|
"postcss-comment": "^2.0.0", |
||||
"sass": "^1.69.7", |
"sass": "^1.69.7", |
||||
"sass-loader": "^13.3.3" |
"sass-loader": "^13.3.3", |
||||
|
"vite": "4.0.3", |
||||
|
"vue-template-compiler": ">= 2.6.14 < 2.7" |
||||
|
}, |
||||
|
"browserslist": [ |
||||
|
"Android >= 4.4", |
||||
|
"ios >= 9" |
||||
|
], |
||||
|
"uni-app": { |
||||
|
"scripts": {} |
||||
} |
} |
||||
} |
} |
||||
|
@ -0,0 +1,2 @@ |
|||||
|
别名:apptestalias |
||||
|
密码:092134 |
@ -0,0 +1,27 @@ |
|||||
|
const path = require('path') |
||||
|
const webpack = require('webpack') |
||||
|
const config = { |
||||
|
parser: require('postcss-comment'), |
||||
|
plugins: [ |
||||
|
require('postcss-import')({ |
||||
|
resolve (id, basedir, importOptions) { |
||||
|
if (id.startsWith('~@/')) { |
||||
|
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3)) |
||||
|
} else if (id.startsWith('@/')) { |
||||
|
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2)) |
||||
|
} else if (id.startsWith('/') && !id.startsWith('//')) { |
||||
|
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1)) |
||||
|
} |
||||
|
return id |
||||
|
} |
||||
|
}), |
||||
|
require('autoprefixer')({ |
||||
|
remove: process.env.UNI_PLATFORM !== 'h5' |
||||
|
}), |
||||
|
require('@dcloudio/vue-cli-plugin-uni/packages/postcss') |
||||
|
] |
||||
|
} |
||||
|
if (webpack.version[0] > 4) { |
||||
|
delete config.parser |
||||
|
} |
||||
|
module.exports = config |
@ -0,0 +1,25 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="zh-CN"> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="utf-8"> |
||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
|
<title> |
||||
|
<%= htmlWebpackPlugin.options.title %> |
||||
|
</title> |
||||
|
<script> |
||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) |
||||
|
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />') |
||||
|
</script> |
||||
|
<link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" /> |
||||
|
</head> |
||||
|
|
||||
|
<body> |
||||
|
<noscript> |
||||
|
<strong>Please enable JavaScript to continue.</strong> |
||||
|
</noscript> |
||||
|
<div id="app"></div> |
||||
|
<!-- built files will be auto injected --> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
@ -0,0 +1,11 @@ |
|||||
|
/// <reference types='@dcloudio/types' />
|
||||
|
import Vue from 'vue' |
||||
|
declare module "vue/types/options" { |
||||
|
type Hooks = App.AppInstance & Page.PageInstance; |
||||
|
interface ComponentOptions<V extends Vue> extends Hooks { |
||||
|
/** |
||||
|
* 组件类型 |
||||
|
*/ |
||||
|
mpType?: string; |
||||
|
} |
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
declare module "*.vue" { |
||||
|
import Vue from 'vue' |
||||
|
export default Vue |
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
###################################################################### |
||||
|
# Build Tools |
||||
|
|
||||
|
/unpackage/* |
||||
|
/node_modules/* |
||||
|
|
||||
|
###################################################################### |
||||
|
# Development Tools |
||||
|
|
||||
|
/.idea/* |
||||
|
/.vscode/* |
||||
|
/.hbuilderx/* |
||||
|
|
||||
|
package-lock.json |
||||
|
yarn.lock |
||||
|
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 173 KiB After Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,52 @@ |
|||||
|
**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** |
||||
|
|
||||
|
**「我喜欢写代码,乐此不疲」** |
||||
|
**「我喜欢做开源,以此为乐」** |
||||
|
|
||||
|
我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。 |
||||
|
|
||||
|
如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 |
||||
|
|
||||
|
## 🐶 新手必读 |
||||
|
|
||||
|
* 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn> |
||||
|
* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn> |
||||
|
* 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn> |
||||
|
* 启动文档:<https://doc.iocoder.cn/quick-start/> |
||||
|
* 视频教程:<https://doc.iocoder.cn/video/> |
||||
|
|
||||
|
## 🐯 平台简介 |
||||
|
|
||||
|
**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 |
||||
|
|
||||
|
![](/.image/admin-uniapp/02.png) |
||||
|
|
||||
|
* 采用 uni-app 框架,一套代码多端适配,支持 App、小程序、H5! |
||||
|
* 已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。 |
||||
|
|
||||
|
## 技术栈 |
||||
|
|
||||
|
| 框架 | 说明 | 版本 | |
||||
|
|-------------------------------------------------|--------------------|--------| |
||||
|
| [uni-app](hhttps://github.com/dcloudio/uni-app) | 跨平台框架 | 2.0.0 | |
||||
|
| [uni-ui](https://github.com/dcloudio/uni-ui) | 基于 uni-app 的 UI 框架 | 1.4.20 | |
||||
|
|
||||
|
## 🔥 后端架构 |
||||
|
|
||||
|
支持 Spring Boot、Spring Cloud 两种架构: |
||||
|
|
||||
|
① Spring Boot 单体架构:<https://github.com/YunaiV/ruoyi-vue-pro> |
||||
|
|
||||
|
![架构图](/.image/common/ruoyi-vue-pro-architecture.png) |
||||
|
|
||||
|
② Spring Cloud 微服务架构:<https://github.com/YunaiV/yudao-cloud> |
||||
|
|
||||
|
![架构图](/.image/common/yudao-cloud-architecture.png) |
||||
|
|
||||
|
## 🐷 演示图 |
||||
|
|
||||
|
| biu | biu | biu | |
||||
|
|----------------------------------|----------------------------------|----------------------------------| |
||||
|
| ![](/.image/admin-uniapp/01.png) | ![](/.image/admin-uniapp/02.png) | ![](/.image/admin-uniapp/03.png) | |
||||
|
| ![](/.image/admin-uniapp/04.png) | ![](/.image/admin-uniapp/05.png) | ![](/.image/admin-uniapp/06.png) | |
||||
|
| ![](/.image/admin-uniapp/07.png) | ![](/.image/admin-uniapp/08.png) | ![](/.image/admin-uniapp/09.png) | |