API事件处理
一、本地授权
注意:请先确认本地是否安装【密码加密控件】
点击下载 密码加密控件
1、配置授权规则
【集中运营】对需要授权的交易配置授权规则>【集中运营】对需要授权的交易配置授权规则 @何计杭
2、开发调用
try {
// 接口参数同this.request
let r = await fox.event({
vm: this,
app: backend.oca,
path: 'api/adminSmUser/queryUser',
data: {
// 【集中运营】 授权规则要素配置
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
...
// 交易参数
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
...
},
})
console.log('最终结果', r)
fox.custom.closePage(this)
context.resolve()
} catch (e) {
console.error('最终结果', e)
context.reject()
}
注意:
- 1、fox-commmonts.js 是否是连接【sit】/【uat】环境的最新版
- 2、授权规则是否已在【集中运营】配制过
- 3、不允许使用 【admin】 账号、机构号为【999000】的柜员号测试
- 4、确认菜单里【菜单代码】是否配制,接口请求头【tradeHead】里】【tradeCode】是否与菜单码(交易码)相同
- 5、接口是否返回 事件信息字段【ruleEvents】
- 6、fox.event({vm:this}) 函数是否 传递 vm 字段
3、授权界面
1. 密码授权
2. 指纹授权
4、授权成功/失败 返回信息
authUserIdArray
返回本地授权人员信息
二、集中授权
1、配置授权规则、授权要素
【集中运营】对需要授权的交易配置授权规则>【集中运营】对需要授权的交易配置授权规则、授权要素 @何计杭
2、开发调用
try {
let r = await fox.event({
vm: this,
app: backend.oca,
path: 'api/message/TemplateAlter',
data: {
// -- 具体交易具体填写类型 固定字段 交易选择 --
//交易场景 1-集中授权,3-集中复核,4-企业互联集中授权
transModel: "4",
// 【集中运营】 授权规则要素配置
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
...
// 交易参数
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
...
},
"tradeHead": {
// -- 具体交易具体填写类型 固定字段 交易选择 --
// 交易类型 01 非账务流水 99 其他
"tradeType": "01",
// 交易类别 01 单笔交易 02 组合交易
"tradeCls": "01",
// 交易方式 1 无纸 2 有纸
"tradeMode": "0",
// 打印场景
"printScene": {
// 该交易是否支持补打 0 不支持 1 支持
"isReprint": "0"
},
// 【静态授权(集中运营)】 授权要点 交易传(一级结构)
"authInfo": {
// -- 具体交易具体填写类型 --
"authPoints": {
// 集中授权 授权要素
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
xxx: 'xxxx',
...
}
},
}
})
console.log('最终结果', r)
fox.custom.closePage(this)
context.resolve()
} catch (e) {
console.error('最终结果', e)
context.reject()
}
注意:
- 1、fox-commmonts.js 是否是连接【sit】/【uat】环境的最新版
- 2、授权规则是否已在【集中运营】配制过
- 3、不允许使用 【admin】 账号、机构号为【999000】的柜员号测试
- 4、确认菜单里【菜单代码】是否配制,接口请求头【tradeHead】里】【tradeCode】是否与菜单码(交易码)相同
- 5、接口是否返回 事件信息字段【ruleEvents】
- 6、fox.event({vm:this}) 函数是否 传递 vm 字段
- 7、交易场景【transModel】是否传递
- 8、【tradeHead】里 【tradeType】、【tradeCls】、【tradeMode】、【printScene】、【tradeCode】、【authPoints】是否传递
3、授权界面(影像功能集成中,直接点击提交按钮)
三、授权不通排查思路
http://158.220.199.49:8081/download/FoxIDE/_fox_commons/
最新版【fox-commonts.js 】有需要可自行下载。
1、fox-commmonts.js 是否是连接【sit】/【uat】环境的最新版
2、授权规则是否已在【集中运营】配制过
3、不允许使用 【admin】 账号、机构号为【999000】的柜员号测试
4、确认菜单里【菜单代码】是否配制,接口请求头【tradeHead】里】【tradeCode】是否与菜单码(交易码)相同
5、接口是否返回 事件信息字段【ruleEvents】
6、fox.event({vm:this}) 函数是否 传递 vm 字段
四、授权调试Demo
<template>
<!--page每个页面的root元素-->
<fox-page>
<fox-content>
<fox-button @click="test" type="primary">事件111</fox-button>
<fox-button @click="onExit" type="primary">关闭</fox-button>
</fox-content>
</fox-page>
</template>
<script>
import {log} from '@/page/trtc/utils'
import {judgeCommitAuth, addAuthBookVoucher, tradeMsgbox} from "@/api/request/trade";
import {TradeMixin} from '@/utils/commons/controller/trade-mixin'
export default {
name: 'test',
// 混入
// mixins: [TradeMixin],
// 数据
data: function () {
return {
authorizeParams: {},
// 替换 fx_tradeInfo
//打印场景,name打印场景名称,title打印标题,values存款要素信息,type 1-凭证,2-报表,3-存折,4-
eventTradeInfo: {
tradeCode: "", //交易代码 100294 1072 账号 6214372600000040228
authChkSeal: "0", //是否验印 0否 1是,
/** 用户信息 **/
userId: "", //用户id
userName: "", //用户名
orgId: "", //机构号
orgName: "", //机构名
},
// 替换 fx_trade_config_head
eventTradeConfigHead: {}, //接口获取的参数
}
},
mounted() {
console.log(this.$route)
},
// 方法
methods: {
test() {
console.log('触发了事件------------')
this.fox_submit()
},
onExit() {
fox.custom.closePage(this)
},
},
fox_flow() {
return {
/**
* 界面渲染后,更改数据会触发钩子函数
* @param session
* @param context
*/
async mounted(session, context) {
console.log('session, context', session, context)
context.resolve()
},
/**
* 销毁处理
*/
beforeDestroy(session) {
console.log('session', session)
},
/**
* 消息
* @param type
* @param data
*/
onMessage(type, data) {
console.log(type, data)
},
/**
* 设置检查条件
* @param context
*/
setCheckConditions(context) {
console.log(context)
// 触发check函数调用(必须执行context.resolve或context.reject)
context.resolve()
},
/**
* 提交前处理
* @param context
* @param checkResult
*/
preSubmit(context, checkResult) {
console.info('pre submit流程', context, checkResult)
// 触发submit函数调用(必须执行context.resolve或context.reject)
context.resolve()
},
/**
* 提交处理
* @param context
* @param args
*/
async submit(context) {
console.info('submit流程')
try {
let r = await fox.event({
vm: this,
// app: backend.oca,
// path: 'api/adminSmUser/queryUser',
path: '/ifs-eiubm-pm-starter/api/message/TemplateAlter',
data: {
//交易场景 1-集中授权,3-集中复核,4-企业互联集中授权
transModel: "4",
// 测试账号 8910521 柜员账号
// 授权账号 8910020
// local 静态+本地 11级
// remote 静态+远程 11级(影像目录有但随意)
// all 静态+本地+远程 11级(影像目录有但随意)
templateContent: 'local',
// 交易信息
clickMsgType: "1",
busiId: "c7d953a60a0b4365b3f15b174c35e0ff",
frontDisType: "1",
channelType: "APP",
templateCode: "AQHLIIIIIII44445",
templateId: "EXXXNASTEST00001001",
title: "对账单邮件发送",
isSync: "1",
touchSystem: "b15d4b3b147141b0bb1ede06b70e04a1",
labelId: "0",
displayContent: "亲情钱包确认提醒",
clickActType: "1",
draft: 1,
appId: "78563531c3134032829b85e3ae1b2e55",
appPushType: "0",
rejectId: "0",
clickActBody: "弹窗动作值",
updateTime: 1657614238000,
priority: 5,
isDisplay: "0",
clickMsgBody: "消息盒子动作值",
versions: "001",
templateName: "对账单邮件发送1",
createTime: 1657614238000,
sendType: "1",
auditStatus: "1",
createUser: "9990053",
applyId: "0",
emailId: "1",
pageSize: 10,
pageIndex: 0
},
"tradeHead": {
// -- 具体交易具体填写类型 固定字段 交易选择 --
// 交易类型 01 非账务流水 99 其他
"tradeType": "01",
// 交易类别 01 单笔交易 02 组合交易
"tradeCls": "01",
// 交易方式 1 无纸 2 有纸
"tradeMode": "0",
// 打印场景
"printScene": {
// 该交易是否支持补打 0 不支持 1 支持
"isReprint": "0"
},
// 【静态授权(集中运营)】 授权要点 交易传(一级结构)
"authInfo": {
"authPoints": {
"appPushType": "0",
"rejectId": "0",
"clickActBody": "",
"updateTime": 1657614238000,
"priority": 5,
"isDisplay": "2",
"clickMsgBody": ""
}
},
// -- 系统自动获取 --
tradeCode: "D00001", // 交易码
// tradeName: "授权测试", // 交易名称
// transName: "授权测试", // 交易名称
// workDate: "2022-07-25", // 时间
// orgId: "891000", // 柜员机构号
// userId: "8910521", // 柜员id
// routePath: "fox-test/manager/index",
}
})
console.log('最终结果', r)
fox.custom.closePage(this)
context.resolve()
} catch (e) {
console.error('最终结果', e)
context.reject()
}
// 触发post submit函数调用(必须执行context.resolve或context.reject)
},
/**
* 提交后处理
* @param context
* @param params
*/
postSubmit(context) {
console.log('post submit流程', context)
console.info('post submit流程')
}
,
/**
* 提交取消处理
* @param context
* @param args
*/
cancelSubmit(context, error) {
console.info(JSON.stringify(error))
}
,
}
}
,
}
</script>
<style scoped>
</style>