diff --git a/App.vue b/App.vue index 7fd165e..861c838 100644 --- a/App.vue +++ b/App.vue @@ -1,6 +1,6 @@ diff --git a/api/index.js b/api/index.js index 3bad97b..0aa6ba0 100644 --- a/api/index.js +++ b/api/index.js @@ -62,16 +62,15 @@ export const defaultRequest4 =query=>{ isLoad:false }) } -//上传图片 -export const defaultRequest5 =(query,img)=>{ +export const defaultRequest5 =(query,comments)=>{ return httpRequest({ url:'mapi/api_v2011.php?appcode=DOPE+', method:'post', data:query, - afile:img, errMsg:true, - isCookies:false, - isEncryption:false, - isLoad:true + isCookies:true, + isEncryption:true, + isLoad:true, + comments:comments }) } \ No newline at end of file diff --git a/api/request.js b/api/request.js index c5a09e1..8e3aa55 100644 --- a/api/request.js +++ b/api/request.js @@ -12,7 +12,7 @@ const httpRequest = (params) => { const json_data={ appcode:'DOPE+' ,//应用编码 - appchannel:'FXXXXHUAWEI' ,//应用发布渠道 + appchannel:'DOPEGOOGLE' ,//应用发布渠道 appver: '1.0.0',//应用版本 appname:'cnic_buyer' ,//应用名称 manufacturer:'HUAWEI' ,//设备生产商 @@ -26,9 +26,11 @@ const httpRequest = (params) => { let key=params.key if(params.isEncryption){ // console.info(JSON.parse(JSON.stringify(data.consignee))) - key=encryption(JSON.parse(JSON.stringify(data[params.key]))) - // console.info(consignee) + key=encryption(JSON.parse(JSON.stringify(data[params.key]))) + + // console.info(key) data=encryption(data) + // console.log(data) data[params.key]=key }else{ data=encryption(data) @@ -40,9 +42,9 @@ const httpRequest = (params) => { // console.info(encrypt_by_des(JSON.stringify(data),'6780f04cf2e211ec86a8005056c00008')) // data=Base64.encode(encryptDes(JSON.stringify(data),'6780f04cf2e211ec86a8005056c00008')); data=encryptDes(JSON.stringify(data),'6780f04cf2e211ec86a8005056c00008'); - // console.info(data) + // console.info(data) // 解密 - // let data2 =JSON.parse(decodeURIComponent (decryptDes(Base64.decode(data),'6780f04cf2e211ec86a8005056c00008'))) ; + let data2 =JSON.parse(decryptDes(data,"6780f04cf2e211ec86a8005056c00008")) // console.info(data2) let data1={data:data} @@ -96,9 +98,14 @@ const httpRequest = (params) => { const encryption=(data)=>{ for(let key in data){ let item= data[key] - data[key]=encodeURIComponent(item) + if(key ==='comments'){ + data[key]=encryptDes(JSON.stringify(data[key]),'6780f04cf2e211ec86a8005056c00008'); + data[key]=JSON.parse(decryptDes(data[key],"6780f04cf2e211ec86a8005056c00008")) + }else{ + data[key]=encodeURIComponent(item) + } } return data } -export default httpRequest; +export default httpRequest; \ No newline at end of file diff --git a/common/common.scss b/common/common.scss index 6b5bd3e..faf6105 100644 --- a/common/common.scss +++ b/common/common.scss @@ -4,24 +4,92 @@ height: 50rpx; // background-color: #000000; } +.img_border{ + border-radius: 10rpx !important; + } + .tarbar{ + height: 100rpx; + width: 100vw; + padding-top: 10rpx; + padding-bottom: 10rpx; + background-color: #fff; + bottom: 0; + z-index: 129; + font-size: 22rpx; + text-align: center; + position: fixed; + display: flex; + color:#707070; + justify-content: space-around; + .tarbar_img image{ + height: 50rpx; + width: 50rpx; + + // background-color: #fff; + } + .img_m image{ + height: 120rpx; + width: 120rpx; + margin-top: -30rpx; + } + + } + .padding-top{ + padding-top: 110rpx !important; + // margin-top: 40rpx; + } + .margin_botoom{ + padding-bottom: 200rpx; + } .addCard{ font-size: 26rpx !important; line-height: 34rpx; } .hotmaxW{ - - // height:300rpx !important; - padding:60rpx 60rpx !important; - transition: margin-right 2s .5s; - transform:scale(1.2); + padding-top:10rpx; + margin: 0 auto; + transform:scale(1,1); + transition: all .5s ease-in-out; +} +.spike1_item_bottom-sro{ + margin-top: 14rpx !important; + // margin-left: 60rpx !important; } .hotmaxW :hover { - transform:scale(1.2); + + } .hotmaxmin{ - padding:40rpx 40rpx !important; - transition: margin-right 2s .5s; - transform:scale(0.8); + transform:scale(0.8,0.8); + position: relative; + transition: all .5s ease-in-out; + // background-color: #666666; + opacity: 0.6 !important; + // padding-left:10rpx; + // padding-right:10rpx; + // position: fixed; + } +// .hotmaxmin :after{ +// position: absolute; +// content: ''; + +// // padding:40rpx 40rpx !important; +// // transition: margin-right 2s .5s; + +// box-shadow: 0 0 50rpx 30rpx #fff inset !important; +// } +.box_show{ + width: 100%; + margin-left: 4rpx; + border-radius: 10rpx; + + image{ + width: 100%; + height: 100%; + border-radius: 10rpx; + + } + box-shadow: 0 0 50rpx 30rpx #fff inset; } .empty_item{ @@ -120,7 +188,7 @@ display: flex; align-items: center; color: #666666; - font-size: 24rpx; + font-size: 28rpx; margin-bottom: 30.67rpx; image{ @@ -128,7 +196,7 @@ height: 32rpx; } .address_title_name{ - font-size: 28rpx; + font-size: 32rpx; color: black; font-weight: bold; margin-left: 24rpx; @@ -138,8 +206,8 @@ .address_content{ padding-left: 56rpx; color: #666666; - font-size: 24rpx; - font-weight: bold; + font-size: 28rpx; + // font-weight: bold; } } @@ -166,9 +234,9 @@ } .reviews_item_title{ display: flex; - // align-items: center; - // justify-content: space-around; - + align-items: center; + // justify-content: space-around; + // justify-content: space-between; .reviews_item_img{ height: 60rpx; width: 60rpx; @@ -199,7 +267,7 @@ // margin-left: 10rpx; line-height: 50rpx; - text-align: center; + text-align: left; display: flex; overflow: hidden; @@ -216,6 +284,7 @@ .reviews_title_user_name{ max-width: 300rpx; overflow: hidden; + text-align: left; margin-left: 13.37rpx; margin-right: 13.37rpx; } @@ -226,7 +295,7 @@ font-weight: 400; color: #909090; margin-top: 8rpx; - margin-left: 50rpx; + margin-left: 108rpx; } } @@ -248,19 +317,29 @@ .reviews_item_image{ display: flex; align-items: center; - + flex-wrap: wrap; + margin-bottom: 20rpx; .reviews_image_content{ - width: 233.33rpx; - height: 233.33rpx; + width: 200.33rpx; + height: 200.33rpx; + margin-bottom: 10rpx; margin-left: 16.67rpx; - background-color: #999999; + margin-right: 16rpx; + border-radius: 5rpx; + // background-color: #999999; background-size: 100% !important; image{ height: 100%; width: 100%; + border-radius: 5rpx; } - &:first-child{ - margin-left: 0; + // &:first-child{ + // margin-left: 0; + // } + .comment_video{ + width: 200.33rpx; + height: 200.33rpx; + border-radius: 10rpx; } } } @@ -284,9 +363,7 @@ right: 26rpx; } } - .img_border{ - border-radius: 10rpx; - } + // 谈判细节 .order_popup{ position: fixed; @@ -410,7 +487,7 @@ } .wishlist_body{ padding-top:60rpx; - // margin-top: 40rpx; + // margin-top: 40rpx; position: relative; height: 100%; width: 100%; @@ -420,8 +497,10 @@ } .wishlist{ - padding: 0 26.67rpx; + padding: 0 2.67rpx 40rpx 10rpx; display: flex; + // padding-top: 40rpx; + // justify-content: space-between; flex-wrap: wrap; @@ -443,10 +522,11 @@ margin-bottom: 25.33rpx; background-color: #999999; position: relative; - + border-radius: 10rpx; .wishlist_item_img_goods{ width: 100%; height: 100%; + border-radius: 10rpx; } .select{ position: absolute; @@ -459,7 +539,7 @@ .wishlist_item_bottom{ display: flex; align-items: center; - padding-left: 22.67rpx; + padding-right: 18.67rpx; justify-content: space-between; .wishlist_item_bottom_icon{ @@ -474,12 +554,13 @@ position: fixed; bottom: 0; width: 100%; - border-top: 1px solid #F5F6FA; + background-color: #fff; + // border-top: 1px solid #F5F6FA; display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; - + color:#000; .wishlist_foot_left{ font-size: 36rpx; font-weight: 400; @@ -504,13 +585,14 @@ width: 100%; height: 100%; background-color: #C0C0C0; - color: #FFFFFF; + color: #fff; border: none; border-radius: 0; } .wishlist_foot_right_button{ - background-color: black !important; + background-color: #000 !important; + color:#fff !important; } } @@ -598,6 +680,9 @@ } } // 优惠卷 +// .coupons_item:nth-child(1){ +// margin-top: 81rpx; +// } .coupons_item{ display: flex; background-color: #FEF6F4; @@ -605,6 +690,7 @@ color: #F66C46; margin-top: 11rpx; margin-bottom: 25.33rpx; + .coupons_item_left{ width: 216.67rpx; height: 100%; @@ -803,7 +889,8 @@ // 商品展示 .good_info{ - padding: 40rpx 0; + padding-top: 40rpx; + padding-bottom: 40rpx; font-size: 22.67rpx; color: #666666; font-weight: bold; @@ -881,4 +968,144 @@ } } } -} \ No newline at end of file +} + .addCard{ + z-index: 999; + position: fixed; + bottom: 0; + left: 0; + background-color: white; + padding-left: 29.33rpx; + padding-right: 29.33rpx; + box-sizing: border-box; + padding-top: 77.67rpx; + color:#000; + width: 100%; + // font-size: 30.67rpx; + font-weight: 400; + padding-bottom: 44.67rpx; + + .addCard_close{ + width: 21.33rpx; + height: 21.33rpx; + position: absolute; + right: 24.67rpx; + top: 18.67rpx; + } + .spike1{ + margin-top: 0; + margin-bottom: 20rpx; + padding-bottom: 0; + border-bottom: none; + .addCard_scroll{ + width: 286.67rpx; + height: 286.67rpx; + margin-left: 10.67rpx; + &:first-child{ + margin-left: 0; + } + &:last-child{ + margin-right: 15rpx; + } + } + } + .addCard_body{ + padding-right: 31.33rpx; + max-height: 60vh; + min-height: 400rpx; + .addCard_price{ + font-size: 44rpx; + font-weight: bold; + margin-top: 17.33rpx; + margin-bottom: 51.33rpx; + } + .color_select{ + + display: flex; + + color: #666666; + flex-wrap: wrap; + margin-bottom: 59.33rpx; + .color_select_item{ + margin-top: 22rpx; + position: relative; + background-color: #F9F7FA; + border-radius: 6.67rpx; + margin-right: 12.67rpx; + width: 134.67rpx; + image{ + width: 134.67rpx; + height: 133.33rpx; + border-radius: 6.67rpx 6.67rpx 0 0; + } + .color_select_item_zoom{ + width: 20.33rpx; + height: 20.33rpx; + // background-color: rgba(0, 0, 0, 0.3); + display: flex; + align-items: center; + justify-content: center; + position: absolute; + right: 12.67rpx; + top: 9.33rpx; + z-index: 99; + image{ + width: 100%; + height: 100%; + } + } + .color_select_item_bottom{ + padding: 10rpx 0rpx; + font-size: 24rpx; + text-align: center; + + } + } + .active_color{ + color: #fff;; + background-color: #000; + border: 1px solid #000000; + } + } + .variations_select_size{ + margin-left: 0; + margin-top: 26.67rpx; + margin-bottom: 40.67rpx; + .select_size_item{ + background-size: cover; + margin-bottom: 16.67rpx !important; + &:nth-child(4n+4){ + margin-right: 0; + } + } + } + + } + + + } + .quantity{ + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 43.33rpx; + .uni-numbox{ + border: 1px solid #999999; + border-radius: 14rpx; + height: 42.67rpx; + + /deep/ .uni-numbox__minus{ + border-radius: 14rpx; + } + /deep/.uni-numbox__plus{ + border-radius: 14rpx; + } + /deep/.uni-numbox__value{ + border-left: 1px solid #999999; + border-right: 1px solid #999999; + height: 100%; + width: 63.33rpx; + font-size: 21.33rpx; + } + } + } diff --git a/manifest.json b/manifest.json index 8d4c838..9413c77 100644 --- a/manifest.json +++ b/manifest.json @@ -1,15 +1,26 @@ { "name" : "DopePlus", "appid" : "__UNI__A6CF3EA", + // "appid" : "__UNI__7D4CA0F", "description" : "", "versionName" : "1.0.0", - "versionCode" : "100", + "versionCode" : 100, "transformPx" : false, + // "targetSdkVersion" : 31, + "channel_list" : [ + { + "id" : "DOPEGOOGLE", + "name" : "DOPEGOOGLE" + } + ], /* 5+App特有相关 */ "app-plus" : { "usingComponents" : true, "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, + "compatible" : { + "ignoreVersion" : true + }, // "splashscreen" : { // "alwaysShowBeforeRender" : false, // "waiting" : false, @@ -31,7 +42,8 @@ "modules" : { "Payment" : {}, "VideoPlayer" : {}, - "Push" : {} + "Contacts" : {}, + "Speech" : {} }, /* 应用发布信息 */ "distribute" : { @@ -48,19 +60,24 @@ "", "", "", + "", "", "", "", "", + "", "", "" ], "autoSdkPermissions" : true, - "minSdkVersion" : 21 + "minSdkVersion" : 21, + "targetSdkVersion" : 31, + "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ] }, /* ios打包配置 */ "ios" : { - "dSYMs" : false + "dSYMs" : false, + "idfa" : false }, /* SDK配置 */ "sdkConfigs" : { @@ -75,7 +92,8 @@ "returnURL_android" : "uni.unicoe0831://paypalpay" } }, - "push" : {} + "push" : {}, + "speech" : {} }, "splashscreen" : { "androidStyle" : "default", @@ -122,6 +140,134 @@ } } } + }, + "nativePlugins" : { + "JG-JCore" : { + "JPUSH_APPKEY_IOS" : "", + "JPUSH_CHANNEL_IOS" : "", + "JPUSH_APPKEY_ANDROID" : "f7c642155be0cdfa97fb3d75", + "JPUSH_CHANNEL_ANDROID" : "f7c642155be0cdfa97fb3d75", + "__plugin_info__" : { + "name" : "JG-JCore", + "description" : "极光推送JCore插件", + "platforms" : "Android,iOS", + "url" : "", + "android_package_name" : "com.lilbeat.dopeplus", + "ios_bundle_id" : "com.lilbeat.dopeplus", + "isCloud" : false, + "bought" : -1, + "pid" : "", + "parameters" : { + "JPUSH_APPKEY_IOS" : { + "des" : "[iOS]极光portal配置应用信息时分配的AppKey", + "key" : "f7c642155be0cdfa97fb3d75", + "value" : "" + }, + "JPUSH_CHANNEL_IOS" : { + "des" : "[iOS]用于统计分发渠道,不需要可填默认值developer-default", + "key" : "JCore:CHANNEL", + "value" : "" + }, + "JPUSH_APPKEY_ANDROID" : { + "des" : "[Android]极光portal配置应用信息时分配的AppKey", + "key" : "f7c642155be0cdfa97fb3d75", + "value" : "" + }, + "JPUSH_CHANNEL_ANDROID" : { + "des" : "[Android]用于统计分发渠道,不需要可填默认值developer-default", + "key" : "JPUSH_CHANNEL", + "value" : "" + } + } + } + }, + "JG-JPush" : { + "JPUSH_ISPRODUCTION_IOS" : "", + "JPUSH_ADVERTISINGID_IOS" : "", + "JPUSH_DEFAULTINITJPUSH_IOS" : "", + "JPUSH_OPPO_APPKEY" : "", + "JPUSH_OPPO_APPID" : "", + "JPUSH_OPPO_APPSECRET" : "", + "JPUSH_VIVO_APPKEY" : "", + "JPUSH_VIVO_APPID" : "", + "JPUSH_MEIZU_APPKEY" : "", + "JPUSH_MEIZU_APPID" : "", + "JPUSH_XIAOMI_APPKEY" : "", + "JPUSH_XIAOMI_APPID" : "", + "__plugin_info__" : { + "name" : "JG-JPush", + "description" : "极光推送Hbuilder插件", + "platforms" : "Android,iOS", + "url" : "", + "android_package_name" : "com.lilbeat.dopeplus", + "ios_bundle_id" : "com.lilbeat.dopeplus", + "isCloud" : false, + "bought" : -1, + "pid" : "", + "parameters" : { + "JPUSH_ISPRODUCTION_IOS" : { + "des" : "[iOS]是否是生产环境,是填true,不是填false或者不填", + "key" : "JPush:ISPRODUCTION", + "value" : "" + }, + "JPUSH_ADVERTISINGID_IOS" : { + "des" : "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填", + "key" : "JPush:ADVERTISINGID", + "value" : "" + }, + "JPUSH_DEFAULTINITJPUSH_IOS" : { + "des" : "[iOS]是否默认初始化,是填true,不是填false或者不填", + "key" : "JPush:DEFAULTINITJPUSH", + "value" : "" + }, + "JPUSH_OPPO_APPKEY" : { + "des" : "厂商OPPO-appkey,示例:OP-12345678", + "key" : "OPPO_APPKEY", + "value" : "" + }, + "JPUSH_OPPO_APPID" : { + "des" : "厂商OPPO-appId,示例:OP-12345678", + "key" : "OPPO_APPID", + "value" : "" + }, + "JPUSH_OPPO_APPSECRET" : { + "des" : "厂商OPPO-appSecret,示例:OP-12345678", + "key" : "OPPO_APPSECRET", + "value" : "" + }, + "JPUSH_VIVO_APPKEY" : { + "des" : "厂商VIVO-appkey,示例:12345678", + "key" : "com.vivo.push.api_key", + "value" : "" + }, + "JPUSH_VIVO_APPID" : { + "des" : "厂商VIVO-appId,示例:12345678", + "key" : "com.vivo.push.app_id", + "value" : "" + }, + "JPUSH_MEIZU_APPKEY" : { + "des" : "厂商MEIZU-appKey,示例:MZ-12345678", + "key" : "MEIZU_APPKEY", + "value" : "" + }, + "JPUSH_MEIZU_APPID" : { + "des" : "厂商MEIZU-appId,示例:MZ-12345678", + "key" : "MEIZU_APPID", + "value" : "" + }, + "JPUSH_XIAOMI_APPKEY" : { + "des" : "厂商XIAOMI-appKey,示例:MI-12345678", + "key" : "XIAOMI_APPKEY", + "value" : "" + }, + "JPUSH_XIAOMI_APPID" : { + "des" : "厂商XIAOMI-appId,示例:MI-12345678", + "key" : "XIAOMI_APPID", + "value" : "" + } + } + } + } } }, /* 快应用特有相关 */ @@ -148,3 +294,133 @@ }, "vueVersion" : "2" } +// "nativePlugins" : { +// "JG-JCore" : { +// "JPUSH_APPKEY_IOS" : "", +// "JPUSH_CHANNEL_IOS" : "", +// "JPUSH_APPKEY_ANDROID" : "f7c642155be0cdfa97fb3d75", +// "JPUSH_CHANNEL_ANDROID" : "f7c642155be0cdfa97fb3d75", +// "__plugin_info__" : { +// "name" : "JG-JCore", +// "description" : "极光推送JCore插件", +// "platforms" : "Android,iOS", +// "url" : "", +// "android_package_name" : "com.lilbeat.dopeplus", +// "ios_bundle_id" : "com.lilbeat.dopeplus", +// "isCloud" : false, +// "bought" : -1, +// "pid" : "", +// "parameters" : { +// "JPUSH_APPKEY_IOS" : { +// "des" : "[iOS]极光portal配置应用信息时分配的AppKey", +// "key" : "f7c642155be0cdfa97fb3d75", +// "value" : "" +// }, +// "JPUSH_CHANNEL_IOS" : { +// "des" : "[iOS]用于统计分发渠道,不需要可填默认值developer-default", +// "key" : "JCore:CHANNEL", +// "value" : "" +// }, +// "JPUSH_APPKEY_ANDROID" : { +// "des" : "[Android]极光portal配置应用信息时分配的AppKey", +// "key" : "f7c642155be0cdfa97fb3d75", +// "value" : "" +// }, +// "JPUSH_CHANNEL_ANDROID" : { +// "des" : "[Android]用于统计分发渠道,不需要可填默认值developer-default", +// "key" : "JPUSH_CHANNEL", +// "value" : "" +// } +// } +// } +// }, +// "JG-JPush" : { +// "JPUSH_ISPRODUCTION_IOS" : "", +// "JPUSH_ADVERTISINGID_IOS" : "", +// "JPUSH_DEFAULTINITJPUSH_IOS" : "", +// "JPUSH_OPPO_APPKEY" : "", +// "JPUSH_OPPO_APPID" : "", +// "JPUSH_OPPO_APPSECRET" : "", +// "JPUSH_VIVO_APPKEY" : "", +// "JPUSH_VIVO_APPID" : "", +// "JPUSH_MEIZU_APPKEY" : "", +// "JPUSH_MEIZU_APPID" : "", +// "JPUSH_XIAOMI_APPKEY" : "", +// "JPUSH_XIAOMI_APPID" : "", +// "__plugin_info__" : { +// "name" : "JG-JPush", +// "description" : "极光推送Hbuilder插件", +// "platforms" : "Android,iOS", +// "url" : "", +// "android_package_name" : "com.lilbeat.dopeplus", +// "ios_bundle_id" : "com.lilbeat.dopeplus", +// "isCloud" : false, +// "bought" : -1, +// "pid" : "", +// "parameters" : { +// "JPUSH_ISPRODUCTION_IOS" : { +// "des" : "[iOS]是否是生产环境,是填true,不是填false或者不填", +// "key" : "JPush:ISPRODUCTION", +// "value" : "" +// }, +// "JPUSH_ADVERTISINGID_IOS" : { +// "des" : "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填", +// "key" : "JPush:ADVERTISINGID", +// "value" : "" +// }, +// "JPUSH_DEFAULTINITJPUSH_IOS" : { +// "des" : "[iOS]是否默认初始化,是填true,不是填false或者不填", +// "key" : "JPush:DEFAULTINITJPUSH", +// "value" : "" +// }, +// "JPUSH_OPPO_APPKEY" : { +// "des" : "厂商OPPO-appkey,示例:OP-12345678", +// "key" : "OPPO_APPKEY", +// "value" : "" +// }, +// "JPUSH_OPPO_APPID" : { +// "des" : "厂商OPPO-appId,示例:OP-12345678", +// "key" : "OPPO_APPID", +// "value" : "" +// }, +// "JPUSH_OPPO_APPSECRET" : { +// "des" : "厂商OPPO-appSecret,示例:OP-12345678", +// "key" : "OPPO_APPSECRET", +// "value" : "" +// }, +// "JPUSH_VIVO_APPKEY" : { +// "des" : "厂商VIVO-appkey,示例:12345678", +// "key" : "com.vivo.push.api_key", +// "value" : "" +// }, +// "JPUSH_VIVO_APPID" : { +// "des" : "厂商VIVO-appId,示例:12345678", +// "key" : "com.vivo.push.app_id", +// "value" : "" +// }, +// "JPUSH_MEIZU_APPKEY" : { +// "des" : "厂商MEIZU-appKey,示例:MZ-12345678", +// "key" : "MEIZU_APPKEY", +// "value" : "" +// }, +// "JPUSH_MEIZU_APPID" : { +// "des" : "厂商MEIZU-appId,示例:MZ-12345678", +// "key" : "MEIZU_APPID", +// "value" : "" +// }, +// "JPUSH_XIAOMI_APPKEY" : { +// "des" : "厂商XIAOMI-appKey,示例:MI-12345678", +// "key" : "XIAOMI_APPKEY", +// "value" : "" +// }, +// "JPUSH_XIAOMI_APPID" : { +// "des" : "厂商XIAOMI-appId,示例:MI-12345678", +// "key" : "XIAOMI_APPID", +// "value" : "" +// } +// } +// } +// } +// } +/* 快应用特有相关 *//* 小程序特有相关 */ + diff --git a/nativeplugins/JG-JCore/android/libs/arm64-v8a/libjcore260.so b/nativeplugins/JG-JCore/android/libs/arm64-v8a/libjcore260.so new file mode 100644 index 0000000..02cdcef Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/arm64-v8a/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/armeabi-v7a/libjcore260.so b/nativeplugins/JG-JCore/android/libs/armeabi-v7a/libjcore260.so new file mode 100644 index 0000000..4441428 Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/armeabi-v7a/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/armeabi/libjcore260.so b/nativeplugins/JG-JCore/android/libs/armeabi/libjcore260.so new file mode 100644 index 0000000..ceb14cd Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/armeabi/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/jcore-android-2.6.0.jar b/nativeplugins/JG-JCore/android/libs/jcore-android-2.6.0.jar new file mode 100644 index 0000000..d5c1472 Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/jcore-android-2.6.0.jar differ diff --git a/nativeplugins/JG-JCore/android/libs/mips/libjcore260.so b/nativeplugins/JG-JCore/android/libs/mips/libjcore260.so new file mode 100644 index 0000000..89a8f63 Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/mips/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/mips64/libjcore260.so b/nativeplugins/JG-JCore/android/libs/mips64/libjcore260.so new file mode 100644 index 0000000..35d104d Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/mips64/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/x86/libjcore260.so b/nativeplugins/JG-JCore/android/libs/x86/libjcore260.so new file mode 100644 index 0000000..8cf739f Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/x86/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/libs/x86_64/libjcore260.so b/nativeplugins/JG-JCore/android/libs/x86_64/libjcore260.so new file mode 100644 index 0000000..d86fcb7 Binary files /dev/null and b/nativeplugins/JG-JCore/android/libs/x86_64/libjcore260.so differ diff --git a/nativeplugins/JG-JCore/android/uniplugin_jcore-release.aar b/nativeplugins/JG-JCore/android/uniplugin_jcore-release.aar new file mode 100644 index 0000000..5a8a9e4 Binary files /dev/null and b/nativeplugins/JG-JCore/android/uniplugin_jcore-release.aar differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Headers/JCoreModule.h b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Headers/JCoreModule.h new file mode 100644 index 0000000..630b42d --- /dev/null +++ b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Headers/JCoreModule.h @@ -0,0 +1,17 @@ +// +// JCoreModule.h +// UniPluginJCore +// +// Created by huangshuni on 2021/1/21. +// + +#import +#import "DCUniModule.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface JCoreModule : DCUniModule + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Info.plist b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Info.plist new file mode 100644 index 0000000..06a0b00 Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/Info.plist differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/UniPluginJCore b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/UniPluginJCore new file mode 100644 index 0000000..3a36a95 Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/UniPluginJCore differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeDirectory b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeDirectory new file mode 100644 index 0000000..bac9eab Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeDirectory differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements new file mode 100644 index 0000000..25365e2 Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements-1 b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements-1 new file mode 100644 index 0000000..89f4024 Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeRequirements-1 differ diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeResources b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..350bbe4 --- /dev/null +++ b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeResources @@ -0,0 +1,117 @@ + + + + + files + + Headers/JCoreModule.h + + 4aMcBALZuuQeh2JQjJqqvSkc2mA= + + Info.plist + + b4VTqlvap+6I3sPb0nhWD5ZHha4= + + + files2 + + Headers/JCoreModule.h + + hash + + 4aMcBALZuuQeh2JQjJqqvSkc2mA= + + hash2 + + h/0w2CaU3JBhKI3Pp4EiSWqLf/ZY1Ju+5+tBAdowZ5k= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeSignature b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeSignature new file mode 100644 index 0000000..4ba132d Binary files /dev/null and b/nativeplugins/JG-JCore/ios/UniPluginJCore.framework/_CodeSignature/CodeSignature differ diff --git a/nativeplugins/JG-JCore/ios/jcore-ios-2.4.0.a b/nativeplugins/JG-JCore/ios/jcore-ios-2.4.0.a new file mode 100644 index 0000000..5039b57 Binary files /dev/null and b/nativeplugins/JG-JCore/ios/jcore-ios-2.4.0.a differ diff --git a/nativeplugins/JG-JCore/package.json b/nativeplugins/JG-JCore/package.json new file mode 100644 index 0000000..1895da8 --- /dev/null +++ b/nativeplugins/JG-JCore/package.json @@ -0,0 +1,58 @@ +{ + "name": "JG-JCore", + "id": "JG-JCore", + "version": "1.0.1", + "description": "极光推送JCore插件", + "_dp_type":"nativeplugin", + "_dp_nativeplugin":{ + "ios": { + "plugins": [ + { + "type": "module", + "name": "JG-JCore", + "class": "JCoreModule" + } + ], + "integrateType": "framework", + "deploymentTarget": "9.0", + "parameters": { + "JPUSH_APPKEY_IOS": { + "des": "[iOS]极光portal配置应用信息时分配的AppKey", + "key": "JCore:APP_KEY" + }, + "JPUSH_CHANNEL_IOS": { + "des": "[iOS]用于统计分发渠道,不需要可填默认值developer-default", + "key": "JCore:CHANNEL" + } + } + }, + "android": { + "plugins": [ + { + "type": "module", + "name": "JG-JCore", + "class": "cn.jiguang.uniplugin_jcore.JCoreModule" + } + ], + "integrateType": "aar", + "minSdkVersion": "19", + "permissions": [ + ], + "abis": [ + "armeabi-v7a", + "arm64-v8a", + "x86" + ], + "parameters": { + "JPUSH_APPKEY_ANDROID": { + "des": "[Android]极光portal配置应用信息时分配的AppKey", + "key": "JPUSH_APPKEY" + }, + "JPUSH_CHANNEL_ANDROID":{ + "des": "[Android]用于统计分发渠道,不需要可填默认值developer-default", + "key": "JPUSH_CHANNEL" + } + } + } + } +} diff --git a/nativeplugins/JG-JPush/android/com.heytap.msp-push-2.1.0.aar b/nativeplugins/JG-JPush/android/com.heytap.msp-push-2.1.0.aar new file mode 100644 index 0000000..608aced Binary files /dev/null and b/nativeplugins/JG-JPush/android/com.heytap.msp-push-2.1.0.aar differ diff --git a/nativeplugins/JG-JPush/android/libs/MiPush_SDK_Client_3_8_5.jar b/nativeplugins/JG-JPush/android/libs/MiPush_SDK_Client_3_8_5.jar new file mode 100644 index 0000000..7f94935 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/MiPush_SDK_Client_3_8_5.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/jpush-android-3.9.1.jar b/nativeplugins/JG-JPush/android/libs/jpush-android-3.9.1.jar new file mode 100644 index 0000000..b9d13f3 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/jpush-android-3.9.1.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-meizu-v3.9.1.jar b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-meizu-v3.9.1.jar new file mode 100644 index 0000000..88475eb Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-meizu-v3.9.1.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-oppo-v3.9.1.jar b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-oppo-v3.9.1.jar new file mode 100644 index 0000000..291d237 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-oppo-v3.9.1.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-vivo-v3.9.1.jar b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-vivo-v3.9.1.jar new file mode 100644 index 0000000..d544255 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-vivo-v3.9.1.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-xiaomi-v3.9.1.jar b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-xiaomi-v3.9.1.jar new file mode 100644 index 0000000..1d0f401 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/jpush-android-plugin-xiaomi-v3.9.1.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/meizu-push-4.0.2.jar b/nativeplugins/JG-JPush/android/libs/meizu-push-4.0.2.jar new file mode 100644 index 0000000..740e7c5 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/meizu-push-4.0.2.jar differ diff --git a/nativeplugins/JG-JPush/android/libs/push_sdk_v3.0.0.jar b/nativeplugins/JG-JPush/android/libs/push_sdk_v3.0.0.jar new file mode 100644 index 0000000..9c87567 Binary files /dev/null and b/nativeplugins/JG-JPush/android/libs/push_sdk_v3.0.0.jar differ diff --git a/nativeplugins/JG-JPush/android/uniplugin_jpush-release.aar b/nativeplugins/JG-JPush/android/uniplugin_jpush-release.aar new file mode 100644 index 0000000..22f9507 Binary files /dev/null and b/nativeplugins/JG-JPush/android/uniplugin_jpush-release.aar differ diff --git a/nativeplugins/JG-JPush/ios/JPUSHService.h b/nativeplugins/JG-JPush/ios/JPUSHService.h new file mode 100644 index 0000000..dd469aa --- /dev/null +++ b/nativeplugins/JG-JPush/ios/JPUSHService.h @@ -0,0 +1,798 @@ +/* + * | | | | \ \ / / | | | | / _______| + * | |____| | \ \/ / | |____| | / / + * | |____| | \ / | |____| | | | _____ + * | | | | / \ | | | | | | |____ | + * | | | | / /\ \ | | | | \ \______| | + * | | | | /_/ \_\ | | | | \_________| + * + * Copyright (c) 2011 ~ 2017 Shenzhen HXHG. All rights reserved. + */ + +#define JPUSH_VERSION_NUMBER 3.4.0 + +#import + +@class CLRegion; +@class UILocalNotification; +@class CLLocation; +@class UNNotificationCategory; +@class UNNotificationSettings; +@class UNNotificationRequest; +@class UNNotification; +@protocol JPUSHRegisterDelegate; +@protocol JPUSHGeofenceDelegate; +@protocol JPushInMessageDelegate; + +typedef void (^JPUSHTagsOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq); +typedef void (^JPUSHTagValidOperationCompletion)(NSInteger iResCode, NSSet *iTags, NSInteger seq, BOOL isBind); +typedef void (^JPUSHAliasOperationCompletion)(NSInteger iResCode, NSString *iAlias, NSInteger seq); +typedef void (^JPUSHInMssageCompletion)(NSInteger iResCode); + +extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中 +extern NSString *const kJPFNetworkDidSetupNotification; // 建立连接 +extern NSString *const kJPFNetworkDidCloseNotification; // 关闭连接 +extern NSString *const kJPFNetworkDidRegisterNotification; // 注册成功 +extern NSString *const kJPFNetworkFailedRegisterNotification; //注册失败 +extern NSString *const kJPFNetworkDidLoginNotification; // 登录成功 +extern NSString *const kJPFNetworkDidReceiveMessageNotification; // 收到消息(非APNS) +extern NSString *const kJPFServiceErrorNotification; // 错误提示 + +typedef NS_OPTIONS(NSUInteger, JPAuthorizationOptions) { + JPAuthorizationOptionNone = 0, // the application may not present any UI upon a notification being received + JPAuthorizationOptionBadge = (1 << 0), // the application may badge its icon upon a notification being received + JPAuthorizationOptionSound = (1 << 1), // the application may play a sound upon a notification being received + JPAuthorizationOptionAlert = (1 << 2), // the application may display an alert upon a notification being received + JPAuthorizationOptionCarPlay = (1 << 3), // The ability to display notifications in a CarPlay environment. + JPAuthorizationOptionCriticalAlert NS_AVAILABLE_IOS(12.0) = (1 << 4) , //The ability to play sounds for critical alerts. + JPAuthorizationOptionProvidesAppNotificationSettings NS_AVAILABLE_IOS(12.0) = (1 << 5) , //An option indicating the system should display a button for in-app notification settings. + JPAuthorizationOptionProvisional NS_AVAILABLE_IOS(12.0) = (1 << 6) , //The ability to post noninterrupting notifications provisionally to the Notification Center. + JPAuthorizationOptionAnnouncement NS_AVAILABLE_IOS(13.0) = (1 << 7) , //The ability for Siri to automatically read out messages over AirPods. +}; + +typedef NS_ENUM(NSUInteger, JPAuthorizationStatus) { + JPAuthorizationNotDetermined = 0, // The user has not yet made a choice regarding whether the application may post user notifications. + JPAuthorizationStatusDenied, // The application is not authorized to post user notifications. + JPAuthorizationStatusAuthorized, // The application is authorized to post user notifications. + JPAuthorizationStatusProvisional NS_AVAILABLE_IOS(12.0), // The application is authorized to post non-interruptive user notifications. +}; + +typedef NS_ENUM(NSInteger,JPushInMessageContentType){ + JPushAdContentType = 1, //广告类型的inMessage + JPushNotiContentType = 2, //通知类型的inMessage +}; + +/*! + * 通知注册实体类 + */ +@interface JPUSHRegisterEntity : NSObject + +/*! + * 支持的类型 + * badge,sound,alert + */ +@property (nonatomic, assign) NSInteger types; +/*! + * 注入的类别 + * iOS10 UNNotificationCategory + * iOS8-iOS9 UIUserNotificationCategory + */ +@property (nonatomic, strong) NSSet *categories; +@end + +/*! + * 进行删除、查找推送实体类 + */ +@interface JPushNotificationIdentifier : NSObject + +@property (nonatomic, copy) NSArray *identifiers; // 推送的标识数组 +@property (nonatomic, copy) UILocalNotification *notificationObj NS_DEPRECATED_IOS(4_0, 10_0); // iOS10以下可以传UILocalNotification对象数据,iOS10以上无效 +@property (nonatomic, assign) BOOL delivered NS_AVAILABLE_IOS(10_0); // 在通知中心显示的或待推送的标志,默认为NO,YES表示在通知中心显示的,NO表示待推送的 +@property (nonatomic, copy) void (^findCompletionHandler)(NSArray *results); // 用于查询回调,调用[findNotification:]方法前必须设置,results为返回相应对象数组,iOS10以下返回UILocalNotification对象数组;iOS10以上根据delivered传入值返回UNNotification或UNNotificationRequest对象数组(delivered传入YES,则返回UNNotification对象数组,否则返回UNNotificationRequest对象数组) + +@end + +/*! + * 推送通知声音实体类 + * iOS10以上有效 + */ +@interface JPushNotificationSound : NSObject +@property (nonatomic, copy) NSString *soundName; //普通通知铃声 +@property (nonatomic, copy) NSString *criticalSoundName NS_AVAILABLE_IOS(12.0); //警告通知铃声 +@property (nonatomic, assign) float criticalSoundVolume NS_AVAILABLE_IOS(12.0); //警告通知铃声音量,有效值在0~1之间,默认为1 +@end + + +/*! + * 推送内容实体类 + */ +@interface JPushNotificationContent : NSObject + +@property (nonatomic, copy) NSString *title; // 推送标题 +@property (nonatomic, copy) NSString *subtitle; // 推送副标题 +@property (nonatomic, copy) NSString *body; // 推送内容 +@property (nonatomic, copy) NSNumber *badge; // 角标的数字。如果不需要改变角标传@(-1) +@property (nonatomic, copy) NSString *action NS_DEPRECATED_IOS(8_0, 10_0); // 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动",iOS10以上无效) +@property (nonatomic, copy) NSString *categoryIdentifier; // 行为分类标识 +@property (nonatomic, copy) NSDictionary *userInfo; // 本地推送时可以设置userInfo来增加附加信息,远程推送时设置的payload推送内容作为此userInfo +@property (nonatomic, copy) NSString *sound; // 声音名称,不设置则为默认声音 +@property (nonatomic, copy) JPushNotificationSound *soundSetting NS_AVAILABLE_IOS(10.0); //推送声音实体 +@property (nonatomic, copy) NSArray *attachments NS_AVAILABLE_IOS(10_0); // 附件,iOS10以上有效,需要传入UNNotificationAttachment对象数组类型 +@property (nonatomic, copy) NSString *threadIdentifier NS_AVAILABLE_IOS(10_0); // 线程或与推送请求相关对话的标识,iOS10以上有效,可用来对推送进行分组 +@property (nonatomic, copy) NSString *launchImageName NS_AVAILABLE_IOS(10_0); // 启动图片名,iOS10以上有效,从推送启动时将会用到 +@property (nonatomic, copy) NSString *summaryArgument NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的部分参数。iOS12以上有效。 +@property (nonatomic, assign) NSUInteger summaryArgumentCount NS_AVAILABLE_IOS(12.0); //插入到通知摘要中的项目数。iOS12以上有效。 +@property (nonatomic, copy) NSString *targetContentIdentifier NS_AVAILABLE_IOS(13.0); // An identifier for the content of the notification used by the system to customize the scene to be activated when tapping on a notification. + +@end + + +/*! + * 推送触发方式实体类 + * 注:dateComponents、timeInterval、region在iOS10以上可选择其中一个参数传入有效值,如果同时传入值会根据优先级I、II、III使其中一种触发方式生效,fireDate为iOS10以下根据时间触发时须传入的参数 + */ +@interface JPushNotificationTrigger : NSObject + +@property (nonatomic, assign) BOOL repeat; // 设置是否重复,默认为NO +@property (nonatomic, copy) NSDate *fireDate NS_DEPRECATED_IOS(2_0, 10_0); // 用来设置触发推送的时间,iOS10以上无效 +@property (nonatomic, copy) CLRegion *region NS_AVAILABLE_IOS(8_0); // 用来设置触发推送的位置,iOS8以上有效,iOS10以上优先级为I,应用需要有允许使用定位的授权 +@property (nonatomic, copy) NSDateComponents *dateComponents NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的日期时间,iOS10以上有效,优先级为II +@property (nonatomic, assign) NSTimeInterval timeInterval NS_AVAILABLE_IOS(10_0); // 用来设置触发推送的时间,iOS10以上有效,优先级为III + +@end + +/*! + * 注册或更新推送实体类 + */ +@interface JPushNotificationRequest : NSObject + +@property (nonatomic, copy) NSString *requestIdentifier; // 推送请求标识 +@property (nonatomic, copy) JPushNotificationContent *content; // 设置推送的具体内容 +@property (nonatomic, copy) JPushNotificationTrigger *trigger; // 设置推送的触发方式 +@property (nonatomic, copy) void (^completionHandler)(id result); // 注册或更新推送成功回调,iOS10以上成功则result为UNNotificationRequest对象,失败则result为nil;iOS10以下成功result为UILocalNotification对象,失败则result为nil + +@end + +/*! + * JPush 核心头文件 + */ +@interface JPUSHService : NSObject + + +///---------------------------------------------------- +/// @name Setup 启动相关 +///---------------------------------------------------- + + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(NSString *)channel + apsForProduction:(BOOL)isProduction; + +/*! + * @abstract 启动SDK + * + * @param launchingOption 启动参数. + * @param appKey 一个JPush 应用必须的,唯一的标识. 请参考 JPush 相关说明文档来获取这个标识. + * @param channel 发布渠道. 可选. + * @param isProduction 是否生产环境. 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES. + * App 证书环境取决于profile provision的配置,此处建议与证书环境保持一致. + * @param advertisingId 广告标识符(IDFA) 如果不需要使用IDFA,传nil. + * + * @discussion 提供SDK启动必须的参数, 来启动 SDK. + * 此接口必须在 App 启动时调用, 否则 JPush SDK 将无法正常工作. + */ ++ (void)setupWithOption:(NSDictionary *)launchingOption + appKey:(NSString *)appKey + channel:(NSString *)channel + apsForProduction:(BOOL)isProduction + advertisingIdentifier:(NSString *)advertisingId; + + +///---------------------------------------------------- +/// @name APNs about 通知相关 +///---------------------------------------------------- + +/*! + * @abstract 注册要处理的远程通知类型 + * + * @param types 通知类型 + * @param categories 类别组 + * + */ ++ (void)registerForRemoteNotificationTypes:(NSUInteger)types + categories:(NSSet *)categories; +/*! + * @abstract 新版本的注册方法(兼容iOS10) + * + * @param config 注册通知配置 + * @param delegate 代理 + * + */ ++ (void)registerForRemoteNotificationConfig:(JPUSHRegisterEntity *)config delegate:(id)delegate; + + ++ (void)registerDeviceToken:(NSData *)deviceToken; + +/*! + * @abstract 处理收到的 APNs 消息 + */ ++ (void)handleRemoteNotification:(NSDictionary *)remoteInfo; + +/*! + * @abstract 向极光服务器提交Token + * + * @param voipToken 推送使用的Voip Token + */ ++ (void)registerVoipToken:(NSData *)voipToken; + + +/*! + * @abstract 处理收到的 Voip 消息 + * + * @param remoteInfo 下发的 Voip 内容 + */ ++ (void)handleVoipNotification:(NSDictionary *)remoteInfo; + + +/*! +* @abstract 检测通知授权状态 +* @param completion 授权结果通过status值返回,详见JPAuthorizationStatus +*/ ++ (void)requestNotificationAuthorization:(void (^)(JPAuthorizationStatus status))completion; + +/*! +* @abstract 跳转至系统设置页面,iOS8及以上有效 +*/ ++ (void)openSettingsForNotification:(void (^)(BOOL success))completionHandler NS_AVAILABLE_IOS(8_0); + +/*! + * Tags操作接口 + * 支持增加/覆盖/删除/清空/查询操作 + * 详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + */ + +/** + 增加tags + + @param tags 需要增加的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)addTags:(NSSet *)tags + completion:(JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 覆盖tags + 调用该接口会覆盖用户所有的tags + + @param tags 需要设置的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setTags:(NSSet *)tags + completion:(JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除指定tags + + @param tags 需要删除的tags集合 + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteTags:(NSSet *)tags + completion:(JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 清空所有tags + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)cleanTags:(JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询全部tags + + @param completion 响应回调,请在回调中获取查询结果 + @param seq 请求序列号 + */ ++ (void)getAllTags:(JPUSHTagsOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 验证tag是否绑定 + + @param completion 响应回调,回调中查看是否绑定 + @param seq 请求序列号 + */ ++ (void)validTag:(NSString *)tag + completion:(JPUSHTagValidOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 设置Alias + + @param alias 需要设置的alias + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)setAlias:(NSString *)alias + completion:(JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 删除alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)deleteAlias:(JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + +/** + 查询当前alias + + @param completion 响应回调 + @param seq 请求序列号 + */ ++ (void)getAlias:(JPUSHAliasOperationCompletion)completion + seq:(NSInteger)seq; + + +/*! + * @abstract 过滤掉无效的 tags + * + * @discussion 如果 tags 数量超过限制数量, 则返回靠前的有效的 tags. + * 建议设置 tags 前用此接口校验. SDK 内部也会基于此接口来做过滤. + */ ++ (NSSet *)filterValidTags:(NSSet *)tags; + +///---------------------------------------------------- +/// @name Stats 统计功能 +///---------------------------------------------------- + +/*! + * @abstract 开始记录页面停留 + * + * @param pageName 页面名称 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)startLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 停止记录页面停留 + * + * @param pageName 页面 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)stopLogPageView:(NSString *)pageName __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 直接上报在页面的停留时间 + * + * @param pageName 页面 + * @param seconds 停留的秒数 + * @discussion JCore 1.1.8 版本后,如需统计页面流,请使用 JAnalytics + */ ++ (void)beginLogPageView:(NSString *)pageName duration:(int)seconds __attribute__((deprecated("JCore 1.1.8 版本已过期"))); + +/*! + * @abstract 开启Crash日志收集 + * + * @discussion 默认是关闭状态. + */ ++ (void)crashLogON; + +/*! + * @abstract 地理位置上报 + * + * @param latitude 纬度. + * @param longitude 经度. + * + */ ++ (void)setLatitude:(double)latitude longitude:(double)longitude; + +/*! + * @abstract 地理位置上报 + * + * @param location 直接传递 CLLocation * 型的地理信息 + * + * @discussion 需要链接 CoreLocation.framework 并且 #import + */ ++ (void)setLocation:(CLLocation *)location; + +/** + 设置地理围栏的最大个数 + 默认值为 10 ,iOS系统默认地理围栏最大个数为20 + @param count 个数 count + */ ++ (void)setGeofenecMaxCount:(NSInteger)count; +/** + 注册地理围栏的代理 + + @param delegate 代理 + @param launchOptions app启动完成是收到的字段参数 + */ ++ (void)registerLbsGeofenceDelegate:(id)delegate withLaunchOptions:(NSDictionary *)launchOptions; + +/** + 删除地理围栏 + + @param geofenceId 地理围栏id + */ ++ (void)removeGeofenceWithIdentifier:(NSString *)geofenceId; + +///---------------------------------------------------- +/// @name Local Notification 本地通知 +///---------------------------------------------------- +/*! + * @abstract 注册或更新推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param request JPushNotificationRequest类型,设置推送的属性,设置已有推送的request.requestIdentifier即更新已有的推送,否则为注册新推送,更新推送仅仅在iOS10以上有效,结果通过request.completionHandler返回 + * @discussion 旧的注册本地推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)addNotification:(JPushNotificationRequest *)request; + +/*! + * @abstract 移除推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上identifier设置为nil,则移除所有在通知中心显示推送和待推送请求,也可以通过设置identifier.delivered和identifier.identifiers来移除相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则移除相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier设置为nil,则移除所有推送,identifier.delivered属性无效,另外可以通过identifier.notificationObj传入特定推送对象来移除此推送。 + * @discussion 旧的所有删除推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)removeNotification:(JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 查找推送 (支持iOS10,并兼容iOS10以下版本) + * + * JPush 2.1.9新接口 + * @param identifier JPushNotificationIdentifier类型,iOS10以上可以通过设置identifier.delivered和identifier.identifiers来查找相应在通知中心显示推送或待推送请求,identifier.identifiers如果设置为nil或空数组则返回相应标志下所有在通知中心显示推送或待推送请求;iOS10以下identifier.delivered属性无效,identifier.identifiers如果设置nil或空数组则返回所有未触发的推送。须要设置identifier.findCompletionHandler回调才能得到查找结果,通过(NSArray *results)返回相应对象数组。 + * @discussion 旧的查找推送接口被废弃,使用此接口可以替换 + * + */ ++ (void)findNotification:(JPushNotificationIdentifier *)identifier; + +/*! + * @abstract 本地推送,最多支持64个 + * + * @param fireDate 本地推送触发的时间 + * @param alertBody 本地推送需要显示的内容 + * @param badge 角标的数字。如果不需要改变角标传-1 + * @param alertAction 弹框的按钮显示的内容(IOS 8默认为"打开", 其他默认为"启动") + * @param notificationKey 本地推送标示符 + * @param userInfo 自定义参数,可以用来标识推送和增加附加信息 + * @param soundName 自定义通知声音,设置为nil为默认声音 + * + * @discussion 最多支持 64 个定义,此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 本地推送 (支持 iOS8 新参数) + * + * IOS8新参数 + * @param region 自定义参数 + * @param regionTriggersOnce 自定义参数 + * @param category 自定义参数 + * @discussion 此方法被[addNotification:]方法取代 + */ ++ (UILocalNotification *)setLocalNotification:(NSDate *)fireDate + alertBody:(NSString *)alertBody + badge:(int)badge + alertAction:(NSString *)alertAction + identifierKey:(NSString *)notificationKey + userInfo:(NSDictionary *)userInfo + soundName:(NSString *)soundName + region:(CLRegion *)region + regionTriggersOnce:(BOOL)regionTriggersOnce + category:(NSString *)category NS_AVAILABLE_IOS(8_0) __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 前台展示本地推送 + * + * @param notification 本地推送对象 + * @param notificationKey 需要前台显示的本地推送通知的标示符 + * + * @discussion 默认App在前台运行时不会进行弹窗,在程序接收通知调用此接口可实现指定的推送弹窗。--iOS10以下还可继续使用,iOS10以上在[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:]方法中调用completionHandler(UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);即可 + */ ++ (void)showLocalNotificationAtFront:(UILocalNotification *)notification + identifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); +/*! + * @abstract 删除本地推送定义 + * + * @param notificationKey 本地推送标示符 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotificationWithIdentifierKey:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 删除本地推送定义 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)deleteLocalNotification:(UILocalNotification *)localNotification __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 获取指定通知 + * + * @param notificationKey 本地推送标示符 + * @return 本地推送对象数组, [array count]为0时表示没找到 + * @discussion 此方法被[findNotification:]方法取代 + */ ++ (NSArray *)findLocalNotificationWithIdentifier:(NSString *)notificationKey __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + +/*! + * @abstract 清除所有本地推送对象 + * @discussion 此方法被[removeNotification:]方法取代 + */ ++ (void)clearAllLocalNotifications __attribute__((deprecated("JPush 2.1.9 版本已过期"))); + + +///---------------------------------------------------- +/// @name Server badge 服务器端 badge 功能 +///---------------------------------------------------- + +/*! + * @abstract 设置角标(到服务器) + * + * @param value 新的值. 会覆盖服务器上保存的值(这个用户) + * + * @discussion 本接口不会改变应用本地的角标值. + * 本地仍须调用 UIApplication:setApplicationIconBadgeNumber 函数来设置脚标. + * + * 本接口用于配合 JPush 提供的服务器端角标功能. + * 该功能解决的问题是, 服务器端推送 APNs 时, 并不知道客户端原来已经存在的角标是多少, 指定一个固定的数字不太合理. + * + * JPush 服务器端脚标功能提供: + * + * - 通过本 API 把当前客户端(当前这个用户的) 的实际 badge 设置到服务器端保存起来; + * - 调用服务器端 API 发 APNs 时(通常这个调用是批量针对大量用户), + * 使用 "+1" 的语义, 来表达需要基于目标用户实际的 badge 值(保存的) +1 来下发通知时带上新的 badge 值; + */ ++ (BOOL)setBadge:(NSInteger)value; + +/*! + * @abstract 重置脚标(为0) + * + * @discussion 相当于 [setBadge:0] 的效果. + * 参考 [JPUSHService setBadge:] 说明来理解其作用. + */ ++ (void)resetBadge; + +///---------------------------------------------------- +/// @name Other Feature 其他功能 +///---------------------------------------------------- + +/*! + * @abstract 设置手机号码(到服务器) + * + * @param mobileNumber 手机号码. 会与用户信息一一对应。可为空,为空则清除号码 + * @param completion 响应回调。成功则error为空,失败则error带有错误码及错误信息 + * + * @discussion 设置手机号码后,可实现“推送不到短信到”的通知方式,提高推送达到率。结果信息通过completion异步返回,也可将completion设置为nil不处理结果信息。 + * + */ ++ (void)setMobileNumber:(NSString *)mobileNumber completion:(void (^)(NSError *error))completion; + +///---------------------------------------------------- +/// @name Logs and others 日志与其他 +///---------------------------------------------------- + +/*! + * @abstract JPush标识此设备的 registrationID + * + * @discussion SDK注册成功后, 调用此接口获取到 registrationID 才能够获取到. + * + * JPush 支持根据 registrationID 来进行推送. + * 如果你需要此功能, 应该通过此接口获取到 registrationID 后, 上报到你自己的服务器端, 并保存下来. + * registrationIDCompletionHandler:是新增的获取registrationID的方法,需要在block中获取registrationID,resCode为返回码,模拟器调用此接口resCode返回1011,registrationID返回nil. + * 更多的理解请参考 JPush 的文档网站. + */ ++ (NSString *)registrationID; + ++ (void)registrationIDCompletionHandler:(void(^)(int resCode,NSString *registrationID))completionHandler; + +/*! + * @abstract 打开日志级别到 Debug + * + * @discussion JMessage iOS 的日志系统参考 Android 设计了级别. + * 从低到高是: Verbose, Debug, Info, Warning, Error. + * 对日志级别的进一步理解, 请参考 Android 相关的说明. + * + * SDK 默认开启的日志级别为: Info. 只显示必要的信息, 不打印调试日志. + * + * 请在SDK启动后调用本接口,调用本接口可打开日志级别为: Debug, 打印调试日志. + */ ++ (void)setDebugMode; + +/*! + * @abstract 关闭日志 + * + * @discussion 关于日志级别的说明, 参考 [JPUSHService setDebugMode] + * + * 虽说是关闭日志, 但还是会打印 Warning, Error 日志. 这二种日志级别, 在程序运行正常时, 不应有打印输出. + * + * 建议在发布的版本里, 调用此接口, 关闭掉日志打印. + */ ++ (void)setLogOFF; + +/*! + * @abstract 设置SDK地理位置权限开关 + * + * @discussion 关闭地理位置之后,SDK地理围栏的相关功能将受到影响,默认是开启。 + * + */ ++ (void)setLocationEanable:(BOOL)isEanble; + +/*! +* @abstract 设置应用内消息的代理 +* +* @discussion 遵守JPushInMessageDelegate的代理对象 +* +*/ ++ (void)setInMessageDelegate:(id)inMessageDelegate; + + +/*! +* @abstract 主动拉取应用内消息的接口 +* +* @discussion 拉取结果的回调 +* +*/ ++ (void)pullInMessageCompletion:(JPUSHInMssageCompletion)completion; + +///---------------------------------------------------- +///********************下列方法已过期******************** +///**************请使用新版tag/alias操作接口************** +///---------------------------------------------------- +/// @name Tag alias setting 设置别名与标签 +///---------------------------------------------------- + +/*! + * 下面的接口是可选的 + * 设置标签和(或)别名(若参数为nil,则忽略;若是空对象,则清空;详情请参考文档:https://docs.jiguang.cn/jpush/client/iOS/ios_api/) + * setTags:alias:fetchCompletionHandle:是新的设置标签别名的方法,不再需要显示声明回调函数,只需要在block里面处理设置结果即可. + * WARN: 使用block时需要注意循环引用问题 + */ ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + target:(id)theTarget __attribute__((deprecated("JPush 2.1.1 版本已过期"))); ++ (void) setTags:(NSSet *)tags + alias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setTags:(NSSet *)tags + alias:(NSString *)alias +fetchCompletionHandle:(void (^)(int iResCode, NSSet *iTags, NSString *iAlias))completionHandler __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void) setTags:(NSSet *)tags +aliasInbackground:(NSString *)alias __attribute__((deprecated("JPush 3.0.6 版本已过期"))); ++ (void)setAlias:(NSString *)alias +callbackSelector:(SEL)cbSelector + object:(id)theTarget __attribute__((deprecated("JPush 3.0.6 版本已过期"))); + +@end + +@class UNUserNotificationCenter; +@class UNNotificationResponse; + +@protocol JPUSHRegisterDelegate + +/* + * @brief handle UserNotifications.framework [willPresentNotification:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 前台得到的的通知对象 + * @param completionHandler 该callback中的options 请使用UNNotificationPresentationOptions + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger options))completionHandler; +/* + * @brief handle UserNotifications.framework [didReceiveNotificationResponse:withCompletionHandler:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param response 通知响应对象 + * @param completionHandler + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler; + +/* + * @brief handle UserNotifications.framework [openSettingsForNotification:] + * @param center [UNUserNotificationCenter currentNotificationCenter] 新特性用户通知中心 + * @param notification 当前管理的通知对象 + */ +- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification NS_AVAILABLE_IOS(12.0); + +/** + * 监测通知授权状态返回的结果 + * @param status 授权通知状态,详见JPAuthorizationStatus + * @param info 更多信息,预留参数 + */ +- (void)jpushNotificationAuthorization:(JPAuthorizationStatus)status withInfo:(NSDictionary *)info; + +@end + +@protocol JPUSHGeofenceDelegate + +/** + 进入地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didEnterRegion:(NSDictionary *)userInfo error:(NSError *)error; + +/** + 离开地理围栏区域 + + @param geofenceId 地理围栏id + @param userInfo 地理围栏触发时返回的信息 + @param error 错误信息 + */ +- (void)jpushGeofenceIdentifer:(NSString *)geofenceId didExitRegion:(NSDictionary *)userInfo error:(NSError *)error; + +@end + +@protocol JPushInMessageDelegate + +@optional +/** + *是否允许应用内消息弹出,默认为允许 +*/ +- (BOOL)jPushInMessageIsAllowedInMessagePop; + +/** + *应用内消息展示的回调 +*/ +- (void)jPushInMessageAlreadyPop __attribute__((deprecated("JPush 3.4.0 版本已过期")));; + +/** + *应用内消息已消失 +*/ +- (void)jPushInMessageAlreadyDisappear; + + +/** + inMessage展示的回调 + + @param messageType inMessage + @param content 下发的数据,广告类的返回数据为空时返回的信息 + + */ +- (void)jPushInMessageAlreadyPopInMessageType:(JPushInMessageContentType)messageType Content:(NSDictionary *)content; + +/** + inMessage点击的回调 + + @param messageType inMessage + @param content 下发的数据,广告类的返回数据为空时返回的信息 + + */ +- (void)jpushInMessagedidClickInMessageType:(JPushInMessageContentType)messageType Content:(NSDictionary *)content; + +@end diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Headers/JPushModule.h b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Headers/JPushModule.h new file mode 100644 index 0000000..ad03617 --- /dev/null +++ b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Headers/JPushModule.h @@ -0,0 +1,17 @@ +// +// JPushModule.h +// UniPluginJPush +// +// Created by huangshuni on 2021/1/12. +// + +#import +#import "DCUniModule.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface JPushModule : DCUniModule + +@end + +NS_ASSUME_NONNULL_END diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Info.plist b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Info.plist new file mode 100644 index 0000000..69a80e2 Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/Info.plist differ diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/UniPluginJPush b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/UniPluginJPush new file mode 100644 index 0000000..247e2e7 Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/UniPluginJPush differ diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeDirectory b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeDirectory new file mode 100644 index 0000000..db16dc7 Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeDirectory differ diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements new file mode 100644 index 0000000..92e2aad Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements differ diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements-1 b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements-1 new file mode 100644 index 0000000..d9451ab Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeRequirements-1 differ diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeResources b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..532afdd --- /dev/null +++ b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeResources @@ -0,0 +1,117 @@ + + + + + files + + Headers/JPushModule.h + + hAItQbWWuw4mOOySo6FeWH3MYsA= + + Info.plist + + mdxdKDpLHqtEZTfNMy6MBCyizi8= + + + files2 + + Headers/JPushModule.h + + hash + + hAItQbWWuw4mOOySo6FeWH3MYsA= + + hash2 + + LHaZ7SfsmEBYhVCf3bEBp8fHG5II1obOplOf4kj6EZQ= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeSignature b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeSignature new file mode 100644 index 0000000..5a9909b Binary files /dev/null and b/nativeplugins/JG-JPush/ios/UniPluginJPush.framework/_CodeSignature/CodeSignature differ diff --git a/nativeplugins/JG-JPush/ios/jpush-ios-3.4.0.a b/nativeplugins/JG-JPush/ios/jpush-ios-3.4.0.a new file mode 100644 index 0000000..e5fa8b0 Binary files /dev/null and b/nativeplugins/JG-JPush/ios/jpush-ios-3.4.0.a differ diff --git a/nativeplugins/JG-JPush/package.json b/nativeplugins/JG-JPush/package.json new file mode 100644 index 0000000..0d0cfc2 --- /dev/null +++ b/nativeplugins/JG-JPush/package.json @@ -0,0 +1,138 @@ +{ + "name": "JG-JPush", + "id": "JG-JPush", + "version": "1.0.3", + "description": "极光推送Hbuilder插件", + "_dp_type":"nativeplugin", + "_dp_nativeplugin":{ + "ios": { + "plugins": [{ + "type": "module", + "name": "JG-JPush", + "class": "JPushModule" + }], + "hooksClass": "JPushProxy", + "integrateType": "framework", + "deploymentTarget": "9.0", + "frameworks": [ + "CFNetwork.framework", + "CoreFoundation.framework", + "CoreTelephony.framework", + "SystemConfiguration.framework", + "CoreGraphics.framework", + "Foundation.framework", + "UIKit.framework", + "Security.framework", + "libz.tbd", + "AdSupport.framework", + "UserNotifications.framework", + "libresolv.tbd", + "WebKit.framework", + "AppTrackingTransparency.framework", + "StoreKit.framework" + ], + "resources": [ + + ], + "capabilities": { + "entitlements": { + "aps-environment":"development" + } + }, + "privacies": [ + "NSLocationAlwaysAndWhenInUseUsageDescription", + "NSLocationAlwaysUsageDescription", + "NSLocationWhenInUseUsageDescription" + ], + "parameters": { + "JPUSH_ISPRODUCTION_IOS": { + "des": "[iOS]是否是生产环境,是填true,不是填false或者不填", + "key": "JPush:ISPRODUCTION" + }, + "JPUSH_ADVERTISINGID_IOS": { + "des": "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填", + "key": "JPush:ADVERTISINGID" + }, + "JPUSH_DEFAULTINITJPUSH_IOS": { + "des": "[iOS]是否默认初始化,是填true,不是填false或者不填", + "key": "JPush:DEFAULTINITJPUSH" + } + } + }, + "android": { + "plugins": [ + { + "type": "module", + "name": "JG-JPush", + "class": "cn.jiguang.uniplugin_jpush.JPushModule" + } + ], + "integrateType": "aar", + "minSdkVersion": "19", + "permissions": [ + "${applicationId}.permission.JPUSH_MESSAGE", + "android.permission.RECEIVE_USER_PRESENT", + "android.permission.INTERNET", + "android.permission.READ_PHONE_STATE", + "android.permission.WRITE_EXTERNAL_STORAGE", + "android.permission.READ_EXTERNAL_STORAGE", + "android.permission.WRITE_SETTINGS", + "android.permission.MOUNT_UNMOUNT_FILESYSTEMS", + "android.permission.ACCESS_NETWORK_STATE", + "android.permission.ACCESS_WIFI_STATE", + "com.huawei.android.launcher.permission.CHANGE_BADGE", + "android.permission.VIBRATE", + "android.permission.SYSTEM_ALERT_WINDOW", + "android.permission.ACCESS_COARSE_LOCATION", + "android.permission.CHANGE_WIFI_STATE", + "android.permission.ACCESS_FINE_LOCATION", + "android.permission.ACCESS_BACKGROUND_LOCATION", + "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS", + "android.permission.CHANGE_NETWORK_STATE", + "android.permission.GET_TASKS", + "android.permission.QUERY_ALL_PACKAGES", + "${applicationId}.permission.MIPUSH_RECEIVE", + "com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE", + "com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE" + ], + "parameters": { + "JPUSH_OPPO_APPKEY": { + "des": "厂商OPPO-appkey,示例:OP-12345678", + "key": "OPPO_APPKEY" + }, + "JPUSH_OPPO_APPID":{ + "des": "厂商OPPO-appId,示例:OP-12345678", + "key": "OPPO_APPID" + }, + "JPUSH_OPPO_APPSECRET":{ + "des": "厂商OPPO-appSecret,示例:OP-12345678", + "key": "OPPO_APPSECRET" + }, + "JPUSH_VIVO_APPKEY":{ + "des": "厂商VIVO-appkey,示例:12345678", + "key": "com.vivo.push.api_key" + }, + "JPUSH_VIVO_APPID":{ + "des": "厂商VIVO-appId,示例:12345678", + "key": "com.vivo.push.app_id" + }, + "JPUSH_MEIZU_APPKEY":{ + "des": "厂商MEIZU-appKey,示例:MZ-12345678", + "key": "MEIZU_APPKEY" + }, + "JPUSH_MEIZU_APPID":{ + "des": "厂商MEIZU-appId,示例:MZ-12345678", + "key": "MEIZU_APPID" + }, + "JPUSH_XIAOMI_APPKEY":{ + "des": "厂商XIAOMI-appKey,示例:MI-12345678", + "key": "XIAOMI_APPKEY" + }, + "JPUSH_XIAOMI_APPID":{ + "des": "厂商XIAOMI-appId,示例:MI-12345678", + "key": "XIAOMI_APPID" + } + } + } + } +} diff --git a/pages.json b/pages.json index 33c0ce4..9119fd7 100644 --- a/pages.json +++ b/pages.json @@ -37,7 +37,8 @@ { "path": "pages/index/address", "style": { - "navigationStyle":"custom" + "navigationStyle":"custom", + "navigationBarTextStyle":"black" } }, { @@ -102,8 +103,13 @@ { "path" : "pages/account/changeImg", "style" :{ - "navigationStyle":"custom", - "enablePullDownRefresh": false + "app-plus":{ + "titleNView":false //去掉当前页的顶部导航栏 + }, + "navigationBarBackgroundColor":"white", + "navigationStyle":"custom", + "navigationBarTextStyle":"#000000" + } }, @@ -275,7 +281,7 @@ "path": "pages/category/productList", "style": { "titleNView":false, - "enablePullDownRefresh":true, + // "enablePullDownRefresh":true, // "navigationBarTextStyle":"white", "navigationBarBackgroundColor": "#000000" } @@ -324,7 +330,8 @@ { "path": "pages/productDetails/review", "style": { - "titleNView":false + "titleNView":false, + "enablePullDownRefresh":true } }, { @@ -354,6 +361,7 @@ } ], + "globalStyle": { "navigationBarBackgroundColor": "#000000", "navigationBarTextStyle": "white", @@ -387,6 +395,7 @@ "selectedIconPath": "static/img/Category1.png", "text": "Category" }, + { "pagePath": "pages/shippingCart/index", "iconPath": "static/img/Cart.png", diff --git a/pages/account/addAddress.vue b/pages/account/addAddress.vue index 066835c..c2c650e 100644 --- a/pages/account/addAddress.vue +++ b/pages/account/addAddress.vue @@ -1,19 +1,17 @@ - + diff --git a/pages/index/index2.vue b/pages/index/index2.vue index 7601f5c..3ab43b6 100644 --- a/pages/index/index2.vue +++ b/pages/index/index2.vue @@ -7,7 +7,7 @@ - + diff --git a/pages/index/pickUpCentre.vue b/pages/index/pickUpCentre.vue index e03c577..ec9b4bf 100644 --- a/pages/index/pickUpCentre.vue +++ b/pages/index/pickUpCentre.vue @@ -51,7 +51,7 @@ if(res.error==0){ uni.showToast({ icon:'none', - title:res.message + title:'ok!' }) } this.getList() diff --git a/pages/login/changePwd.vue b/pages/login/changePwd.vue index f3f1869..9985ba2 100644 --- a/pages/login/changePwd.vue +++ b/pages/login/changePwd.vue @@ -28,6 +28,10 @@ submit(){ defaultRequest(this.query).then(res=>{ console.info(res) + uni.showToast({ + title:res.message, + icon:'none' + }) if(res.error==0){ uni.showToast({ title:res.message, diff --git a/pages/login/index.vue b/pages/login/index.vue index 85ddcb1..33db52c 100644 --- a/pages/login/index.vue +++ b/pages/login/index.vue @@ -18,7 +18,7 @@ - {{errMsg}} + ooo{{errMsg}} Forgot your Password? - + + ${{item.type_money}} Min.spend @@ -209,12 +213,13 @@ + - Points (total:{{ count}} ) + Points (total:{{ count}} ) @@ -236,10 +241,10 @@ Items - - - - + + + + {{item.goods_name}} @@ -269,9 +274,10 @@ isCoupons:false, popup_good:-1, isPoints:false, + isusebonus:1, query:{ _action:'cartcheckout', - is_new:0, + is_new:1, direct_shopping:0, consignee:'' }, @@ -362,7 +368,7 @@ // ////console.log(this.total.bonus) // uni.setStorageSync('Total',this.total) // this.order=res.data.order - // ////console.log(this.use) + // //使用了余额 // this.usemethod() // // this.Thepoint() @@ -370,14 +376,14 @@ // } // }) - this.total.amount = (parseFloat(total.amount) - parseFloat(this.bonus)).toFixed(2) - uni.setStorageSync('Total',this.total) - this.Thepoint() + this.total.amount = (parseFloat(total.amount) - parseFloat(this.bonus)).toFixed(2)-(parseFloat(this.Points).toFixed(2)) + console.log(this.total.amount) + } else{ this.bonus = 0 this.total = uni.getStorageSync('total') - this.Thepoint() + // this.Thepoint() } // this.isCoupons = false }, @@ -435,24 +441,21 @@ }, Thepoint(){ //使用余额 使用红包 - ////////console.log(this.total) - // if(this.bonus !=0){ - - // } - if(this.use && (this.current!=-1||this.bonus!==0)){ + + if(this.use && (this.current!=-1||this.bonus!=0)){ this.total.bonus = this.bonus - this.total = uni.getStorageSync('Total') + this.total = uni.getStorageSync('total') + // 余额大于商品总额 if(parseFloat(this.count) > this.total.amount){ let i = (parseFloat(this.count) - this.total.amount - parseFloat(this.total.bonus)).toFixed(2) // this.Points = (this.total.amount - parseFloat(this.total.bonus)).toFixed(2) - this.Points = this.total.amount - //////console.log(this.Points) - this.total.amount = 0 + this.Points = this.total.amount - this.bonus + this.total.amount = 0 } else if(parseFloat(this.count) < this.total.amount){ let i = (this.total.amount -parseFloat(this.count)).toFixed(2) - // this.total.amount = i + this.Points = this.count this.total.amount = (this.total.amount - parseFloat(this.Points)).toFixed(2) } @@ -464,6 +467,7 @@ } // 都不使用 else if(!this.use&& this.current==-1){ + this.Points = 0 this.bonus = 0 this.total = uni.getStorageSync('total') } @@ -520,60 +524,57 @@ // 变更配送方式 cartselectshipping(id){ - let data={_action:'cartselectshipping',shipping_id:id,consignee:this.address} + // let data={_action:'cartselectshipping',shipping_id:id,consignee:this.address} + let data={_action:'cartselectshipping',shipping_id:id,consignee:{country:'4191'}} defaultRequest3(data,'consignee').then(res=>{ - ////console.info(data) + console.log(data) + console.info(res) if(res.error==0){ this.tag = 1 this.total=res.data.total //console.log(this.total) this.totalnum = this.total.amount - console.log(typeof(this.totalnum)) + // console.log(typeof(this.totalnum)) uni.setStorageSync('total',(res.data.total)) - let ss = uni.getStorageSync('total') this.order=res.data.order + // console.log(res.data) this.orderId=res.data.order.shipping_id // this.usemethod() this.Thepoint() } }) }, - getList(){ - defaultRequest3(this.query,'consignee').then(res=>{ - ////////console.log(this.query) - //console.info(res) + getList(query,e){ + defaultRequest3(query,'consignee').then(res=>{ + console.log(query) + console.info(res) if(res.error==0){ this.orderDate=res.data - this.address=res.data.consignee + if(e==1){ + this.address=res.data.consignee + } this.goods_list=res.data.goods_list this.total = res.data.total - //console.info(this.goods_list) - this.shipping_list=res.data.shipping_list - this.orderId = this.shipping_list[0].shipping_id + + if(e==2){ + this.shipping_list=res.data.shipping_list + console.info(res.data.shipping_list) + this.orderId = this.shipping_list[0].shipping_id + } + //console.info(res.data) ////console.log(this.shipping_list[0].shipping_id) this.cartselectshipping(this.orderId) if(res.data.bonus_list){ this.bonus_list=res.data.bonus_list } - // this.total=res.data.total - // this.totalnum = this.total.amount - // uni.setStorageSync('total',(res.data.total)) - // let ss = uni.getStorageSync('total') - ////console.log(res.data.total) this.order=res.data.order } }) // 获取红包 let data={_action:'getuserbonus'} var time = new Date(); - // var today = time.getFullYear() - // var month - // if(time.getMonth() +1 <10){ - // month = '0'+(time.getMonth() +1).toString() - // } - // var date = time.getDate() - // var timecurrent = today.toString() + month.toString() + date.toString() + var today = time.toLocaleString() console.log(time.toLocaleString()) defaultRequest2(data).then(res=>{ @@ -593,25 +594,36 @@ list.push(item) this.list = list if(parseFloat(item.min_goods_amount) new Date(Date.parse(today))) }) - this.bonus = list2[0].type_money + + if(list2.length>0){ + let max = 0 + for(let i = 0;i0 || sum == 0){ + this.total.amount = sum + } + // uni.setStorageSync('Total',this.total) - uni.setStorageSync('totalsum',sum) + // uni.setStorageSync('totalsum',sum) console.log(this.list) } @@ -690,6 +702,18 @@ onLoad(e) { // this.current = 0 this.query=JSON.parse(e.query) + console.log(this.query) + this.getList(this.query,1) + let query2 = { + _action:'cartcheckout', + is_new:1, + direct_shopping:0, + consignee:{ + country:'4191' + } + } + this.cartselectshipping(11) + this.getList(query2,2) // if(e.orderId){ // this.orderId = e.orderId // this.order.shipping_id = e.orderId @@ -702,19 +726,23 @@ this.tag =1 } ////console.log(e.orderId) - this.getList() - this.cartselectshipping(11) + + // this.getList(query2) + }, onShow(e) { - - this.getList() + // this.query=JSON.parse(e.query) + console.log(e) + this.getList(this.query,1) + // this.getList(this.query,1) + uni.$once('query' ,(query)=>{ ////////console.info(query) if(query.type=='address'){ - this.query.consignee=query.consignee - this.query.is_new=0 + this.query.consignee = query.consignee + this.query.is_new=0 ////////console.log(this.query) - this.getList() + this.getList(this.query,1) } }); }, @@ -911,24 +939,34 @@ position: fixed; bottom: 0; left: 0; - // min-height: 200rpx; - // max-height: 600rpx; + max-height: 50vh; + overflow-y: scroll; background-color: white; padding-left: 29.33rpx; padding-right: 29.33rpx; box-sizing: border-box; - padding-top: 20.67rpx; + // padding-top: 20.67rpx; width: 100%; font-size: 30.67rpx; font-weight: 400; padding-bottom: 17.67rpx; + .margin_top{ + margin-top: 80rpx; + } .order_popup_title{ - position: relative; + position: fixed; + width: 100%; + z-index: 999; + line-height: 50rpx; + margin-bottom: 100rpx; + text-align: center; + background-color: #fff; font-size: 32rpx; font-weight: bold; - border-bottom: 1px solid #E2E2E2; + // border-bottom: 1px solid #E2E2E2; display: flex; color:#000; + padding-top: 14rpx; align-items: center; justify-content: center; // padding-top: 44.67rpx; @@ -937,8 +975,10 @@ image{ width: 21.33rpx; height: 21.33rpx; - position: absolute; - right: 26rpx; + padding-right: 30rpx; + // position: absolute; + // right: 26rpx; + } } .select_cop{ @@ -951,11 +991,12 @@ } } .order_popup_points{ - padding-bottom: 63.33rpx; + + padding-bottom: 40rpx; padding-left: 47.33rpx; - padding-top: 34.67rpx; + padding-top: 47rpx; font-size: 28rpx; - + text-align: center; .points_item{ display: flex; align-items: center; @@ -963,6 +1004,9 @@ &:last-child{ margin-bottom: 0; } + &:first-child{ + margin-top: 60rpx; + } image{ width: 29.33rpx; diff --git a/pages/order/details.vue b/pages/order/details.vue index 50b40bd..56344fc 100644 --- a/pages/order/details.vue +++ b/pages/order/details.vue @@ -82,8 +82,8 @@ - - + + {{item.goods_name}} @@ -174,7 +174,7 @@ - + diff --git a/pages/productDetails/goodsReview.vue b/pages/productDetails/goodsReview.vue index e29427c..471394f 100644 --- a/pages/productDetails/goodsReview.vue +++ b/pages/productDetails/goodsReview.vue @@ -18,8 +18,20 @@ {{item.content}} - - + + + + @@ -39,8 +51,9 @@ _action:'getgoodscomment', goods_id:'', page_index:1, - page_size:10, - commentlabel:'' + page_size:100, + commentlabel:'', + videoContext:'' }, list:[] } @@ -60,14 +73,41 @@ methods:{ getList(){ defaultRequest(this.query).then(res=>{ - console.info(res) + console.info(res.data,'list') if(res.error==0){ if(res.data)this.list=res.data } }) - } + }, + play(src) { + plus.screen.lockOrientation('portrait'); + console.log(111) + // this.is_play = item.is_play + if(!this.is_play){ + this.videoContext = uni.createVideoContext(src, this) + this.videoContext.requestFullScreen() + } + }, + clickImg(index,e) { + + let list = [] + for(let i in e ){ + console.log(e[i].afile) + list.push(e[i].afile) + console.log(list) + } + wx.previewImage({ + urls: list, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了 + current: index, // 当前显示图片的http链接,默认是第一个 + indicator:'number', + success: function(res) {}, + fail: function(res) {}, + complete: function(res) {}, + }) + } }, onLoad(e) { + plus.screen.lockOrientation('portrait') //锁定竖屏 this.query.goods_id=e.goods_id this.getList() } diff --git a/pages/productDetails/index.vue b/pages/productDetails/index.vue index 150e8dc..4045d9e 100644 --- a/pages/productDetails/index.vue +++ b/pages/productDetails/index.vue @@ -127,7 +127,8 @@ - {{ item1.attr_value }} + {{ item1.attr_value }} + {{ item1.attr_value }} - + Delivery @@ -154,10 +155,10 @@ - {{ item.shipping_name}}: US${{ item.free_money}} + {{ item.shipping_name}}: US${{ item.shipping_fee}} - free on orders US${{ item.shipping_fee}} + free on orders US${{ item.free_money}} Estimated to be deliverd on {{ item.shipping_desc }} @@ -204,7 +205,7 @@ - + Color {{ Attr_list }} @@ -216,13 +217,13 @@ Gender {{ goodsDate.brand_name}} - + - {{ item.attr_name }} - {{ item1.attr_value}} + {{ item.attr_name }} + {{ item1.attr_value}} Length @@ -278,7 +279,7 @@ - + @@ -293,7 +294,7 @@ - + You might also like - + - + {{item.short_name}} - US${{item.is_promote==0? item.shop_price :item.promote_price}} + US${{item.is_promote==0? item.shop_price :item.promote_price}} + + @@ -326,7 +329,7 @@ US${{goodsDate.is_promote==0? goodsDate.shop_price *cartQuery.goods_number:goodsDate.promote_price *cartQuery.goods_number}} - + @@ -371,6 +374,7 @@ 【{{ item1.attr_value}}】 {{ item1.attr_value}} + @@ -411,10 +415,12 @@ -THE END- + + + \ No newline at end of file diff --git a/tarbar/tarbar.vue b/tarbar/tarbar.vue new file mode 100644 index 0000000..60b37d3 --- /dev/null +++ b/tarbar/tarbar.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue index cbfc168..92a0bc7 100644 --- a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue +++ b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue @@ -240,6 +240,9 @@ /* #endif */ padding: 0 10px; flex-direction: row; + + padding-top: 10rpx; + // padding-bottom: 20rpx; height: $nav-height; font-size: 12px; } @@ -264,8 +267,8 @@ /* #ifndef APP-NVUE */ display: flex; /* #endif */ - width: 120rpx; - justify-content: flex-start; + width: 40rpx !important; + // justify-content: flex-start; align-items: center; }