1
This commit is contained in:
@@ -65,11 +65,9 @@ npm run dev
|
|||||||
首先需要构建 admin-framework:
|
首先需要构建 admin-framework:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 生产构建(压缩,无 sourcemap)
|
# 在项目根目录执行
|
||||||
|
cd ..
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
# 开发构建(不压缩,有 sourcemap)
|
|
||||||
npm run build:dev
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. 启动示例
|
### 2. 启动示例
|
||||||
@@ -109,16 +107,26 @@ const config = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 初始化框架
|
### 初始化框架(新版本 - 推荐)
|
||||||
```javascript
|
```javascript
|
||||||
framework.install(Vue, {
|
// 引入 Admin Framework
|
||||||
config: config, // 配置对象
|
import AdminFramework from '../../dist/admin-framework.js'
|
||||||
ViewUI: iview, // iView 实例
|
|
||||||
VueRouter: VueRouter, // Vue Router
|
// 引入组件映射表
|
||||||
Vuex: Vuex, // Vuex
|
import componentMap from './router/component-map.js'
|
||||||
createPersistedState: null, // Vuex 持久化插件(可选)
|
|
||||||
componentMap: {} // 自定义组件映射
|
// 创建应用
|
||||||
|
const app = AdminFramework.createApp({
|
||||||
|
title: '我的管理系统',
|
||||||
|
apiUrl: 'http://localhost:9098/admin_api/',
|
||||||
|
componentMap: componentMap,
|
||||||
|
onReady() {
|
||||||
|
console.log('应用已准备就绪!')
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 挂载应用
|
||||||
|
app.$mount('#app')
|
||||||
```
|
```
|
||||||
|
|
||||||
## 内置功能
|
## 内置功能
|
||||||
@@ -146,28 +154,30 @@ framework.install(Vue, {
|
|||||||
### HTTP 请求
|
### HTTP 请求
|
||||||
```javascript
|
```javascript
|
||||||
// GET 请求
|
// GET 请求
|
||||||
framework.http.get('/api/users').then(res => {
|
window.framework.http.get('/api/users').then(res => {
|
||||||
console.log(res.data)
|
console.log(res.data)
|
||||||
})
|
})
|
||||||
|
|
||||||
// POST 请求
|
// POST 请求
|
||||||
framework.http.post('/api/users', {
|
window.framework.http.post('/api/users', {
|
||||||
name: '张三',
|
name: '张三',
|
||||||
age: 25
|
age: 25
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res.data)
|
console.log(res.data)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 在组件中使用
|
// 在 API 文件中使用
|
||||||
this.$http.get('/api/users').then(res => {
|
class UserServer {
|
||||||
console.log(res.data)
|
async getList(params) {
|
||||||
})
|
return await window.framework.http.get('/api/users', params)
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 工具函数
|
### 工具函数
|
||||||
```javascript
|
```javascript
|
||||||
// 使用框架提供的工具函数
|
// 使用框架提供的工具函数
|
||||||
const tools = framework.tools
|
const tools = window.framework.tools
|
||||||
|
|
||||||
// 日期格式化
|
// 日期格式化
|
||||||
tools.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
|
tools.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
|
||||||
@@ -185,7 +195,7 @@ tools.throttle(fn, 500)
|
|||||||
### UI 工具
|
### UI 工具
|
||||||
```javascript
|
```javascript
|
||||||
// 使用 UI 工具
|
// 使用 UI 工具
|
||||||
const uiTool = framework.uiTool
|
const uiTool = window.framework.uiTool
|
||||||
|
|
||||||
// 成功提示
|
// 成功提示
|
||||||
window.framework.uiTool.success('操作成功')
|
window.framework.uiTool.success('操作成功')
|
||||||
|
|||||||
@@ -1,33 +1,24 @@
|
|||||||
import request from '@/libs/http'
|
/**
|
||||||
|
* 业务游戏管理 API
|
||||||
|
*
|
||||||
|
* 使用说明:
|
||||||
|
* 1. 不需要 import http
|
||||||
|
* 2. 直接使用 window.framework.http 调用接口
|
||||||
|
* 3. 所有方法返回 Promise
|
||||||
|
*/
|
||||||
|
|
||||||
export const getList = (params) => {
|
export const getList = (params) => {
|
||||||
return request({
|
return window.framework.http.get('/business/games/page', params)
|
||||||
url: '/business/games/page',
|
|
||||||
method: 'get',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const add = (data) => {
|
export const add = (data) => {
|
||||||
return request({
|
return window.framework.http.post('/business/games/add', data)
|
||||||
url: '/business/games',
|
|
||||||
method: 'post',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const edit = (data) => {
|
export const edit = (data) => {
|
||||||
return request({
|
return window.framework.http.post('/business/games/edit', data)
|
||||||
url: '/business/games',
|
|
||||||
method: 'put',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const del = (params) => {
|
export const del = (params) => {
|
||||||
return request({
|
return window.framework.http.post('/business/games/del', params)
|
||||||
url: '/business/games',
|
|
||||||
method: 'delete',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
export default {
|
export default {
|
||||||
// 获取消息通知列表
|
// 获取消息通知列表
|
||||||
page: (params) => {
|
page: (params) => {
|
||||||
return http.post('/msg_notifications/page', params)
|
return window.framework.http.post('/msg_notifications/page', params)
|
||||||
},
|
},
|
||||||
|
|
||||||
// 新增消息通知
|
// 新增消息通知
|
||||||
|
|||||||
@@ -1,33 +1,24 @@
|
|||||||
import request from '@/libs/http'
|
/**
|
||||||
|
* 系统文件管理 API
|
||||||
|
*
|
||||||
|
* 使用说明:
|
||||||
|
* 1. 不需要 import http
|
||||||
|
* 2. 直接使用 window.framework.http 调用接口
|
||||||
|
* 3. 所有方法返回 Promise
|
||||||
|
*/
|
||||||
|
|
||||||
export const getList = (params) => {
|
export const getList = (params) => {
|
||||||
return request({
|
return window.framework.http.get('/sys_file/page', params)
|
||||||
url: '/sys_file/page',
|
|
||||||
method: 'get',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const add = (data) => {
|
export const add = (data) => {
|
||||||
return request({
|
return window.framework.http.post('/sys_file/add', data)
|
||||||
url: '/sys_file',
|
|
||||||
method: 'post',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const edit = (data) => {
|
export const edit = (data) => {
|
||||||
return request({
|
return window.framework.http.post('/sys_file/edit', data)
|
||||||
url: '/sys_file',
|
|
||||||
method: 'put',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const del = (params) => {
|
export const del = (params) => {
|
||||||
return request({
|
return window.framework.http.post('/sys_file/del', params)
|
||||||
url: '/sys_file',
|
|
||||||
method: 'delete',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,57 +1,41 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 球局统计 API
|
||||||
|
*
|
||||||
|
* 使用说明:
|
||||||
|
* 1. 不需要 import http
|
||||||
|
* 2. 直接使用 window.framework.http 调用接口
|
||||||
|
* 3. 所有方法返回 Promise
|
||||||
|
*/
|
||||||
|
|
||||||
// 获取球局统计列表
|
// 获取球局统计列表
|
||||||
export const getList = (params) => {
|
export const getList = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/game_statistics/list', params)
|
||||||
url: '/admin/game_statistics/list',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取球局统计详情
|
// 获取球局统计详情
|
||||||
export const getDetail = (params) => {
|
export const getDetail = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/game_statistics/detail', params)
|
||||||
url: '/admin/game_statistics/detail',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加球局统计
|
// 添加球局统计
|
||||||
export const add = (params) => {
|
export const add = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/game_statistics/add', params)
|
||||||
url: '/admin/game_statistics/add',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑球局统计
|
// 编辑球局统计
|
||||||
export const edit = (params) => {
|
export const edit = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/game_statistics/edit', params)
|
||||||
url: '/admin/game_statistics/edit',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除球局统计
|
// 删除球局统计
|
||||||
export const del = (params) => {
|
export const del = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/game_statistics/del', params)
|
||||||
url: '/admin/game_statistics/del',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出球局统计
|
// 导出球局统计
|
||||||
export const exportData = (params) => {
|
export const exportData = (params) => {
|
||||||
return http.request({
|
return window.framework.http.fileExport('/admin/game_statistics/export', params)
|
||||||
url: '/admin/game_statistics/export',
|
|
||||||
method: 'post',
|
|
||||||
data: params,
|
|
||||||
responseType: 'blob'
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,66 +1,46 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 营收统计 API
|
||||||
|
*
|
||||||
|
* 使用说明:
|
||||||
|
* 1. 不需要 import http
|
||||||
|
* 2. 直接使用 window.framework.http 调用接口
|
||||||
|
* 3. 所有方法返回 Promise
|
||||||
|
*/
|
||||||
|
|
||||||
// 获取营收统计列表
|
// 获取营收统计列表
|
||||||
export const getList = (params) => {
|
export const getList = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/list', params)
|
||||||
url: '/admin/revenue_statistics/list',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取营收统计详情
|
// 获取营收统计详情
|
||||||
export const getDetail = (params) => {
|
export const getDetail = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/detail', params)
|
||||||
url: '/admin/revenue_statistics/detail',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取营收统计概览
|
// 获取营收统计概览
|
||||||
export const getOverview = (params) => {
|
export const getOverview = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/overview', params)
|
||||||
url: '/admin/revenue_statistics/overview',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加营收统计
|
// 添加营收统计
|
||||||
export const add = (params) => {
|
export const add = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/add', params)
|
||||||
url: '/admin/revenue_statistics/add',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑营收统计
|
// 编辑营收统计
|
||||||
export const edit = (params) => {
|
export const edit = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/edit', params)
|
||||||
url: '/admin/revenue_statistics/edit',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除营收统计
|
// 删除营收统计
|
||||||
export const del = (params) => {
|
export const del = (params) => {
|
||||||
return http.request({
|
return window.framework.http.post('/admin/revenue_statistics/del', params)
|
||||||
url: '/admin/revenue_statistics/del',
|
|
||||||
method: 'post',
|
|
||||||
data: params
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出营收统计
|
// 导出营收统计
|
||||||
export const exportData = (params) => {
|
export const exportData = (params) => {
|
||||||
return http.request({
|
return window.framework.http.fileExport('/admin/revenue_statistics/export', params)
|
||||||
url: '/admin/revenue_statistics/export',
|
|
||||||
method: 'post',
|
|
||||||
data: params,
|
|
||||||
responseType: 'blob'
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// 引入 Admin Framework(框架内部已包含所有依赖和样式)
|
// 引入 Admin Framework(框架内部已包含所有依赖和样式)
|
||||||
import AdminFramework from '../../dist/admin-framework.js'
|
import AdminFramework from '../../dist/admin-framework.js'
|
||||||
|
|
||||||
|
|
||||||
// 引入组件映射表
|
// 引入组件映射表
|
||||||
import componentMap from './router/component-map.js'
|
import componentMap from './router/component-map.js'
|
||||||
|
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ export default {
|
|||||||
},
|
},
|
||||||
exportCsv() {
|
exportCsv() {
|
||||||
ai_messagesServer.exportCsv(this.gridOption.param).then(res => {
|
ai_messagesServer.exportCsv(this.gridOption.param).then(res => {
|
||||||
window.framework.funTool.downloadFile(res, 'AI消息管理.csv');
|
window.framework.tools.downloadFile(res, 'AI消息管理.csv');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ export default {
|
|||||||
},
|
},
|
||||||
exportCsv() {
|
exportCsv() {
|
||||||
game_commentsServer.exportCsv(this.gridOption.param).then(res => {
|
game_commentsServer.exportCsv(this.gridOption.param).then(res => {
|
||||||
window.framework.funTool.downloadFile(res, '球局评论.csv');
|
window.framework.tools.downloadFile(res, '球局评论.csv');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ export default {
|
|||||||
},
|
},
|
||||||
exportCsv() {
|
exportCsv() {
|
||||||
msg_notificationsServer.exportCsv(this.gridOption.param).then(res => {
|
msg_notificationsServer.exportCsv(this.gridOption.param).then(res => {
|
||||||
window.framework.funTool.downloadFile(res, '消息通知.csv');
|
window.framework.tools.downloadFile(res, '消息通知.csv');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ export default {
|
|||||||
},
|
},
|
||||||
exportCsv() {
|
exportCsv() {
|
||||||
ntr_questionsServer.exportCsv(this.gridOption.param).then(res => {
|
ntr_questionsServer.exportCsv(this.gridOption.param).then(res => {
|
||||||
window.framework.funTool.downloadFile(res, '题库管理.csv');
|
window.framework.tools.downloadFile(res, '题库管理.csv');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ export default {
|
|||||||
},
|
},
|
||||||
exportCsv() {
|
exportCsv() {
|
||||||
ntr_recordsServer.exportCsv(this.gridOption.param).then(res => {
|
ntr_recordsServer.exportCsv(this.gridOption.param).then(res => {
|
||||||
window.framework.funTool.downloadFile(res, '测试记录.csv');
|
window.framework.tools.downloadFile(res, '测试记录.csv');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,12 +3,7 @@ import ParentView from './parent-view'
|
|||||||
|
|
||||||
// 导入页面组件
|
// 导入页面组件
|
||||||
import pages from '../views/index'
|
import pages from '../views/index'
|
||||||
const {
|
const {LoginPage,Page401,Page404,Page500} = pages
|
||||||
LoginPage,
|
|
||||||
Page401,
|
|
||||||
Page404,
|
|
||||||
Page500
|
|
||||||
} = pages
|
|
||||||
|
|
||||||
import Tables from './tables'
|
import Tables from './tables'
|
||||||
import UploadSingle from './upload/Single.vue'
|
import UploadSingle from './upload/Single.vue'
|
||||||
@@ -26,8 +21,10 @@ import fieldItem from './tables/fieldItem.vue'
|
|||||||
import FieldRenderer from './tables/fieldRenderer.vue'
|
import FieldRenderer from './tables/fieldRenderer.vue'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 注册全局组件的方法
|
// 注册全局组件的方法
|
||||||
export function registerGlobalComponents(Vue) {
|
const registerGlobalComponents = (Vue) => {
|
||||||
Vue.component('Main', Main)
|
Vue.component('Main', Main)
|
||||||
Vue.component('ParentView', ParentView)
|
Vue.component('ParentView', ParentView)
|
||||||
|
|
||||||
@@ -54,7 +51,7 @@ export function registerGlobalComponents(Vue) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 注册自定义组件的方法
|
// 注册自定义组件的方法
|
||||||
export function registerComponents(Vue, components = {}) {
|
const registerComponents = (Vue, components = {}) => {
|
||||||
Object.keys(components).forEach(name => {
|
Object.keys(components).forEach(name => {
|
||||||
Vue.component(name, components[name])
|
Vue.component(name, components[name])
|
||||||
})
|
})
|
||||||
@@ -65,6 +62,7 @@ export {
|
|||||||
registerComponents
|
registerComponents
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
Main,
|
Main,
|
||||||
ParentView,
|
ParentView,
|
||||||
@@ -83,7 +81,6 @@ export default {
|
|||||||
fieldItem,
|
fieldItem,
|
||||||
FieldRenderer,
|
FieldRenderer,
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import storeModules, { createStore } from './store'
|
|||||||
import { createBaseRoutes, setupRouterGuards, createRouter, getRoutes } from './router'
|
import { createBaseRoutes, setupRouterGuards, createRouter, getRoutes } from './router'
|
||||||
|
|
||||||
|
|
||||||
import components from './components/index'
|
import components ,{ registerGlobalComponents} from './components/index'
|
||||||
import { registerGlobalComponents } from './components/index'
|
|
||||||
import pages from './views/index'
|
import pages from './views/index'
|
||||||
|
|
||||||
const { LoginPage, Page401, Page404, Page500, setupComponentMap } = pages
|
const { LoginPage, Page401, Page404, Page500, setupComponentMap } = pages
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import appModule from './app'
|
|||||||
export function createStore(Vuex, customModules = {}, createPersistedState) {
|
export function createStore(Vuex, customModules = {}, createPersistedState) {
|
||||||
const store = new Vuex.Store({
|
const store = new Vuex.Store({
|
||||||
modules: {
|
modules: {
|
||||||
user: appModule,
|
user: userModule,
|
||||||
app: userModule,
|
app: appModule,
|
||||||
...customModules
|
...customModules
|
||||||
},
|
},
|
||||||
plugins: createPersistedState ? [
|
plugins: createPersistedState ? [
|
||||||
|
|||||||
Reference in New Issue
Block a user