收藏
回答

企业微信自建应用,自定义菜单,导航到自己的H5项目,怎么获取当前用户信息啊?

企业微信自建应用,自定义菜单,导航到自己的H5项目,怎么获取当前用户信息啊?

回答关注问题邀请回答
收藏

4 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-09-27

    你好,设置自定义菜单跳转url,在按钮中构造网页授权url就可以获取到自成员登入信息了

    2020-09-27
    有用
    回复
  • 小生蚝
    小生蚝
    发表于小程序端
    2020-09-24
    通过网页授权登录呗~
    2020-09-24
    有用 1
    回复 4
    • i
      i
      2020-09-25
      主要是只能我们公司的人用,不能给全部的人
      2020-09-25
      回复
    • 小生蚝
      小生蚝
      发表于小程序端
      2020-09-26回复i
      是呀……网页授权就是只能当前企业用户登录……
      2020-09-26
      回复
    • i
      i
      发表于移动端
      2020-09-27回复小生蚝
      调用那个API跨域,解决跨域之后又404,必须在企业微信环境中才能用吗?
      2020-09-27
      回复
    • 小生蚝
      小生蚝
      2020-09-27回复i
      等等……你调用的哪个api??
      2020-09-27
      回复
  • Jerry
    Jerry
    2020-09-25

    https://open.work.weixin.qq.com/api/doc/90000/90136/91799

    2020-09-25
    有用
    回复
  • 金戈铁马
    金戈铁马
    2020-09-25
    let userinfo_json = await this.session(this.config("app_module") + '_userinfo');
    /*获取用户信息*/
    if (think.isEmpty(userinfo_json)) {
        /*没有缓存用户信息 重新拉取*/
        let access_token = await this.qywx_access_token();
        let tmp_userinfo_json = await axios("https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=" + access_token + "&code=" + this.get("code"));
        if (tmp_userinfo_json.data.errcode != 0) {
            if (tmp_userinfo_json.data.errcode == "60011") {
                return this.redirect(think.config("err_nopermission"));
            } else if (tmp_userinfo_json.data.errcode == "40029") {
                let cnt = this.get("state");
                if (cnt > 5) return this.fail('抱歉,尝试登录失败次数过多,请企业微信联系信息部检查账号!');
                return this.redirect(this.create_login_url(cnt));
            } else {
                return this.redirect(think.config("err_nologin"));
            }
        }
        if (tmp_userinfo_json.data.OpenId) {
            /*在微信中打开,以前关注过企业公众号,现在没有关注,返回值errcode是0,多了个OpenId字段,以此判断此人没有关注企业中公众号,跳到统一报错平台去*/
            return this.redirect(think.config("err_nologin"));
        }
    
    
        let userinfo_json = await axios("https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=" + access_token + "&userid=" + tmp_userinfo_json.data.UserId);
        userinfo_json = userinfo_json.data;
    
        if (userinfo_json.errcode != 0) {
            if (userinfo_json.errcode == "60011") {
                return this.redirect(think.config("err_nopermission"));
            }
        }
    
        /*顺便存储此人部门*/
        let dept_json = await this.qywx_dept(userinfo_json.department[0]);
        if (think.isEmpty(dept_json.department)) {
            return this.redirect(think.config("err_nopermission"));
        } else {
            userinfo_json.department = dept_json.department[0].name;
        }
        await this.session(this.config("app_module") + '_userinfo', userinfo_json);
        return userinfo_json;
    } else {
        return userinfo_json;
    }
    
    2020-09-25
    有用
    回复
登录 后发表内容
问题标签