快应用
- 修改标注: todo
warning!
快应用页面数据必须先在data中注册才能使用,否则页面不显示
页面某些状态不对应时,可能是页面某个参数没在data中注册
点击事件更新
div onClick="clickBtn(1)"
clickBtn(flag){
console.log(flag)
}
项目运行
- 1.在项目根目录,安装依赖
npm install
- 2.编译
npm run build
- 3.调试
npm run watch
- 4.启动http服务器
npm run server
编辑器设置缩进:
- 在编辑器右下角 – 空格 --选空格缩进 – 改为2
控制台位置
- 在开发工具预览面板–左下角有个向下箭头的logo
超出省略 css
lines: 1;
text-overflow: ellipsis;
快应用提交审核
versionName String - 否 应用版本名称,如:“1.0”
versionCode 应用版本号,从1自增,推荐每次重新上传包时versionCode+1
下载 调试器
下载 调试器
https://statres.quickapp.cn/quickapp/quickapp/201806/file/quickapp_debugger.apk
下载地址
https://www.quickapp.cn/docCenter/post/69
在调试器右上角处下载预览版1040版本
快应用测试
- 下载安装调试器:下载链接
https://statres.quickapp.cn/quickapp/quickapp/201806/file/quickapp_debugger.apk
- 本地安装rpk安装包
- 在调试器右上角处下载
预览版1040版本
- 在预览版测试
设置标题
text: String 标题栏文字
textColor: String 文字颜色
backgroundColor: String 背景颜色
backgroundOpacity 1000+: Number 背景透明度
menu 1000+: Boolean 是否在标题栏右上角显示菜单按钮
this.$page.setTitleBar({text:'Hello', textColor:'#FF0000', backgroundColor:'#FFFFFF', backgroundOpacity:0.5, menu: true})
判断语句 if elif else:
<template>
<div>
<text if="{{display}}">Hello-1</text>
<text elif="{{display}}">Hello-2</text>
<text else>Hello-3</text>
</div>
</template>
div 挂值
<div onclick="routeToBook" data-info="{{item}}">
routeToBook(item) {
var data = item._target._dataset.info;
console.log(data)
var url = '/pages/book?bookId=' + data.bookId;
console.log(url)
router.push({
uri: url
})
}
页面跳转方式
this.$dispatch('toview', { view: 'register' })
router.push({
uri: url
})
router.replace({
uri: url
})
图片格式
- img
<image src="{{item.imageUrl}}" class="slide-image" object-fit="fill"></image>
1.调试
-
- 打开工程根目录下的 src 文件夹的 manifest.json,找到 config 配置,将 logLevel 修改为最低级别 debug.默认为“log”
{
"config": {
"logLevel": "debug"
}
}
和小程序不同之处:
步骤:
- 1.先找package.json 下载依赖
-
- manifest.json 包含了应用描述、接口声明、页面路由信息.绝大部分接口都需要在 features 中声明,否则不能调用
控制台输出内容
在manifest.json中设置:
"config": {
"logLevel": "debug"
},
语法不同:
用到什么组件,需要在manifest.json
中先声明
显示加载弹窗
prompt.showToast({
message: '登录成功',
duration: 1
})
showLoading () {
prompt.showLoading({
message: 'loading',
loadingColor: '#29B6F6'
})
},
// 隐藏弹窗
hideLoading () {
prompt.hideLoading()
}
prompt.showDialog({
title: '弹框标题',
message: '弹框内容、告知当前状态、信息和解决方法,描述文字尽量控制在三行内',
buttons: [
{
text: '确定',
color: '#0faeff'
},{
text: '取消'
},{
text: '忽略'
}
],
success: function (ret) {
prompt.showToast({
message: '成功回调:选中按钮序号---' + ret.index // 判断按钮的index值。1为确定 2为取消 3为忽略
})
},
cancel: function () {
prompt.showToast({
message: '取消回调'
})
}
})
a链接跳转
<!-- 添加参数 -->
<a href="/PageParams/receiveparams?key=Hello, world!">携带参数key1跳转</a>
<!-- 添加变量参数 -->
<a href="/PageParams/receiveparams?key={{title}}">携带参数key2跳转</a>
// 跳转到应用内的某个页面
router.push({
uri: '/PageParams/receiveparams'
})
'/PageParams/receiveparams'就是路由页面的路径 前面 + '/'
- 弹窗
prompt.showToast({
message: '加载中...'
})
storage 数据存储
- 先在
manifest.json
中声明。"features": [{ "name": "system.storage" }]
- 再导入
import storage from '@system.storage'
- 应用:
简写:
storage.set({
key: args,
value: evt.value
})
完整:
storage.set({
key: 'A1',
value: 'V1',
success: function(data) {
console.log('handling success')
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
// 即使没有这个'A1',拿回的数据也是'' 空
storage.get({
key: 'A1',
success: function(data) {
console.log('handling success')
console.log(data)
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
storage.clear({
success: function(data) {
console.log('handling success')
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
storage.delete({
key: 'A1',
success: function(data) {
console.log('handling success')
},
fail: function(data, code) {
console.log(`handling fail, code = ${code}`)
}
})
关于 eslint
删除规则,不再受分号影响
"semi": [
"warn",
"never"
]
快应用签名:
ZH
BeiJing
Lemonyd
lemonyd accounts
1879680....
qqq111111