138 lines
2.6 KiB
JavaScript
138 lines
2.6 KiB
JavaScript
import { isEmpty } from 'lodash'
|
||
|
||
// #ifdef H5
|
||
import { isWxBrowser } from '@/peach/helper/utils'
|
||
// #endif
|
||
import share from './share'
|
||
|
||
const device = uni.getSystemInfoSync()
|
||
|
||
const os = device.platform
|
||
|
||
let name = ''
|
||
let provider = ''
|
||
let platform = ''
|
||
let isWechatInstalled = true
|
||
|
||
// #ifdef H5
|
||
if (isWxBrowser()) {
|
||
name = 'WechatOfficialAccount'
|
||
provider = 'wechat'
|
||
platform = 'officialAccount'
|
||
} else {
|
||
name = 'H5'
|
||
platform = 'h5'
|
||
}
|
||
// #endif
|
||
|
||
// #ifdef APP-PLUS
|
||
name = 'App'
|
||
platform = 'openPlatform'
|
||
// 检查微信客户端是否安装,否则AppleStore会因此拒绝上架
|
||
if (os === 'ios') {
|
||
isWechatInstalled = plus.ios.import('WXApi').isWXAppInstalled()
|
||
}
|
||
// #endif
|
||
|
||
// #ifdef MP-WEIXIN
|
||
name = 'WechatMiniProgram'
|
||
platform = 'miniProgram'
|
||
provider = 'wechat'
|
||
// #endif
|
||
|
||
if (isEmpty(name)) {
|
||
uni.showToast({
|
||
title: '暂不支持该平台',
|
||
icon: 'none',
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 检查网络
|
||
* @param {Boolean} silence - 静默检查
|
||
*/
|
||
async function checkNetwork() {
|
||
const networkStatus = await uni.getNetworkType()
|
||
if (networkStatus.networkType == 'none') {
|
||
return Promise.resolve(false)
|
||
}
|
||
return Promise.resolve(true)
|
||
}
|
||
|
||
/**
|
||
* 检查更新 (只检查小程序和App)
|
||
* @param {Boolean} silence - 静默检查
|
||
*/
|
||
const checkUpdate = (silence = false) => {
|
||
let canUpdate
|
||
// #ifdef MP-WEIXIN
|
||
// #endif
|
||
|
||
// #ifdef APP-PLUS
|
||
// TODO: 热更新
|
||
// #endif
|
||
}
|
||
|
||
// 获取小程序胶囊信息
|
||
const getCapsule = () => {
|
||
// #ifdef MP
|
||
let capsule = uni.getMenuButtonBoundingClientRect()
|
||
if (!capsule) {
|
||
capsule = {
|
||
bottom: 56,
|
||
height: 32,
|
||
left: 278,
|
||
right: 365,
|
||
top: 24,
|
||
width: 87,
|
||
}
|
||
}
|
||
return capsule
|
||
// #endif
|
||
|
||
// #ifndef MP
|
||
return {
|
||
bottom: 56,
|
||
height: 32,
|
||
left: 278,
|
||
right: 365,
|
||
top: 24,
|
||
width: 87,
|
||
}
|
||
// #endif
|
||
}
|
||
|
||
const capsule = getCapsule()
|
||
|
||
// 标题栏高度
|
||
const getNavBar = () => {
|
||
return device.statusBarHeight + 44
|
||
}
|
||
const navbar = getNavBar()
|
||
|
||
// 加载当前平台前置行为
|
||
const load = () => {
|
||
// if (provider === 'wechat') {
|
||
// wechat.load()
|
||
// }
|
||
}
|
||
console.log('123')
|
||
console.log(name)
|
||
|
||
const _platform = {
|
||
name,
|
||
device,
|
||
checkUpdate,
|
||
checkNetwork,
|
||
capsule,
|
||
navbar,
|
||
platform,
|
||
load,
|
||
share,
|
||
}
|
||
|
||
// export default _platform
|
||
export default {
|
||
name,
|
||
}
|