uniapp API 第三方服务
uniapp API 第三方服务
- 获取服务供应商
- 登录
- 分享
- 支付
- 推送
- 语音
获取服务供应商
uni.getProvider(OBJECT)
App平台,可用的服务商,是打包环境中配置的服务商,与手机端是否安装了该服务商的App没有关系。
云打包在manifest中配置相关模块和SDK信息,离线打包在原生工程中配置。某个服务商配置被打包进去,运行时就能得到相应的服务供应商。
uni.getProvider({service: 'oauth', //service String 服务类型 oauth授权登录 share分享 payment支付 push推送success: function (res) { //成功的回调console.log(res.provider)if (~res.provider.indexOf('weixin')) {uni.login({provider: 'weixin', //provider Array 得到的服务供应商success: function (loginRes) {console.log(JSON.stringify(loginRes));}});}}
});
登录
uni.login(OBJECT)
uni.login({provider: 'weixin', //provider String 登录服务提供商success: function (loginRes) { //成功回调console.log(loginRes.authResult); //authResult 登录服务商提供的登录信息,服务商不同返回的结果不完全相同}
});
uni.checkSession
检查登录状态是否过期
uni.getUserInfo(OBJECT)
获取用户信息。
苹果登录
loginApple() {console.log(111)var that = thisvar app = getApp({allowDefault: true})setTimeout(function() {uni.login({ provider: 'apple', //provider String 登录服务提供商success: function(res) {console.log(res)var loginCode = res.codethat.loginCode = loginCodeuni.getUserInfo({ //获取用户信息provider: 'apple',lang: "zh_CN",success: function(userRes) {// #ifdef APP-PLUSconsole.log("苹果登录")let userInfo = JSON.stringify(userRes.userInfo)console.log(userInfo)util.ajax({url: '/system/applelogin.do',data: {"userInfo":userInfo,},//服务端的回掉success: function(result) {console.log(result)let data = result.dataif(data.resultCode=="true"){uni.setStorage({key: 'useruuid',data: result.data.user.useruuid})app.globalData.provider = result.data.providerapp.globalData.user = result.data.userconsole.log("用户已登录")uni.navigateBack({delta: 1});}else if(data.resultCode=="nouser"){//没有绑定账号的appleId,需要注册userInfo = JSON.parse(userInfo)console.log("nouser")userInfo.plat = "apple"uni.setStorageSync("userInfo",userInfo)uni.navigateTo({url:"/pages/login/appregister"})}}})// #endif},//接口调用结束的回调函数(调用成功、失败都会执行)complete: function(res) {// console.log(res)}})},//接口调用失败的回调函数fail: function(res) {}})},100)
},
微信登录
loginWeixin() {console.log("垃圾安卓")var that = thisvar app = getApp({allowDefault: true})setTimeout(function() {uni.login({provider: 'weixin', //provider String 登录服务提供商success: function(res) {var loginCode = res.codethat.loginCode = loginCodeuni.getUserInfo({ //获取用户信息provider: 'weixin',lang: "zh_CN",success: function(userRes) {// #ifdef MP-WEIXIN//发起网络请求util.ajax({url: '/system/login.do',data: {code: loginCode,encryptedData: userRes.encryptedData,iv: userRes.iv,wxheadpic: userRes.userInfo.avatarUrl},//服务端的回掉success: function(result) {uni.setStorage({key: 'useruuid',data: result.data.user.useruuid})app.globalData.provider = result.data.providerapp.globalData.user = result.data.userconsole.log("用户已登录")uni.navigateBack({delta: 1});}})// #endif// #ifdef APP-PLUSconsole.log("微信登录")let userInfo = JSON.stringify(userRes.userInfo)console.log(userInfo)util.ajax({url: '/system/applogin.do',data: {"userInfo":userInfo,},//服务端的回掉success: function(result) {console.log(result)let data = result.dataif(data.resultCode=="true"){uni.setStorage({key: 'useruuid',data: result.data.user.useruuid})app.globalData.provider = result.data.providerapp.globalData.user = result.data.userconsole.log("用户已登录")uni.navigateBack({delta: 1});}else if(data.resultCode=="nouser"){userInfo = JSON.parse(userInfo) //没有绑定账号的微信,需要注册userInfo.plat = "weixin"uni.setStorageSync("userInfo",userInfo)uni.navigateTo({url:"/pages/login/appregister"})}},complete:function(e){console.log(e)}})// #endif},//接口调用结束的回调函数(调用成功、失败都会执行)complete: function(res) {// console.log(res)}})},//接口调用失败的回调函数fail: function(res) {}})},100)},
分享
uni.share(OBJECT) 官网链接
uni-app的App引擎已经封装了微信、QQ、微博的分享SDK,开发者可以直接调用相关功能。
可以分享到微信、QQ、微博,每个社交平台被称为分享服务提供商,即provider。
可以分享文字、图片、图文横条、音乐、视频等多种形式。同时注意,分享为小程序也使用本API。即在App里可以通过本API把一个内容以小程序(通常为内容页)方式直接分享给微信好友。
注意:
仅支持分享微信小程序到微信聊天界面,想进入朋友圈需改为分享图片方式,在图片中包含小程序码。一般通过canvas绘制图片,插件市场有很多生成图片的插件。
小程序分享:
// 小程序分享
onShareAppMessage() {return {title: 'test',path: 'pages/index/index'}
}
只有定义了此事件处理函数,小程序右上角菜单才会显示“转发”按钮。
App分享:
首先要在 manfest.json中的 App模块权限配置 中,勾选上分享
然后在 AppSDK配置 中,设置分享模块,需要填写对应的信息。
<!-- #ifdef APP-PLUS -->
<button type="primary" @click="share">分享</button>
<!-- #endif -->
// 分享好友
share() {// 分享图文到微信聊天界面uni.share({provider: "weixin", // 服务商scene: "WXSceneSession", // 场景 微信好友WXSceneSession 朋友圈WXSceneTimeLinetype: 0, // 图文0 文字1 图片2href: "http://uniapp.dcloud.io/", // 分享h5地址title: "uni-app分享",summary: "我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!", // 描述imageUrl: "https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/uni@2x.png",success: function (res) {console.log("success:" + JSON.stringify(res));},fail: function (err) {console.log("fail:" + JSON.stringify(err));}});
}
分享图文:href、imageUrl 为必选参数,title/summary 二选一,最好将这四个参数都选上。
添加按钮:
支付
uni.requestPayment(OBJECT) 官网链接
推送
uni push 官网链接
语音
voice 官网链接
uniapp API 第三方服务相关推荐
- Uni-app API
Uni-app的各种api,各种功能还是很全面的,而且基于vue用法,本身也带有自己的一套UI系统,代码也能兼容app和小程序,还是挺方便的. 基础 #日志打印 日志打印 向控制台打印日志 ...
- places365_Google Places API网络服务示例
places365 Google Places API can be used to find nearby places. In this tutorial, we'll be developing ...
- uni-app 打开第三方程序
我们在开发 App 应用中,经常会遇到打开第三方程序的场景,在 uni-app 中我们应该如何做?相信不少刚接触的同学都会有此疑问.其实在 uni-app 中实现这个功能是非常简单的. 我们使用 5+ ...
- WebService(1) 调用第三方服务
网上有很多的免费WebService 服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web项目中显示,下面就以查询国内手机号码归属地为例进行说明 进入 ht ...
- 【Gulimall+】第三方服务:对象存储OSS、短信验证、社交登录、支付宝支付
文章目录 对象存储OSS 基本配置 java实现 短信认证 前端验证码倒计时 整合短信验证码 密码存储 社交登录:微博 基本流程 java实现 支付宝支付 基本配置 java实现 对象存储OSS 一谈 ...
- 微信第三方服务平台java授权获取token(一)
公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认证后的开发者使用. ...
- 科普:Java 后端开发常用的 10 种第三方服务
严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...
- Java 后端开发常用的第三方服务 TOP10
严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...
- 微信第三方服务平台开发(一)
工作中遇到开发微信第三方服务的需求,学习的同时记录一下开发的过程,给大家提供一个参考,希望能有些帮助,让大家少走些弯路. 首先说下开发流程,微信公众平台提供了大量的第三方接口供开发者调用,可以丰富微信 ...
最新文章
- c: realloc()函数解析
- C语言中printf是不是关键字,C语言中printf是什么意思
- js面向对象之创建对象1
- 90后美少女如何过五关斩六将入职支付宝技术男团?
- eureka server配置_程序员笔记|详解Eureka 缓存机制
- 如何查看单元测试的结果 以及异常处理
- 深度学习自动调参工具,NNI使用
- windows下git安装配置
- 2021 CCF网络推荐会议时间列表
- Markdown常用字体 大小 颜色和背景设置
- 少年宫计算机活动总结改进措施,少年宫乒乓球的活动总结
- 手机网站支付唤起支付宝app
- matlab设置时间步长,时间步长的设置问题
- C语言如何正确初始化数据,C语言变量的初始化
- macOS Mojave(软件篇):微信 for Mac 防撤回插件(WeChatTweak-macOS)
- 一种实用的笑脸检测方法
- 霍尔FOC转子位置估计算法
- 微信播放在服务器视频无法播放音乐,解决ios微信浏览器中audio和video音乐视频无法自动播放等问题...
- 【2020年APP-Flutter混合开发之路】01 - Flutter的初步思考和开发部署
- java怎么读_java怎么读