Appearance
uni小程序
配置流程
- 将uniapp小程序打包制作成wgt格式的资源包,上传至云端服务器,生成公网可访问的资源包地址。
- 将小程序名称、小程序id、版本编码、wgt资源包地址交给融媒体中心小编,创建客户端内可访问的小程序链接,具体步骤为:进入客户端管理后台目录「/运营/小程序管理」,点击左上方添加按钮进行添加,将前述四项逐一填入,确定添加。
- 点击该条小程序右方操作内「查看链接」即可获取小程序链接,可配置到客户端任意位置。
如何更新
- 将需要更新的uniapp小程序打包制作成wgt格式的资源包,上传至云端服务器,生成公网可访问的资源包地址,或直接对原资源包替换,公网可访问到即可。
- 进入客户端管理后台目录「/运营/小程序管理」,对需要更新的小程序点击右方操作内的编辑按钮进行编辑。小程序ID请保持不变,否则需要重新生成小程序链接,版本编码必须更新,客户端以此来确定是否需要更新小程序,wgt资源包地址只要能访问到即可。
获取用户数据
javascript
uni.sendNativeEvent("event_user_info", {}, (ret) => {
this.userInfo = ret;
});
// {
// code: 1,
// data: {
// accountId: '63906c89630440296b4af6cb',
// login: 1,
// mobile: 1,
// sessionId: '6600d1b437fa3d37a8620a79',
// signature: '5966058120e5e0f20c3b9b35324ffa663b2449f081034536f9d843ddc1d8dc18',
// timestamp: 1711351907186,
// user: {
// id: '63906c89630440296b4af6cb',
// idcard: "",
// "is_face_verify": 0,
// "nick_name": "\U8bfb\U53cb_30\U5440\U5440\U554a\U5440",
// realName: "",
// },
// },
// }
调用登录弹窗
调用之后,未登录的会展示登录弹窗,成功失败都返回相应的返回值,已登录的直接返回登录的相关信息。
javascript
uni.sendNativeEvent("event_show_login", {}, (ret) => {
this.login = ret;
});
// {
// code: 1,
// data: {
// accountId: '63906c89630440296b4af6cb',
// login: 1,
// mobile: 1,
// sessionId: '6600d1b437fa3d37a8620a79',
// signature: '5966058120e5e0f20c3b9b35324ffa663b2449f081034536f9d843ddc1d8dc18',
// timestamp: 1711351907186,
// user: {
// id: '63906c89630440296b4af6cb',
// idcard: "",
// "is_face_verify": 0,
// "nick_name": "\U8bfb\U53cb_30\U5440\U5440\U554a\U5440",
// realName: "",
// },
// },
// }
获取位置信息
javascript
uni.sendNativeEvent("event_get_location", {}, (ret) => {
this.location = ret;
});
// {
// "code": "1",
// "data": {
// "accuracy": "30.0",
// "address": "浙江省杭州市拱墅区体育场路180号靠近浙江日报",
// "city": "杭州市",
// "latitude": "30.270341",
// "lontitude": "120.174588",
// "speed": "0.0",
// "timestamp": "1672128687769"
// "region": "拱墅区",
// "province": "浙江省"
// }
// }
监听事件
监听网络状态、登录状态
javascript
uni.onNativeEventReceive((event, data) => {
if (event == "event_network_change") {
this.event_network_change = data;
}
if (event == "event_login_change") {
this.event_login_change = data;
}
});
// event_network_change:
// 'wifi' | 'mobile' | 'unknow' | 'unavailable'
// event_login_change:
// {
// "code": "1",
// "data" {
// "userStatus": "login" // login-登录成功 logout-登出 unlogin-未登录 Forbid-禁止登录
// }
// }
二维码扫描
扫描二维码或者从相册选取二维码
javascript
uni.sendNativeEvent("event_showScanQr", {
// 参数
// needResult:'0' | '1'
// - '0':默认值;客户端处理扫描结果,回调函数不执行
// - '1':回调函数返回扫描结果如下
needResult: '0'
}, (ret) => {
// {
// "code": "1",
// "data" {
// "needResult": 1,
// "data": "https://www.commind.cn/",
// "scanType": "qrCode" // qrCode 目前是固定该值
// }
// }
});
选择多媒体
只有拍照可选择来源为摄像头。安卓系统选择摄像头后,打开的都是后置摄像头,可在拍照界面选择为前置摄像头
建议优先使用uni官方提供的选择图片方法javascript
uni.sendNativeEvent("event_selectMedia", {
count: 1,// 可选择数量,默认9
type: 'image', // 'video' | 'image',其他则所有类型可选
mediaSource: 1, // type为image时有效,可选择来源 0:相册 1:后置摄像头 2:前置摄像头
}, (ret) => {
// {
// "data": [
// {
// "address": "/private/var/mobile/Containers/Data/Application/C6973847-F006-44AC-AD87-318C3DC31AD6/tmp//1700114491.440688.jpg",
// "mediaType": "jpg",
// "base64": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAM..."
// },
// {
// "address": "/private/var/mobile/Containers/Data/Application/C6973847-F006-44AC-AD87-318C3DC31AD6/tmp//1700114491.483108.jpg",
// "mediaType": "jpg",
// "base64": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAgESAAMAA..."
// }
// ],
// "code": 1
// }
});
胶囊按钮菜单控制
设置右上角...按钮唤醒的菜单中按钮列表
安卓客户端使用这个方法在会有异常问题,因为uni官方提供的安卓端sdk这个功能有缺失,只能等uni官方支持javascript
// 参数
// [{ title: "按钮的标题", iden: 按钮的标识 }]
uni.sendNativeEvent("event_setUniMPMenuItems", [
{ title: '第一个按钮的标题', iden: 1},
{ title: '第二个按钮的标题', iden: 2},
]);
// 监听按钮点击
uni.onNativeEventReceive((event, data) => {
if (event === 'MenuItemAction') {
// data是设置时按钮绑定的iden
console.log(data)
}
)
弹出客户端分享框
javascript
uni.sendNativeEvent("event_openAppShareMenu", {
title: '分享标题',
desc: '分享描述',
link: 'https://vip.com/jcommind/all?sdkDebug=1', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https://preimg.tmuyun.com/assets/20221027/1666862237082_635a4c9d6304407ca1dcf248.jpeg', // 分享图标
onlyImageShare: '0' // 是否为图片分享:1 - 是 0 - 否(默认)
}, (ret) => {
// {
// "code": 1,
// "data": {
// "shareTo": "1" // 1 - 微信 2 - 朋友圈 3 - 钉钉 4 - QQ 5 - 微博 6 - QQ空间
// }
// }
});
设置窗口是否允许关闭
设置右上角关闭按钮是否允许关闭
javascript
uni.sendNativeEvent("event_configBlockClose", {
guard: '1' // '1' - 拦截 '0' - 不拦截
}, (ret) => {
// 当参数guard传入'1'时,点击关闭会回调
});
关闭当前窗口
javascript
uni.sendNativeEvent("event_closeWindow", {})
获取客户端信息
javascript
uni.sendNativeEvent("event_getAppInfo", {
uuid: '0' // '0' - timestamp 和 signature 为空 '1' - 会回传设备唯一编码
}, (ret) => {
// {
// "data": {
// "versionName": "9.2.0", // 客户端显示版本信息 versionName
// "device": "iPhone X", // 设备
// "system": "iOS", // 系统
// "app": "目光资讯", // 客户端名称
// "app_code": "xsb_muguang", // 客户端标识code
// "version": "090200", // 客户端版本信息,versionCode
// "systemVersion": "15.2",
// "networkType": "wifi",
// "uuid": "xxx-xx-xxx" // 设备唯一DeviceId,当uuid = 0,timestamp 和 signature 为空
// "timestamp": "213143333" // 用于签名的时间戳
// "signature": "add-dff0-xxx" // 签名
// },
// "code": "1"
// }
});
添加桌面快捷方式设置的信息
在添加桌面快捷方式时,设置的信息
javascript
uni.sendNativeEvent("event_createShortcut", {
name: '快捷方式名称', // 快捷方式的名称
iconUrl: 'https://preimg.tmuyun.com/assets/207/1666862237082_635a4c9d6304407ca1dcf248.jpeg', // 快捷方式的图标
link: 'https://vip.tmuyun.com/jcommind/all?sdkDebug=1' // 快捷方式打开的链接
}, (ret) => {
// { "data": { "success": "1" }, "code": "1"}
});
跳转(h5、小程序、稿件)
uni小程序之间不支持互相反复跳转,只能从A小程序跳转到B小程序,不能再从B小程序跳回到A小程序,因为A小程序已打开,这是uni小程序官方不支持的操作。javascript
uni.sendNativeEvent("event_navigateTo", {
link: 'https://preapp.tmuyun.com/webFunction/applet?id=20&tenantId=6' // 跳转的链接
}, (ret) => {
// { "data": {}, "code": "1"}
});