起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: wukongsky

[处理中3] 如何在b5做的网站中得到钉钉授权码。

[复制链接]

146

主题

589

帖子

1642

积分

金牌会员

Rank: 6Rank: 6

积分
1642
QQ
 楼主| 发表于 2019-12-27 07:57:52 | 显示全部楼层
jishuang 发表于 2019-12-26 17:48
5.2.7不是.w也是html,按html页面的语法,html中怎么写.w中一样的

8楼也写了可以自己参考登录按钮复制一个 ...

求你能直接告诉我,移动登录界面要增肌一个按钮,我需要改动哪个文件吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2019-12-27 08:49:11 | 显示全部楼层
你已经发了文件的路径啊/mobileUI/portal/mLogin.w
打开文件切换到源码参考登录按钮复制一个去修改,js就是标准的html中script,页面中的记住用户名就是标准的案例
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

152

主题

413

帖子

2182

积分

金牌会员

Rank: 6Rank: 6

积分
2182
QQ
发表于 2019-12-27 09:31:20 | 显示全部楼层
我最近做了个小项目,应用集成到钉钉中,钉钉中直接打开应用,并单点登录到这个应用系统。实现的机制是:钉钉打开应用的接入页index.html时,index.html中的js调用钉钉的api取得code,代码如下:
<script>
        _config = {};
        _config.corpId = "dingabed4ac9486bb4e335c2f4657eb6378f";
        dd.ready(function() {
                dd.runtime.permission.requestAuthCode({
                        corpId : _config.corpId, // 企业id
                        onSuccess : function(info) {
                                code = info.code // 通过该免登授权码可以获取用户身份
                                getUser(code);
                        },
                        onFail : function(err) {

                        }
                });
        });

        function getUser(code) {
                $.ajax({
                        method : "post",
                        async : false,
                        contentType : "application/json; charset=utf-8",
                        dataType : "json",
                        url : "/ding/service/user",
                        data : JSON.stringify({
                                code : code
                        }),
                        success : function(response) {
                                //                        alert(JSON.stringify(response.data.user.name));
                                //                        window.location.replace(response.data.url);
                                if(response.data.user&&response.data.user.name){
                                        account = response.data.user.name;
                                        loginEisoo(account);
                                }else{
                                        return;
                                }
                        }
                });
        }
       
        function loginEisoo(account){
                var url = "http://192.168.252.8:9001/ding/service/eisoo/login";
                $.ajax({
                        method : "post",
                        async : false,
                        contentType : "application/json; charset=utf-8",
                        dataType : "json",
                        url : url,
                        data : JSON.stringify({
                                account : account
                        }),
                        success : function(response) {
                                var userid = response.data.userid;
                                var tokenid = response.data.tokenid;
                                loadEisoo(userid,tokenid);
                        },
                        error : function(jqXHR, textStatus, errorThrown){
                                alert(errorThrown);
                        }
                });
        }
       
        function loadEisoo(userid,tokenid){
                var url = "http://192.168.202.241/login?userid="+userid+"&tokenid="+tokenid;
                location.href = url;
                dd.biz.navigation.replace({
                        url : url,//要打开链接的地址
                        onSuccess : function(result) {

                        },
                        onFail : function(err) {
                                location.href = url;
                        }
                });
        }

       
</script>

这里注意:getUser函数调用后台服务,后台服务做两件事,1、用code参数访问钉钉取得钉钉中的用户信息,然后通过应用系统与钉钉用户的对应关系,确定用户id,对用户进行单点登录,返回id和tokenid(对bex5来说,返回bsessionid),loadEisoo函数重定向url,并传入id和tokenid(对bex5来说,传入bsessionid),实现免登录打开应用。
不知道对楼主有没有帮助?
回复 支持 1 反对 0

使用道具 举报

146

主题

589

帖子

1642

积分

金牌会员

Rank: 6Rank: 6

积分
1642
QQ
 楼主| 发表于 2019-12-27 11:56:35 | 显示全部楼层
John913 发表于 2019-12-27 09:31
我最近做了个小项目,应用集成到钉钉中,钉钉中直接打开应用,并单点登录到这个应用系统。实现的机制是:钉 ...

谢谢您的热心回复,非常感谢啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-27 09:39 , Processed in 0.107568 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表