wx.qy.login({ suiteId:'wwxxxxxx', //非必填,第三方应用的suiteid,自建应用不填。若第三方小程序绑定多个第三方应用时,建议填上该字段 success: function(res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://test.com/onLogin', data: { code: res.code } }) } else { console.log('登录失败!' + res.errMsg) } } });怎么写成wait

时间: 2024-02-10 11:33:28 浏览: 34
这段代码看起来是用于企业微信登录的,如果要转换成 `wait` 的写法,可以使用 `async/await` 来实现。具体做法如下: ```javascript async function login() { try { const { code } = await wx.qy.login({ suiteId: 'wwxxxxxx' }); // 发起网络请求 await wx.request({ url: 'https://test.com/onLogin', data: { code } }); } catch (error) { console.log('登录失败!' + error.errMsg); } } // 调用函数 login(); ``` 这样就可以将原来的异步回调函数改写成 `async/await` 的形式,让代码更加简洁易读。
相关问题

怎么让以下代码避免回调地狱 wxqyLogin: function () { var _this = this; wx.qy.login ({ suiteId: '', // 非必填,第三方应用的 suiteid,自建应用不填。若第三方小程序绑定多个第三方应用时,建议填上该字段 success: function (res) { if (res.code) { // 发起网络请求 wx.request ({ url: https://localhost:44342/api/wechat-work-js/code2-session/${res.code}, data: null, method: 'POST', header: {'content-type': 'application/json' // 默认值}, // 请求成功时的处理 success: function (res) { // 一般在这一打印下看看是否拿到数据 console.log ("登录 wx.qy.login", res.data.data); if (res.data.data.errmsg == 'ok') { _this.globalData.corpid = res.data.data.corpid; _this.globalData.userid = res.data.data.userid; _this.globalData.session_key = res.data.data.session_key; //console.log (_this.globalData) } else { wx.showToast ({ title: ' 登陆失败 ', icon: 'none', mask: true }); } } }) } else { console.log (' 登录失败!' + res.errMsg) } } }); },

以下是使用 Promise 的改写方法: ``` wxqyLogin: function () { var _this = this; wx.qy.login({ suiteId: '', // 非必填,第三方应用的 suiteid,自建应用不填。若第三方小程序绑定多个第三方应用时,建议填上该字段 }) .then(res => { if (res.code) { return wx.request({ url: `https://localhost:44342/api/wechat-work-js/code2-session/${res.code}`, data: null, method: 'POST', header: {'content-type': 'application/json'}, }); } else { throw new Error(`登录失败!${res.errMsg}`); } }) .then(res => { console.log("登录 wx.qy.login", res.data.data); if (res.data.data.errmsg == 'ok') { _this.globalData.corpid = res.data.data.corpid; _this.globalData.userid = res.data.data.userid; _this.globalData.session_key = res.data.data.session_key; } else { throw new Error('登陆失败'); } }) .catch(error => { console.error(error); wx.showToast({ title: '登陆失败', icon: 'none', mask: true }); }); }, ``` 使用 async/await 的改写方法: ``` wxqyLogin: async function () { try { const res1 = await wx.qy.login({suiteId: ''}); if (res1.code) { const res2 = await wx.request({ url: `https://localhost:44342/api/wechat-work-js/code2-session/${res1.code}`, data: null, method: 'POST', header: {'content-type': 'application/json'}, }); console.log("登录 wx.qy.login", res2.data.data); if (res2.data.data.errmsg == 'ok') { this.globalData.corpid = res2.data.data.corpid; this.globalData.userid = res2.data.data.userid; this.globalData.session_key = res2.data.data.session_key; } else { throw new Error('登陆失败'); } } else { throw new Error(`登录失败!${res1.errMsg}`); } } catch (error) { console.error(error); wx.showToast({ title: '登陆失败', icon: 'none', mask: true }); } }, ``` 这样做可以让代码更加清晰易读,避免回调地狱的嵌套。

nginx https://wx.mycommunity.cn:8443/platform/#/home重定向到https://community.doorwx-fjhz.com:8443/platform/#/home

您可以尝试在nginx的配置文件中添加以下代码实现重定向: ``` server { listen 8443 ssl; server_name wx.mycommunity.cn; ssl_certificate /path/to/ssl/certificate; ssl_certificate_key /path/to/ssl/key; rewrite ^/platform/(.*)$ https://community.doorwx-fjhz.com:8443/platform/$1 permanent; } ``` 这将将https://wx.mycommunity.cn:8443/platform/#/home 重定向到 https://community.doorwx-fjhz.com:8443/platform/#/home。请确保替换您自己的SSL证书路径。

相关推荐

最新推荐

recommend-type

wxPython电子表格功能wx.grid实例教程

主要介绍了wxPython电子表格功能wx.grid实例教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

微信小程序 wx.request(接口调用方式)详解及实例

主要介绍了微信小程序 wx.request(接口调用方式)详解及实例的相关资料,wx.request请求方式比较简单,但是在使用的时候出现错,这里就记录下,需要的朋友可以参考下
recommend-type

微信小程序wx.request实现后台数据交互功能分析

主要介绍了微信小程序wx.request实现后台数据交互功能,分析微信小程序wx.request在后台数据交互过程中遇到的问题与相关的解决方法,需要的朋友可以参考下
recommend-type

基于小程序请求接口wx.request封装的类axios请求

主要介绍了基于小程序请求接口wx.request封装的类axios请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

微信小程序 wx.login解密出现乱码的问题解决办法

微信小程序 wx.login解密出现乱码的问题解决办法 最近在给公司开发微信小程序,需要用到微信登录,根据文档要求需要把获取的用户信息按照AES进行解密。 我使用的是官方提供的PHP demo,拷贝到程序中,测试发现,解密...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

hive中 的Metastore

Hive中的Metastore是一个关键的组件,它用于存储和管理Hive中的元数据。这些元数据包括表名、列名、表的数据类型、分区信息、表的存储位置等信息。Hive的查询和分析都需要Metastore来管理和访问这些元数据。 Metastore可以使用不同的后端存储来存储元数据,例如MySQL、PostgreSQL、Oracle等关系型数据库,或者Hadoop分布式文件系统中的HDFS。Metastore还提供了API,使得开发人员可以通过编程方式访问元数据。 Metastore的另一个重要功能是跟踪表的版本和历史。当用户对表进行更改时,Metastore会记录这些更改,并且可以让用户回滚到
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。