imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
104 lines (94 loc) • 2.42 kB
text/typescript
/**
* 获取App版本等相关信息
*
* @author yangsl
*/
import {
NativeModules,
} from "react-native"
const AppInfo = NativeModules.AppInfo
/** App版本信息 */
export interface AppInfo {
/** 当前应用名称 */
appName: string,
/** 当前应用软件版本,比如:1.0.1 */
versionName: string,
/** 当前应用版本号码,int类型 */
versionCode: number,
/** 新手引导的版本号,需要更新时修改用来显示引导 **/
GuideVersion: string,
/** bundle 版本号 */
BundleVersion: string,
/** bundle build 次版本号 */
BundleBuildVersion: string,
}
/**
* 获取App版本信息
* @returns 返回App版本信息
*/
export async function getAppInfo(): Promise<AppInfo> {
return AppInfo.getAppInfo()
}
/**
* 设置App文件目录名称
* @param path App文件目录名称
* eg: 'iTablet' 或 '/iTablet'
* android: sdcard/iTablet/
* ios: xxxxxx/iTablet/
* @returns 是否设置成功
*/
export async function setRootPath(path: string) {
return AppInfo.setRootPath(path)
}
/**
* 获取App应用目录
* @returns 返回App应用目录 eg: "/iTablet", "/ARSurvey"
*/
export async function getRootPath(): Promise<string> {
return AppInfo.getRootPath()
}
/**
* 初始化指定用户环境,包含 文件目录 和 默认数据
* eg: "/iTablet/User/username/"
* @param username 用户名
*/
export async function initUserEnvironment(username: string): Promise<boolean> {
try {
return AppInfo.initUserEnvironment(username)
} catch (error) {
return false
}
}
//todo ysl 合并
/**
* 设置用户的名称
* @param name 用户名称
* @returns
*/
export async function setUserName(name: string): Promise<boolean> {
return AppInfo.setUserName(name)
}
/**
* 获取用户名称
* @returns 返回登录用户名称
*/
export async function getUserName(): Promise<string> {
return AppInfo.getUserName()
}
// /**
// * 设置服务地址
// * @param service 服务地址
// * @returns 返回是否设置成功
// * @deprecated 将移动到云服务接口类中
// */
// export async function _setServiceUrl(service: string): Promise<boolean> {
// return AppInfo.setServerUrl(service)
// }
// /**
// * 获取服务地址
// * @returns 返回服务地址
// * @deprecated 将移动到云服务接口类中
// */
// export async function _getServiceUrl(): Promise<string> {
// return AppInfo.getServerUrl()
// }