收藏
回答

发布小程序体验版本只有开启微信授权才能登录?

未开启开发调试:发布小程序体验版本,请求接口是https请求,进入小程序能够获取接口数据。但是无法授权登录

开启开发调试:完全没问题

准备发布体验版本给用户,能够不开启开发调试进行授权登录吗?

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

5 个回答

  • 怦然心动
    怦然心动
    2020-12-04

    请求地址有在微信后台服务器域名配置吗?

    2020-12-04
    有用
    回复
  • resero
    resero
    2020-12-02
    wx.login({
    					provider: 'weixin',
    					success: loginRes => {
    						if (loginRes.errMsg === 'login:ok') {
    							let code = loginRes.code
    							let formdata = {
    								jsCode: code,
    								grantType: 'authorization_code'
    							};
    							_this.api.get('/user/v1/code2Session', formdata).then(res => {
    								console.log(res)
    								wx.getUserInfo({
    									success: (wxRes) => {
    										console.log("wxRes", wxRes)
    										var pc = new WXBizDataCrypt(appId, res.data.session_key)
    										var data = pc.decryptData(wxRes.encryptedData, wxRes.iv)
    										console.log("data", data)
    										let formdata = {
    											nickname: wxRes.userInfo.nickName,
    											gender: wxRes.userInfo.gender,
    											headimg: wxRes.userInfo.avatarUrl,
    											openid: data.openId,
    											unionid: data.unionId || "",
    											regdevicenumber: "",
    											regplatform: "3",
    											type: "5",
    										};
    										// 用户登录
    										console.log("微信登录参数", formdata)
    										_this.api.post('/user/v1/thirdlogin', formdata).then(res => {
    											debugger
    											if (res.status != "200") {
    												console.log("登录失败")
    												return false;
    											} else {
    												console.log("登录成功")
    												// #ifdef APP-PLUS
    												let client = plus.push.getClientInfo()
    												if (client.clientid) {
    													let putClientData = {
    														clientId: client.clientid,
    														userId: res.data.uid,
    														name: res.data.nickname,
    														url: res.data.headimg,
    														urlType: 'dch'
    													}
    													putClientId(putClientData)
    												}
    												// #endif
    												// 保存登录信息
    												let loginMethod = 2 // 微信登录方式
    												let loginType = 2 // 微信类型
    												let dataType = 1 // 用户登录信息记录
    												saveLoginInfo(loginMethod, loginType, dataType, res.data)
    												debugger
    												_this.$store.commit('login', res.data);
    												_this.OpenId = res.data.openid
    												uni.setStorageSync('openid', res.data.openid);
    												if (_this.typePage) {
    													uni.navigateBack()
    												} else {
    													
    													uni.reLaunch({
    														url: '../../pages/dch_personal/dch_personal'
    													})
    												}
    												return true;
    											}
    										}).catch(fail => {
    											return false;
    										});
    									}
    								})
    							}).catch(fail => {
    								return false;
    							});
    						}
    					},
    					fail: () => {
    						uni.showToast({title:"微信登录授权失败",icon:"none"});
    					}
    
    2020-12-02
    有用
    回复
  • 默
    2020-12-02

    兄弟 你怕是 使用的webview嵌套的H5使用的微信授权登录吧?

    2020-12-02
    有用
    回复 2
    • resero
      resero
      2020-12-02
      没有
      2020-12-02
      回复
    • 默
      2020-12-02回复resero
      获取授权登录代码发下
      2020-12-02
      回复
  • 蒽嘚話
    蒽嘚話
    2020-12-02

    清除一下缓存,或者换个没有进入过该小程序的手机试试

    2020-12-02
    有用
    回复 1
    • resero
      resero
      2020-12-02
      我让其他小伙伴试了之后都会这样
      2020-12-02
      回复
  • 拾忆
    拾忆
    2020-12-02

    你代码怎么写的?

    不会是在小程序端直接请求 api.weixin.qq.com 吧?

    2020-12-02
    有用
    回复 3
    • resero
      resero
      2020-12-02
      登录有 调用 https://api.weixin.qq.com/sns/jscode2session 接口
      2020-12-02
      回复
    • 拾忆
      拾忆
      2020-12-02回复resero
      不能在小程序前端中直接请求这个地址的接口,你需要放在服务端去请求。
      2020-12-02
      回复
    • resero
      resero
      2020-12-02
      但是这个地址在前端能正常调用,也是https请求应该没问题才对啊
      2020-12-02
      回复
登录 后发表内容
问题标签