快应用---平台,npm
一、deeplink
框架支持通过连接从外部打开应用;
支持格式:
a) http://hapjs.org/app/<package>/[path][?key=value]
b) https://hapjs.org/app/<package>/[path][?key=value]
c) hap:///app/<package>/[path][?key=value]
参数说明: 1)package 应用包名,必选 2)path 应用内页面的path,可选,默认为首页; 3) key-value 希望传给页面的参数,可选,可以有多个
快应用中调用deeplink打开另一个快应用示例:
import router from '@system.router';
router.push({
uri: 'hap://app/com.example.quickapp/page?key=value'
})
原生app中调用deeplink打开快应用示例:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse('hap://app/com.example/Detail?key1=value1&key2=value2'))
context.startActivity(intent);
注意:不同的厂商对该能力可能有不同限制,使用前和相应厂商确认;
二、URL跳转配置
URL跳转配置是指在H5页面中可以通过调用接口跳转到应用;
1)接入方式
使用本功能,需要在网页中嵌入以下js,支持HTTP与HTTPS访问;
<script type="text/javascript" src="//statres.quickapp.cn/quickapp/js/routerinline.min.js"></script>
调起应用 appRouter(packageName,path,params,confirm)
packageName:应用的包名,和mainfest.json中保持一致;必填
path:跳转的页面路径,对应于manifest.json中page的path字段; 必填
params:Object,传递的参数,如果不传params,会默认使用当前网页url的参数作为params的值; 选填
confirm: 在跳转确认窗口中显示的名称,当不传或者为false时,表示无需用户确认直接跳转,当为其他非空值时,表示跳转需要用户确认;选填;
2)检测平台是否支持服务
channelReady(function(bAvailable){
alert('是否存在框架服务:'+bAvailable)
})
三、使用npm
1)引入npm 包
第一步:需要先在本地安装npm包 npm install <package>
第二步:本地安装npm包后,就可以引入npm包提供的文件了。根据引入文件类型的不同,引入的方法存在差异,
a) 组件文件---- 使用<import>引入npm包中的自定义组件,注意设置组件文件的相对路径
<import name="comp" src="<relative path to node_modules>/node_modules/quick-app-kit-demo/src/component/index.ux"></import>
b)样式文件-----使用导入外部文件或合并外部文件的方式,引入npm包中的样式文件,注意设置样式文件的相对路径;
<!--导入外部文件,代替style内部样式-->
<style src="<relative path to node_modules>/node_modules/quick-app-kit-demo/src/common/common.css"></style>
<!--合并外部文件-->
<style>
@import ''<relative path to node_modules>/node_modules/quick-app-kit-demo/src/common/common.css''
</style>
c)js文件
使用import 引入npm包中的js文件,注意设置js文件的相对路径。
import getStr from ''<relative path to node_modules>/node_modules/quick-app-kit-demo/src/common/util''
2)发布npm包
第一步:准备工作:
a)准备好要发布的目录
b)建议目录下增加README.md文件,说明npm包的功能及用法等;
c)确保目录下有package.json文件,若目录下没有package.json文件,执行以下命令初始化生成一个新的package.json文件;
npm init
注意:暂不支持npm包中提供本地图片资源,请使用线上图片资源代替;
第二步:发布流程
a)注册账号
b)登录账号 npm login
c) 发布npm包 npm publish
d) 验证发布结果 访问 https://npmjs.com/package/<package>,检查发布是否成功,
注意:若开发者修改过npm的源,需要在登录或发布前将源切回npm