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

QQ登录

只需一步,快速开始

查看: 3623|回复: 5

[处理中3] 微信登录access_token参数有问题,提示登录失败49行

[复制链接]

16

主题

29

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
发表于 2016-5-4 15:05:13 | 显示全部楼层 |阅读模式
本帖最后由 skyuse 于 2016-5-5 13:20 编辑

define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");

        require("cordova!com.justep.cordova.plugin.weixin.v3");
        require("cordova!plugin.http.request");

        // 仅作为示例用,如果正式开发,更好的方案参见takeout,从云服务器去请求微信
        var weixinApp = "wxc08fa78b0a117595";
        var weixinSecrt = "648dc0f1d889525095ed0cb2bea05720";

        var Model = function() {
                this.callParent();
        };

        // 图片路径转换
        Model.prototype.getImageUrl = function(url) {
                return require.toUrl(url);
        };

        Model.prototype.loginWeixinClicked = function(event) {
                var self = this;
                if (!navigator.weixin) {
                        justep.Util.hint("请安装最新版本(含插件)体验!");
                        return;
                }
                ;
                var weixin = navigator.weixin;
               
                weixin.auth(function(info) {
                        self.weixinCode2Token(info, self.authSuccess);
                        alert("xiaojing3-32"); //测试运行结果
                },

                function(reason) {

                        justep.Util.hint("登录失败37行: " + JSON.stringify(reason), {
                                "type" : "danger"
                        });
                });

        };

        Model.prototype.authSuccess = function(access_token, openid) {
                alert(access_token);
                //https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
//???access_token有问题,运行到这里会提示“登录失败49行:”,去掉可以运行正常,但是没有用户名
                if (!(access_token && openid)) {
                        justep.Util.hint("登录失败49行:", {
                                "type" : "danger"
                        });
                        return;
                }

                var url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "lang=zh-CN";
                console.log(url);
                var httpReq = new plugin.HttpRequest();
                httpReq.getJSON(url, function(status, data) {

                        if (status) {
                                justep.Util.hint("登录失败61行:", {
                                        "type" : "danger"
                                });
                        }
                        var user = {};
                        user.userid = data.openid;
                        user.accountType = "WX";
                        user.name = data.nickname || "NONAME";
                        justep.Shell.userType.set(user.accountType);
                        justep.Shell.userName.set(user.name);
                        localStorage.setItem("userUUID", JSON.stringify(user));
                        justep.Util.hint("登录成功");

                        setTimeout(function() {
                                justep.Shell.showPage("main");
                        }, 3000);
                        // 微信的返回内容
                        // "openid":"OPENID",
                        // "nickname":"NICKNAME",
                        // "sex":1,
                        // "province":"PROVINCE",
                        // "city":"CITY",
                        // "country":"COUNTRY",
                        // "headimgurl":
                        // "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
                        // "privilege":[
                        // "PRIVILEGE1",
                        // "PRIVILEGE2"
                        // ],
                        // "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"

                });
        };

        Model.prototype.weixinCode2Token = function(info, authSuccess) {
                var code = info.code;
                var url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + weixinApp + "&secret=" + weixinSecrt + "&code=" + code + "&grant_type=authorization_code";

                var httpReq = new plugin.HttpRequest();
                httpReq.getJSON(url, function(status, data) {

                        if (status) {
                                justep.Util.hint("登录失败103行:", {
                                        "type" : "danger"
                                });
                                return;
                        }
                        var unionid = data.unionid || "none";
                        var openid = data.openid || "none";
                        alert("xiaojing1-110"); //测试运行结果
                        var access_token = data.access_token;
                        alert(access_token);  //这里输出undefined
                        authSuccess(access_token, openid);
                        alert("xiaojing2-113"); //测试运行结果

                });

        };

        return Model;
});



下面是从demo仿网易里拷贝出来的全部代码

test_login20160504pm.rar

47.43 KB, 下载次数: 83

发表于 2016-5-5 14:08:05 | 显示全部楼层
那你直接打包仿网易案例!应该是可以正常登录的吧!!建议你真机调试,对比运行看看是哪里的差异?
自己找找原因吧
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2016-6-27 14:52:16 | 显示全部楼层
楼主找到原因了吗?
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

16

主题

29

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2016-6-30 10:06:20 | 显示全部楼层
Masion 发表于 2016-6-27 14:52
楼主找到原因了吗?

没有找到什么原因
回复 支持 反对

使用道具 举报

发表于 2016-6-30 14:53:33 | 显示全部楼层
skyuse 发表于 2016-6-30 10:06
没有找到什么原因

你是哪个版本??如果是3.4,先打包仿网易试试,可以正常登录吗??
3.5的 微信的cordova参数有变化!不能直接打包使用了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

21

主题

73

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
QQ
发表于 2016-12-29 19:45:04 | 显示全部楼层
请问楼主 该问题 解决了吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 13:36 , Processed in 0.065452 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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