Uni-App - 接口 - 第三方登录(小程序)(Hcoder 版)

简介: Uni-App - 接口 - 第三方登录(小程序)(Hcoder 版)

重要说明

因小程序和app登录接口不同,需要在前端进行跨端兼容处理!

小程序端必须的配置

小程序端必须配置 app id(申请小程序开发者并获取 appid 及相关秘钥,支持个人开发者)。获取appid后编辑 manifest.json :

"mp-weixin" : {
    "appid" : "您的app id"
}

接口地址

https://developers.weixin.qq.com/miniprogram/dev/api/open.html#wxgetuserinfoobject

app 端必须的配置

app 端支持微信、qq、微博等多种登录方式,都需要申请对应的开发者并获取对应的 appid。获取对应的appid后打开 manifest 可视化操作填写即可:

image.png

是否登录判断(App.vue)

global.isLogin = function(){
 try{
  var suid  = uni.getStorageSync('suid');
  var srand = uni.getStorageSync('srand');
 }catch(e){
  //TODO handle the exception
 }
 if(suid == '' || srand == ''){
  return false;
 }else{
  return [suid, srand];
 }
};

需要登录的页面判断

var res = global.isLogin();
  if(!res){
   uni.showModal({
    title:'请登录',
    content:"请登录",
    success:function(){
     uni.navigateTo({
      url:"/pages/login"
     });
    }
   })
  }

登录页面开发

<template>
    <view style="padding:35px;">
  <!-- #ifdef MP-WEIXIN -->
  <button type="primary" open-type="getUserInfo" @getuserinfo="getuserinfo" withCredentials="true">微信登录</button>
  <!-- #endif -->
  <!-- #ifdef APP-PLUS -->
  <button type="primary" open-type="getUserInfo" @click="getuserinfo" withCredentials="true">微信登录</button>
  <!-- #endif -->
  <button style="margin-top:50px;">手机号码登录</button>
 </view>
</template>
<script>
var _self;
export default {
 data:{
 },
    onLoad:function(){
  _self = this;
    },
 methods:{
  getuserinfo : function(res1){
   console.log(res1);
   //如果只需要opendid 和非加密数据至此登录完成
   //此处连接数据库利用openid 就可以进行登录环节
   //免费的视频教程 http://www.hcoder.net/tutorials/info_141.html
   wx.login({
    success:function(res2){
     //获取 sessionKey
     wx.request({
      url : 'https:///hoa.hcoder.net/xcxencode/?c=sk&appid=wxbb7f9f1f2c6f4f33&secret=739b970b832f0df158f54c494a08e440&code='+res2.code,
      success:function(res3){
       console.log(res3);
       //记录到本地
       try{
        uni.setStorageSync('sk', res3.data.session_key);
        uni.setStorageSync('openid', res3.data.openid);
       }catch(e){
        //TODO handle the exception
       }
       uni.hideLoading();
       //以下步骤可以获取加密信息,需要授权
       //获取加密信息
       if(!res1.detail.iv){
        uni.showToast({
         title:"您取消了授权,登录失败",
         icon:"none"
        });
        return false;
       }
       try{
        var sessionKey = uni.getStorageSync('sk');
        console.log(sessionKey);
       }catch(e){
        //TODO handle the exception
       }
       uni.request({
        /**
        * $appid         = $_POST['appid'];
         $sessionKey    = $_POST['sessionKey'];
         $encryptedData = $_POST['encryptedData'];
         $iv            = $_POST['iv'];
        */
        method : "POST",
        url : 'https:///hoa.hcoder.net/xcxencode/',
        header : {'content-type':'application/x-www-form-urlencoded'},
        data : {
         appid : "wxbb7f9f1f2c6f4f33",
         sessionKey : sessionKey,
         iv : res1.detail.iv,
         encryptedData : res1.detail.encryptedData
        },
        success:function(res4){
         //"{"openId":"oS6of0V0rdp9nY_BuvCnQUasOHYc","nickName":"深海",
         //"gender":1,"language":"zh_CN","city":"Xi'an","province":"Shaanxi",
         //"country":"China","avatarUrl":"https://wx.qlogo.cn/mmopen/vi_32/7iags6YD4enyU"
         console.log(res4);
         //至此登录完成
        }
       });
      }
     })
    }
   });
  }
 }
}
</script>
<style>
</style>
目录
相关文章
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
缓存 监控 Android开发
京东 item_get_app 接口深度分析及 Python 实现
京东item_get_app接口可获取商品原始详情数据,包含更丰富的字段和细节,适用于电商分析、价格追踪等场景。需通过认证获取权限,支持字段筛选和区域化数据查询。
|
缓存 数据挖掘 API
淘宝 item_get_app 接口深度分析及 Python 实现
淘宝item_get_app接口是淘宝开放平台提供的移动端商品详情数据获取接口,相较PC端更贴近APP展示效果,支持获取APP专属价格、促销活动及详情页结构,适用于电商导购、比价工具、数据分析等场景。接口采用appkey+appsecret+session认证机制,需申请相应权限。本文提供Python调用示例及使用注意事项,帮助开发者高效对接移动端商品数据。
|
小程序 安全 JavaScript
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
1286 1
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
人工智能 小程序 前端开发
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
984 0
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
消息中间件 缓存 小程序
婚恋交友相亲公众号app小程序系统源码「脱单神器」婚恋平台全套代码 - 支持快速二次开发
这是一套基于SpringBoot + Vue3开发的婚恋交友系统,支持微信公众号、Uniapp小程序和APP端。系统包含实名认证、智能匹配、视频相亲、会员体系等功能,适用于婚恋社交平台和相亲交友应用。后端采用SpringBoot 3.x与MyBatis-Plus,前端使用Vue3与Uniapp,支持快速部署和二次开发。适合技术团队或有经验的个人创业者使用。
1095 8
|
存储 人工智能 移动开发
uni-app+vue3接入deepseek-v3搭建跨端ai流式(小程序+app+h5)
基于Uniapp+Vue3+Markdown接入DeepSeek-V3聊天大模型,支持编译到H5+小程序+App端。实现流式输出、支持亮色/暗黑主题、代码高亮、会话本地存储等功能。
2494 12