python 全栈开发,Day125(HTML5+ 初识,HBuilder,夜神模拟器,Webview)
1.增删改查:增:db.collections.insert({a:1}) // 官方不推荐了db.collections.insertMany([{a:1},{b:1}])insertOne({a:
顺晟科技
2022-09-15 21:43:11
124
可以打开摄像头
可以打开麦克风 - 打开扬声器
可以打开操作系统的相册,通讯录,短信彩信
可以打开陀螺仪,指南针
可以从这里看到所能够拥有的功能
Mui 前端布局框架 = 排版用 (相当于bootstrap)
HTML5PLUS 硬件驱动接口,系统调用接口 (有jQuery功能)
新建APP
修改端口
启动
相当于bootstrap,但mui又封装了jQuery
常用代码块
mdo 页面结构
mhe 标题栏
mbo 页面主体
mta 底部栏
msl 图片轮播
mgr 九宫格
mli 列表
使用代码块快速搭建
index.html
<body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">标题</h1> </header> <nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item mui-active"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </a> <a class="mui-tab-item"> <span class="mui-icon mui-icon-phone"></span> <span class="mui-tab-label">电话</span> </a> <a class="mui-tab-item"> <span class="mui-icon mui-icon-email"></span> <span class="mui-tab-label">邮件</span> </a> <a class="mui-tab-item" id=\'setting\'> <span class="mui-icon mui-icon-gear"></span> <span class="mui-tab-label">设置</span> </a> </nav> </body> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() document.getElementById(\'setting\').addEventListener(\'tap\',function () { //监听点击事件 mui.toast(\'你点击我了\') ; //自动消失的提示框 var s = {\'user\':\'liu\'}; console.log(JSON.stringify(s)); mui.openWindow({ //打开新窗口 \'url\':\'setting.html\', //跳转的页面 \'id\':\'setting\', styles:{ top:"0px", bottom:"50px" }, extras:{ //往新窗口传值 name:"666" } }) }) </script>
新窗口文件接收原窗口数据
<script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() mui.plusReady(function () { //页面初始化 var Sdata = plus.webview.currentWebview() console.log(JSON.stringify(Sdata)); }) </script>
index.html
<body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">标题</h1> </header> <nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item mui-active"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </a> <a class="mui-tab-item"> <span class="mui-icon mui-icon-phone"></span> <span class="mui-tab-label">电话</span> </a> <a class="mui-tab-item" id=\'email\'> <span class="mui-icon mui-icon-email"></span> <span class="mui-tab-label">邮件</span> </a> <a class="mui-tab-item" id=\'setting\'> <span class="mui-icon mui-icon-gear"></span> <span class="mui-tab-label">设置</span> </a> </nav> </body> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() mui.plusReady(function () { }) document.getElementById(\'setting\').addEventListener(\'tap\',function () { mui.toast(\'你点击我了\') ; //自动消失的提示框 var s = {\'user\':\'liu\'}; console.log(JSON.stringify(s)); mui.openWindow({ \'url\':\'setting.html\', //跳转的页面 \'id\':\'setting\', styles:{ top:"0px", bottom:"50px" }, extras:{ name:"666" } }) }) document.getElementById(\'email\').addEventListener(\'tap\',function () { var setting_page = plus.webview.getWebviewById(\'setting\'), // 查找指定标识的WebviewObject窗口,这里的setting是id mui.fire(setting_page,\'show_alert\',{name:\'liuliu\'}) }) </script>
setting.html
<script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() mui.plusReady(function () { var Sdata = plus.webview.currentWebview() console.log(JSON.stringify(Sdata)); }) document.addEventListener(\'show_alert\',function(data){ alert(\'欢迎光临\') }) //监听整个DOM对象 </script>
点击进入设置窗口、然后再点击邮件,那么邮件的事件就会传递过来
实现点击事件跳转窗口到登录页面,登录页面点击登录发起与后端的交互,后端获取到数据到数据库中查询,并返回到手机端
from flask import Flask,request,jsonify from data_mongo import MONGO_DB app = Flask(__name__) @app.route(\'/login\',methods=[\'POST\']) def login(): username = request.form.get(\'username\') #从前端请求中获取数据 password = request.form.get(\'password\') user_info = request.form.to_dict() user = MONGO_DB.data.find_one(user_info) #数据库查询 if user: return jsonify({\'status\':200,\'msg\':f"欢迎{user.get(\'username\')}登录"}) else: return jsonify({\'status\':201,\'msg\':\'用户名密码错误\'}) if __name__ == \'__main__\': app.run(\'0.0.0.0\',9527,debug=True)
import pymongo client = pymongo.MongoClient(host=\'127.0.0.1\',port=27017) MONGO_DB = client[\'login\']
<body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">登录</h1> </header> <div class="mui-content"> <form class="mui-input-group"> <div class="mui-input-row"> <label>用户名</label> <input type="text" id=\'username\' class="mui-input-clear" placeholder="请输入用户名"> </div> <div class="mui-input-row"> <label>密码</label> <input type="password" id=\'password\' class="mui-input-password" placeholder="请输入密码"> </div> <div class="mui-button-row"> <button type="button" class="mui-btn mui-btn-primary" id=\'login_btn\'>登录</button> <button type="button" class="mui-btn mui-btn-danger mui-action-back" >取消</button> </div> </form> </div> </body> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() 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.146:9527/login\',{ //ajax请求 username:username, password:password },function(data){ console.log(JSON.stringify(data)); mui.toast(data.msg); },\'json\' ); }) </script>
<nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item mui-active" id="home"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </a> <a class="mui-tab-item"> <span class="mui-icon mui-icon-phone"></span> <span class="mui-tab-label">电话</span> </a> <a class="mui-tab-item" id=\'email\'> <span class="mui-icon mui-icon-email"></span> <span class="mui-tab-label">邮件</span> </a> <a class="mui-tab-item" id=\'setting\'> <span class="mui-icon mui-icon-gear"></span> <span class="mui-tab-label">设置</span> </a> </nav> <script type="text/javascript"> mui.init() document.getElementById(\'home\').addEventListener(\'tap\',function () { mui.openWindow({ \'url\':\'login.html\', //跳转的页面 \'id\':\'login\', }); }); </script>
创建数据
准备图片
from flask import Flask,request,jsonify,send_file from data_mongo import MONGO_DB app = Flask(__name__) @app.route(\'/login\',methods=[\'POST\']) def login(): username = request.form.get(\'username\') password = request.form.get(\'password\') user_info = request.form.to_dict() user = MONGO_DB.data.find_one(user_info) if user: return jsonify({\'status\':200,\'msg\':f"欢迎{user.get(\'username\')}登录"}) else: return jsonify({\'status\':201,\'msg\':\'用户名密码错误\'}) @app.route(\'/content_list\',methods=[\'POST\']) #获取新闻列表数据 def content_List(): res = list(MONGO_DB.contents.find({},{\'_id\':0})) return jsonify(res) @app.route(\'/get_image/<filename>\') #获取新闻列表图片 def get_image(filename): import os path = os.path.join(\'image\',filename) return send_file(path) if __name__ == \'__main__\': app.run(\'0.0.0.0\',9527,debug=True)
import pymongo client = pymongo.MongoClient(host=\'127.0.0.1\',port=27017) MONGO_DB = client[\'login\']
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <link rel="stylesheet" type="text/css" href="css/mui.css"/> </head> <body> <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">标题</h1> </header> <div class="mui-content"> <ul class="mui-table-view" id=\'content_list\'> </ul> </div> </body> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() mui.plusReady(function () { //窗口一加载就执行 mui.post(\'http://192.168.13.146:9527/content_list\',{ },function(data){ for (var i =0;i< data.length;i++){ // console.log(JSON.stringify(data[i])); create_item(data[i]);//获取到数据,执行下面的函数 } },\'json\' ); }) function create_item(content){ var li = document.createElement(\'li\'); //创建标签 li.className="mui-table-view-cell mui-media"; //设置标签属性 var a = document.createElement(\'a\'); var img = document.createElement(\'img\') img.className="mui-media-object mui-pull-left"; img.src = \'http://192.168.13.146:9527/get_image/\'+content.image; //请求图片 var div = document.createElement(\'div\'); div.className = "mui-media-body"; div.innerText=content.title; 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); } </script> </html>
HTML5plus: http://www.html5plus.org/
Mui :http://dev.dcloud.net.cn/mui/
posted on 2019-01-17 17:53 诚意 阅读(12252) 评论(0) 编辑 收藏 举报
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09