123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- import { isEmpty } from 'lodash';
- import { isWxBrowser } from '@/sheep/helper/utils';
- import wechat from './provider/wechat/index.js';
- import apple from './provider/apple';
- import share from './share';
- import Pay from './pay';
- const device = uni.getSystemInfoSync();
- const os = device.platform;
- let name = '';
- let provider = '';
- let platform = '';
- let isWechatInstalled = true;
- if (isWxBrowser()) {
- name = 'WechatOfficialAccount';
- provider = 'wechat';
- platform = 'officialAccount';
- } else {
- name = 'H5';
- platform = 'h5';
- }
- name = 'App';
- platform = 'openPlatform';
- if (os === 'ios') {
- isWechatInstalled = plus.ios.import('WXApi').isWXAppInstalled();
- }
- name = 'WechatMiniProgram';
- platform = 'miniProgram';
- provider = 'wechat';
- if (isEmpty(name)) {
- uni.showToast({
- title: '暂不支持该平台',
- icon: 'none',
- });
- }
- const load = () => {
- if (provider === 'wechat') {
- wechat.load();
- }
- };
- const useProvider = (_provider = '') => {
- if (_provider === '') _provider = provider;
- if (_provider === 'wechat') return wechat;
- if (_provider === 'apple') return apple;
- };
- const pay = (payment, orderType, orderSN, orderType2) => {
- return new Pay(payment, orderType, orderSN, orderType2);
- };
- const checkUpdate = (silence = false) => {
- let canUpdate;
-
- useProvider().checkUpdate(silence);
-
-
-
-
- };
- async function checkNetwork() {
- const networkStatus = await uni.getNetworkType();
- if (networkStatus.networkType == 'none') {
- return Promise.resolve(false);
- }
- return Promise.resolve(true);
- }
- const getCapsule = () => {
-
- let capsule = uni.getMenuButtonBoundingClientRect();
- if (!capsule) {
- capsule = {
- bottom: 56,
- height: 32,
- left: 278,
- right: 365,
- top: 24,
- width: 87,
- };
- }
- return capsule;
-
-
- return {
- bottom: 56,
- height: 32,
- left: 278,
- right: 365,
- top: 24,
- width: 87,
- };
-
- };
- const capsule = getCapsule();
- const getNavBar = () => {
- return device.statusBarHeight + 44;
- };
- const navbar = getNavBar();
- function getLandingPage() {
- let page = '';
-
- page = location.href.split('?')[0];
-
- return page;
- }
- const landingPage = getLandingPage();
- const _platform = {
- name,
- device,
- os,
- provider,
- platform,
- useProvider,
- checkUpdate,
- checkNetwork,
- pay,
- share,
- load,
- capsule,
- navbar,
- landingPage,
- isWechatInstalled,
- };
- export default _platform;
|