1.開發準備HBuilder:javascript
1.下載安裝HBuilder
2.建立APP項目
3.代碼示例:
<!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> <nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item mui-active" id="main"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首頁</span> </a> <a class="mui-tab-item" id="phone"> <span class="mui-icon mui-icon-phone"></span> <span class="mui-tab-label">電話</span> </a> <a class="mui-tab-item" id="emil"> <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 src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init({ subpages:[{ url:'main.html', id:'main.html', styles:{ top:"0px", bottom:"50px" }, extras:{} }] }); document.getElementById('main').addEventListener('tap',function () { mui.openWindow('main.html','main',{ styles:{ top:"0px", bottom:"50px" } }); }) document.getElementById('setting').addEventListener('tap',function () { mui.openWindow({ url:"login.html", id:"login.html", styles:{ top:"0px", bottom:"50px" } }); }) </script> </body> </html>
<!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"> <h1 class="mui-title">首頁</h1> </header> <div class="mui-content"> <div id="slider" class="mui-slider" > <div class="mui-slider-group mui-slider-loop"> <!-- 額外增長的一個節點(循環輪播:第一個節點是最後一張輪播) --> <div class="mui-slider-item mui-slider-item-duplicate"> <a href="#"> <img src="http://placehold.it/400x300"> </a> </div> <!-- 第一張 --> <div class="mui-slider-item"> <a href="#"> <img src="http://192.168.11.181:8600/img1"> </a> </div> <!-- 第二張 --> <div class="mui-slider-item"> <a href="#"> <img src="http://192.168.11.181:8600/img2"> </a> </div> <!-- 第三張 --> <div class="mui-slider-item"> <a href="#"> <img src="http://192.168.11.181:8600/img3"> </a> </div> <!-- 第四張 --> <div class="mui-slider-item"> <a href="#"> <img src="http://192.168.11.181:8600/img4"> </a> </div> <!-- 額外增長的一個節點(循環輪播:最後一個節點是第一張輪播) --> <div class="mui-slider-item mui-slider-item-duplicate"> <a href="#"> <img src="http://placehold.it/400x300"> </a> </div> </div> <div class="mui-slider-indicator"> <div class="mui-indicator mui-active"></div> <div class="mui-indicator"></div> <div class="mui-indicator"></div> <div class="mui-indicator"></div> </div> </div> <ul class="mui-table-view mui-grid-view mui-grid-9"> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-home"></span> <div class="mui-media-body">Home</div> </a> </li> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-email"><span class="mui-badge mui-badge-red">5</span></span> <div class="mui-media-body">Email</div> </a> </li> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-chatbubble"></span> <div class="mui-media-body">Chat</div> </a> </li> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-location"></span> <div class="mui-media-body">Location</div> </a> </li> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-search"></span> <div class="mui-media-body">Search</div> </a> </li> <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4"> <a href="#"> <span class="mui-icon mui-icon-phone"></span> <div class="mui-media-body">Phone</div> </a> </li> </ul> <ul class="mui-table-view"> <li class="mui-table-view-cell mui-media"> <a href="javascript:;"> <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30"> <div class="mui-media-body"> 幸福 <p class="mui-ellipsis">能和心愛的人一塊兒睡覺,是件幸福的事情;但是,打呼嚕怎麼辦?</p> </div> </a> </li> <li class="mui-table-view-cell mui-media"> <a href="javascript:;"> <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30"> <div class="mui-media-body"> 木屋 <p class="mui-ellipsis">想要這樣一間小木屋,夏天挫冰吃瓜,冬天圍爐取暖.</p> </div> </a> </li> <li class="mui-table-view-cell mui-media"> <a href="javascript:;"> <img class="mui-media-object mui-pull-left" src="http://placehold.it/40x30"> <div class="mui-media-body"> CBD <p class="mui-ellipsis">烤爐模式的城,到黃昏,如同打翻的調色盤通常.</p> </div> </a> </li> </ul> </div> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() </script> </body> </html>
<!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"> <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" placeholder="請輸入用戶名"> </div> <div class="mui-input-row"> <label>密碼</label> <input type="password" id="pwd" class="mui-input-password" placeholder="請輸入密碼"> </div> <div class="mui-button-row"> <button type="button" class="mui-btn mui-btn-primary" id="login">登陸</button> <button type="button" class="mui-btn mui-btn-danger" id="sigin">註冊</button> </div> </form> </div> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() document.getElementById('login').addEventListener('tap',function () { var username = document.getElementById("username").value; var pwd = document.getElementById("pwd").value; mui.post('http://192.168.11.181:8600/login',{ username:username, pwd:pwd, },function(data){ //服務器返回響應,根據響應結果,分析是否登陸成功; if (data.erromsg==null) { mui.toast(data.msg) mui.openWindow('index.html','index',{}) mui.openWindow('main.html','main',{}) } else{ mui.toast(data.erromsg) } },'json' ); }) document.getElementById('sigin').addEventListener('tap',function () { mui.openWindow('sigin.html','sigin',{ styles:{ top:"0px", bottom:"50px" } }); }) </script> </body> </html>
<!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"> <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" placeholder="請輸入用戶名"> </div> <div class="mui-input-row"> <label>密碼</label> <input type="password" id="pwd" class="mui-input-password" placeholder="請輸入密碼"> </div> <div class="mui-input-row"> <label>確認密碼</label> <input type="password" id="repwd" class="mui-input-password" placeholder="請確認密碼"> </div> <div class="mui-button-row"> <button type="button" class="mui-btn mui-btn-primary" id="login">登陸</button> <button type="button" class="mui-btn mui-btn-danger" id="sigin">註冊</button> </div> </form> <script src="js/mui.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> mui.init() document.getElementById('sigin').addEventListener('tap',function () { var username = document.getElementById("username").value; var pwd = document.getElementById("pwd").value; var repwd = document.getElementById("repwd").value; mui.post('http://192.168.11.181:8600/sigin',{ username:username, pwd:pwd, repwd:repwd },function(data){ //服務器返回響應,根據響應結果,分析是否登陸成功; if (data.erromsg==null) { mui.toast(data.msg) } else{ mui.toast(data.erromsg) } },'json' ); }) document.getElementById('login').addEventListener('tap',function () { mui.openWindow('login.html','login',{ styles:{ top:"0px", bottom:"50px" } }); }) </script> </body> </html>
寫前端代碼能夠參考mui官網文檔:http://dev.dcloud.net.cn/muicss
2.後端代碼:html
1.MongoDB數據庫準備
2.Python中配置MongoDB
示例代碼
import pymongo
conn = pymongo.MongoClient('127.0.0.1',27017)
MONGODB = conn["tuling"] # tuling 是數據庫的名字
from flask import Flask, request, render_template, redirect, jsonify,send_file
from db import MONGODB
app = Flask(__name__)
@app.route('/login',methods=['POST'])
def login():
username = request.form.get('username')
pwd = request.form.get('pwd')
ret = list(MONGODB.user.find({"name":username},{'_id':0}))
if pwd == ret[0].get('pwd'):
return jsonify({"msg":"登錄成功","erromsg":None})
else:
return jsonify({'msg':"登錄失敗","erromsg":',密碼輸入錯誤'})
@app.route('/sigin',methods=['POST'])
def sigin():
username = request.form.get('username')
pwd = request.form.get('pwd')
re_pwd = request.form.get('repwd')
if pwd == re_pwd:
MONGODB.user.insert_one({'name':username,'pwd':re_pwd})
return jsonify({"msg":"註冊成功","errormsg":None})
else:
return jsonify({"msg": "註冊失敗", "errormsg": '兩次密碼輸入的不同'})
@app.route('/img1')
def img1():
return send_file('.\static\img\img1.png')
@app.route('/img2')
def img2():
return send_file('.\static\img\img2.png')
@app.route('/img3')
def img3():
return send_file('.\static\img\img3.png')
@app.route('/img4')
def img4():
return send_file('.\static\img\img4.png')
if __name__ == '__main__':
app.run('0.0.0.0',8600)
3.在模擬器上運行:前端
修改端口.java
以後點擊運行便可python
4.在真機上運行,mongodb
1.確保手機USB調試打開,下載一個應用寶,能鏈接上手機便可 2.運行便可
3.手機和電腦需在同一個局域網內,方可連上服務器