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

80端口被封怎么做网站淘宝开放平台

80端口被封怎么做网站,淘宝开放平台,哪个手机网站 有app,移动互联网站开发与维护招聘书接上回#xff0c;本文主要分享 企业内部系统集成钉钉官方OA审批流程的步骤 的第二部分。 前端代码集成钉钉免登JSAPI: 前端通过corpid 获得钉钉临时访问码code#xff0c;再通过临时访问码code调用此接口返回当前用户的姓名、userid、 钉钉用户id、 系统工号、 钉钉部门…书接上回本文主要分享 企业内部系统集成钉钉官方OA审批流程的步骤 的第二部分。 前端代码集成钉钉免登JSAPI: 前端通过corpid 获得钉钉临时访问码code再通过临时访问码code调用此接口返回当前用户的姓名、userid、 钉钉用户id、  系统工号、 钉钉部门id列表、 业务系统访问token 等信息然后将 token 存储到 localStorage。 前端框架使用 react 操作 localStorage 的基础代码 export function getToken(){return localStorage.getItem(token) as string }export function setToken(token:string){localStorage.setItem(token,token) }export function removeToken(){localStorage.removeItem(token) } 判断字段是否包含指定的字符串  export function containsStr(str:string, target:string): boolean{str str null ? str : str;target target null ? target : target;if(str.indexOf(target) ! -1){// 字段str包含指定的字符串return true;} else {// 字段str不包含指定的字符串return false;} } 钉钉免登录插件 export class checkLoginPlugin extends Middleware {async handler(ctx: MiddlewareContext{}, next: () Promiseany): Promisevoid {// 判断是否获取到了tokenvar token getToken()const base_url import.meta.env.BASE_URL;localStorage.setItem(base_url, base_url);if (token) {// token有值axios({method: get,baseURL: /sale,url: /api/checkToken?token token,headers: {Content-Type: application/json,},}).then((res: AxiosResponse) {if (res.data.code 200) {// token有效打开应用localStorage.setItem(dingUserId, res.data.dingUserId);localStorage.setItem(dingDeptIds, res.data.dingDeptId);// 检查当前登录人的角色中是否包含 MANAGER 可以辅助实现数据权限校验var role_no localStorage.getItem(role_no) as string;if (containsStr(role_no, MANAGER)) {localStorage.setItem(manager, true);} else {localStorage.setItem(manager, false);}next()} else { // token无效钉钉重新获取token不是钉钉直接提示未登录if (dd.env.platform ! notInDingTalk) {// 钉钉打开应用重新获取code及tokenconst corpid import.meta.env.CORPIDdd.ready(() {dd.runtime.permission.requestAuthCode({corpId: corpid,}).then((result) {const { code } result;axios({method: get,baseURL: /sale,url: /dd/login?code code,headers: {Content-Type: application/json},}).then((res: AxiosResponse) {localStorage.setItem(token, res.data.data.token);localStorage.setItem(dingUserId, res.data.data.dingUserId);localStorage.setItem(dingDeptIds, res.data.data.dingDeptIds);localStorage.setItem(user_info, res.data.data.user_info);localStorage.setItem(userno, res.data.data.user_no);localStorage.setItem(user_id, res.data.data.user_id);// 检查当前登录人的角列表是否包含 MANAGER 可以辅助实现数据权限校验var role_no localStorage.getItem(role_no) as string;if (containsStr(role_no, MANAGER)) {localStorage.setItem(manager, true);} else {localStorage.setItem(manager, false);}token res.data.data.token;// 可以继续访问应用资源next()return res.data.data}).catch(err {router.navigate(/check) //登录页return Promise.reject(err)})},).catch(err {// 出现异常跳转到登录页router.navigate(/checkLogin)});});} else {// 从钉钉外打开应用跳转到登录页router.navigate(/checkLogin)}}}).catch(err {// 出现异常跳转到登录页router.navigate(/checkLogin)return Promise.reject(err)})} else {// token没有值if (dd.env.platform ! notInDingTalk) {// 钉钉打开应用重新获取钉钉临时code及tokenconst corpid import.meta.env.CORPIDdd.ready(() {dd.runtime.permission.requestAuthCode({corpId: corpid,}).then((result) {const { code } result;axios({method: get,baseURL: /sale,url: /dd/login?code code,headers: {Content-Type: application/json},}).then((res: AxiosResponse) {localStorage.setItem(usertoken, res.data.data.token);localStorage.setItem(dingtalkUserId, res.data.data.dingtalkUserId);localStorage.setItem(dingtalkDeptIds, res.data.data.dingtalkDeptIds);localStorage.setItem(user_info, res.data.data.user_info);localStorage.setItem(userno, res.data.data.user_no);localStorage.setItem(user_id, res.data.data.user_id);// 检查当前登录人的角色中是否包含 MANAGER 可以辅助实现数据权限校验var role_no localStorage.getItem(role_no) as string;if (containsStr(role_no, MANAGER)) {localStorage.setItem(manager, true);} else {localStorage.setItem(manager, false);}token res.data.data.token;next()return res.data.data}).catch(err {// 出现异常跳转到登录页router.navigate(/checkLogin)return Promise.reject(err)})},).catch(err {// 出现异常跳转到登录页router.navigate(/checkLogin)});});} else { // 从钉钉外打开应用跳转到登录页router.navigate(/checkLogin)}}}}
http://www.w-s-a.com/news/88269/

相关文章:

  • 网站开发公司+重庆wordpress自定义搜索界面
  • 梅州南站学校官网
  • 网站变灰代码 所有浏览器企业邮箱域名怎么填写
  • 网站建设哪好旅行社网站模板
  • 网站开发发展存在的问题交换链接营销的经典案例
  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的
  • 宁波教育学会网站建设网站建设价格由什么决定
  • 北京定制网站价格wordpress上传pdf文档
  • 网站建设费税率dz论坛seo设置
  • 推销网站话术商业网站开发与设计
  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名
  • 手机网站 jsp个人网页制作成品代码五个页面
  • ppt做长图网站wordpress文章页面图片自动适应