手机号快速登录组件。
图1 | 图2 |
方法 |
方法说明 |
---|---|
Login |
获取APP手机号码一键登录token。 |
LoginValidate |
获取APP本机号码验证token。 |
WebLogin |
获取Web手机号码一键登录token。 |
WebLoginValidate |
获取APP本机号码验证token。 |
DelectScrip |
删除登录凭证。 |
获取APP一键登录token
C#: private void button1_Press(object sender, EventArgs e) { //从移动平台上获取https://dev.10086.cn/account/login string appid = "*************"; string appkey = "******************"; string appserect = "*****************"; mobileQuickLogin1.Login(appid, appkey, (obj, args) => { if (args.Success ==true) { string token = args.Token; //获取到token 后参考移动官网接口文档 // https://dev.10086.cn/dev10086/pub/loadAttach?attachId=6EF75FD09D4F40D1973CB7C36C3DB2E2 //自行调用接口获取手机号,或者直接参考SmobilerTutorials } }); }
获取APP本机号码验证token
C#: private void button2_Press(object sender, EventArgs e) { //从移动平台上获取https://dev.10086.cn/account/login string appid = "************"; string appkey = "*************"; string appserect = "*********************"; //平台公钥 string platkey = "*******************************"; // 客户RSA私钥 string clientkey = "***************************************************"; mobileQuickLogin1.LoginValidate(appid, appkey, (obj, args) => { if (string.IsNullOrEmpty(args.Token)) { Toast("返回码" + args.ResultCode); } else { string token = args.Token; //获取到token 后参考移动官网接口文档 //https://dev.10086.cn/dev10086/pub/loadAttach?attachId=6EF75FD09D4F40D1973CB7C36C3DB2E2 //自行调用接口获取验证结果,或者直接参考SmobilerTutorials } }); }
获取Web一键登录token(web端一键登录需要使用sim卡流量环境进行登录操作,wifi环境下无法获取token)
C#: private void button3_Press(object sender, EventArgs e) { //从移动平台上获取https://dev.10086.cn/account/login //开发平台appid string appid = "**************"; //移动开发平台appkey string appkey = "**********************"; // 客户RSA私钥 string clientkey = "*****************************"; //使用 UUID 标识请求的唯一性,这边使用SessionID代替 string version = "2.0"; string msgid = Client.SessionID; string traceID = msgid;//业务方生成唯一标识 int openType = 1;// 取号类型, 0为单独移动, 1为三网循环获取, 默认1 //时间 string timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff"); //MD5签名 //生成规则: MD5(appId + businessType + msgId + timestamp + traceId + version+appkey) // 注:businessType 为8;msgID 要和 traceID 保持一致,此处 sign 与 token 校验接口 sign 的生成规则不同 string sign= FormsAuthentication.HashPasswordForStoringInConfigFile(appid + "8" + msgid + timestamp + traceID + version + appkey, "MD5"); mobileQuickLogin1.WebLogin(appid, appkey, version, sign, traceID, timestamp, openType, "", (obj, args) => { if (args.Success == true) { string token = args.Token; //获取到token 后参考移动官网接口文档 // http://dev.10086.cn/dev10086/pub/loadAttach?attachId=2B7316314A1C435DB3C531217A3D3AEF //自行调用接口获取手机号,或者直接参考SmobilerTutorials } }); }
获取Web本机号码验证token(web端一键登录需要使用sim卡流量环境进行登录操作,wifi环境下无法获取token)
C#: private void button4_Press(object sender, EventArgs e) { //从移动平台上获取https://dev.10086.cn/account/login string appid = "********************"; string appkey = "***************"; // 平台RAS公钥 string platkey = "********************"; // 客户RSA私钥 string clientkey = "************************"; string version = "1.0"; //使用 UUID 标识请求的唯一性,这边使用SessionID代替 string msgid = Client.SessionID; string traceID = msgid;//业务方生成唯一标识 int openType = 1;// 取号类型, 0为单独移动, 1为三网循环获取, 默认1 string timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff"); //时间 //MD5签名 //sign 生成规则: MD5(appId + businessType + msgId + timestamp + traceId + version+appkey) //注:businessType 为 1;msgID 要和 traceID 保持一致,此处 sign 与 token 校验接口 sign 的生成规则不同 string sign = FormsAuthentication.HashPasswordForStoringInConfigFile(appid + "1" + msgid + timestamp + traceID + version + appkey, "MD5").ToUpper(); mobileQuickLogin1.WebLoginValidate(appid, appkey, version, sign, traceID, timestamp, openType, "", (obj, args) => { if (string.IsNullOrEmpty(args.Token)) { Toast("返回码" + args.ResultCode + "error " + args.error); } else { string token = args.Token; //获取到token 后参考移动官网接口文档 //https://dev.10086.cn/dev10086/pub/loadAttach?attachId=F1D8277FE11F499CADE178A76AB6A879 //自行调用接口获取验证结果,或者直接参考SmobilerTutorials } }); }
删除登录凭证
C#: private void button5_Press(object sender, EventArgs e) { mobileQuickLogin1.DelectScrip((obj, args) => { if (Convert.ToBoolean(args.args) == true) { Toast("删除成功"); } else Toast(args.error); }); }
1.更多方法及事件请参考:帮助文档
2.完整代码请参考:SmobilerTutorials