// 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) }) } /** * 客户服务器判断是否绑定成功 参数openid * 返回值phoneNum * 成功调用是否关注公众号方法 */ 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) } }) } //绑定公众号 参数用户电话 返回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: { idCard: "", customerList: [{ ID: 0, Name: "请选择所属客户" }], customerIndex: 0, }, // 绑定客户 listenerPickerSelected: function(e) { this.setData({ customerIndex: e.detail.value, }); 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; }, // 身份证 // 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, }) } }) }, 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, }) 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); } }) }) }, })