|
|
|
@ -0,0 +1,274 @@ |
|
|
|
// pages/login/login.js
|
|
|
|
var ID; |
|
|
|
var Idcard = ""; |
|
|
|
var openid; |
|
|
|
var Phone; |
|
|
|
var nickName; |
|
|
|
var gender; |
|
|
|
var province; |
|
|
|
var city; |
|
|
|
var country; |
|
|
|
var avatarUrl; |
|
|
|
var UnionId; |
|
|
|
|
|
|
|
const app = getApp() |
|
|
|
var network = require("../../utils/net.js") |
|
|
|
|
|
|
|
var getOpenIdByCode = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetMiniOpenIdByCode'; |
|
|
|
var getCustomerList = '/MainSystem/B3WeChatMiniProgram/Rpcs/CustomerRpc/GetList'; |
|
|
|
var getBindCustomer = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetBindCustomer'; |
|
|
|
var isBindWeixinPath = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/IsBindWeixinMP'; |
|
|
|
var bindPath = "/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/Bind"; |
|
|
|
|
|
|
|
|
|
|
|
var XuBindDriver = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/XuBindDriver' |
|
|
|
var GetDriverByIdCard = "/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/GetDriverByIdCard" |
|
|
|
var GetDriverByOpenId = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/GetDriverByOpenId' |
|
|
|
var isBindedPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/IsBinded'; |
|
|
|
var GetBindDriverName = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/GetBindDriverName' |
|
|
|
|
|
|
|
|
|
|
|
//获取openID 参数1、app.globalData.AppId 2、code
|
|
|
|
function getOpenId(successaction) { |
|
|
|
wx.login({ |
|
|
|
success: function (res) { |
|
|
|
var code = res.code; |
|
|
|
var method = getOpenIdByCode; |
|
|
|
var params = [app.globalData.AppId, code]; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
app.globalData.OpenId = res.result; |
|
|
|
successaction(app.globalData.OpenId) |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
//获取绑定的客户ID 参数1:appid, 参数2:openid 返回用户电话 客户ID 客户Name
|
|
|
|
function IsBind(openid, successaction) { |
|
|
|
var method = getBindCustomer; |
|
|
|
var params = [app.globalData.AppId, openid]; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
app.globalData.CustomerId = res.result.ID; |
|
|
|
successaction(res.result.WeixinUser_Phone) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
//绑定公众号 参数用户电话 返回true已关注 false未关注
|
|
|
|
function IsBindWeixinMP(phone) { |
|
|
|
let method = isBindWeixinPath; |
|
|
|
let params = [phone]; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
//添加假数据。方便登录测试,提交版本需更正注释
|
|
|
|
// res.result = false;
|
|
|
|
if (res.result == true) { |
|
|
|
wx.switchTab({ |
|
|
|
url: '/pages/homePage/homePage', |
|
|
|
}) |
|
|
|
} else { |
|
|
|
wx.showModal({ |
|
|
|
title: '提示', |
|
|
|
content: '请关注公众号', |
|
|
|
showCancel: false, |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Page({ |
|
|
|
data: { |
|
|
|
array: [], |
|
|
|
index: 0, |
|
|
|
idCard: "", |
|
|
|
customerList: [{ |
|
|
|
ID: 0, |
|
|
|
Name: "请选择所属客户" |
|
|
|
}], |
|
|
|
customerIndex: 0, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 绑定客户
|
|
|
|
listenerPickerSelected: function (e) { |
|
|
|
this.setData({ |
|
|
|
customerIndex: e.detail.value, |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 姓名
|
|
|
|
getDriverName: function (e) { |
|
|
|
app.globalData.UserName = e.detail.value |
|
|
|
}, |
|
|
|
|
|
|
|
// 手机号码
|
|
|
|
getPhone: function (e) { |
|
|
|
Phone = e.detail.value; |
|
|
|
app.globalData.Phone = Phone; |
|
|
|
}, |
|
|
|
|
|
|
|
// 身份证
|
|
|
|
getIDCardNum: function (e) { |
|
|
|
var that = this |
|
|
|
if (e.detail.value.length == 18) { |
|
|
|
Idcard = e.detail.value; |
|
|
|
var method = GetDriverByIdCard; |
|
|
|
var params = ["服务号", Idcard]; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
//res就是我们请求接口返回的数据
|
|
|
|
if (res.result != null) { |
|
|
|
app.globalData.UserName = res.result.Name, |
|
|
|
app.globalData.Phone = res.result.Telephone; |
|
|
|
that.setData({ |
|
|
|
name: res.result.Name, |
|
|
|
phoneNum: res.result.Telephone, |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取所有客户列表
|
|
|
|
choiceCustomer: function () { |
|
|
|
var that = this; |
|
|
|
var method = getCustomerList; |
|
|
|
var params = []; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
if (res.result.length > 0) { |
|
|
|
var lastArr = that.data.customerList.concat(res.result) |
|
|
|
that.setData({ |
|
|
|
customerList: lastArr, |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
getUserInfo: function (e) { |
|
|
|
var that = this; |
|
|
|
if (e.detail.userInfo != null) { |
|
|
|
app.globalData.userInfo = e.detail.userInfo; |
|
|
|
nickName = app.globalData.userInfo.nickName; |
|
|
|
gender = app.globalData.userInfo.gender; |
|
|
|
province = app.globalData.userInfo.province; |
|
|
|
city = app.globalData.userInfo.city; |
|
|
|
country = app.globalData.userInfo.country; |
|
|
|
avatarUrl = app.globalData.userInfo.avatarUrl; |
|
|
|
// 判断是否绑定所属客户
|
|
|
|
if (that.data.customerList[that.data.customerIndex].ID == 0) { |
|
|
|
wx.showToast({ |
|
|
|
image: '/imgs/ddpc.png', |
|
|
|
title: '请选择所属客户', |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 判断电话号码信息
|
|
|
|
if (app.globalData.Phone == "") { |
|
|
|
wx.showToast({ |
|
|
|
image: '/imgs/ddpc.png', |
|
|
|
title: '手机号码不能为空', |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
if (!(/^1[34578]\d{9}$/.test(app.globalData.Phone))) { |
|
|
|
wx.showToast({ |
|
|
|
image: '/imgs/ddpc.png', |
|
|
|
title: '号码不正确', |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 判断用户姓名
|
|
|
|
if (app.globalData.UserName == "") { |
|
|
|
wx.showToast({ |
|
|
|
image: '/imgs/ddpc.png', |
|
|
|
title: '用户姓名不能为空', |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 判断身份证信息
|
|
|
|
if ((Idcard.length < 18) || (Idcard.length > 18)) { |
|
|
|
wx.showToast({ |
|
|
|
image: '/imgs/ddpc.png', |
|
|
|
title: '身份证号不正确', |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
wx.showModal({ |
|
|
|
title: '授权提示', |
|
|
|
content: '请给予权限,不涉及个人隐私', |
|
|
|
showCancel: false, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
wx.login({ |
|
|
|
success: function (res) { |
|
|
|
var method = XuBindDriver; |
|
|
|
var params = [{ |
|
|
|
"Domain_ID": that.data.array[that.data.index].ID, |
|
|
|
"Driver_Name": app.globalData.UserName, |
|
|
|
"Phone": app.globalData.Phone, |
|
|
|
"IdCard": Idcard, |
|
|
|
"OpenId": app.globalData.OpenId, |
|
|
|
"NickName": nickName, |
|
|
|
"Sex": gender, |
|
|
|
"Province": province, |
|
|
|
"City": city, |
|
|
|
"Country": country, |
|
|
|
"HeadImgUrl": avatarUrl, |
|
|
|
"UnionId": " " |
|
|
|
}]; |
|
|
|
var transferParams = [{ |
|
|
|
"OpenId": app.globalData.OpenId, |
|
|
|
"Phone": app.globalData.Phone, |
|
|
|
"NickName": nickName, |
|
|
|
"Sex": gender, |
|
|
|
"Province": province, |
|
|
|
"City": city, |
|
|
|
"Country": country, |
|
|
|
"HeadImgUrl": avatarUrl, |
|
|
|
"UnionId": " ", |
|
|
|
//请求新增参数
|
|
|
|
"AppId": app.globalData.AppId, |
|
|
|
"CustomerId": that.data.customerList[that.data.customerIndex].ID, |
|
|
|
}]; |
|
|
|
app.globalData.CustomerId = that.data.array[that.data.index].ID; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
app.globalData.Phone = that.data.phoneNum; |
|
|
|
that.bingDriverInTransferServer(transferParams, function (res) { |
|
|
|
IsBindWeixinMP(app.globalData.Phone) |
|
|
|
}); |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
bingDriverInTransferServer: function (params, successaction) { |
|
|
|
var that = this; |
|
|
|
var method = bindPath; |
|
|
|
network.requestLoading(method, params, function (res) { |
|
|
|
successaction(res.result); |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
onShow: function () { |
|
|
|
var that = this; |
|
|
|
that.choiceCustomer(); |
|
|
|
getOpenId(function (res) { |
|
|
|
openid = res; |
|
|
|
IsBind(openid, function (res) { |
|
|
|
app.globalData.Phone = res; |
|
|
|
if (res == "") { |
|
|
|
|
|
|
|
} else { |
|
|
|
IsBindWeixinMP(app.globalData.Phone) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
}) |