前端公共方法
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
page.context.getUserInfo() | 获取用户信息 | {} | |
page.context.getRefByCode() | 通过refCode获取子组件的页面模型的信息 | refCode | {} |
page.context.getContextPage() | 获取父页面的页面模型的信息 | {} |
# 示例
# 获取用户信息
//页面模型 调用获取
let {page} = CommonPage()
let userInfo=page.context.getUserInfo()
1
2
3
4
5
2
3
4
5
# 父子界面调用(通过框架)
<template>
<div>我是父亲</div>
<el-button @click="getChildren">调用儿子方法</el-button>
<subPage :page="page" refCode="childPage"></subPage>
</template>
<script>
import subPage from './subPage.vue'
let {page} = CommonPage()
function getChildren(){
let chidPage = page.context.getRefByCode("childPage");
childPage.childFun()
}
function parentFun(){
alert('我是父亲的方法')
}
page.parentFun=parentFun
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//子页面 subPage
<template>
<div>我是儿子</div>
<el-button @click="getParent">调用父亲的方法</el-button>
</template>
<script>
let {page} = CommonPage()
function getParent(){
let parent = page.context.getContextPage()
parent.parentFun()
}
function childFun(){
alert('我是儿子的的方法')
}
page.childFun=childFun
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 前后端调用接口的方法示例
# post调用
# 前端示例
import {TgHttp} from "@coreHttp";
async function testPost(){
let request=new TgHttp();
request.entity.queryKey = page.data.entity.queryKey;
let res = await request.build("http:xxxx/api/save").post();
if (res.success) {
//后台返回的数据对象
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 后端示例
@ApiOperation("")
@EciLog(title = "", businessType = BusinessType.INSERT)
@PostMapping("/save")
public ResponseMsg save(@RequestBody SysCacheHelpEntity entity){
return ResponseMsgUtil.success(10001,sysCacheHelpService.save(entity));
}
1
2
3
4
5
6
2
3
4
5
6
# get调用
# 前端示例
import {TgHttp} from "@coreHttp";
async function testPost(){
let request = new TgHttp();
let res = await request.build(apis.sysDataHelp.clear).get()
if (res.success) {
tg.msg.success(res.message)
}
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 后端示例
@ApiOperation("")
@EciLog(title = "", businessType = BusinessType.SELECT)
@GetMapping("/clear")
public ResponseMsg clear(){
//service 业务层调用
return ResponseMsgUtil.success(10001);
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# download调用
# 前端示例
import {TgHttp} from "@coreHttp";
async function testPost(){
let filename='下载文件.xlsx'
let request = new TgHttp();
request.entity.queryKey = keyValue
await request.build(apis.sysDataHelp.download).download(filename)
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 后端示例
@ApiOperation("基础参数维护:查询列表")
@EciLog(title = "基础参数维护:查询列表", businessType = BusinessType.SELECT)
@PostMapping("/download")
public ResponseMsg download(@RequestBody DataHelpEntity entity){
dataHelpService.download(entity);
return ResponseMsgUtil.success(10001);
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 上传调用
# 前端示例
import {TgHttp} from "@coreHttp";
async function testPost(){
//上传文件1
let picture = null
if (page.data.entity.picList.length > 0) {
picture = page.data.entity.picList[0]
}
//上传文件2
let file = null
if (page.data.entity.fileList.length > 0) {
file = page.data.entity.fileList[0]
}
const request = new TgHttp()
if (page.data.isAdd) {
request.businessType = "INSERT"
} else {
request.businessType = "UPDATE"
}
request.entity = page.data.entity
let res = await request
.build(apis.eciNoticeTypeAttach.saveFile)
.addFile('file', file)
.addFile('picture', picture)
.upload()
if (res.data.success) {
//后端返回的数据对象
} else {
//后端报错
}
}
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
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
# 后端示例
@ApiOperation(":保存上传文件")
@EciLog(title = ":保存上传文件", businessType = BusinessType.INSERT)
@PostMapping(value = "/saveFile")
public ResponseMsg saveFile(EciNoticeTypeAttachEntity entity) {
String data = entity.getEntity();
MultipartFile file = entity.getFile();
MultipartFile picture = entity.getPicture();
EciNoticeTypeAttachEntity newEntity = EciJsonUtils.parseObject(data, EciNoticeTypeAttachEntity.class);
EciNoticeTypeAttachEntity eciNoticeTypeAttachEntity = eciNoticeTypeAttachService.saveFile(businessType, newEntity, file, picture);
return ResponseMsgUtil.success(10001, eciNoticeTypeAttachEntity);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# post调用
# 设置超时时间,单位是毫秒
在build的时候,添加timeout,默认是30000毫秒
import {TgHttp} from "@coreHttp";
async function testPost(){
let request=new TgHttp();
request.entity.queryKey = page.data.entity.queryKey;
let res = await request.build("http:xxxx/api/save",{timeout:500000}).post();
if (res.success) {
//后台返回的数据对象
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
上次更新: 2024/6/18 17:04:37