|
@@ -313,36 +313,63 @@ function isNullObj (obj) {
|
|
|
|
|
|
var JyObjMessage = new Object();
|
|
|
|
|
|
-/**
|
|
|
- * 用于判断是否在APP容器内
|
|
|
- * @returns {boolean}
|
|
|
- */
|
|
|
-function getIsInTheAppContainer () {
|
|
|
- // 判断是否在app环境下
|
|
|
- var inApp = false
|
|
|
- try {
|
|
|
- if (mySysIsIos()) {
|
|
|
- var iniOSApp = typeof window.webkit.messageHandlers.skipAppointTab.postMessage === 'function'
|
|
|
- inApp = iniOSApp
|
|
|
- } else {
|
|
|
- var inAndroidApp = typeof window.JyObj !== 'undefined'
|
|
|
- inApp = inAndroidApp
|
|
|
+// $env, $envs的辅助函数
|
|
|
+window.utilsEnv = {
|
|
|
+ // 获取当前是android或者ios
|
|
|
+ androidOrIOS: function () {
|
|
|
+ var u = navigator.userAgent.toLowerCase()
|
|
|
+ var agent = null
|
|
|
+ if (/iphone|ipod|ipad|ios/.test(u)) {
|
|
|
+ agent = 'ios'
|
|
|
+ } else if (/(Android)/i.test(u)) {
|
|
|
+ agent = 'android'
|
|
|
+ }
|
|
|
+ return agent
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 用于判断是否在APP容器内
|
|
|
+ * @returns {boolean}
|
|
|
+ */
|
|
|
+ getIsInTheAppContainer: function () {
|
|
|
+ // 判断是否在app环境下
|
|
|
+ var inApp = false
|
|
|
+ try {
|
|
|
+ if (this.androidOrIOS() === 'ios') {
|
|
|
+ var iniOSApp = typeof window.webkit.messageHandlers.skipAppointTab.postMessage === 'function'
|
|
|
+ inApp = iniOSApp
|
|
|
+ } else {
|
|
|
+ var inAndroidApp = typeof window.JyObj !== 'undefined'
|
|
|
+ inApp = inAndroidApp
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.warn(e)
|
|
|
+ inApp = false
|
|
|
+ }
|
|
|
+ return inApp
|
|
|
+ },
|
|
|
+ getPlatformEnvs: function () {
|
|
|
+ var inWX = navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1
|
|
|
+ var inApp = this.getIsInTheAppContainer()
|
|
|
+ var platformOS = this.androidOrIOS()
|
|
|
+ var platform = inApp ? 'app' : (inWX ? 'wx' : 'h5')
|
|
|
+ return {
|
|
|
+ platformOS: platformOS,
|
|
|
+ platform: platform,
|
|
|
+ inApp: inApp,
|
|
|
+ inWX: inWX
|
|
|
}
|
|
|
-
|
|
|
- } catch (e) {
|
|
|
- console.warn(e)
|
|
|
- inApp = false
|
|
|
}
|
|
|
- return inApp
|
|
|
}
|
|
|
+window.utilsEnv.platformEnvs = utilsEnv.getPlatformEnvs()
|
|
|
|
|
|
/**
|
|
|
* 提供模拟默认客户端函数,避免报错
|
|
|
*/
|
|
|
function mockAppFn () {
|
|
|
- if (getIsInTheAppContainer()) return
|
|
|
+ if (utilsEnv.platformEnvs.inApp) return
|
|
|
// 非APP环境下,提供默认函数
|
|
|
window.JyObj = {
|
|
|
+ mock: true,
|
|
|
//获取经纬度
|
|
|
getLLitude: function () {
|
|
|
return ''
|
|
@@ -458,7 +485,7 @@ function mockAppFn () {
|
|
|
mockAppFn()
|
|
|
|
|
|
$(function () {
|
|
|
- if (mySysIsIos() && getIsInTheAppContainer()) {
|
|
|
+ if (mySysIsIos() && utilsEnv.platformEnvs.inApp) {
|
|
|
window.JyObj = {
|
|
|
//获取经纬度
|
|
|
getLLitude: function () {
|