1.对接桌码

2.对接消息通知
3.对接扫码分配二维码
huipay-app-dev
杨杰 1 year ago
parent 704f9ec888
commit 0b7da8dfcf
  1. 3
      App.vue
  2. 21
      Utils/Api.js
  3. 106
      components/downloadUp.vue
  4. 4
      manifest.json
  5. 16
      pages/index/bindScan/bindScan.vue
  6. 18
      pages/index/merchant-details/merchant-details.vue
  7. 24
      pages/index/salesOrderList/salesOrderList.vue
  8. 18
      pages/index/scanCodeAllocation/scanCodeAllocation.vue
  9. 6
      pages/tabBar/home/home.vue

@ -60,8 +60,7 @@
const res = uni.getSystemInfoSync();
uni.setStorageSync('platform', res.platform);
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
uni.setStorageSync('version', inf.version); //
uni.setStorageSync('versionCode', inf.versionCode); //
uni.setStorageSync('version', inf.versionCode);
});
let uuid = plus.device.uuid;

@ -177,18 +177,6 @@ export const deviceRefund = params => {
// //门店添加设备
// export const bindStoreDevice = params => {
// return POST('POST', `${base}/device/bindStoreDevice`, params).then(res => res.data);
// }
// //业务员查询设备列表
// export const getSalesmanDeviceList = params => {
// return POST('GET', `${base}/device/getSalesmanDeviceList`, params).then(res => res.data);
// }
// //门店查询设备列表
// export const getStoreDeviceList = params => {
// return POST('GET', `${base}/device/getStoreDeviceList`, params).then(res => res.data);
// }
//业务员查询统计
export const moveHomeCount = params => {
@ -282,7 +270,16 @@ export const uniPush = params => {
export const connectStoreCid = params => {
return POST('POST', `${base}/storeCid/connectStoreCid`, params).then(res => res.data);
}
//解除绑定
export const unbindStore = params => {
return POST('POST', `${base}/payQrCode/unbindStore`, params).then(res => res.data);
}
//结束播报语音
export const voiceSucceed = params => {
return POST('GET', `${base}/storeCid/voiceSucceed`, params).then(res => res.data);
}
//查询版本号?termType=APP
export const queryVersion = params => {
return POST('GET', `${base}/sysVersion/queryVersion`, params).then(res => res.data);
}

@ -2,20 +2,23 @@
<view class="content" v-if="bannerShow">
<!-- 弹出层 -->
<view class="uni-banner">
<image src="/static/img/startUpHeader01.png" class="startUpHeaderLogo" />
<!-- <image src="../static/logo.png" class="startUpHeaderLogo" /> -->
<view class="banner_box">
<view class="startUpHeaderBox h6">发现新版本</view>
<view class="conter">{{ msg }}</view>
<view class="banner_foot"><button @click="goUpdate(updateApkObj)" class="banner_foot_button">前往升级</button></view>
<view class="banner_foot"><button @click="goUpdate()" class="banner_foot_button">前往升级</button></view>
</view>
</view>
<view class="uni-mask"></view>
</view>
</template>
<script>
import { comparisonVersionHandler } from '@/common/js/tools';
import { getUpgrade } from '@/common/js/apis';
// import {
// getUpgrade
// } from '@/common/js/apis';
import {
queryVersion
} from '../Utils/Api.js'
export default {
data() {
return {
@ -28,42 +31,36 @@ export default {
created() {
const appUpdate = uni.getStorageSync('platform');
// #ifdef APP-PLUS
this.type = appUpdate == 'android' ? 2 : 1;
this.checkUpdate();
// #endif
},
methods: {
checkUpdate() {
const self = this,
localAppVersonName = uni.getStorageSync('version'),
localAppVerson = uni.getStorageSync('versionCode');
let that = this;
let localAppVersonName = uni.getStorageSync('version');
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
getUpgrade({
appType: self.type
}).then(res => {
const { data } = res.data;
if (res.data.code !== '200') return;
//
if (data.apkVersion && comparisonVersionHandler(localAppVersonName, data.apkVersion.appVersonName)) {
uni.hideTabBar()
self.updateApkObj = data.apkVersion;
self.msg = data.apkVersion.versonLog;
self.bannerShow = true;
return;
// app
} else if (data.wgtVersion && comparisonVersionHandler(localAppVerson, data.wgtVersion.appVerson)) {
self.downloadWgt(data.wgtVersion.downloadUrl);
let datas = {
termType: "app"
}
queryVersion(datas).then(res => {
if (res.return_code == '000000') {
if (res.return_data.versionType == 1 && that.comparisonVersionHandler(localAppVersonName,
res.return_data.version)) {
that.downloadWgt(res.return_data.fileUrl);
return;
} else {
}
if (res.return_data.versionType == 2 && that.comparisonVersionHandler(localAppVersonName,
res.return_data.version)) {
that.updateApkObj = res.return_data;
that.bannerShow = true; //
return;
}
});
});
}
})
// #endif
},
downloadWgt(updateWgtUrl) {
//
// wgt
@ -72,8 +69,7 @@ export default {
plus.nativeUI.showWaiting('正在更新...');
plus.downloader
.createDownload(
updateWgtUrl,
{
updateWgtUrl, {
filename: '_doc/update/'
},
function(d, status) {
@ -89,8 +85,9 @@ export default {
// wgt
plus.nativeUI.showWaiting('安装文件...');
plus.runtime.install(
path,
{ force: true },
path, {
force: true
},
function() {
plus.nativeUI.closeWaiting();
plus.nativeUI.alert('应用资源更新完成!', function() {
@ -102,14 +99,17 @@ export default {
}
);
},
goUpdate(updateApkObj) {
goUpdate() {
if (this.type == 2) {
//
var dtask = plus.downloader.createDownload(updateApkObj.downloadUrl, {}, function(d, status) {
var dtask = plus.downloader.createDownload(
this.updateApkObj.fileUrl, {},
function(d, status) {
this.bannerShow = false;
//
if (status == 200) {
plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, {}, function(error) {
plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, {}, function(
error) {
uni.showToast({
title: '安装失败',
mask: false,
@ -138,7 +138,8 @@ export default {
showLoading.setTitle('已连接到服务器');
break;
case 3:
prg = parseInt((parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) * 100);
prg = parseInt((parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) *
100);
showLoading.setTitle(' 正在下载' + prg + '% ');
break;
case 4:
@ -158,6 +159,35 @@ export default {
} else if (this.type == 1) { // iosapp store
plus.runtime.openURL(updateApkObj.downloadUrl);
}
},
//
comparisonVersionHandler(reqV, curV) {
/*
curV string :当前最新
reqV string :之前
返回 true 表示需要升级
*/
if (curV && reqV) {
curV = String(curV);
reqV = String(reqV);
//
let arr1 = curV.split('.'), //
arr2 = reqV.split('.');
let minLength = Math.min(arr1.length, arr2.length),
position = 0,
diff = 0;
//
while (position < minLength && ((diff = parseInt(arr1[position]) - parseInt(arr2[position])) == 0)) {
position++;
}
diff = (diff != 0) ? diff : (arr1.length - arr2.length);
//curVreqVtrue
return diff > 0;
} else {
//
return false;
}
}
}
};
@ -240,7 +270,7 @@ export default {
.startUpHeaderBox {
width: 100%;
height: 96rpx;
background-image: url('/static/img/startUpHeader02.png');
background-image: url('/static/logo.png');
background-position: left top;
background-repeat: no-repeat;
background-size: cover;

@ -3,7 +3,7 @@
"appid": "__UNI__190622D",
"description": "",
"versionName": "1.0.0",
"versionCode" : "100",
"versionCode": 101,
"transformPx": false,
/* 5+App */
"app-plus": {
@ -128,6 +128,6 @@
"key": "7UMBZ-HFEHX-HSD4Q-Z3QY6-OQKN7-2QBDB"
}
}
}
},
}
}

@ -17,16 +17,16 @@
<view class="mart10 fcor666 padleft15 font14" v-else>创建: {{item.createTime | timeFormat('yyyy-mm-dd')}}
{{item.createTime | timeFormat('hh:mm')}}
</view>
<button class="btns" @click="bindStore(item.id)" v-if="typeId == 1">绑定二维码</button>
<button class="btns" @click="unbindStore(item.id)">解除绑定</button>
</view>
</view>
</template>
<script>
import {
bindStore,
getSalesmanQrCodeList,
getStoreQrCodeList
getStoreQrCodeList,
unbindStore
} from '../../../Utils/Api.js';
let app = getApp();
export default {
@ -135,12 +135,12 @@
}
});
},
//
bindStore(item) {
//
unbindStore(item) {
let that = this;
uni.showModal({
title: '绑二维码',
content: '是否绑当前二维码。',
title: '绑二维码',
content: '是否绑当前二维码。',
success: (res) => {
if (res.confirm) {
uni.showLoading({
@ -150,7 +150,7 @@
"qrCodeId": item,
"storeId": that.storeId
}
bindStore(params).then(res => {
unbindStore(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({

@ -90,7 +90,7 @@
<view class="margle10 font14 fcor999 width90p">{{item.storeRegion.address}}</view>
</view>
<view class="height45 width100">
<button class="btns mart10 margle10" @click.stop="jumpBindScan(item.id,1)">绑定二维码</button>
<button class="btns mart10 margle10" @click.stop="jumpBindScan(item,1)">绑定二维码</button>
<button class="btns mart10 margle10" @click.stop="jumpBindScan(item.id,2)">二维码列表</button>
<!-- <button class="btns mart10 marRight10" @click.stop="jumpService(item.id,1)">绑定设备</button> -->
<!-- <button class="btns mart10 marRight10" @click.stop="jumpService(item.id,2)">设备列表</button> -->
@ -199,10 +199,26 @@
},
//
jumpBindScan(item, items) {
if (items == 1) {
//
uni.scanCode({
success: function(res) {
let scanCont = res.result.split('=');
let scanNo = scanCont[1];
uni.navigateTo({
url: '/pages/index/scanCodeAllocation/scanCodeAllocation?storename=' +
item.name + '&scanno=' + scanNo +
'&storeId=' + item.id
})
}
});
} else {
uni.navigateTo({
url: '../bindScan/bindScan?storeid=' + item + '&type=' + items
})
}
}
}
}
</script>

@ -29,17 +29,12 @@
<view class="margle10 font13 fcor999">申请数量: 1</view>
</view>
<view class="width90 paddbotm10 alijusstart">
<view class="otstatucs border-r marRight10" @click.stop="scanNo(item)"
v-if="item.status == 2 && item.deviceType == 2">
分配桌码
</view>
<view class="otstatucs border-r marRight10" @click.stop="orderRefund(item.orderNo)"
v-if="item.status == 2 && item.deviceType == 1">
v-if="item.status == 2">
订单退款
</view>
<view class="otstatucs border-r marRight10" @click.stop="replace(item.orderAssignList[0].id)"
v-if="item.status == 3 && item.deviceType == 1">
v-if="item.status == 3">
更换设备
</view>
</view>
@ -134,21 +129,6 @@
}
})
},
//
scanNo(item) {
//
uni.scanCode({
success: function(res) {
let scanCont = res.result.split('=');
let scanNo = scanCont[1];
uni.navigateTo({
url: '/pages/index/scanCodeAllocation/scanCodeAllocation?storename=' +
item.storeName + '&scanno=' + scanNo + '&orderno=' + item.orderNo
})
}
});
},
//
jumpService(item) {
if (this.goodtyid == 2) {

@ -11,30 +11,30 @@
<view class="font14 fcor333 text2 width75 fotrt">{{scanNo}}</view>
</view>
<view class="btn" @tap="assignOrder">提交绑定</view>
<view class="btn" @tap="bindStore">提交绑定</view>
</view>
</template>
<script>
import {
assignOrder
bindStore
} from '../../../Utils/Api.js';
export default {
data() {
return {
scanNo: '', //,
storeName: '', //
orderNo: '' //
storeId: '' //
}
},
onLoad(options) {
this.scanNo = options.scanno;
this.storeName = options.storename;
this.orderNo = options.orderno;
this.storeId = options.storeId;
},
methods: {
//
assignOrder() {
bindStore() {
uni.showModal({
title: '温馨提示',
content: '是否分配当前设备',
@ -43,13 +43,11 @@
uni.showLoading({
title: '加载中'
})
let serviceList = [];
serviceList.push(this.scanNo);
let datas = {
"orderNo": this.orderNo,
"deviceNoList": serviceList
"serialNumber": this.scanNo,
"storeId": this.storeId
}
assignOrder(datas).then(res => {
bindStore(datas).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({

@ -64,6 +64,8 @@
</view>
</view>
<view class="width100 height40p"></view>
<downloadup></downloadup>
</view>
</template>
@ -76,8 +78,12 @@
connectStoreCid,
voiceSucceed
} from '../../../Utils/Api.js'
import downloadup from '../../../components/downloadUp.vue'
let app = getApp();
export default {
components: {
downloadup
},
data() {
return {
funcList: [],

Loading…
Cancel
Save