开发者社区> 问答> 正文

钉钉H5微应用开发,按照钉钉开发文档中示例构造登录态URL,浏览器访问此链接正常,手机访问页面空白

// 构建登录态URL
function handleEntyURL() {
// 1、对回跳URL进行encode:
const url = 'https://dingding.test.com';
const encodedComponent = encodeURIComponent(url);
// 2、在上一步基础上,添加固定前缀【http://auth.dingtalk.com/login?redirectUri=】:
const urlEncode = 'http://auth.dingtalk.com/login?redirectUri=' + encodedComponent
// 3、在上一步基础上,进行encode:
const urlEncodes = encodeURIComponent(urlEncode)
// 4、在上一步基础上,添加固定前缀【https://login.dingtalk.com/oauth2/auth?response_type=code&client_id=dingwa4tibze6jwz7mgv&scope=openid&state=dddd&redirect_uri=】:
// client_id为 Client ID (原 AppKey 和 SuiteKey) suitec9tguwldeqmhlbun
const entyURL = 'https://login.dingtalk.com/oauth2/auth?response_type=code&client_id=suitec4tguwldeqmhlbun&scope=openid&state=dddd&redirect_uri=' + urlEncodes
return entyURL
}

展开
收起
zof2fdvcv72tg 2023-12-27 15:13:54 41 0
1 条回答
写回答
取消 提交回答
  • 这个问题可能是由于手机浏览器和电脑浏览器对URL编码处理方式的不同导致的。以下是一些可能的解决方案:

    1. 检查URL编码:确保你在构造URL时正确地进行了编码。你可以在手机上复制这个URL,然后在一个在线URL解码工具中检查它是否被正确解码。

    2. 使用encodeURIComponent两次:在某些情况下,可能需要对URL进行两次encodeURIComponent编码。你可以尝试对整个最终URL再进行一次encodeURIComponent编码。

    3. 使用encodeURIComponent和encodeURI组合:尝试使用encodeURI对包含URL的字符串进行编码,然后再使用encodeURIComponent对整个字符串进行编码。

    4. 检查手机浏览器设置:确保手机浏览器没有阻止弹出窗口或者阻止第三方cookies,这些设置可能会影响到登录页面的正常显示。

    5. 测试不同的手机浏览器:有时候问题可能是由于特定手机浏览器的兼容性问题导致的,你可以尝试在其他手机浏览器上测试这个URL。

    2023-12-27 15:59:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载