// 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) } }) }) }, })