当前位置: 首页 > news >正文

建设银行什么网站可买手表织梦唯美网站源码

建设银行什么网站可买手表,织梦唯美网站源码,网络流量统计工具,保定制作公司网站需要实现的效果就是在钉钉内点击应用能跳转到第三方网站并且免密登录 1.登录钉钉PC端管理后台 2.通过管理后台进去开发者后台 3.应用开发 创建H5微应用 4.应用创建成功后直接点权限管理全部授权 5.设置H5登录地址 6. 应用管理发布 至此需要配置的步骤全部已完成#xff0c;…需要实现的效果就是在钉钉内点击应用能跳转到第三方网站并且免密登录 1.登录钉钉PC端管理后台 2.通过管理后台进去开发者后台  3.应用开发 创建H5微应用 4.应用创建成功后直接点权限管理全部授权 5.设置H5登录地址  6. 应用管理发布 至此需要配置的步骤全部已完成需要记住已下三个参数后续开发时候会用到 Client ID、Client Secret、CorpId 上代码 前端用的VUE // 1.需要下载钉钉包 npm install dingtalk-jsapi --save// 2.引入包 import * as dd from dingtalk-jsapi;// 3.编写相关登录逻辑 async function initDD() {//判断是不是通过钉钉内打开的应用if (dd.env.platform ! notInDingTalk) {//进行钉钉登录操作dd.ready(() {//获取登录一次性凭证dd.runtime.permission.requestAuthCode({corpId: 换成自己对应的参数以上有说明, // 企业id}).then(ddRes {//凭证获取成功后调用后端登录接口完成相关自动登录逻辑loginDingTalk(ddRes.code).then(res {//记录应用登录凭证到本地userStore.updateToken(res.data.data.token);nextTick(() {//跳转到主页router.push(PageEnum.BASE_HOME);});});}).catch(err {alert(JSON.stringify(err));});});} } 后端.NET WebApi 接口 /// summary/// 用户登录./// /summary/// returns/returns[HttpPost(Login/DingTalk/{code})][AllowAnonymous][IgnoreLog]public async Taskdynamic LoginDingTalk(string code){DingUtil ding new DingUtil();//得到企业访问tokenstring accessToken ding.GetDingToken(Client ID对应自己应用, Client Secret对应自己应用);//得到当前钉钉登录的用户信息string strObj ding.GetUserInfoInApp(code, accessToken);JObject objData strObj.ToObject();//通过钉钉移动电话获取第三方本地用户信息UserEntity userEntity await _userRepository.GetFirstAsync(x x.MobilePhone.Equals(objData[Mobile]));if (userEntity null) throw Oops.Bah(当前应用无账号,请联系管理员);//获取到用户信息后完成自动登录相关逻辑 并返回第三方应用登录凭证给登录界面进行缓存var loginInput await GetUserInfoByUserAccount(userEntity.Account);var result await Login(loginInput);return new { code 200, data result };} using DingTalk.Api; using DingTalk.Api.Request; using DingTalk.Api.Response; using Mapster; using Minio.DataModel.Tracing; using NetTaste; using Org.BouncyCastle.Ocsp; using System.Text.RegularExpressions; using Tea; using static DingTalk.Api.Request.OapiRobotSendRequest; using static DingTalk.Api.Response.OapiV2DepartmentListsubResponse; using static DingTalk.Api.Response.OapiV2UserListResponse;namespace DingDing;/// summary /// 钉钉. /// /summary public class DingUtil {/// summary/// 访问令牌./// /summarypublic string token { get; private set; }/// summary/// token有效时间./// /summarypublic TimeSpan expiresTime { get; private set; }/// summary/// 构造函数./// /summary/// param nameappKey企业号ID./param/// param nameappSecret凭证密钥./parampublic DingUtil(string appKey, string appSecret){token GetDingToken(appKey, appSecret);}/// summary/// 构造函数./// /summary/// param nameappKey企业号ID./param/// param nameappSecret凭证密钥./parampublic DingUtil(){}/// summary/// 钉钉token./// /summary/// param nameappKey企业号ID./param/// param nameappSecret凭证密钥./param/// returns/returnspublic string GetDingToken(string appKey, string appSecret){try{var tokenurl https://oapi.dingtalk.com/gettoken;DefaultDingTalkClient client new DefaultDingTalkClient(tokenurl);OapiGettokenRequest req new OapiGettokenRequest();req.SetHttpMethod(GET);req.Appkey appKey;req.Appsecret appSecret;OapiGettokenResponse response client.Execute(req);if (response.Errcode 0){// 过期时间expiresTime DateTime.Now.Subtract(DateTime.Now.AddSeconds(response.ExpiresIn));return response.AccessToken;}else{throw new Exception(获取钉钉Token失败,失败原因: response.Errmsg);}}catch (Exception ex){return string.Empty;}}public string GetUserInfoInApp(string code, string accessToken){var client new DefaultDingTalkClient(https://oapi.dingtalk.com/topapi/v2/user/getuserinfo);OapiV2UserGetuserinfoRequest req new OapiV2UserGetuserinfoRequest();req.Code code;OapiV2UserGetuserinfoResponse rsp client.Execute(req, accessToken);if (rsp.Errcode 0){// 根据unionid获取useridstring unionid rsp.Result.Unionid;DefaultDingTalkClient clientDingTalkClient new DefaultDingTalkClient(https://oapi.dingtalk.com/topapi/user/getbyunionid);OapiUserGetbyunionidRequest reqGetbyunionidRequest new OapiUserGetbyunionidRequest();reqGetbyunionidRequest.Unionid unionid;OapiUserGetbyunionidResponse oapiUserGetbyunionidResponse clientDingTalkClient.Execute(reqGetbyunionidRequest, accessToken);if (oapiUserGetbyunionidResponse.Errcode 0){// 根据userId获取用户信息string userid oapiUserGetbyunionidResponse.Result.Userid;var user GetUserInfoByUserId(userid, accessToken);return user;}}return string.Empty;}/// summary/// 根据用户UserId取得用户信息./// /summary/// param nameuserId/param/// returns/returnsprivate string GetUserInfoByUserId(string userId, string accessToken){var client new DefaultDingTalkClient(https://oapi.dingtalk.com/topapi/v2/user/get);var req new OapiV2UserGetRequest();req.Userid userId;req.Language zh_CN;var res client.Execute(req, accessToken);if (res.Errcode 0) return res.Result.ToJsonString(); else throw new Exception(res.ErrMsg);}#region 用户 }
http://www.hkea.cn/news/14506489/

相关文章:

  • 公司核准名称网站vip视频网站怎么做
  • 网站结构建设方案土木工程网官网
  • 公司网站怎么做实名认证重庆报考网
  • 网站建设好如何开通黄山网站建设电话
  • 蓝色 宽屏 网站 模板下载佛山市企业网站seo营销工具
  • 网站logo下载wordpress4.4.1
  • 网站一级栏目哪个平台查企业是免费的
  • 做网站大约需要多少钱支付宝网站申请接口
  • 怎样写企业网站建设方案成都网站建设方案外包
  • 一级a做爰片软件网站查看网站是由什么开源做的
  • 交易平台网站建设策划书自己的网站在哪做的忘了
  • 企业网站的作用广州从化网站制作公司
  • 易语言 做的网站获取wordpress所有分类名字和id
  • tomcat做网站免费虚拟主机免备案
  • 无锡软件网站开发公司河南互助网站建设
  • 运营网站是多少营口网站建设公司
  • phpcms v9怎么做网站wordpress浏览人数在哪里改
  • 做网站和推广的公司哪家好百度推广的优化软件
  • 支付通道网站怎么做网站标题改动
  • 两性做受技巧视频网站南通网站建设排名公司哪家好
  • 城关区建设局网站专业logo设计公司
  • 天津做网站价格wordpress美图插件
  • 做调查的网站推荐衡水手机网站建设价格
  • 高端 旅游 网站建设影响网站速度的代码
  • 手机怎么进入国外网站安徽网络推广新手
  • 教育培训网站建设方案模板下载网站建设前台和后台设计
  • 网站建设外包费用温州市网站建设哪家公司好
  • 网上办卡优化型网站是什么意思
  • 郑州快速网站建设南充商城网站建设
  • 东莞搜索seo网站关键词优化网站价格