Forráskód Böngészése

消息通知修改

zouling 8 hónapja
szülő
commit
fecb66ca66
8 módosított fájl, 324 hozzáadás és 26 törlés
  1. 14 6
      App.vue
  2. 9 1
      api/system/user.js
  3. 5 0
      components/wait/list.vue
  4. 173 12
      manifest.json
  5. 14 1
      pages/index/notice.vue
  6. 20 1
      pages/login.vue
  7. 81 1
      utils/common.js
  8. 8 4
      work/pages/business/details.vue

+ 14 - 6
App.vue

@@ -2,6 +2,7 @@
   import config from './config'
   import store from '@/store'
   import { getToken } from '@/utils/auth'
+  import {setPermissions} from '@/utils/common.js'
 import {updateUserProfile,findVersion} from "@/api/system/user.js"
   const baseUrl = config.baseUrl
   export default {
@@ -11,7 +12,12 @@ import {updateUserProfile,findVersion} from "@/api/system/user.js"
 		}
 	},
     onLaunch: function() {
+		var that=this;
 	  // #ifdef APP
+	  // const notificationAuthorized = uni.getAppAuthorizeSetting().notificationAuthorized;
+	  // console.log(notificationAuthorized,1)
+	  //     return notificationAuthorized === 'authorized'
+	  that.getJGtuifn()  
 	  this.onlineWgt(); //版本更新
 	  // var url=baseUrl; 
 	  // if(url.indexOf('https://lyyy.qs163.cn')!=-1){
@@ -23,7 +29,6 @@ import {updateUserProfile,findVersion} from "@/api/system/user.js"
     },
     methods: {
 		//热更新
-		// this.getJGtuifn()
 		// 在线跟新
 		onlineWgt() {
 			let that = this;
@@ -117,7 +122,7 @@ import {updateUserProfile,findVersion} from "@/api/system/user.js"
 							jgId:this.registerID,
 						}
 						updateUserProfile(params).then(res=>{
-							if(rtes.code==200){
+							if(res.code==200){
 								console.log(res,9)
 							}
 						})
@@ -148,12 +153,15 @@ import {updateUserProfile,findVersion} from "@/api/system/user.js"
 					})
 				})
 				jpushModule.addNotificationListener(result => {
-				console.log(result)
 				if (result.notificationEventType == "notificationOpened") {
 				  //点击窗口通知栏推送的消息 跳转指定页面
-					uni.reLaunch({
-						url:'/pages/login'
-					})
+					// uni.reLaunch({
+					// 	url:'/pages/index/index'
+					// })
+					this.$tab.navigateTo("/pages/index/notice?type=dbtz")
+					// uni.reLaunch({
+					// 	url:'/pages/index/notice?type=dbtz'
+					// })
 				}
 		 
 			});

+ 9 - 1
api/system/user.js

@@ -38,9 +38,17 @@ export function getUserProfile() {
 }
 
 // 修改用户个人信息
+// export function updateUserProfile(data) {
+//   return request({
+//     url: '/system/user/profile',
+//     method: 'post',
+//     data: data
+//   })
+// }
+// 极光推送
 export function updateUserProfile(data) {
   return request({
-    url: '/system/user/profile',
+    url: '/system/user/profile/put',
     method: 'post',
     data: data
   })

+ 5 - 0
components/wait/list.vue

@@ -37,6 +37,7 @@
 						<!-- 您有<text class="cof6">1</text>条来自【潜山弘立新型建材有限公司】的申报信 息,请您前往审核。 -->
 					</view>
 					<view class="tzhu">祝您生活愉快!</view>
+					<view class="tzhu tctip" @click.stop="getHandle(ite)">点击此处去处理</view>
 				</view>
 			</view>
 			<view class="shax" v-if="wtdt">{{wtdt}}</view>
@@ -105,6 +106,9 @@
 		getDetail(e){
 			this.$emit('getDetail',e)
 		},
+		getHandle(e){
+			this.$emit('getHandle',e)
+		},
 		typeFn(data){
 			if(data){
 				var newArr=[]
@@ -142,6 +146,7 @@
 	.ctxt{font-weight: 500;font-size: 26rpx;color: #666666;border-top: 2rpx solid #E5E5E5;padding: 34rpx;
 		view{line-height: 36rpx;}
 		.tzhu{margin-top: 28rpx;}
+		.tctip{color: #00A9F0;text-decoration: underline;}
 	}
 
 }

+ 173 - 12
manifest.json

@@ -24,21 +24,14 @@
         "distribute" : {
             "android" : {
                 "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>"
                 ]
             },
             "ios" : {
@@ -80,6 +73,174 @@
                     "pid" : "",
                     "parameters" : {}
                 }
+            },
+            "JG-JCore" : {
+                "JPUSH_APPKEY_ANDROID" : "a6413fdbfa71dd4f27f4c9f4",
+                "JPUSH_APPKEY_IOS" : "a6413fdbfa71dd4f27f4c9f4",
+                "JPUSH_CHANNEL_ANDROID" : "",
+                "JPUSH_CHANNEL_IOS" : "",
+                "__plugin_info__" : {
+                    "name" : "极光推送 JCore 官方 SDK",
+                    "description" : "极光推送 JCore 官方 SDK HBuilder 插件版本",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=4028",
+                    "android_package_name" : "zs.rongzidanbao.app",
+                    "ios_bundle_id" : "",
+                    "isCloud" : true,
+                    "bought" : 1,
+                    "pid" : "4028",
+                    "parameters" : {
+                        "JPUSH_APPKEY_ANDROID" : {
+                            "des" : "[Android]极光portal配置应用信息时分配的AppKey",
+                            "key" : "JPUSH_APPKEY",
+                            "value" : ""
+                        },
+                        "JPUSH_APPKEY_IOS" : {
+                            "des" : "[iOS]极光portal配置应用信息时分配的AppKey",
+                            "key" : "JCore:APP_KEY",
+                            "value" : ""
+                        },
+                        "JPUSH_CHANNEL_ANDROID" : {
+                            "des" : "[Android]用于统计分发渠道,不需要可填默认值developer-default",
+                            "key" : "JPUSH_CHANNEL",
+                            "value" : ""
+                        },
+                        "JPUSH_CHANNEL_IOS" : {
+                            "des" : "[iOS]用于统计分发渠道,不需要可填默认值developer-default",
+                            "key" : "JCore:CHANNEL",
+                            "value" : ""
+                        }
+                    }
+                }
+            },
+            "JG-JPush" : {
+                "JPUSH_ADVERTISINGID_IOS" : "",
+                "JPUSH_DEFAULTINITJPUSH_IOS" : "",
+                "JPUSH_GOOGLE_API_KEY" : "",
+                "JPUSH_GOOGLE_APP_ID" : "",
+                "JPUSH_GOOGLE_PROJECT_ID" : "",
+                "JPUSH_GOOGLE_PROJECT_NUMBER" : "",
+                "JPUSH_GOOGLE_STORAGE_BUCKET" : "",
+                "JPUSH_HONOR_APPID" : "",
+                "JPUSH_HUAWEI_APPID" : "",
+                "JPUSH_ISPRODUCTION_IOS" : "",
+                "JPUSH_MEIZU_APPID" : "",
+                "JPUSH_MEIZU_APPKEY" : "",
+                "JPUSH_OPPO_APPID" : "",
+                "JPUSH_OPPO_APPKEY" : "",
+                "JPUSH_OPPO_APPSECRET" : "",
+                "JPUSH_VIVO_APPID" : "",
+                "JPUSH_VIVO_APPKEY" : "",
+                "JPUSH_XIAOMI_APPID" : "",
+                "JPUSH_XIAOMI_APPKEY" : "",
+                "__plugin_info__" : {
+                    "name" : "极光推送 JPush 官方 SDK",
+                    "description" : "极光推送JPush官方SDK HBuilder插件版本",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=4035",
+                    "android_package_name" : "zs.rongzidanbao.app",
+                    "ios_bundle_id" : "",
+                    "isCloud" : true,
+                    "bought" : 1,
+                    "pid" : "4035",
+                    "parameters" : {
+                        "JPUSH_ADVERTISINGID_IOS" : {
+                            "des" : "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填",
+                            "key" : "JPush:ADVERTISINGID",
+                            "value" : ""
+                        },
+                        "JPUSH_DEFAULTINITJPUSH_IOS" : {
+                            "des" : "[iOS]是否默认初始化,是填true,不是填false或者不填",
+                            "key" : "JPush:DEFAULTINITJPUSH",
+                            "value" : ""
+                        },
+                        "JPUSH_GOOGLE_API_KEY" : {
+                            "des" : "厂商google api_key,示例:g-12346578",
+                            "key" : "google_api_key",
+                            "value" : ""
+                        },
+                        "JPUSH_GOOGLE_APP_ID" : {
+                            "des" : "厂商google mobilesdk_app_id,示例:g-12346578",
+                            "key" : "google_app_id",
+                            "value" : ""
+                        },
+                        "JPUSH_GOOGLE_PROJECT_ID" : {
+                            "des" : "厂商google project_id ,示例:g-12346578",
+                            "key" : "project_id",
+                            "value" : ""
+                        },
+                        "JPUSH_GOOGLE_PROJECT_NUMBER" : {
+                            "des" : "厂商google project_number,示例:g-12346578",
+                            "key" : "gcm_defaultSenderId",
+                            "value" : ""
+                        },
+                        "JPUSH_GOOGLE_STORAGE_BUCKET" : {
+                            "des" : "厂商google storage_bucket,示例:g-12346578",
+                            "key" : "google_storage_bucket",
+                            "value" : ""
+                        },
+                        "JPUSH_HONOR_APPID" : {
+                            "des" : "厂商HONOR-appId,示例:12346578",
+                            "key" : "com.hihonor.push.app_id",
+                            "value" : ""
+                        },
+                        "JPUSH_HUAWEI_APPID" : {
+                            "des" : "厂商HUAWEI-appId,示例:appid=12346578",
+                            "key" : "com.huawei.hms.client.appid",
+                            "value" : ""
+                        },
+                        "JPUSH_ISPRODUCTION_IOS" : {
+                            "des" : "[iOS]是否是生产环境,是填true,不是填false或者不填",
+                            "key" : "JPush:ISPRODUCTION",
+                            "value" : ""
+                        },
+                        "JPUSH_MEIZU_APPID" : {
+                            "des" : "厂商MEIZU-appId,示例:MZ-12345678",
+                            "key" : "MEIZU_APPID",
+                            "value" : ""
+                        },
+                        "JPUSH_MEIZU_APPKEY" : {
+                            "des" : "厂商MEIZU-appKey,示例:MZ-12345678",
+                            "key" : "MEIZU_APPKEY",
+                            "value" : ""
+                        },
+                        "JPUSH_OPPO_APPID" : {
+                            "des" : "厂商OPPO-appId,示例:OP-12345678",
+                            "key" : "OPPO_APPID",
+                            "value" : ""
+                        },
+                        "JPUSH_OPPO_APPKEY" : {
+                            "des" : "厂商OPPO-appkey,示例:OP-12345678",
+                            "key" : "OPPO_APPKEY",
+                            "value" : ""
+                        },
+                        "JPUSH_OPPO_APPSECRET" : {
+                            "des" : "厂商OPPO-appSecret,示例:OP-12345678",
+                            "key" : "OPPO_APPSECRET",
+                            "value" : ""
+                        },
+                        "JPUSH_VIVO_APPID" : {
+                            "des" : "厂商VIVO-appId,示例:12345678",
+                            "key" : "com.vivo.push.app_id",
+                            "value" : ""
+                        },
+                        "JPUSH_VIVO_APPKEY" : {
+                            "des" : "厂商VIVO-appkey,示例:12345678",
+                            "key" : "com.vivo.push.api_key",
+                            "value" : ""
+                        },
+                        "JPUSH_XIAOMI_APPID" : {
+                            "des" : "厂商XIAOMI-appId,示例:MI-12345678",
+                            "key" : "XIAOMI_APPID",
+                            "value" : ""
+                        },
+                        "JPUSH_XIAOMI_APPKEY" : {
+                            "des" : "厂商XIAOMI-appKey,示例:MI-12345678",
+                            "key" : "XIAOMI_APPKEY",
+                            "value" : ""
+                        }
+                    }
+                }
             }
         }
     },

+ 14 - 1
pages/index/notice.vue

@@ -23,7 +23,7 @@
 			</view>
 		</view>
 		<view class="mt12">
-			<wait-list :type='tabidx' :datalist="list" :wtdt="wtdt"  @getDetail="getDetail"></wait-list>
+			<wait-list :type='tabidx' :datalist="list" :wtdt="wtdt"  @getDetail="getDetail" @getHandle="getHandle"></wait-list>
 		</view>
 	</view>
 </template>
@@ -126,6 +126,19 @@
 			getDetail(e){
 				this.$tab.navigateTo("/pages/index/noticedetail?type="+this.tabidx+'&id='+e)
 			},
+			getHandle(ite){
+				var id=ite.loanApplicationId;
+				var remindType=ite.remindType;
+				if(remindType==11){
+					this.$tab.navigateTo("/work/pages/business/details?id="+id+'&from=vote')
+				}else if(remindType==12){
+					this.$tab.navigateTo("/work/pages/business/details?id="+id+'&from=bhxx')
+				}else{
+					this.$tab.navigateTo("/work/pages/business/details?id="+id)
+				}
+				// this.$tab.navigateTo("/pages/index/noticedetail?type=dbtz&id="+e)
+				
+			},
 			getDataFn(){
 				var params={
 					pageSize:this.pageSize,

+ 20 - 1
pages/login.vue

@@ -103,9 +103,10 @@
 </template>
 
 <script>
+	const jpushModule = uni.requireNativePlugin('JG-JPush')
 	import * as base64 from "base-64"
 	import {getweChatLogin,getInfo,getweChatOpenid,getCodeImg,getCode,sendSmsOnly} from "@/api/login.js"
-	import {getUserProfile} from "@/api/system/user.js"
+	import {getUserProfile,updateUserProfile} from "@/api/system/user.js"
 	import { getToken } from '@/utils/auth'
 	import phoneBtn from "@/components/toptab/phonebtn.vue"
   export default {
@@ -295,10 +296,28 @@
 			   // }
 			 })
 		 },
+		 //获取推送ID
+		 getRegistrationID() {
+		 	jpushModule.getRegistrationID(result => {
+		 		let registerID = result.registerID
+		 		console.log(registerID,7)
+		 		var params={
+		 			jgId:registerID,
+		 		}
+		 		updateUserProfile(params).then(res=>{
+		 			if(res.code==200){
+		 				console.log(res,9)
+		 			}
+		 		})
+		 	})
+		 },
 		 // 登录成功后,处理函数
 		 loginSuccess(result) {
 		   // 设置用户信息
 		   var that=this;
+		   // #ifdef APP-PLUS
+		   this.getRegistrationID()
+		   // #endif
 		   this.$store.dispatch('GetInfo').then(res => {
 			   this.$tab.reLaunch('/pages/index/index') 
 			   // 判断有几个角色 进入选择页面

+ 81 - 1
utils/common.js

@@ -258,4 +258,84 @@ export function uploadmore(api, filePaths, successUp, failUp, i, length, files,
 		}
 	});
 
-}
+}
+// 判断权限
+export function setPermissions(callback) {
+	// #ifdef APP-PLUS  
+	if (plus.os.name == 'Android') { // 判断是Android
+		var main = plus.android.runtimeMainActivity();
+		var pkName = main.getPackageName();
+		var uid = main.getApplicationInfo().plusGetAttribute("uid");
+		var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");
+		//android.support.v4升级为androidx
+		if (NotificationManagerCompat == null) {
+			NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");
+		}
+		var areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();
+		console.log(areNotificationsEnabled,223)
+		// 未开通‘允许通知’权限,则弹窗提醒开通,并点击确认后,跳转到系统设置页面进行设置  
+		if (!areNotificationsEnabled) {
+			uni.showModal({
+				title: '通知权限开启提醒',
+				content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',
+				// showCancel: false,
+				confirmText: '去设置',
+				success: function(res) {
+					if (res.confirm) {
+						var Intent = plus.android.importClass('android.content.Intent');
+						var Build = plus.android.importClass("android.os.Build");
+						//android 8.0引导  
+						if (Build.VERSION.SDK_INT >= 26) {
+							var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
+							intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);
+						} else if (Build.VERSION.SDK_INT >= 21) { //android 5.0-7.0  
+							var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
+							intent.putExtra("app_package", pkName);
+							intent.putExtra("app_uid", uid);
+						} else { //(<21)其他--跳转到该应用管理的详情页  
+							intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+							var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
+							intent.setData(uri);
+						}
+						// 跳转到该应用的系统通知设置页  
+						main.startActivity(intent);
+					}
+				}
+			});
+		}else{
+			callback(1);
+		}
+	} else if (plus.os.name == 'iOS') { // 判断是ISO
+		var isOn = undefined;
+		var types = 0;
+		var app = plus.ios.invoke('UIApplication', 'sharedApplication');
+		var settings = plus.ios.invoke(app, 'currentUserNotificationSettings');
+		if (settings) {
+			types = settings.plusGetAttribute('types');
+			plus.ios.deleteObject(settings);
+		} else {
+			types = plus.ios.invoke(app, 'enabledRemoteNotificationTypes');
+		}
+		plus.ios.deleteObject(app);
+		isOn = (0 != types);
+		if (isOn == false) {
+			uni.showModal({
+				title: '通知权限开启提醒',
+				content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',
+				showCancel: false,
+				confirmText: '去设置',
+				success: function(res) {
+					if (res.confirm) {
+						var app = plus.ios.invoke('UIApplication', 'sharedApplication');
+						var setting = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');
+						plus.ios.invoke(app, 'openURL:', setting);
+						plus.ios.deleteObject(setting);
+						plus.ios.deleteObject(app);
+					}
+				}
+			});
+		}
+	}
+	// #endif  
+}
+

+ 8 - 4
work/pages/business/details.vue

@@ -256,18 +256,22 @@
 					</block>
 					<!-- 放款合规表 -->
 					<block v-if="checkRole(['manager'])||userId==datainfo.fUserId">
-						<view class="fbtns bga" v-if="stepval==8||stepval==9&&datainfo.aAuthorize=='Y'" @click="getIssureFn(14,'fkhgb')">出具放款合规表</view>
+						<view  v-if="stepval==8||stepval==9&&datainfo.aAuthorize=='Y'" @click="getIssureFn(14,'fkhgb')">出具放款合规表</view>
 						<!-- 暂缓出具  备注原因推给管理员-->
-						<view class="fbtns bgb" v-if="stepval==8&&checkPermi(['system:application:zanHuan'])" @click="getShFn('zhfkhgb')">暂缓出具放款合规表</view>
+						<view  v-if="stepval==8&&checkPermi(['system:application:zanHuan'])" @click="getShFn('zhfkhgb')">暂缓出具放款合规表</view>
 						<!-- <view class="fbtns bgb" @click="getfjEdit('fkhgb')">上传附件</view> -->
 					</block>
 					<!-- a角 管理员 判断是否提前了,步骤7之后,并且暂缓了-->
 					<block v-if="stepval==9||stepval==8&&datainfo.aAuthorize=='Y'">
-						<view class="fbtns bgb" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getIssureFn(4,'fktzhsh')">放款通知书</view>
+						<view  v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getIssureFn(4,'fktzhsh')">放款通知书</view>
 					</block>
 					<!-- 借据 -->
 					<block v-if="stepval==9">
-						<view class="fbtns bga" v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getfjEdit('jj')">上传借据</view>
+						<view  v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getfjEdit('jj')">上传借据</view>
+					</block>
+					<!-- 担保业务备案表 -->
+					<block v-if="stepval==8||stepval==9">
+						<view  v-if="checkRole(['manager'])||userId==datainfo.aUserId" @click="getIssureFn(21,'dbbab')">出具担保业务备案表</view>
 					</block>
 					<view @click="getQtfjEdit('qtfj')" v-if="checkPermi(['system:fj:add'])">上传其他附件</view>
 				</block>