# 配置
# 参数配置
import App from './App.vue'
import Vue from 'vue'
import VAQ from 'vue-apicloud-quickstart'
import pages from '@/config/pages.json'
Vue.config.productionTip = false
Vue
.use(VAQ, {
pages,
debugOnPC: true
})
.init({
el: '#app',
render: h => h(App)
})
# pages
- 类型:
Array
- 默认值:
无
页面配置,配置每个页面的 title
, name
, path
,类似于 页面路由
, 详见页面配置
# debugOnPC
类型:
Boolean
默认值:
false
当
debugOnPC
为默认值即false
时, Vue 页面的实例将在apiready
的Hooks
中执行,因此在 PC 端浏览器内无法预览调试页面。当
debugOnPC
为 true 时,将直接执行 new Vue() 创建页面实例,此时,所有api
相关的语句无法执行,但是与api
无关的页面内容将会正常显示在浏览器内。推荐使用场景
- 前期开发页面,调试样式时将 debugOnPC 设置为 true,可在 PC 浏览器端调试
- 后期开发功能,调试功能时将 debugOnPC 设置为 false,在自定义Loader中调试
- 或者也可以始终将 debugOnPC 设置为 false,在自定义Loader中调试
APICloud 会在 APPLoader 或者 自定义 Loader 中向
window
注入全局变量api
, 所以在移动端设备上使用 Loader 调试时可以通过api
来实现调用原生模块的能力。为保证调用原生模块时都已经初始化完成,所有调用原生模块的语句都应该放在apiready
的Hooks
中执行。
# 页面配置
# name
- 类型:
string
- 默认值:
无
作为当前页面的唯一标识,不能与其他页面重复,将作为 APICloud 中 window 或 frame 的 name
# title
- 类型:
string
- 默认值:
无
title 作为编译后 html 文件的 title,可为空,页面所展示的 title 不在此处配置
# path
- 类型:
string
- 默认值:
无
是页面文件相对于 src/pages
目录的相对路径,不需要加文件扩展名,如 src/pages/login/index.vue
的 path 为 login/index
# 状态栏样式配置
# color
- 类型:
string
- 默认值:
#000
状态栏背景颜色,只 Android 5.0 及以上有效
# style
- 类型:
'light' | 'dark'
- 默认值:
light
状态栏字体颜色,支持iOS,Android 支持小米 MIUI6.0 及以上手机,魅族 Flyme4.0 及以上手机,其他 Android6.0 及以上手机。Android 因设备厂商定制差异,频繁切换 style 不一定生效。若不设置,则自动通过 $isLightColor
判断所传背景颜色是否是浅色,浅色则为 dark
, 否则为 light
# animated
- 类型:
boolean
- 默认值:
false
是否有动画效果,只iOS有效
示例:
<script>
export default {
name: 'set-status-bar-style-demo',
statusBar: {
color: 'transparent',
style: 'light'
}
}
</script>
<script>
export default {
name: 'set-status-bar-style-demo',
statusBar: {
color: 'transparent',
style: 'light',
animated: true
}
}
</script>
在 typescript
中配置
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { VueAPICloud } from 'vue-apicloud-quickstart'
@VueAPICloud
@Component({
statusBar: {
color: 'transparent',
style: 'light'
}
})
export default class Demo extends Vue {}
</script>
或者直接配置 color
,style
将通过 $isLightColor
自动判断
<script>
export default {
name: 'set-status-bar-style-demo',
statusBar: 'transparent'
}
</script>
<script>
export default {
name: 'set-status-bar-style-demo',
statusBar: '#007ACC'
}
</script>
在 typescript
中配置
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { VueAPICloud } from 'vue-apicloud-quickstart'
@VueAPICloud
@Component({ statusBar: 'transparent' })
export default class Demo extends Vue {}
</script>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { VueAPICloud } from 'vue-apicloud-quickstart'
@VueAPICloud
@Component({ statusBar: '#007ACC' })
export default class Demo extends Vue {}
</script>
# APICloud 应用配置
提示
config.xml
中的配置项,详见APICloud 官方文档,以下文档来源为 APICloud 官方文档 (opens new window)
注意
该 XML 文件必须采用UTF-8
编码。
# Overview (opens new window)
# access (opens new window)
# Preference (opens new window)
- 配置App全局背景 (opens new window)
- 配置Window默认背景 (opens new window)
- 配置Frame默认背景颜色 (opens new window)
- 配置页面是否弹动 (opens new window)
- 配置页面默认是否显示滚动条 (opens new window)
- 配置启动页是否自动隐藏 (opens new window)
- 配置iOS状态栏和页面是否重合(沉浸式效果) (opens new window)
- 配置状态栏和页面是否重合(沉浸式效果) (opens new window)
- 配置应用是否全屏运行 (opens new window)
- 配置应用是否自动检测更新 (opens new window)
- 配置应用是否支持增量更新、云修复 (opens new window)
- 配置应用开启/关闭调试模式 (opens new window)
- 配置是否允许使用第三方键盘 (opens new window)
- 配置键盘弹出方式 (opens new window)
- 配置是否显示键盘上方的工具条 (opens new window)
- 配置是否允许页面默认拖拽行为 (opens new window)
- 配置字体 (opens new window)
- 配置后台运行 (opens new window)
- 配置URL Scheme (opens new window)
- 配置可被检测的URL Scheme (opens new window)
- 配置网页里被禁止跳转的URL Scheme (opens new window)
- 配置User Agent (opens new window)
- 配置iTunes文件共享 (opens new window)
- 配置自定义下拉刷新模块 (opens new window)
- 配置是否在桌面显示应用图标 (opens new window)
- 配置是否检查https证书是受信任的 (opens new window)
- 配置是否校验应用证书 (opens new window)
- 配置支持的CPU设备类型 (opens new window)
- 配置用户界面风格 (opens new window)
- 配置是否使用WKWebView (opens new window)
- 配置WKWebView页面恢复模式 (opens new window)
# Feature (opens new window)
- 微信 (opens new window)
- 新浪微博 (opens new window)
- 百度定位 (opens new window)
- 百度地图 (opens new window)
- 支付宝支付 (opens new window)
- QQ登录/分享 (opens new window)
- 极光推送 (opens new window)
- 融云即时通信 (opens new window)
# Permission (opens new window)
- 读取手机状态和身份 (opens new window)
- 直接拨打电话 (opens new window)
- 直接发送短信 (opens new window)
- 使用拍照和视频 (opens new window)
- 使用录音 (opens new window)
- 访问地理位置信息 (opens new window)
- 访问文件系统 (opens new window)
- 完全的访问网络权限 (opens new window)
- 开机启动 (opens new window)
- 控制振动/闪光灯/屏幕休眠等硬件设备 (opens new window)
- 访问设备通讯录 (opens new window)
# Meta-Data (opens new window)
# Intent-Filter (opens new window)
# Reference (opens new window)
完整的 config.xml
文件参考:
<widget id="A12345678901" version="0.0.1">
<name>API Example</name>
<description>
API Example App.
</description>
<author email="developer@apicloud.com" href="//www.apicloud.com">
APICloud.SIR
</author>
<content src="index.html" />
<access origin="*" />
<preference name="pageBounce" value="false" />
<preference name="appBackground" value="#000" />
<preference name="windowBackground" value="rgba(0,0,0,0.0)" />
<preference name="frameBackgroundColor" value="rgba(0,0,0,0.0)" />
<preference name="hScrollBarEnabled" value="true" />
<preference name="vScrollBarEnabled" value="true" />
<preference name="autoLaunch" value="true" />
<preference name="autoUpdate" value="true" />
<preference name="smartUpdate" value="false" />
<preference name="fullScreen" value="false" />
<preference name="statusBarAppearance" value="true" />
<preference name="softInputMode" value="resize"/>
<preference name="debug" value="true"/>
<permission name="readPhoneState" />
<permission name="call" />
<permission name="sms" />
<permission name="camera" />
<permission name="record" />
<permission name="location" />
<permission name="fileSystem" />
<permission name="internet" />
<permission name="bootCompleted" />
<permission name="hardware" />
<permission name="contact" />
<feature name="weiXin">
<param name="urlScheme" value="wx7779c7c063a9d4d9" />
<param name="apiKey" value="wx7779c7c063a9d4d9" />
</feature>
<feature name="sinaWeiBo">
<param name="urlScheme" value="wb1062272715" />
<param name="apiKey" value="1062272715" />
</feature>
<feature name="aliPay">
<param name="urlScheme" value="AliPayA00000000001" />
</feature>
<feature name="baiduLocation">
<param name="apiKey" value="fef72715gshjelke" />
</feature>
<feature name="baiduMap">
<param name="android_api_key" value="fef72715gshjelke" />
<param name="ios_api_key" value="fef72715gshjelke" />
</feature>
<feature name="qq">
<param name="urlScheme" value="tencent9c7c063a9d4d9" />
<param name="apiKey" value="9c7c063a9d4d9" />
</feature>
</widget>
# WIFI 同步忽略文件目录配置
提示
详见 APICloud 官方文档APICloud Studio WiFi真机同步和WiFi真机预览使用说明 (opens new window)
- 自定义 WiFi 同步时忽略的文件、文件夹
- 支持标准的
Glob
(opens new window) 表达式。
# 常用格式示例
忽略某一类型的文件,如
*.js.map
文件:**/*.js.map
忽略项目中所有某一名称的文件夹及其子文件(夹),如
node_modules
目录:**/node_modules/**
忽略根目录中某一目录下的所有文件(夹), 如
src
目录:src/**
基于自动化 webpack 等自动化构建工具常用的表达式:
{**/*.js.map,**/node_modules/**,src/**}