|
@@ -0,0 +1,300 @@
|
|
|
+// 引用方式
|
|
|
+var jpushModule = uni.requireNativePlugin("JG-JPush");
|
|
|
+console.log('【sk】【引用方式】【jpushModule】【requireNativePlugin】')
|
|
|
+
|
|
|
+// 开启 debug 模式,默认是关闭
|
|
|
+function openDebug() {
|
|
|
+ jpushModule.setLoggerEnable(true);
|
|
|
+}
|
|
|
+
|
|
|
+// 关闭 debug 模式,默认是关闭
|
|
|
+function closeDebug() {
|
|
|
+ jpushModule.setLoggerEnable(false);
|
|
|
+}
|
|
|
+
|
|
|
+function isNotificationEnabled(skBack){
|
|
|
+ jpushModule.isNotificationEnabled(result=>{//number
|
|
|
+ console.log('检查当前应用的通知开关是否开启 =>',result)
|
|
|
+ skBack(result.code)
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function requestLocationAuthorization(skBack){
|
|
|
+ jpushModule.requestLocationAuthorization(result=>{//number
|
|
|
+ console.log('定位权限',result)
|
|
|
+ skBack(result)
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function requestNotificationAuthorization(skBack){
|
|
|
+ jpushModule.requestNotificationAuthorization(result=>{//number
|
|
|
+ console.log('是否打开通知权限',result)
|
|
|
+ skBack(result)
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+// 获取 RegistrationID,只有当应用程序成功注册到 JPush 的服务器时才返回对应的值,否则返回空字符串
|
|
|
+function getRegistrationID(skBack) {
|
|
|
+ jpushModule.getRegistrationID(result=>{
|
|
|
+ // code number 状态码 0 - 成功, 1011 - iOS模拟器调用会报此错误
|
|
|
+ // registerID string 返回的 registrationID
|
|
|
+ console.log('【sk】获取 RegistrationID=>',result)
|
|
|
+ skBack(result.registerID)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 跳转至系统设置页面,0 - 成功 1 - 失败
|
|
|
+function openSettingsForNotification() {
|
|
|
+ jpushModule.openSettingsForNotification((result)=>{
|
|
|
+ // code number 0 - 成功 1 - 失败
|
|
|
+ console.log('【sk】跳转至系统设置页面result=>',result.code)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 初始化SDK iOS 说明:如果在mainfest.json里 将JPUSH_DEFAULTINITJPUSH_IOS值配置为"true",插件内部将默认初始化JPush,用户则不需要调用该初始化方法。
|
|
|
+function initJPushService() {
|
|
|
+ console.log(jpushModule)
|
|
|
+ jpushModule.initJPushService()
|
|
|
+}
|
|
|
+
|
|
|
+// 连接状态回调,true - 已连接, false - 未连接
|
|
|
+function addConnectEventListener(skBack) {
|
|
|
+ jpushModule.addConnectEventListener(result=>{
|
|
|
+ // connectEnable boolean true - 已连接, false - 未连接
|
|
|
+ console.log('【sk】连接状态回调=>',result.connectEnable)
|
|
|
+ skBack(result.connectEnable);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 通知事件回调
|
|
|
+function addNotificationListener(skBack) {
|
|
|
+ jpushModule.addNotificationListener(result=>{
|
|
|
+ // messageID string 唯一标识通知消息的 ID
|
|
|
+ // title string 对应 Portal 推送通知界面上的“通知标题”字段
|
|
|
+ // content string 对应 Portal 推送通知界面上的“通知内容”字段
|
|
|
+ // badge string 对应 Portal 推送通知界面上的可选设置里面的“badge”字段 (ios only)
|
|
|
+ // ring string 推送通知界面上的可选设置里面的“sound”字段 (ios only)
|
|
|
+ // extras dictionary 对应 Portal 推送消息界面上的“可选设置”里的附加字段
|
|
|
+ // iOS dictionary 对应原生返回的通知内容,如需要更多字段请查看该字段内容
|
|
|
+ // android dictionary 对应原生返回的通知内容,如需要更多字段请查看该字段内容
|
|
|
+ // notificationEventType string 分为notificationArrived和notificationOpened两种
|
|
|
+ console.log('【sk】通知事件回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 自定义消息事件回调
|
|
|
+function addCustomMessageListener(skBack) {
|
|
|
+ jpushModule.addCustomMessageListener(result=>{
|
|
|
+ // messageID string 唯一标识通知消息的 ID
|
|
|
+ // content string 对应 Portal 推送通知界面上的“通知内容”字段
|
|
|
+ // extras dictionary 对应 Portal 推送消息界面上的“可选设置”里的附加字段
|
|
|
+ console.log('【sk】自定义消息事件回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 应用内消息回调
|
|
|
+function addInMessageListener(skBack) {
|
|
|
+ jpushModule.addInMessageListener(result=>{
|
|
|
+ // eventType string show - 应用内消息展示 disappear - 应用内消息已消失 click - 应用内消息点击
|
|
|
+ // messageType string 消息类型, eventType 不为 disappear时返回, inMessageNoti - 通知类型的inMessage
|
|
|
+ // content dictionary 应用内消息内容, eventType 不为 disappear 时返回
|
|
|
+ console.log('【sk】应用内消息回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 本地通知事件回调
|
|
|
+function addLocalNotificationListener(skBack) {
|
|
|
+ jpushModule.addLocalNotificationListener(result=>{
|
|
|
+ // messageID string 唯一标识通知消息的ID
|
|
|
+ // title string 对应“通知标题”字段
|
|
|
+ // content string 对应“通知内容”字段
|
|
|
+ // extras dictionary 对应“附加内容”字段
|
|
|
+ console.log('【sk】本地通知事件回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 添加一个本地通知
|
|
|
+function addLocalNotification(e) {
|
|
|
+ console.log('添加一个本地通知',e)
|
|
|
+ jpushModule.addLocalNotification({
|
|
|
+ messageID: e.messageID ? e.messageID : '', // 唯一标识通知消息的ID
|
|
|
+ title: e.title ? e.title : '', // 对应“通知标题”字段
|
|
|
+ content: e.content ? e.content : '', // 对应“通知内容”字段
|
|
|
+ extras: e.extras ? e.extras : {name: '', age: ''} // 对应“附加内容”字段
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 移除指定的本地通知
|
|
|
+function removeLocalNotification(e) {
|
|
|
+ jpushModule.removeLocalNotification({
|
|
|
+ messageID: e.messageID ? e.messageID : '' // 唯一标识通知消息的ID
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 移除所有的本地通知
|
|
|
+function clearLocalNotifications() {
|
|
|
+ jpushModule.clearLocalNotifications()
|
|
|
+}
|
|
|
+
|
|
|
+// 标签别名事件回调
|
|
|
+function addTagAliasListener(skBack) {
|
|
|
+ jpushModule.addTagAliasListener(result=>{
|
|
|
+ // code number 请求状态码 0 - 成功
|
|
|
+ // sequence number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ // tags StringArray 执行tag数组操作时返回
|
|
|
+ // tag string 执行查询指定tag(queryTag)操作时会返回
|
|
|
+ // tagEnable boolean 执行查询指定tag(queryTag)操作时会返回是否可用
|
|
|
+ // alias string 对alias进行操作时返回
|
|
|
+ console.log('【sk】标签别名事件回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 新增标签
|
|
|
+function addTags(e) {
|
|
|
+ jpushModule.addTags({
|
|
|
+ 'tags': e.tags ? e.tags : [], // StringArray string类型的数组
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 覆盖标签
|
|
|
+function updateTags(e) {
|
|
|
+ jpushModule.updateTags({
|
|
|
+ 'tags': e.tags ? e.tags : [], // StringArray string类型的数组
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 删除指定标签
|
|
|
+function deleteTags(e) {
|
|
|
+ jpushModule.deleteTags({
|
|
|
+ 'tags': e.tags ? e.tags : [], // StringArray string类型的数组
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 清除所有标签
|
|
|
+function cleanTags(e) {
|
|
|
+ jpushModule.cleanTags({
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 查询指定 tag 与当前用户绑定的状态
|
|
|
+function queryTag(e) {
|
|
|
+ jpushModule.queryTag({
|
|
|
+ 'tag': e.tag ? e.tag : '', // string 需要查询的标签
|
|
|
+ 'sequence': e.sequence ? sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 查询所有标签
|
|
|
+function getAllTags(e) {
|
|
|
+ jpushModule.getAllTags({
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 设置别名
|
|
|
+function setAlias(e) {
|
|
|
+ console.log('设置别名',e)
|
|
|
+ jpushModule.setAlias({
|
|
|
+ 'alias': e.alias ? e.alias : '', // string 有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 删除别名
|
|
|
+function deleteAlias(e) {
|
|
|
+ jpushModule.deleteAlias({
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 查询别名
|
|
|
+function queryAlias(e) {
|
|
|
+ jpushModule.queryAlias({
|
|
|
+ 'sequence': e.sequence ? e.sequence : 1 // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 开启 CrashLog 上报
|
|
|
+function initCrashHandler() {
|
|
|
+ jpushModule.initCrashHandler()
|
|
|
+}
|
|
|
+
|
|
|
+// 设置地理围栏的最大个数
|
|
|
+function setMaxGeofenceNumber(e) {
|
|
|
+ jpushModule.setMaxGeofenceNumber(e.geofenceNumber ? e.geofenceNumber : 10) // 默认值为 10 ,iOS系统默认地理围栏最大个数为20
|
|
|
+}
|
|
|
+
|
|
|
+// 删除指定id的地理围栏
|
|
|
+function deleteGeofence(e) {
|
|
|
+ jpushModule.deleteGeofence(e.geofence ? e.geofence : '') // 删除指定id的地理围栏
|
|
|
+}
|
|
|
+
|
|
|
+// 设置 Badge
|
|
|
+function setBadge(e) {
|
|
|
+ jpushModule.setBadge(e.badge ? e.badge : 0) // number
|
|
|
+}
|
|
|
+
|
|
|
+// 设置手机号码
|
|
|
+function setMobileNumber(e) {
|
|
|
+ jpushModule.setMobileNumber({
|
|
|
+ sequence: e.sequence ? e.sequence : 1, // number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ mobileNumber: e.mobileNumber ? e.mobileNumber : '' // string 手机号码 会与用户信息一一对应。可为空,为空则清除号码。
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 设置手机号码回调
|
|
|
+function addMobileNumberListener(skBack) {
|
|
|
+ jpushModule.addMobileNumberListener(result=>{
|
|
|
+ // code number 状态码 0 - 成功
|
|
|
+ // sequence number 请求时传入的序列号,会在回调时原样返回
|
|
|
+ console.log('【sk】设置手机号码回调result=>',result)
|
|
|
+ skBack(result);
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+module.exports = {
|
|
|
+ openDebug: openDebug,
|
|
|
+ closeDebug: closeDebug,
|
|
|
+ getRegistrationID: getRegistrationID,
|
|
|
+ openSettingsForNotification: openSettingsForNotification,
|
|
|
+ initJPushService: initJPushService,
|
|
|
+ isNotificationEnabled: isNotificationEnabled,
|
|
|
+ addConnectEventListener: addConnectEventListener,
|
|
|
+ addNotificationListener: addNotificationListener,
|
|
|
+ addCustomMessageListener: addCustomMessageListener,
|
|
|
+ addInMessageListener: addInMessageListener,
|
|
|
+ addLocalNotificationListener: addLocalNotificationListener,
|
|
|
+ addLocalNotification: addLocalNotification,
|
|
|
+ removeLocalNotification: removeLocalNotification,
|
|
|
+ clearLocalNotifications: clearLocalNotifications,
|
|
|
+ addTagAliasListener: addTagAliasListener,
|
|
|
+ addTags: addTags,
|
|
|
+ updateTags: updateTags,
|
|
|
+ deleteTags: deleteTags,
|
|
|
+ cleanTags: cleanTags,
|
|
|
+ queryTag: queryTag,
|
|
|
+ getAllTags: getAllTags,
|
|
|
+ setAlias: setAlias,
|
|
|
+ deleteAlias: deleteAlias,
|
|
|
+ queryAlias: queryAlias,
|
|
|
+ initCrashHandler: initCrashHandler,
|
|
|
+ setMaxGeofenceNumber: setMaxGeofenceNumber,
|
|
|
+ deleteGeofence: deleteGeofence,
|
|
|
+ setBadge: setBadge,
|
|
|
+ setMobileNumber: setMobileNumber,
|
|
|
+ addMobileNumberListener: addMobileNumberListener,
|
|
|
+ locationServicesEnabled: ()=> jpushModule.locationServicesEnabled(),
|
|
|
+ getLocationAuthorizationStatus: ()=> jpushModule.getLocationAuthorizationStatus(),
|
|
|
+ requestLocationAuthorization: requestLocationAuthorization,
|
|
|
+ requestNotificationAuthorization: requestNotificationAuthorization
|
|
|
+}
|