- 01 默认传参
- 1.1 接收原生参数
- 1.2 接收监听位置
- 02 传参介绍
- 2.1
EventKey
可传参数 - 2.2 小程序传值给原生
- 2.3 原生传值给小程序
- 2.3.1 接收
- 2.3.2 解析
- 03 传参示例
- 3.1 刷新 Token - refresh_token
- 触发原生
- 接收的参数
- 3.2 选择人员 - selected_person
- 触发原生
- 接收的参数
- 3.3 选择部门 - selected_depart
- 触发原生
- 接收的参数
- 3.4 选择名片 - selected_card
- 触发原生
- 接收的参数
- 3.5 选择园区 - selected_park
- 触发原生
- 接收的参数
- 3.6 人脸采集 - face_acquisition
- 触发原生
- 接收的参数
01 默认传参
使用凌云移动端打开微应用时,app 默认会传递一些参数,并缓存在微应用中。
1.1 接收原生参数
this.$p.tool.get(this.$p.sp.entName) //entName:参数名
this.$p.tool.get("ent_name") //"ent_name":值
this.$p.sp
参数:
entName
:参数名
ent_name
:值
参数名 | 类型 | 值 | 描述 |
---|---|---|---|
mobile |
String |
mobile |
凌云移动端 android 、ios |
token |
String |
token |
用户唯一值(带前缀的) |
tokenValue |
String |
token_value |
唯一值(不带前缀的) |
refreshToken |
String |
refresh_token |
刷新token |
basePath |
String |
basePath |
ip 地址+端口 |
userName |
String |
user_name |
用户名 |
phone |
String |
phone_number |
手机号 |
userId |
String |
user_id |
用户 Id |
staffId |
String |
staff_id |
员工id |
entId |
String |
ent_id |
企业 Id |
entName |
String |
ent_name |
企业名称 |
parkName |
String |
park_name |
园区名称 |
parkId |
String |
park_id |
园区 Id |
deviceCode |
String |
device_code |
设备唯一值 |
walletId |
String |
wallet_id |
钱包ID |
walletName |
String |
wallet_name |
钱包用户名 |
suiteCode |
String |
suiteCode |
套件标识,不建议使用,建议开发者后台获取,然后写死标识 |
//_this.$flyrise.save 为封装的 uni.setStorageSync(OBJECT) 异步缓存接口
static save(_this) {
try {
var args = JSON.parse(plus.runtime.arguments);
console.log('---->>>app-runtime.arguments: ' + plus.runtime.arguments);
var type = args && args.userName;
console.log(JSON.stringify(args))
_this.$flyrise.save("token", args.token)
_this.$flyrise.save("userName", args.userName)
_this.$flyrise.save("userId", args.userId)
_this.$flyrise.save("entId", args.entId)
_this.$flyrise.save("selectedUserId", args.selectedUserId)
} catch (e) {
console.log('---->>>app-Shortcut-exception: ' + e);
}
}
1.2 接收监听位置
监听位置:App.vue>>>onLaunch()
onLaunch: function() {
this.$flyrise.log('-->>>app.vue:--App Launch');
this.save(); // 小程序检测启动参数
}
02 传参介绍
2.1 EventKey
可传参数
字段 | 返回类型 | 介绍 | 使用 |
---|---|---|---|
refresh_token |
json |
刷新Token 事件 |
监听、触发 |
selected_depart |
json |
选择部门事件(单选、多选) | 监听、触发 |
selected_person |
json |
选择人员事件(单选、多选) | 监听、触发 |
selected_park |
json |
选择园区事件 | 监听、触发 |
selected_card |
json |
选择名片事件 | 监听、触发 |
face_acquisition |
json |
人脸采集 | 监听、触发 |
mpOpenPay |
json |
支付订单:地址 | 监听、触发 |
mp_micro_refresh_view |
json |
刷新当前小程序界面 | 触发 |
mp_micro_finish |
json |
小程序回调关闭微应用 | 触发 |
mp_micro_open_applet |
json |
小程序多开:地址 | 监听、触发 |
2.2 小程序传值给原生
//小程序js层发送事件给宿主
uni.sendNativeEvent("aa",{}, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
//JAVA监听小程序发来的事件 通过callback返回参数
DCUniMPSDK.getInstance().setOnUniMPEventCallBack(new DCUniMPSDK.IOnUniMPEventCallBack() {
@Override
public void onUniMPEventReceive(String event, Object data, DCUniMPJSCallback callback) {
callback.invoke( "测试数据");
}
});
2.3 原生传值给小程序
2.3.1 接收
//JAVA原生层
JSONObject data = new JSONObject();
data.put("sj", "点击了关于");
DCUniMPSDK.getInstance().sendUniMPEvent("gy", data);
//uni小程序JS代码 监听宿主触发给小程序的事件
uni.onNativeEventReceive(function(event, data){
console.log("onNativeEventReceive----="+event);
});
2.3.2 解析
//uni.onNativeEventReceive(function(event, data)
const result = JSON.stringify(data, null, '\t')
const json = JSON.parse(result)
const userData = Array.isArray(json.items) ? json.items[0] : json.items.values[0]
03 传参示例
3.1 刷新 Token - refresh_token
刷新比较特殊,需要用到同步请求,所以接收参数只能用发送的回调。
触发原生
uni.sendNativeEvent("refresh_token",{}, function(e){
//刷新token在这里监听回调
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
{
"isSuccess":true,
"token":"bearer 475a2db1-00d4-4058-a8d2-77d5e33839dd"
}
3.2 选择人员 - selected_person
触发原生
//单选-data:{}
//多选-data:{multi: true}
uni.sendNativeEvent("selected_person",data, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
//使用 onNativeEventReceive 接收原生回调
{
"items": [
{
"status": "1",
"email": "",
"enterpriseName": "",
"id": "1470285719105183744",
"isSelected": false,
"hasChild": false,
"phone": "13798964854",
"pinyin": "ys",
"infoType": "1",
"position": "",
"itemType": 1003,
"tagList": [],
"userId": "1468119346922139648",
"type": 2002,
"sex": "2",
"isFirst": false,
"name": "余松",
"departmentId": "1467776574189879296",
"hireDate": "2021-12-12T16:00:00.000+0000",
"note": "",
"departmentName": ""
}
]
}
3.3 选择部门 - selected_depart
触发原生
//单选-data:{}
//多选-data:{multi: true}
uni.sendNativeEvent("selected_depart",data, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
//使用 onNativeEventReceive 接收原生回调
{
"name":"花海",
"id":"1319175858820354048",
"departmentName":"",
"departmentId":"1318361205831766016",
"enterpriseName":"",
"position":"",
"phone":"13311902104",
"email":""
}
3.4 选择名片 - selected_card
触发原生
uni.sendNativeEvent("selected_card",{}, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
//使用 onNativeEventReceive 接收原生回调
{
"name":"姚工",
"company":"广东飞企互联科技股份有限公司",
"department":"云平台创新开发部",
"title":"部门经理",
"addr":"广东省珠海市软件园路1号南方软件园B1栋5楼",
"tel_cell":"18933305187",
"tel_work":"07566866800",
"email":"ylz@flyrise.cn"
}
3.5 选择园区 - selected_park
触发原生
uni.sendNativeEvent("selected_park",{}, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
//使用 onNativeEventReceive 接收原生回调
{
"parkCode":"0mtyithe",
"parkEntId":"1309331342667943936",
"parkId":"1309331342667943937",
"parkName":"开发测试园区",
"parkAddress":"广东省珠海市香洲区南方软件园B6"
}
3.6 人脸采集 - face_acquisition
因为需要上传图片,所以需要传给原生接收图片的地址,以及参数
触发原生
let data = {
url: 'http://upload/img',
params: { //参数自定义,提交图片时,会带入参数
"file": "img",
"attId": "010102"
}
}
uni.sendNativeEvent("face_acquisition",data, function(e){
console.log("sendNativeEvent-----------回调"+JSON.stringify(e));
});
接收的参数
//使用 onNativeEventReceive 接收原生回调
{
"parkCode":"0mtyithe",
"parkEntId":"1309331342667943936",
"parkId":"1309331342667943937",
"parkName":"开发测试园区",
"parkAddress":"广东省珠海市香洲区南方软件园B6"
}
文档更新时间: 2022-07-18 11:03 作者:陈冕