123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- // 引用方式
- var jpushModule = uni.requireNativePlugin("JG-JPush");
- console.log(jpushModule,'【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
- }
|