├── .gitignore
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
├── favicon.ico
└── index.html
├── src
├── App.vue
├── assets
│ ├── logo.png
│ ├── weapon1.png
│ └── weapon2.png
├── components
│ └── HelloWorld.vue
├── main.js
├── plugins
│ ├── axios.js
│ └── element.js
├── router
│ └── index.js
├── store
│ └── index.js
└── views
│ ├── About.vue
│ ├── ErrorPage.vue
│ ├── Help.vue
│ ├── Home.vue
│ ├── Index.vue
│ ├── Jewelry.vue
│ └── Weapon.vue
└── vue.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | pnpm-debug.log*
14 |
15 | # Editor directories and files
16 | .idea
17 | .vscode
18 | *.suo
19 | *.ntvs*
20 | *.njsproj
21 | *.sln
22 | *.sw?
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 冒险岛卷轴组合计算网站前端
2 |
3 | ##使用到的技术
4 | ### 前端
5 | 1. Vue;
6 | 2. Element UI。
7 | ### 后端
8 | 1. Spring Boot;
9 | 2. Redis做集群部署;
10 | 3. RabbitMQ将卷轴全选时的长时间操作同步转异步处理;
11 | 4. MyBatis数据持久化;
12 | 5. MySQL数据库;
13 | 6. Dubbo + Zookeeper实现RPC调度和服务拆分;
14 | 7. 基于Docker容器部署;
15 | 8. Nginx负载均衡。
16 |
17 | ##网站
18 | http://175.24.121.53:8080/mxd/
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "scroll-vue",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build"
8 | },
9 | "dependencies": {
10 | "core-js": "^3.6.5",
11 | "element-ui": "^2.4.5",
12 | "vue": "^2.6.11",
13 | "vue-router": "^3.2.0",
14 | "vuex": "^3.4.0"
15 | },
16 | "devDependencies": {
17 | "@vue/cli-plugin-babel": "~4.4.0",
18 | "@vue/cli-plugin-router": "~4.4.0",
19 | "@vue/cli-plugin-vuex": "~4.4.0",
20 | "@vue/cli-service": "~4.4.0",
21 | "axios": "^0.18.0",
22 | "vue-cli-plugin-axios": "0.0.4",
23 | "vue-cli-plugin-element": "^1.0.1",
24 | "vue-template-compiler": "^2.6.11"
25 | },
26 | "browserslist": [
27 | "> 1%",
28 | "last 2 versions",
29 | "not dead"
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fubicheng208/mxd-scroll-V2-vue/939804ebefb3c412e46fae29cd5630e551b3a50e/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{item.name}}
8 |
9 | {{item2.name}}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
33 |
34 |
37 |
38 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fubicheng208/mxd-scroll-V2-vue/939804ebefb3c412e46fae29cd5630e551b3a50e/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/weapon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fubicheng208/mxd-scroll-V2-vue/939804ebefb3c412e46fae29cd5630e551b3a50e/src/assets/weapon1.png
--------------------------------------------------------------------------------
/src/assets/weapon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fubicheng208/mxd-scroll-V2-vue/939804ebefb3c412e46fae29cd5630e551b3a50e/src/assets/weapon2.png
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation.
8 |
9 |
Installed CLI Plugins
10 |
15 |
Essential Links
16 |
23 |
Ecosystem
24 |
31 |
32 |
33 |
34 |
42 |
43 |
44 |
60 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import './plugins/axios'
3 | import App from './App.vue'
4 | import router from './router'
5 | import store from './store'
6 | import './plugins/element.js'
7 |
8 | Vue.config.productionTip = false
9 |
10 | new Vue({
11 | router,
12 | store,
13 | render: h => h(App)
14 | }).$mount('#app')
15 |
--------------------------------------------------------------------------------
/src/plugins/axios.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | import Vue from 'vue';
4 | import axios from "axios";
5 |
6 | // Full config: https://github.com/axios/axios#request-config
7 | // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
8 | // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
9 | // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
10 |
11 | let config = {
12 | // baseURL: process.env.baseURL || process.env.apiUrl || ""
13 | // timeout: 60 * 1000, // Timeout
14 | // withCredentials: true, // Check cross-site Access-Control
15 | };
16 |
17 | const _axios = axios.create(config);
18 |
19 | _axios.interceptors.request.use(
20 | function(config) {
21 | // Do something before request is sent
22 | return config;
23 | },
24 | function(error) {
25 | // Do something with request error
26 | return Promise.reject(error);
27 | }
28 | );
29 |
30 | // Add a response interceptor
31 | _axios.interceptors.response.use(
32 | function(response) {
33 | // Do something with response data
34 | return response;
35 | },
36 | function(error) {
37 | // Do something with response error
38 | return Promise.reject(error);
39 | }
40 | );
41 |
42 | Plugin.install = function(Vue, options) {
43 | Vue.axios = _axios;
44 | window.axios = _axios;
45 | Object.defineProperties(Vue.prototype, {
46 | axios: {
47 | get() {
48 | return _axios;
49 | }
50 | },
51 | $axios: {
52 | get() {
53 | return _axios;
54 | }
55 | },
56 | });
57 | };
58 |
59 | Vue.use(Plugin)
60 |
61 | export default Plugin;
62 |
--------------------------------------------------------------------------------
/src/plugins/element.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Element from 'element-ui'
3 | import 'element-ui/lib/theme-chalk/index.css'
4 |
5 | Vue.use(Element)
6 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import Home from '../views/Home.vue'
4 | import Weapon from "../views/Weapon";
5 | import Jewelry from "../views/Jewelry";
6 | import ErrorPage from "../views/ErrorPage";
7 | import Index from "../views/Index";
8 | import Help from "../views/Help"
9 |
10 | Vue.use(VueRouter)
11 |
12 | const routes = [
13 | {
14 | show: true,
15 | path: '/',
16 | name: '卷轴计算',
17 | component: Index,
18 | redirect: "/weapon",
19 | children: [
20 | {
21 | path: "/weapon",
22 | name: "武器卷轴计算",
23 | component: Weapon
24 | },
25 | {
26 | path: "/jewelry",
27 | name: "饰品卷轴计算",
28 | component: Jewelry
29 | }
30 | ]
31 | },
32 | {
33 | show: true,
34 | path: '/other',
35 | name: '其他',
36 | component: Index,
37 | redirect: "/help",
38 | children: [
39 | {
40 | path: "/help",
41 | name: "帮助及示例",
42 | component: Help
43 | }
44 | ]
45 | }
46 | ]
47 |
48 | const router = new VueRouter({
49 | mode: 'history',
50 | base: process.env.BASE_URL,
51 | routes
52 | })
53 |
54 | export default router
55 |
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 | },
9 | mutations: {
10 | },
11 | actions: {
12 | },
13 | modules: {
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/src/views/About.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is an about page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/views/ErrorPage.vue:
--------------------------------------------------------------------------------
1 |
2 | 错误
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/src/views/Help.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
示例2
9 |
10 |
11 | 加载中...
12 |
13 |
14 |
15 |
16 |
17 |
18 |
28 |
29 |
--------------------------------------------------------------------------------
/src/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 |
7 |
8 |
19 |
--------------------------------------------------------------------------------
/src/views/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/src/views/Jewelry.vue:
--------------------------------------------------------------------------------
1 |
2 | 敬请期待
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/src/views/Weapon.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | 计算可能卷轴组合
54 | 重置
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | publicPath: process.env.NODE_ENV === 'production'
3 | ? '/mxd/'
4 | : '/'
5 | }
--------------------------------------------------------------------------------