HBuilder创建app 基础
一.了解HBuilder
HBuilder内封装了大量的书籍,极大方便了使用
官方文档:
http://dev.dcloud.net.cn/mui/ui/
关于布局:
mhead 表头.mbody 身子,mtap 尾部
操作:
1.跳转页面 mui.openWindow
document.getElementById("setting").addEventListener("tap",function(){ # tap 监听事件 dga快捷方式
mui.openWindow({ #mui.openWindow 跳转到新页面
"url":"new.html", #跳转的页面文件
"id":"new.html", #跳转的id
styles:{
top:"0px", # styles 样式 固定时必须用top作为参照
bottom:"50px"
},
extras:{ # extras 传值 需要在new.html上注入plusReady(function{}) ,内部填写 变量= plus.webview.currentWebview()接收. name:""
}
});
});
2.点击显示提示 toast
document.getElementById('email').addEventListener('tap',function () {
mui.toast("你点击邮件了");
})
3.mui.fire 跨表发送数据
mui.plusReady(function(){ })
document.getElementById('email').addEventListener('tap',function () {
var new_page = plus.webview.getWebviewById("new.html"); #同过mui.fire传值的参数,指向id为要发送数据的html 的id,使用plus必须有 mui.plusReady(function()
mui.fire(new_page,'show_alert',{name:"chunsheng"}); #mui.fire三个参数(访问页面id,function回调函数名,字典形式内容),需要在访问html接收这个回调函数
})
另一端的接收
document.addEventListener("show_alert",function(data){ #这里全局监听传递的回调函数
console.log(JSON.stringify(data.detail.name)); #监听返回的函数必须 .detail 转换为Object字典形式
alert("欢迎观临");
})
4.json post请求
document.getElementById('login_btn').addEventListener('tap',function () {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value; mui.post('http://192.168.13.144:9527/login',{
username:username,
password:password
},function(data){
mui.toast(data.msg);
},'json'
); })
mui.post('',#'' 存访问的地址
{
#传递的参数位置
},function(data){
#接收数据位置
},'json' #若为jsonity格式,可不告诉客户端请求头为json格式
);
5.图文列表,自己创建列表格式 通过createElement("")创建标签和appendChild()定义层级关系
function create_item(content){
var li = document.createElement("li");#创建标签li createElement
li.className ="mui-table-view-cell mui-media"; #配置class信息 className
var a = document.createElement("a");
var img = document.createElement("img");
img.className ="mui-media-object mui-pull-left";
img.src = "http://192.168.13.144:9527/get_image/"+content.image; #配置src 直接访问地址获取
var div = document.createElement("div");
div.className="mui-media-body";
div.innerText = content.tilte; #创建文本 innerText
var p = document.createElement("p");
p.className="mui-ellipsis";
p.innerText=content.text; li.appendChild(a); #创建层级关系
a.appendChild(img);
a.appendChild(div);
div.appendChild(p); document.getElementById("content_list").appendChild(li);
#注意,这是有名函数,需要调用才可用
}
调用函数
mui.plusReady(function () {
mui.post('http://192.168.13.144:9527/content_list',{ },function(data){
for (var i = 0; i < data.length; i++) {
// console.log(JSON.stringify(data[i]))
create_item(data[i]);#调用函数
}
},'json'
);
})
关于后端传递src
from flask import Flask,request,jsonify,send_file
from setting import MONGO_DB
@app.route("/content_list",methods=["POST"])
def content_list():
res = list(MONGO_DB.content.find({},{"_id":0}))
return jsonify(res) @app.route("/get_image/<filename>")
def get_image(filename):
import os
path = os.path.join("tupian",filename)
return send_file(path)
6.将其他页面在首页显示 mui.init( ) subpages
mui.init({
subpages:[{ #将main页面显示在首页的方法 subpages
url:'main.html',
id:'main.html',
styles:{
top:'0px',//mui标题栏默认高度为45px;
bottom:'50px'//默认为0px,可不定义;
}
}]
});
7.全局设置 mui.js
使用时一定要引用
<script src="js/mui.js" type="text/javascript" charset="utf-8"></script>
内容
window.serv = "http://192.168.13.189:9527";
window.serv_image = window.serv + "/get_image/";
window.serv_music = window.serv + "/get_music/";
在以后访问的路由中,都可以使用变量代替
8.将音频播放 myplayer
myplayer = plus.audio.createPlayer(window.serv_music + Sdata.audio); #后面是访问文件的地址
myplayer.play(); 播放
myplayer.pause(); #暂停
myplayer.resume(); #继续
myplayer.stop();#停止
9.查看自身ip
// var sdata = plus.webview.currentWebview(); # 在plusready ()使用
// console.log(JSON.stringify(sdata)) #这里获取的是页面的全部信息
10websocket访问
var ws = new WebSocket("ws://192.168.13.189:3721/app/app01");#这里同样可以通过websocket进行数据访问
document.addEventListener("send_music",function(data){
var send_str = data.detail // {to_user:"toy123",music:Sdata.audio}
ws.send(JSON.stringify(send_str));
})
HBuilder创建app 基础的更多相关文章
- HBuilder创建app
一.app登录注册实现 1.首先进行布局,mhead,mbody 在app index.html内创建一个 a链接通过mui.openWindow跳到登录页面 <a class="mu ...
- HBuilder创建app 3
一.Audio 模块实现开启手机摄像头 基于html5 plus http://www.html5plus.org/doc/zh_cn/audio.html 栗子: <!DOCTYPE html ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- pycharm上运行django服务器端、以及创建app方法
快来加入群[python爬虫交流群](群号570070796),发现精彩内容. 安装Django 下载Django包,解压缩. CMD 进入解压路径下. 执行:python setup.py in ...
- 使用Material Design 创建App翻译系列----材料主题的使用(Using Material Theme)
上一篇是使用Material Design 创建App翻译系列--開始学习篇,进入正题: 新的材料主题提供了下面内容: 1. 提供了同意设置颜色板的系统部件组件. 2. 为这些系统组件提供了触摸反馈动 ...
- HBuilder开发App教程04-最难搞定的是mui
前言 前几篇说到一些HBuilder开发app的基础教程, 现在来说一下HBuilder开发app的难点,或者说是上手的难点, 就是mui, 如果你没有研究mui就贸然的上手HBuilder,那你的开 ...
- springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装
springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...
- App架构师实践指南一之App基础语法
第二章:App基础语法1.编程范式编程范型或编程范式(programming paradigm),是指从事软件工程的一类典型的编程风格.常见的编程范式有过程化(命令行)编程.事件驱动编程.面向对象编程 ...
- Hbuilder开发app实战-识岁03-文件上传
前言 做app不得不谈的问题就是文件上传.用hbuilder开发app让上传变的非常easy. Uploader Uploader模块管理网络上传任务,用于从本地上传各种文件到server,并支持跨域 ...
随机推荐
- Tensorflow的不足之处
Tensorflow还是有不足的地方.第一体现在Tensorflow的数据机制,由于tensor只是占位符,在没有用tf.Session().run接口填充值之前是没有实际值的.
- ant design pro解决初始加载,有顺序的请求/请求顺序报错问题/登录后再加载其他数据/异步的顺序问题/偷跑
方法是:如在Authorized.jsx中解决,当未登录成功(包括登录失败和登录验证中),就显示loading,否则继续 加载渲染children 一个三目运算或者if分支就可以解决,但是要写到最先加 ...
- A1010 Radix (25 分)
一.技术总结 首先得写一个进制转换函数convert(),函数输入参数是字符串str和需要转化的进制(使用long long数据类型).函数内部知识,使用函数迭代器,即auto it = n.rbeg ...
- Redis系列1——概述
1. 简介 Redis,key-value内存存储的数据库,全称“”Remote Dictionary Service(Sever)“”,默认端口号:6379 Redis是一个开源的使用ANSI C语 ...
- Azure EA (1) 查看国内Azure账单
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 有关Azure EA Portal的详细内容,可以参考我的GitHu ...
- CentOS7-安装后常见问题--ssh慢,汉字乱码gbk,-locale设置等
00.ssh 慢问题解决修改: [test@centos ~]$ sudo vi /etc/ssh/sshd_config /** 使用/命令查找 API 字符串*/ # GSSAPI option ...
- Kubernetes Deployment(部署无状态应用)
Kubernetes Deployment(部署无状态应用) Pod与controllers的关系 • controllers:在集群上管理和运行容器的对象 • 通过label-selector相关联 ...
- 【10】Nginx:后面有无 / 的区别
写在前面的话 在 nginx 中,我们很多时候都有一个疑问,在 proxy_pass 或者 root 或者 location 后面需不需要加上 /,加和不加有啥区别. root / alias 后面 ...
- 第五篇 openvslam建图与优化模块梳理
建图模块 mapping_module在初始化系统的时候进行实例化,在构建实例的时候会实例化local_map_cleaner和local_bundle_adjuster.系统启动的时候会在另外一个线 ...
- .NET Core 使用NPOI读取Excel返回泛型List集合
我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...