工行这里学车报名流程h5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

204 lines
4.9 KiB

import loginApi from '@/api/login.js'; // 引入
import learnDriveApi from '@/api/learnDrive.js'; // 引入
import store from '@/store';
const install = (Vue, vm) => {
const callPhone = (phone)=> {
phone = phone.trim()
if(!phone) {
uni.showToast({
title: '暂无联系方式',
icon: 'none'
});
return
}
uni.showModal({
content: '确定要拨打:'+phone+'?' ,
success: function (res) {
if (res.confirm) {
uni.makePhoneCall({
phoneNumber: phone //仅为示例
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
// 打开地图
const openMap = (lat,lng)=>{
uni.openLocation({
latitude: lat,
longitude: lng
})
}
// 距离换算
const distanceFn = (val)=> {
if(val*1<1000) {
return val + '米'
}else {
return (val / 1000).toFixed(2) + '公里'
}
}
// 价格计算
const priceTo = (price = 0)=> {
// return (price / 100).toFixed(2)
return ( parseInt( price * 100 ) / 100 / 100 ).toFixed(2)
}
const distanceLatLng = (lat1, lng1)=> {
var that = this;
let lat2 = store.state.latLng.lat;
let lng2 = store.state.latLng.lng;
let rad1 = lat1 * Math.PI / 180.0;
let rad2 = lat2 * Math.PI / 180.0;
let a = rad1 - rad2;
let b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) *
Math.cos(
rad2) * Math.pow(
Math.sin(b / 2), 2)));
s = s * 6378.137;
s = Math.round(s * 10000) / 10000;
s = s.toString();
s = s.substring(0, s.indexOf('.') + 2);
return s
}
const getLocation = ()=> {
return new Promise((resolve,reject)=>{
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
let obj = {
lat: res.latitude,
lng: res.longitude
}
store.commit('updateLatLng',obj)
resolve(obj)
}
});
}).catch((e) => {})
}
// 查询用户信息
let getOwnerAccountBase = async ()=> {
const [err, data] = await loginApi.getOwnerAccountBase();
if (data.code != 0) {
uni.removeStorageSync('Authorization')
uni.setStorageSync('userInfo', {});
return {}
}
uni.setStorageSync('userInfo', data.data);
return data.data;
}
// 查看是否有未支付订单
let checkOrderPay = async ()=>{
// 这一步判断是否有实名,避免接口报错
let userInfo = await getOwnerAccountBase()
uni.setStorageSync('userInfo', userInfo);
if(!userInfo||!userInfo.idcard) return false
// 1查询报名驾校
const [nulls, res] = await learnDriveApi.queryTrainingApplyByOwner()
if(!res.data) return false
let trainingApplyId = res.data[0].trainingApplyId
let transfer = res.data[0].transfer
if(!trainingApplyId) {
return {}
}
// 2查询订单id
let [err, res2] = await learnDriveApi.getTrainingApplyDetails({trainingApplyId: trainingApplyId})
let detail = res2.data
if(!detail.trainingOrderId) {
return {}
}
// 查询订单详情
let [err3, res3] = await learnDriveApi.getOwnerStudentStatus({trainingOrderId: detail.trainingOrderId})
console.log('详情')
console.log(res3.data)
res3.data.trainingOrderId = detail.trainingOrderId
// 有同城转样没有完成 用这个?transferStatus 还是用transfer
if(res3.haveTransfer==2) {
uni.showModal({
content: '您有转校入学申请等完成',
confirmText: '去完成',
success: function (res) {
if (res.confirm) {
uni.navigateTo({
url: '/pages/user/businessHandling/transferAppliRecord/transferAppliRecord'
})
}
}
});
}
return res3.data
}
function addZeroPrefix(number) {
return number < 10 ? `0${number}`:number
}
let getDate = (date, splitor = '-')=> {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
return `${year}${splitor}${addZeroPrefix(month)}${splitor}${addZeroPrefix(day)}`
}
var lastTime = 0
var audioContext = uni.createInnerAudioContext() // 播放音频的
let shakeFn = (res)=>{
if(!store.state.havePay) return false
let nowTimer = new Date().getTime()
if (nowTimer - lastTime < 1000) return
lastTime = nowTimer
// 自己根据自己的力度调节 变量大小 满足自己设定的值后触发自己的逻辑
if ((Math.abs(res.x) > 20 || Math.abs(res.y) > 20 || Math.abs(res.z) > 20) ) {
console.log('yayaoyaoya6666666666666666')
// 进入判断后 相当于摇一摇成功
audioContext.src = 'https://lg-fe2b58o2-1255788064.cos.ap-shanghai.myqcloud.com/shark.mp3' // 播放音频
audioContext.play() // 播放
uni.navigateTo({
url: '/pages/user/studentIdImg/studentIdImg'
})
}
}
vm.$u.utils={
callPhone,
openMap,
getLocation,
getOwnerAccountBase,
checkOrderPay,
priceTo,
distanceLatLng,
distanceFn,
getDate,
shakeFn
}
}
export default {
install
}