| @ -1,303 +1,174 @@ | |||||
| // pages/login/login.js | // 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 bindByPhone = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/XuBindByPhone'; | |||||
| var GetDriverByIdCard = "/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/GetDriverByIdCard" | |||||
| var GetDriverByOpenId = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/GetDriverByOpenId' | |||||
| var isBindedPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/IsBinded'; | |||||
| //获取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) | |||||
| }) | |||||
| } | |||||
| var network = require("../../utils/net.js"); | |||||
| var app = getApp(); | |||||
| var openID; | |||||
| /** | /** | ||||
| * 客户服务器判断是否绑定成功 参数openid | |||||
| * 返回值phoneNum | |||||
| * 成功调用是否关注公众号方法 | |||||
| * 获取绑定客户ID及用户电话 参数1、appID 2、openID | |||||
| * 返回值globalCustomerID,WeixinUser_Phone | |||||
| * 成功调用获取cookie方法及判断是否绑定成功方法 | |||||
| */ | */ | ||||
| function IsBinded(openid) { | |||||
| let method = isBindedPath; | |||||
| let params = [openid]; | |||||
| network.transfer_request(method, params, function (res) { | |||||
| if (res.result != "") { | |||||
| app.globalData.Phone = res.result; | |||||
| // 判断是否关注公众号 | |||||
| IsBindWeixinMP(app.globalData.Phone) | |||||
| function GetBindCustomer(that) { | |||||
| let method = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetBindCustomer'; | |||||
| let params = [app.globalData.appID, app.globalData.openID]; | |||||
| network.requestLoading(method, params, function (res) { | |||||
| if (res.result != null) { | |||||
| app.globalData.globalCustomerID = res.result.ID; | |||||
| app.globalData.phoneNum = res.result.WeixinUser_Phone; | |||||
| // 获取cookie值 | |||||
| // WeixinLogin(function (res) { | |||||
| wx.switchTab({ | |||||
| url: '/pages/homePage/homePage', | |||||
| }) | |||||
| // }); | |||||
| } | } | ||||
| }) | }) | ||||
| } | } | ||||
| //绑定公众号 参数用户电话 返回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, | |||||
| }) | |||||
| // 获取cookie值 参数1、appID 2、openID | |||||
| // function WeixinLogin(successtion) { | |||||
| // let method = '/MainSystem/B3MiniProgramRpc/Rpcs/CommonRpc/WeixinLogin'; | |||||
| // let params = [app.globalData.appID, app.globalData.openID]; | |||||
| // network.transfer_request(method, params, function (res) { | |||||
| // app.globalData.cookie = res.result; | |||||
| // successtion(); | |||||
| // }) | |||||
| // } | |||||
| //2次绑定第二次 绑定客户 要有先后 | |||||
| function XuBindByPhone(that) { | |||||
| let userInfos = app.globalData.userInfo | |||||
| let method2 = "/MainSystem/B3MiniProgramRpc/XuRpcs/Driver/AccountRpc/XuBindByPhone"; | |||||
| let params2 = [{ | |||||
| "UserName": that.data.userName, | |||||
| "Password": that.data.psw, | |||||
| "OpenId": app.globalData.openID, | |||||
| "Phone": that.data.phoneNum, | |||||
| "NickName": userInfos.nickName, | |||||
| "Sex": userInfos.gender, | |||||
| "Province": userInfos.province, | |||||
| "City": userInfos.city, | |||||
| "Country": userInfos.country, | |||||
| "HeadImgUrl": userInfos.avatarUrl, | |||||
| "UnionId": "", | |||||
| }]; | |||||
| network.transfer_request(method2, params2, function (res) { | |||||
| if (res.result != null) { | |||||
| // WeixinLogin(function () { | |||||
| wx.switchTab({ | |||||
| url: '/pages/homePage/homePage', | |||||
| }) | |||||
| // }) | |||||
| } | } | ||||
| }) | }) | ||||
| } | } | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| idCard: "", | |||||
| customerList: [{ | |||||
| ID: 0, | |||||
| Name: "请选择所属客户" | |||||
| }], | |||||
| customerIndex: 0, | |||||
| code: "", | |||||
| userName: "", | |||||
| psw: "", | |||||
| phoneNum: "", | |||||
| }, | }, | ||||
| // 绑定客户 | |||||
| listenerPickerSelected: function(e) { | |||||
| this.setData({ | |||||
| customerIndex: e.detail.value, | |||||
| // 页面生命周期函数 | |||||
| onShow: function () { | |||||
| var that = this; | |||||
| wx.login({ | |||||
| success: function (res) { | |||||
| let code = res.code; | |||||
| let method = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/GetMiniOpenIdByCode'; | |||||
| let params = [app.globalData.appID, code]; | |||||
| // 获取openID | |||||
| network.requestLoading(method, params, function (res) { | |||||
| app.globalData.openID = res.result; | |||||
| // 获取绑定客户ID及用户电话 | |||||
| GetBindCustomer(that) | |||||
| }) | |||||
| } | |||||
| }); | }); | ||||
| app.globalData.CustomerId = this.data.customerList[this.data.customerIndex].ID; | |||||
| }, | }, | ||||
| // // 姓名 | |||||
| // getDriverName: function(e) { | |||||
| // app.globalData.UserName = e.detail.value | |||||
| // }, | |||||
| // 手机号码 | |||||
| getPhone: function(e) { | |||||
| Phone = e.detail.value; | |||||
| app.globalData.Phone = Phone; | |||||
| //获取企业编号 | |||||
| getCode: function (e) { | |||||
| this.data.code = e.detail.value; | |||||
| }, | }, | ||||
| // 身份证 | |||||
| // getIDCardNum: function(e) { | |||||
| // if (!app.globalData.CustomerId) { | |||||
| // wx: wx.showModal({ | |||||
| // title: '提示', | |||||
| // content: '请先绑定客户', | |||||
| // }); | |||||
| // return; | |||||
| // } | |||||
| // var that = this; | |||||
| // if (e.detail.value.length == 18) { | |||||
| // Idcard = e.detail.value; | |||||
| // var method = GetDriverByIdCard; | |||||
| // var params = [1, Idcard]; | |||||
| // network.transfer_request(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, | |||||
| }) | |||||
| } | |||||
| }) | |||||
| //获取用户名 | |||||
| getUserName: function (e) { | |||||
| this.data.userName = e.detail.value; | |||||
| }, | |||||
| //获取密码 | |||||
| getPSW: function (e) { | |||||
| this.data.psw = e.detail.value; | |||||
| }, | |||||
| // 电话输入框 | |||||
| getPhone: function (e) { | |||||
| let val = e.detail.value; | |||||
| this.data.phoneNum = val; | |||||
| }, | }, | ||||
| getUserInfo: function(e) { | |||||
| // 获取授权 成功 绑定信息到客户服务器 回调函数绑定中转服务器 | |||||
| getUserInfo: function (e) { | |||||
| var that = this; | var that = this; | ||||
| if (e.detail.userInfo != null) { | 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 == "") { | |||||
| app.globalData.userInfo = e.detail.userInfo | |||||
| if (this.data.code == "") { | |||||
| wx.showToast({ | wx.showToast({ | ||||
| image: '/imgs/ddpc.png', | |||||
| title: '手机号码不能为空', | |||||
| title: '请输入企业编码', | |||||
| }) | }) | ||||
| return false; | return false; | ||||
| } | } | ||||
| if (!(/^1[34578]\d{9}$/.test(app.globalData.Phone))) { | |||||
| wx.showToast({ | |||||
| image: '/imgs/ddpc.png', | |||||
| title: '号码不正确', | |||||
| }) | |||||
| return false; | |||||
| } | |||||
| // 判断用户姓名 | |||||
| // if (app.globalData.UserName == "") { | |||||
| // if (this.data.userName == "") { | |||||
| // wx.showToast({ | // wx.showToast({ | ||||
| // image: '/imgs/ddpc.png', | |||||
| // title: '用户姓名不能为空', | |||||
| // title: '请输入用户名', | |||||
| // }) | // }) | ||||
| // return false; | // return false; | ||||
| // } | // } | ||||
| // 判断身份证信息 | |||||
| // if ((Idcard.length < 18) || (Idcard.length > 18)) { | |||||
| // if (this.data.psw == "") { | |||||
| // wx.showToast({ | // wx.showToast({ | ||||
| // image: '/imgs/ddpc.png', | |||||
| // title: '身份证号不正确', | |||||
| // title: '请输入密码', | |||||
| // }) | // }) | ||||
| // return false; | // return false; | ||||
| // } | // } | ||||
| if (this.data.phoneNum == "") { | |||||
| wx.showToast({ | |||||
| title: '请输入手机号码', | |||||
| }) | |||||
| return false; | |||||
| } else if (!(/^1[34578]\d{9}$/.test(this.data.phoneNum))) { | |||||
| wx.showToast({ | |||||
| title: '号码不正确', | |||||
| }) | |||||
| return false; | |||||
| } | |||||
| let userInfos = app.globalData.userInfo | |||||
| let method = '/MainSystem/B3WeChatMiniProgram/Rpcs/CommonRpc/BindCustomerCode'; | |||||
| let params = [{ | |||||
| "AppId": app.globalData.appID, | |||||
| "CustomerCode": this.data.code, | |||||
| "OpenId": app.globalData.openID, | |||||
| "Phone": this.data.phoneNum, | |||||
| "NickName": userInfos.nickName, | |||||
| "Sex": userInfos.gender, | |||||
| "Province": userInfos.province, | |||||
| "City": userInfos.city, | |||||
| "Country": userInfos.country, | |||||
| "HeadImgUrl": userInfos.avatarUrl, | |||||
| "UnionId": "" | |||||
| }]; | |||||
| network.requestLoading(method, params, function (res) { | |||||
| if (res.result != null) { | |||||
| app.globalData.globalCustomerID = res.result; | |||||
| XuBindByPhone(that); | |||||
| } | |||||
| }) | |||||
| } else { | } else { | ||||
| wx.showModal({ | wx.showModal({ | ||||
| title: '授权提示', | title: '授权提示', | ||||
| content: '请给予权限,不涉及个人隐私', | content: '请给予权限,不涉及个人隐私', | ||||
| showCancel: false, | |||||
| showCancel: false | |||||
| }) | }) | ||||
| return false; | |||||
| } | } | ||||
| var method = bindByPhone; | |||||
| let params = [{ | |||||
| "OpenId": app.globalData.OpenId, | |||||
| "Phone": app.globalData.Phone, | |||||
| "NickName": nickName, | |||||
| "Sex": gender, | |||||
| "Province": province, | |||||
| "City": city, | |||||
| "Country": country, | |||||
| "HeadImgUrl": avatarUrl, | |||||
| "UnionId": "" | |||||
| }]; | |||||
| // 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, | |||||
| }]; | |||||
| network.transfer_request(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) { | |||||
| if (res.result == true) { | |||||
| successaction(); | |||||
| } | |||||
| }); | |||||
| }, | }, | ||||
| onShow: function() { | |||||
| var that = this; | |||||
| that.choiceCustomer(); | |||||
| getOpenId(function(res) { | |||||
| openid = res; | |||||
| IsBind(openid, function(res) { | |||||
| app.globalData.Phone = res; | |||||
| if (res == "") { | |||||
| } else { | |||||
| // 判断是否绑定成功 参数openid 返回值phoneNum | |||||
| IsBinded(openid); | |||||
| } | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| }) | }) | ||||