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

免费建站建设网站搭建网站10条重大新闻

免费建站建设网站搭建网站,10条重大新闻,页面设计结课总结,安阳县事业单位招聘20211#xff1a;准备工作 1.1#xff1a;进入钉钉开放平台创建开发者应用。应用创建和类型介绍#xff0c;参考下方。 应用类型介绍 - 钉钉开放平台 (dingtalk.com) 应用能力介绍 - 钉钉开放平台 (dingtalk.com) 扫码登录第三方网站 - 钉钉开放平台 (dingtalk.com) 1.2…1准备工作 1.1进入钉钉开放平台创建开发者应用。应用创建和类型介绍参考下方。 应用类型介绍 - 钉钉开放平台 (dingtalk.com) 应用能力介绍 - 钉钉开放平台 (dingtalk.com) 扫码登录第三方网站 - 钉钉开放平台 (dingtalk.com) 1.2创建好的应用给对应权限。 我开通了个人权限和通讯录管理所有权限建议是全部员工因为这个权限只能api的权限不会影响钉钉的权限 2:扫码登录具体实现和效果 2.1 前端和后端代码展示前端不是很会 工作流程介绍 用户扫码--授权之后重定向给钉钉处理返回一个code---钉钉处理之后执行回调域名并且携带code--调用getBycodeResponse接口返回unionid -- 然后调用scanCodeLogin 登录接口----成功之后进入首页。 先在 index.html 内引入一段脚本 script srchttps://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js/script 再编写如下代码 const redirect_uri http://192.168.0.137:3000/#/ddlogin; onMounted((){ const url encodeURIComponent(redirect_uri); const goto encodeURIComponent(https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid%E4%BD%A0%E7%9A%84APP_IDresponse_typecodescopesnsapi_loginstateSTATEredirect_urihttps://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid%E4%BD%A0%E7%9A%84APP_IDresponse_typecodescopesnsapi_loginstateSTATEredirect_uri url); const obj window.DDLogin({ id:ddLogin, goto, style: border: none, width : 350, height: 350 }); }); const handleMessage function (event: any) { const origin event.origin; if( origin https://login.dingtalk.com ) { //判断是否来自ddLogin扫码事件。 // 下面这个连接会在钉钉那边处理完毕之后直接让浏览器的URL变成 redirect_uri location.href https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid%E4%BD%A0%E7%9A%84APP_IDresponse_typecodescopesnsapi_loginstateSTATEredirect_urihttps://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid%E4%BD%A0%E7%9A%84APP_IDresponse_typecodescopesnsapi_loginstateSTATEredirect_uri encodeURIComponent(redirect_uri) loginTmpCode event.data; } };收起链接预览无权限https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appiddingtalk.com无权限https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appiddingtalk.com ApiOperation(value 根据sns临时授权码获取用户信息, notes 根据sns临时授权码获取用户信息) RequestMapping(value /getBycodeResponse, method RequestMethod.GET) public OapiSnsGetuserinfoBycodeResponse getBycodeResponse(RequestParam(value authCode)String authCode) throws JsonProcessingException, ApiException {OapiSnsGetuserinfoBycodeResponse bycodeResponse sampleUtlis.getBycodeResponse(authCode, AppKey, appSecret);return bycodeResponse;} /*** 退出登录* return*/ ApiOperation(value 扫码登录验证, notes 扫码登录验证) GetMapping(value /scanCodeLogin) public ResultObject scanCodeLogin(RequestParam(unionid) String unionid, HttpServletResponse response) {ResultObject resultnew Result();try {ZuodouUser zuodouUser zuodouUserMapper.selectOne(new LambdaQueryWrapperZuodouUser().eq(StringUtils.isNotBlank(unionid), ZuodouUser::getUnionid, unionid));if (nullzuodouUser){result.error500(查无此人);return result;}String username zuodouUser.getUsername();//判断用户是否存在ZuodouUser bannerItemzuodouUserMapper.selectOne(new LambdaQueryWrapperZuodouUser().eq(ZuodouUser::getUsername,username));result iZuodouUserService.verifyaccount(bannerItem);if(!result.isSuccess()) {return result;}UserModel userModelnew UserModel();BeanUtils.copyProperties(bannerItem,userModel);ListZuodouUserRole zuodouUserRoles zuodouUserRoleService.list(new LambdaQueryWrapperZuodouUserRole().eq(ZuodouUserRole::getUserId, bannerItem.getId()).eq(ZuodouUserRole::getStatus, StatusEum.getNameValue(CommonConstant.STATUSNAME_A)));if (!CollectionUtils.isEmpty(zuodouUserRoles)){userModel.setRole(zuodouUserRoles.stream().map(s-s.getRoleId()).collect(Collectors.toList()));ListString zuodouRolePermissions zuodouRolePermissionMapper.listPermission(userModel.getRole());if (!CollectionUtils.isEmpty(zuodouRolePermissions)){userModel.setPermission(zuodouRolePermissions);}}zuodouUser.setLastLogin(new Date());zuodouUserMapper.updateById(zuodouUser);String jwtToken JwtUtils.getJwtToken(userModel);Cookie cookie new Cookie(userTokenUtils.getTokenCode(), jwtToken);cookie.setPath(/);cookie.setMaxAge(Math.toIntExact(CommonConstant.TOKEN_EXPIRE));response.addCookie(cookie);//先删除keyredisUtil.del(userTokenUtils.getTokenCode()bannerItem.getId());redisUtil.set(userTokenUtils.getTokenCode() bannerItem.getId(), jwtToken,CommonConstant.REDIS_EXPIRE*2);log.info(userTokenUtils.getTokenCode() bannerItem.getId());MapString,Object mapnew HashMap();map.put(CommonConstant.TOKEN_MODEL,bannerItem);map.put(userTokenUtils.getTokenCode(),jwtToken);result.setResult(map);result.success(登录成功);} catch (Exception e) {e.printStackTrace();result.error500(操作失败);}return result; }
http://www.hkea.cn/news/14328577/

相关文章:

  • 禅城区建设局网站晋州做网站的联系电话
  • 给公司怎么做官方网站网页设计搭建网站
  • 怎么区别网站开发语言重庆商会网站建设
  • 网站兼容怎么调徐州seo招聘
  • 顺德网站建设教程网站初期做几个比较好
  • 做一个网站最低多少钱35个成功的市场营销策划案例
  • 北航刘禹导师做网站品牌设计师需要具备什么能力
  • 厦门好景科技做网站网站介绍经过下拉怎么做
  • 如何通过查询网站注册时间地方门户网站如何宣传
  • 网站建设分项报价表做题网站中计算多项式的值怎么做
  • 泗阳做网站长春公司建站模板
  • 域名过期的网站怎么看学校校园网站建设服务
  • 响水做网站的公司the7 做的网站
  • 公司网站建设案例教程招商网站有哪些
  • 织梦网络公司网站源码hao123从网上开始
  • 义乌做网站多少钱wordpress 网站打不开
  • 企业资质证书查询官方网站外贸建站系统源码
  • 网站设计团队名称游戏网站建设成功案例
  • 英语培训建设网站方案做电影网站都需要什么工具
  • 平乡网站制作wordpress 还原备份数据库
  • 邙山郑州网站建设云南省安宁市建设厅官方网站
  • 农家乐网站建设营销方案企业网站建设的基本原则有哪些?
  • 苏州网站建设公司电话网站建设页面设计图片
  • wordpress建立移动站内江市建设培训中心网站
  • 手机数据线东莞网站建设技术支持外贸公司网站建设费用报销
  • 果酷网的网站建设简介做网站营销公司有哪些
  • 运城网站建设兼职wordpress cms下载地址
  • 网站开发是什么工作百度承德
  • 可以申请做cpa广告的网站网站链接结构
  • 建网站松滋哪家强?企业网站建设设计方案