修复极光推送bug

This commit is contained in:
THK3121 2023-08-18 09:00:40 +08:00
parent 1632f7c3fd
commit 95bda5ae9a
12 changed files with 485 additions and 214 deletions

31
App.vue
View File

@ -1,19 +1,9 @@
<script> <script>
// var jpushModule = uni.requireNativePlugin("JG-JPush"); //#ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush"); const jpushModule = uni.requireNativePlugin("JG-JPush");
// #endif
export default { export default {
onLaunch: function() { onLaunch: async function() {
jpushModule.initJPushService()
const audioContext = uni.createInnerAudioContext()
audioContext.src = './static/mp3/order.mp3'
let ida = [0]
jpushModule.addNotificationListener(function(result) {
if (!ida.includes(result.messageID)) {
audioContext.play()
}
ida.push(result.messageID)
})
console.log('App Launch') console.log('App Launch')
try { try {
@ -28,6 +18,19 @@
}, },
onShow: function() { onShow: function() {
console.log('App Show') console.log('App Show')
//
const audioContext = uni.createInnerAudioContext()
//
audioContext.src = './static/mp3/order.mp3'
//
//#ifdef APP-PLUS
jpushModule.addNotificationListener(res => {
console.log("监听成功")
audioContext.play()
})
// #endif
}, },
onHide: function() { onHide: function() {
console.log('App Hide') console.log('App Hide')

View File

@ -0,0 +1,59 @@
<template>
<view class="box" v-show="flag">
<p>提示</p>
你有新的订单,请注意查收!
<view class="off" @click="flag=false ">
<u-icon name="close" color="black" size="22"></u-icon>
</view>
</view>
</template>
<script>
export default {
name: "GlobalPopup",
data() {
return {
flag: false
};
},
methods: {
showPopu() {
this.flag = true
setTimeout(() => {
this.flag = false
}, 3000)
}
}
}
</script>
<style lang="scss">
.box {
z-index: 99999999999;
position: absolute;
top: 80rpx;
width: 90vw;
text-align: center;
box-sizing: border-box;
padding: 10rpx 20rpx;
font-size: 30rpx;
height: 10vh;
background-color: white;
border-radius: 5rpx;
left: 50%;
transform: translateX(-50%);
p {
text-align: left;
font-weight: bold;
font-size: 30rpx
}
.off {
position: absolute;
right: 20rpx;
top: 10rpx;
}
}
</style>

View File

@ -12,6 +12,8 @@
<p class="tit" v-if="goodsInfo.status==2" style="background-color: #47BE62;"> <p class="tit" v-if="goodsInfo.status==2" style="background-color: #47BE62;">
收货人姓名:&nbsp;&nbsp;{{fuzzyName(goodsInfo.receiver_name)}}</p> 收货人姓名:&nbsp;&nbsp;{{fuzzyName(goodsInfo.receiver_name)}}</p>
<p class="tit" v-if="goodsInfo.status==3" style="background-color: red;">
收货人姓名:&nbsp;&nbsp;{{fuzzyName(goodsInfo.receiver_name)}}</p>
<view class="contents"> <view class="contents">
<!-- 已取货 --> <!-- 已取货 -->
<view class="left" v-if='goodsInfo.status==0'> <view class="left" v-if='goodsInfo.status==0'>
@ -215,6 +217,60 @@
</view> </view>
<!-- 已取消 -->
<view class="left" @click="goDetil" v-if='goodsInfo.status==3'>
<view style="margin: 0;padding:0">
<view class="list">
<text>
联系电话
</text>
<view @click.stop="callFn(goodsInfo.receiver_phone)">
<u-icon style="display: inline-block;margin-left: 5rpx;" name="phone"
color="#47BE62" size="22"></u-icon> {{goodsInfo.receiver_phone}}
</view>
</view>
<view class="list">
<text>
用户地址
</text>
<view>
<view class="address">
{{goodsInfo.receiver_address}}
</view>
</view>
</view>
<view class="hr">
</view>
<view class="pro_list">
<text style="color: #999;width: 15vw;">
商品信息
</text>
<view>
<view class="goods_tit" v-for="(item,index) in goodsInfo.products">
<text class="goods_detil">{{item.goods_name}}</text>
<text>X{{item.product_num}}{{item.goods_unit}}</text>
</view>
</view>
</view>
</view>
<view class="total">
共计{{goodsInfo.product_count}}件商品
</view>
<u-button type="primary" class="custom-style" style="background-color: red;border: 0;">
<u-icon name="eye-fill" color="white" size="25" style="margin-right: 10rpx;"></u-icon>
查看详情</u-button>
</view>
</view> </view>

View File

@ -1,62 +1,65 @@
<template> <template>
<view> <view>
<button @click.stop="click" :class="{'my_btn_new_btn': position, 'my_btn_no_positon': !position, 'my_btn_disabled': my_btn_disabled}">{{text}}</button> <button @click.stop="click"
</view> :class="{'my_btn_new_btn': position, 'my_btn_no_positon': !position, 'my_btn_disabled': my_btn_disabled}">{{text}}</button>
</view>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
text: { text: {
type: String, type: String,
default: '新增' default: '新增'
}, },
position:{ position: {
type: Boolean, type: Boolean,
default: true default: true
}, },
my_btn_disabled:{ my_btn_disabled: {
type: Boolean, type: Boolean,
default: false default: false
} }
}, },
data(){ data() {
return{ return {
} }
}, },
methods:{ methods: {
click(){ click() {
this.$emit('click') this.$emit('click')
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.my_btn_new_btn{ .my_btn_new_btn {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
// z-index: 9999999; // z-index: 9999999;
z-index: 1; z-index: 1;
width: 100%; width: 100%;
border-radius: 0; border-radius: 0;
color: #fff; color: #fff;
height: 90rpx; height: 90rpx;
line-height: 90rpx; line-height: 90rpx;
background-color: $theme-oa-color; background-color: $theme-oa-color;
} }
.my_btn_no_positon{
width: 100%; .my_btn_no_positon {
border-radius: 0; width: 100%;
color: #fff; border-radius: 0;
height: 90rpx; color: #fff;
line-height: 90rpx; height: 90rpx;
background-color: $theme-oa-color; line-height: 90rpx;
} background-color: $theme-oa-color;
.my_btn_disabled{ }
background-color: #666;
color: #eee; .my_btn_disabled {
} background-color: #666;
color: #eee;
}
</style> </style>

18
main.js
View File

@ -19,18 +19,20 @@ import Vue from 'vue'
Vue.config.productionTip = false Vue.config.productionTip = false
App.mpType = 'app' App.mpType = 'app'
const app = new Vue({ const app = new Vue({
...App, ...App,
store store
}) })
app.$mount() app.$mount()
// #endif // #endif
// #ifdef VUE3 // #ifdef VUE3
import { createSSRApp } from 'vue' import {
createSSRApp
} from 'vue'
export function createApp() { export function createApp() {
const app = createSSRApp(App) const app = createSSRApp(App)
return { return {
app app
} }
} }
// #endif // #endif

View File

@ -120,80 +120,75 @@
}, },
"nativePlugins" : { "nativePlugins" : {
"JG-JCore" : { "JG-JCore" : {
"JPUSH_APPKEY_IOS" : "5ced5ec5fa7bb86302944f0f",
"JPUSH_CHANNEL_IOS" : "",
"JPUSH_APPKEY_ANDROID" : "5ced5ec5fa7bb86302944f0f", "JPUSH_APPKEY_ANDROID" : "5ced5ec5fa7bb86302944f0f",
"JPUSH_APPKEY_IOS" : "5ced5ec5fa7bb86302944f0f",
"JPUSH_CHANNEL_ANDROID" : "", "JPUSH_CHANNEL_ANDROID" : "",
"JPUSH_CHANNEL_IOS" : "",
"__plugin_info__" : { "__plugin_info__" : {
"name" : "JG-JCore", "name" : "极光推送 JCore 官方 SDK",
"description" : "极光推送JCore插件", "description" : "极光推送 JCore 官方 SDK HBuilder 插件版本",
"platforms" : "Android,iOS", "platforms" : "All,Android,iOS",
"url" : "", "url" : "https://ext.dcloud.net.cn/plugin?id=4028",
"android_package_name" : "uni.UNIB5B1EDD", "android_package_name" : "uni.UNIB5B1EDD",
"ios_bundle_id" : "uni.UNIB5B1EDD", "ios_bundle_id" : "uni.UNIB5B1EDD",
"isCloud" : false, "isCloud" : true,
"bought" : -1, "bought" : 1,
"pid" : "", "pid" : "4028",
"parameters" : { "parameters" : {
"JPUSH_APPKEY_IOS" : {
"des" : "[iOS]极光portal配置应用信息时分配的AppKey",
"key" : "JCore:APP_KEY",
"value" : ""
},
"JPUSH_CHANNEL_IOS" : {
"des" : "[iOS]用于统计分发渠道不需要可填默认值developer-default",
"key" : "JCore:CHANNEL",
"value" : ""
},
"JPUSH_APPKEY_ANDROID" : { "JPUSH_APPKEY_ANDROID" : {
"des" : "[Android]极光portal配置应用信息时分配的AppKey", "des" : "[Android]极光portal配置应用信息时分配的AppKey",
"key" : "JPUSH_APPKEY", "key" : "JPUSH_APPKEY",
"value" : "" "value" : ""
}, },
"JPUSH_APPKEY_IOS" : {
"des" : "[iOS]极光portal配置应用信息时分配的AppKey",
"key" : "JCore:APP_KEY",
"value" : ""
},
"JPUSH_CHANNEL_ANDROID" : { "JPUSH_CHANNEL_ANDROID" : {
"des" : "[Android]用于统计分发渠道不需要可填默认值developer-default", "des" : "[Android]用于统计分发渠道不需要可填默认值developer-default",
"key" : "JPUSH_CHANNEL", "key" : "JPUSH_CHANNEL",
"value" : "" "value" : ""
},
"JPUSH_CHANNEL_IOS" : {
"des" : "[iOS]用于统计分发渠道不需要可填默认值developer-default",
"key" : "JCore:CHANNEL",
"value" : ""
} }
} }
} }
}, },
"JG-JPush" : { "JG-JPush" : {
"JPUSH_ISPRODUCTION_IOS" : "",
"JPUSH_ADVERTISINGID_IOS" : "", "JPUSH_ADVERTISINGID_IOS" : "",
"JPUSH_DEFAULTINITJPUSH_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" : "",
"JPUSH_HUAWEI_APPID" : "",
"JPUSH_HONOR_APPID" : "",
"JPUSH_GOOGLE_API_KEY" : "", "JPUSH_GOOGLE_API_KEY" : "",
"JPUSH_GOOGLE_APP_ID" : "", "JPUSH_GOOGLE_APP_ID" : "",
"JPUSH_GOOGLE_PROJECT_NUMBER" : "",
"JPUSH_GOOGLE_PROJECT_ID" : "", "JPUSH_GOOGLE_PROJECT_ID" : "",
"JPUSH_GOOGLE_PROJECT_NUMBER" : "",
"JPUSH_GOOGLE_STORAGE_BUCKET" : "", "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__" : { "__plugin_info__" : {
"name" : "JG-JPush", "name" : "极光推送 JPush 官方 SDK",
"description" : "极光推送Hbuilder插件", "description" : "极光推送JPush官方SDK HBuilder插件版本",
"platforms" : "Android,iOS", "platforms" : "All,Android,iOS",
"url" : "", "url" : "https://ext.dcloud.net.cn/plugin?id=4035",
"android_package_name" : "uni.UNIB5B1EDD", "android_package_name" : "uni.UNIB5B1EDD",
"ios_bundle_id" : "uni.UNIB5B1EDD", "ios_bundle_id" : "uni.UNIB5B1EDD",
"isCloud" : false, "isCloud" : true,
"bought" : -1, "bought" : 1,
"pid" : "", "pid" : "4035",
"parameters" : { "parameters" : {
"JPUSH_ISPRODUCTION_IOS" : {
"des" : "[iOS]是否是生产环境是填true不是填false或者不填",
"key" : "JPush:ISPRODUCTION",
"value" : ""
},
"JPUSH_ADVERTISINGID_IOS" : { "JPUSH_ADVERTISINGID_IOS" : {
"des" : "[iOS]广告标识符IDFA如果不需要使用IDFA可不填", "des" : "[iOS]广告标识符IDFA如果不需要使用IDFA可不填",
"key" : "JPush:ADVERTISINGID", "key" : "JPush:ADVERTISINGID",
@ -204,61 +199,6 @@
"key" : "JPush:DEFAULTINITJPUSH", "key" : "JPush:DEFAULTINITJPUSH",
"value" : "" "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" : ""
},
"JPUSH_HUAWEI_APPID" : {
"des" : "厂商HUAWEI-appId,示例appid=12346578",
"key" : "com.huawei.hms.client.appid",
"value" : ""
},
"JPUSH_HONOR_APPID" : {
"des" : "厂商HONOR-appId,示例12346578",
"key" : "com.hihonor.push.app_id",
"value" : ""
},
"JPUSH_GOOGLE_API_KEY" : { "JPUSH_GOOGLE_API_KEY" : {
"des" : "厂商google api_key,示例:g-12346578", "des" : "厂商google api_key,示例:g-12346578",
"key" : "google_api_key", "key" : "google_api_key",
@ -269,20 +209,80 @@
"key" : "google_app_id", "key" : "google_app_id",
"value" : "" "value" : ""
}, },
"JPUSH_GOOGLE_PROJECT_NUMBER" : {
"des" : "厂商google project_number,示例g-12346578",
"key" : "gcm_defaultSenderId",
"value" : ""
},
"JPUSH_GOOGLE_PROJECT_ID" : { "JPUSH_GOOGLE_PROJECT_ID" : {
"des" : "厂商google project_id ,示例g-12346578", "des" : "厂商google project_id ,示例g-12346578",
"key" : "project_id", "key" : "project_id",
"value" : "" "value" : ""
}, },
"JPUSH_GOOGLE_PROJECT_NUMBER" : {
"des" : "厂商google project_number,示例g-12346578",
"key" : "gcm_defaultSenderId",
"value" : ""
},
"JPUSH_GOOGLE_STORAGE_BUCKET" : { "JPUSH_GOOGLE_STORAGE_BUCKET" : {
"des" : "厂商google storage_bucket,示例g-12346578", "des" : "厂商google storage_bucket,示例g-12346578",
"key" : "google_storage_bucket", "key" : "google_storage_bucket",
"value" : "" "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" : ""
} }
} }
} }

View File

@ -8,9 +8,9 @@
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
<view class="map"> <view class="map">
<map id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline" :markers='markers' <map :class="mapClass" id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline"
:scale="scale" style="width:100%;height: 70%;" :latitude="markers[0].latitude" :markers='markers' :scale="scale" style="width:100%;height: 70%;"
:enable-scroll="true" :longitude="markers[0].longitude"> :latitude="markers[0].latitude" :enable-scroll="true" :longitude="markers[0].longitude">
<cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png"> <cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png">
</cover-image> </cover-image>
</map> </map>
@ -80,10 +80,12 @@
</view> </view>
<view style="margin-top: 200rpx;height: 1px;">
<!-- 565 -->
</view>
<view class="btn"> <view class="btn">
<u-button @click="qrqodeFn" type="primary" class="custom-style" <u-button @click="qrqodeFn" type="primary" style="background-color: #0122C7;border: 0;">
style="background-color: #0122C7;border: 0;"> <u-icon name="scan" color="white" size="30" style="margin-right: 10rpx;"></u-icon>
<u-icon name="scan" color="white" size="25" style="margin-right: 10rpx;"></u-icon>
扫码取货</u-button> 扫码取货</u-button>
</view> </view>
</view> </view>
@ -103,7 +105,7 @@
export default { export default {
data() { data() {
return { return {
mapClass: 'custom-map',
showLoading: true, showLoading: true,
showPop: false, showPop: false,
goodsDetil: undefined, goodsDetil: undefined,
@ -152,7 +154,7 @@
success: function async (res) { success: function async (res) {
that.nowAddress = res.address.city + res.address.district + res.address.street + res that.nowAddress = res.address.city + res.address.district + res.address.street + res
.address.streetNum + res.address.poiName .address.streetNum + res.address.poiName
console.log(that.nowAddress)
that.markers[1].latitude = res.latitude that.markers[1].latitude = res.latitude
that.markers[1].longitude = res.longitude that.markers[1].longitude = res.longitude
that.getDriverLine() that.getDriverLine()
@ -250,7 +252,7 @@
points: points, points: points,
color: "#0091ff", color: "#0091ff",
dottedLine: true, dottedLine: true,
width: 10, width: 30,
}, ]; }, ];
}, },
@ -286,8 +288,6 @@
}) })
}, },
}, },
onLoad(options) { onLoad(options) {
getDetil({ getDetil({
@ -306,6 +306,10 @@
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
.custom-map /deep/ .polyline {
stroke-width: 20px;
}
.content { .content {
padding: 2vh 3vw; padding: 2vh 3vw;
background-color: #F6F7FC; background-color: #F6F7FC;
@ -392,6 +396,12 @@
} }
.btn { .btn {
margin-top: 200rpx;
position: fixed;
bottom: 20rpx;
width: 90vw;
left: 50%;
transform: translateX(-50%);
} }
</style> </style>

View File

@ -1,5 +1,6 @@
<template> <template>
<view> <view>
<globalPopup ref="globalPopup"></globalPopup>
<u-sticky bgColor="#0122C7" style="width: 100vw;"> <u-sticky bgColor="#0122C7" style="width: 100vw;">
<u-tabs :list="tabLists" @change="sectionChange" lineColor='#fff' :scrollable="false" lineWidth='40' <u-tabs :list="tabLists" @change="sectionChange" lineColor='#fff' :scrollable="false" lineWidth='40'
inactiveStyle='color:#fff' activeStyle="color:#fff"></u-tabs> inactiveStyle='color:#fff' activeStyle="color:#fff"></u-tabs>
@ -29,16 +30,22 @@
import { import {
getList getList
} from "@/api/logistics.js" } from "@/api/logistics.js"
import globalPopup from "@/components/GlobalPopup/GlobalPopup.vue"
import { import {
informationAdd informationAdd
} from "@/api/logistics.js" } from "@/api/logistics.js"
import logistiCard from "@/components/logistiComptent/logistiCard/logistiCard.vue" import logistiCard from "@/components/logistiComptent/logistiCard/logistiCard.vue"
//#ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush");
// #endif
export default { export default {
components: { components: {
logistiCard logistiCard,
globalPopup
}, },
data() { data() {
return { return {
notArr: [],
keywords: "", keywords: "",
tabLists: [{ tabLists: [{
name: '待配送', name: '待配送',
@ -95,9 +102,22 @@
} }
}, },
onLoad() {}, onLoad() {
let that = this
//#ifdef APP-PLUS
jpushModule.addNotificationListener(function(result) {
if (!that.notArr.includes(result.messageID)) {
that.$refs.globalPopup.showPopu();
that.getOrderList()
}
that.notArr.push(result.messageID)
})
// #endif
},
onShow() { onShow() {
this.getOrderList() this.getOrderList()
} }
} }

View File

@ -11,7 +11,83 @@
</p> </p>
<p class="tit" v-if="goodsDetil.logistics.status==2" style="background-color: #47BE62;"> <p class="tit" v-if="goodsDetil.logistics.status==2" style="background-color: #47BE62;">
订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}}</p> 订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}}</p>
<p class="tit" v-if="goodsDetil.logistics.status==3" style="background-color: red;">
订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}}</p>
<view class="contents"> <view class="contents">
<!-- 已取消 -->
<view class="left" v-if="goodsDetil.logistics.status==3">
<view class="list">
<text>
取消时间
</text>
<view>
{{goodsDetil.record[1].create_time}}
</view>
</view>
<view class="list">
<text>
收货详情
</text>
<view>
<view>
{{goodsDetil.logistics.receiver_address}}
</view>
<view>
{{ fuzzyName(goodsDetil.logistics.receiver_name) ||"顾客姓名"}}:&nbsp;&nbsp;{{goodsDetil.logistics.receiver_phone||"顾客电话"}}
</view>
<view>
{{goodsDetil.create_time}}
</view>
</view>
</view>
<view class="list">
<text>
取货详情
</text>
<view>
<view>
{{goodsDetil.logistics.shop_address||"商家地址"}}
</view>
<view>
{{goodsDetil.logistics.shop_name||"商家电话"}}
:&nbsp;&nbsp;{{goodsDetil.logistics.shop_phone||"商家电话"}}
</view>
</view>
</view>
<view class="hr">
</view>
<view>
<view>
物流信息
</view>
<view style="margin: 10rpx 0;">
<u-steps :current="record.length" direction="column">
<u-steps-item :title="item.content" :desc="item.create_time"
v-for="(item,index) in goodsDetil.record">
</u-steps-item>
</u-steps>
</view>
</view>
<view class="pro_list">
<text style="width: 15vw;">
商品信息
</text>
<view>
<view class="goods_tit" v-for="(item,index) in goodsDetil.product">
<text style="width: 60vw;margin: 0;padding: 0;">{{item.goods_name}}</text>
<text>X{{item.product_num}}{{item.goods_unit}}</text>
</view>
</view>
</view>
</view>
<!-- 已送达 --> <!-- 已送达 -->
<view class="left" v-if="goodsDetil.logistics.status==2"> <view class="left" v-if="goodsDetil.logistics.status==2">
<view class="list"> <view class="list">
@ -86,8 +162,8 @@
</view> </view>
<!-- 已取货 --> <!-- 已取货 -->
<view class="left" v-else> <view class="left" v-if="goodsDetil.logistics.status==1">
<view class="list"> <view class=" list">
<text> <text>
用户名称 用户名称
</text> </text>
@ -145,12 +221,10 @@
</view> </view>
<view class="total" v-if="goodsDetil.logistics.status==2||goodsDetil.logistics.status==3">
<view class="total" v-if="goodsDetil.logistics.status==2">
<text>共计{{goodsDetil.product_count}} </text> <text>共计{{goodsDetil.product_count}} </text>
</view> </view>
<view style="margin-top: 600rpx;" v-if="goodsDetil.logistics.status==1"> <view class="btn" v-if="goodsDetil.logistics.status==1">
<u-button type="primary" style="background-color: #FF7C32;border: 0; border-radius: 2vw;" <u-button type="primary" style="background-color: #FF7C32;border: 0; border-radius: 2vw;"
@click="showPop=true"><u-icon name="car-fill" color="white" size="25" @click="showPop=true"><u-icon name="car-fill" color="white" size="25"
style="margin-right: 10rpx;;"></u-icon> style="margin-right: 10rpx;;"></u-icon>
@ -254,6 +328,15 @@
background-color: #F5F5F5; background-color: #F5F5F5;
} }
.btn {
position: fixed;
bottom: 20rpx;
width: 90vw;
left: 50%;
transform: translateX(-50%);
}
.order { .order {
position: relative; position: relative;
background-color: white; background-color: white;

View File

@ -91,6 +91,7 @@
<taskCard></taskCard> <taskCard></taskCard>
</block> --> </block> -->
<view v-if="orderList.length>0"> <view v-if="orderList.length>0">
<globalPopup ref="globalPopup"></globalPopup>
<logistiBriefCard v-for="(item,index) in orderList" :key="index" :goodsInfo='item'> <logistiBriefCard v-for="(item,index) in orderList" :key="index" :goodsInfo='item'>
</logistiBriefCard> </logistiBriefCard>
@ -138,6 +139,7 @@
<script> <script>
import logistiBriefCard from "@/components/logistiComptent/logistiCard/logistiBriefCard.vue" import logistiBriefCard from "@/components/logistiComptent/logistiCard/logistiBriefCard.vue"
import globalPopup from "@/components/GlobalPopup/GlobalPopup.vue"
import { import {
getList getList
} from "@/api/logistics.js" } from "@/api/logistics.js"
@ -158,13 +160,18 @@
getApproveListAPI, getApproveListAPI,
getUserIndexAPI getUserIndexAPI
} from '@/api/oaApi.js' } from '@/api/oaApi.js'
//#ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush");
// #endif
export default { export default {
components: { components: {
// tabbar // tabbar
logistiBriefCard logistiBriefCard,
globalPopup
}, },
data() { data() {
return { return {
notArr: [],
orderList: [], orderList: [],
oaHomeData: [], oaHomeData: [],
src: 'https://cdn.uviewui.com/uview/album/1.jpg', src: 'https://cdn.uviewui.com/uview/album/1.jpg',
@ -207,7 +214,25 @@
backgroundColor: '#3175f9' backgroundColor: '#3175f9'
}) })
}, },
onLoad() {}, onLoad() {
//#ifdef APP-PLUS
const audioContext = uni.createInnerAudioContext()
audioContext.volume = 1
audioContext.src = '../../static/mp3/order.mp3'
let that = this
jpushModule.addNotificationListener(function(result) {
if (!that.notArr.includes(result.messageID)) {
that.$refs.globalPopup.showPopu();
that.getOrderList()
console.log("idnex的")
audioContext.play()
}
that.notArr.push(result.messageID)
})
// #endif
},
onShow() { onShow() {
// this.getUserIndex() // this.getUserIndex()
// this.getIndexList() // this.getIndexList()
@ -219,6 +244,9 @@
}, },
computed: {}, computed: {},
methods: { methods: {
test() {
this.$refs.globalPopup.showPopu();
},
// test() { // test() {
// wx.chooseMessageFile({ // wx.chooseMessageFile({
// count: 1, // // count: 1, //

View File

@ -12,9 +12,10 @@
<u-tabs :list="tabList" @click="changeTabs" lineColor="#3274F9" <u-tabs :list="tabList" @click="changeTabs" lineColor="#3274F9"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;font-size: 32rpx;"></u-tabs> itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;font-size: 32rpx;"></u-tabs>
</view> </view>
<input v-if="current==0" class="mobile item" v-model="formData.account" placeholder="输入账号" /> <input v-if="current==0" @click="getId" class="mobile item" v-model="formData.account"
<input v-if="current==0" class="mobile item" v-model="formData.password" maxlength="26" placeholder="输入账号" />
placeholder="输入密码" password type="safe-password" /> <input v-if="current==0" @click="getId" class="mobile item" v-model="formData.password"
maxlength="26" placeholder="输入密码" password type="safe-password" />
<input v-if="current==1" class="mobile item" v-model="formData.account" placeholder="输入手机号" /> <input v-if="current==1" class="mobile item" v-model="formData.account" placeholder="输入手机号" />
<view v-if="current==1" class="code item"> <view v-if="current==1" class="code item">
<input placeholder="输入验证码" v-model="formData.code" maxlength="6" /> <input placeholder="输入验证码" v-model="formData.code" maxlength="6" />
@ -74,6 +75,19 @@
this.current = e.index; this.current = e.index;
this.formData.scene = e.index + 1; this.formData.scene = e.index + 1;
}, },
// id
getId() {
// #ifdef APP-PLUS
if (this.formData.register_id) return
jpushModule.initJPushService()
jpushModule.getRegistrationID(result => {
// id
this.formData.register_id = result.registerID || 0
console.log("设备----", this.formData)
})
// #endif
},
async login() { async login() {
if (!this.formData.account) return Toast('账号不能为空'); if (!this.formData.account) return Toast('账号不能为空');
if (this.formData.scene == 1 && !this.formData.password) return Toast('密码不能为空'); if (this.formData.scene == 1 && !this.formData.password) return Toast('密码不能为空');
@ -154,14 +168,7 @@
} }
}, },
mounted() { mounted() {
// #ifdef APP-PLUS
jpushModule.initJPushService()
jpushModule.getRegistrationID(result => {
// id
this.formData.register_id = result.registerID
console.log("设备----", this.formData)
})
// #endif
this.initTerminal(); this.initTerminal();
} }

View File

@ -1,6 +1,6 @@
// 引用方式 // 引用方式
var jpushModule = uni.requireNativePlugin("JG-JPush"); var jpushModule = uni.requireNativePlugin("JG-JPush");
console.log('【sk】【引用方式】【jpushModule】【requireNativePlugin】') // console.log('【sk】【引用方式】【jpushModule】【requireNativePlugin】')
// 开启 debug 模式,默认是关闭 // 开启 debug 模式,默认是关闭
function openDebug() { function openDebug() {