hbuilder和项目交互
来源:互联网 发布:室内三维定位算法 编辑:程序博客网 时间:2024/05/29 17:01
首先在登录页面用户点击登录时触发事件,首先将用户输入的用户名和密码作为参数传递到app.login方法,如果验证通过跳转的头Main的方法,如果失败输出失败原因。当用户输入进行验证时涉及与后台交互:
loginButton.addEventListener('tap', function(event) {
var loginInfo = {
account: accountBox.value,
password: passwordBox.value
};
app.login(loginInfo, function(err) {
if (err) {
plus.nativeUI.toast(err);
return;
}
toMain();
console.log("login——END");
});
});
//此方法框为app.js中方法体,首先将将相关方法调整成 “基于服务端Service”的实现,接下来看看login方法的具体实现方式
(function($, owner) {
owner.serverPath="http://192.168.1.98:8080/rzclms";owner.serverAddress=owner.serverPath+"/rest/app/";
/**
* 用户登录
**/
owner.login = function(loginInfo, callback) {
callback = callback || $.noop;
loginInfo = loginInfo || {};
loginInfo.account = loginInfo.account || '';
loginInfo.password = loginInfo.password || '';
if (loginInfo.account.length < 11) {
return callback('手机号最短为 11 个字符');
}
if (loginInfo.password.length < 6) {
return callback('密码最短为 6 个字符');
}
//loginInfo的值为传递过来的用户名和密码,此处为判断用户输入的用户名和密码的正确性
//服务端验证
var jsonData="";//存储栏目媒资数据对象
//1.初始Ajax加载栏目数据,通过ajax和后台进行交互
$.ajax({
url: this.serverAddress+"driverLogin",//"appIndexInit.do",
method:"post",
data:{"username":loginInfo.account,"password":loginInfo.password},
async: false,
success: function(data){
//1-1 存储数据,供后续展示使用
jsonData = $.parseJSON(data);
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
mui.alert("无法获取服务器数据!请确保网络畅通,或稍后重试!\r\n");
}
});
//当用户第一次登录时强制性的修改密码
if (jsonData.state) {
owner.setIsFirest(jsonData.firest);
owner.setTel(loginInfo.account);
if(jsonData.firest){
return owner.createState(jsonData.name,jsonData.token,jsonData.frequency,jsonData.isCanUp,callback);
}else{
return owner.createState(jsonData.name,jsonData.token,jsonData.frequency,jsonData.isCanUp,callback);
}
} else {
return callback(jsonData.message);
}
});
后台判断实现过程:
@RequestMapping(value="/driverLogin")
@ResponseBody
public void driverLogin(HttpServletRequest req,HttpServletResponse resp) throws Exception{
String username=req.getParameter("username");
String password=req.getParameter("password");
JSONObject json = new JSONObject();
List<DriversLoginEntity> list=driversLoginService.findByProperty(DriversLoginEntity.class, "cellphonenumber", username);
if(list.size()>0){
byte[] salt = PasswordUtil.getStaticSalt();
String ciphertext = PasswordUtil.encrypt(username, password, salt);
if(ciphertext.equals(list.get(0).getPassword())){
List<DriversEntity> driverList=systemService.findByProperty(DriversEntity.class, "cellphoneNumber", username);
if(driverList.size()>0){
json.put("state", true);//表示可以登录
json.put("name", driverList.get(0).getDriverName());
MD5 md5 = new MD5();
Date time=new Date();
String token=md5.getMD5ofStr(username+time+Math.random()*9000+1000);
json.put("token",token);//登录标识
if(list.get(0).getToken()==null||"".equals(list.get(0).getToken())||"null".equals(list.get(0).getToken())){
json.put("firest", true);//第一次登陆,控制强制修改密码
}else{
json.put("firest", false);
}
list.get(0).setLoginTime(time);
list.get(0).setToken(token);
driversLoginService.updateEntitie(list.get(0));
//返回上传位置信息时间间隔
PropertiesUtil util = new PropertiesUtil("sysConfig.properties");
String frequency = util.readProperty("app.gps.frequency");
json.put("frequency", frequency);
//返回手机上传磅单图片的宽度
String appUploadPicWidth = util.readProperty("app.uploadPic.width");
json.put("picWidth", appUploadPicWidth);
//返回是否可以上传位置信息标识
if(getIsCanUpGeolocation(token)){
json.put("isCanUp", 1);
}else{
json.put("isCanUp", 0);//0
}
}else{
json.put("state", false);//表示不可以登录
json.put("message", "查找不到用户姓名信息");//异常信息
}
}else{
json.put("state", false);//表示不可以登录
json.put("message", "密码错误");//异常信息
}
}else{
json.put("state", false);//表示不可以登录
json.put("message", "用户不存在");//异常信息
}
resp.getWriter().write(json.toString());
System.out.println(json);
}
- hbuilder和项目交互
- hbuilder 导入git 项目
- hbuilder git 新建共享项目
- Vue+WebPack+HBuilder 项目记录
- hbuilder项目总结:页面跳转
- 初始HBuilder 如何创建项目
- 如何创建一个HBuilder项目
- HBuilder打包app(vue项目)
- 国内开源项目Dcloud中的html5+ sdk,界面框架mui和开发工具hbuilder
- HBuilder
- Hbuilder
- Hbuilder
- Hbuilder
- hbuilder使用ftp和github
- HBuilder webApp开发(一)新建项目
- hbuilder项目总结:localstorage本地储存
- 在Hbuilder中新建一个web项目
- 我的第一个Hbuilder项目(WEB)
- SDUST第6次实验,第7次作业
- linux c/c++知识点整理(四)
- 1、JAVA-SE环境配置及测试 -- 终于开始学习Java了,希望可以坚持下去。
- 关于代码家(干货集中营)共享android端知识点综合整理
- Ionic ios端死亡白屏问题
- hbuilder和项目交互
- android发送邮件的方法
- CSU
- Halcon MFC混合编程-图像显示随鼠标滚动放大缩小
- SQL Server 表变量和临时表的区别
- 身份证号码的正则验证
- 基于卷积神经网络(CNN)的中文垃圾邮件检测
- python仿Linux下的实时进度条
- 卷积的本质及物理意义