赞
踩
uni-app,vue
文档:https://zh.uniapp.dcloud.io/
"subPackages": [ { "root": "pkg_building", "pages": [ "detail/detail", "list/list" ] }, { "root": "pkg_repair", "pages": [ "detail/detail", "list/list" ] } 原文链接:https://blog.csdn.net/sinat_34896766/article/details/136213103
知识重点
uni.login(OBJECT)
是uni-app 框架的一部分,它可以编译到多个小程序平台,在微信小程序环境中,uni.login 实际上是调>用了底层的 wx.login API,但它提供了更统一的接口,使得在不同平台间切换时代码能保持一致性
常用参数
scopes:授权类型,默认 auth_base。支持 auth_base(静默授权)/ auth_user(主动授权) / auth_zhima(芝麻信用)
success:接口调用成功的回调
fail:接口调用失败的回调函数
后端
SKIT.FlurlHttpClient.Wechat.Api;微信官方api
步骤
处理过程中要确保安全性,比如AppSecret不应暴露在前端,且敏感数据传输应加密。
前端获取用户code
//前端获取用户code getCode: function (callback) { let _this = this uni.login({ // #ifdef MP-ALIPAY scopes: 'auth_user', // #endif success: function (res) { console.log(res); if (res.code) { return callback(res.code) } else { //login成功,但是没有取到code _this.$refs.uToast.show({ title: '未取得code,请重试', type: 'error', }) } }, fail: function (res) { console.log(res); _this.$refs.uToast.show({ title: '用户授权失败wx.login,请重试', type: 'error', }) } }) },
请求微信api
在后端接口中通过微信api验证用户需要配置微信小程序的AppId,AppSecret,生成WechatApiClient对象
var WechatApiClient = new WechatApiClient(new WechatApiClientOptions()
{
AppId = _weChatOptions.WxOpenAppId,
AppSecret = _weChatOptions.WxOpenAppSecret
});
尝试从缓存中获取微信用户凭证accessToken
使用code以及accesToken创造一个用于微信请求的SnsJsCode2SessionRequest对象
执行ExecuteSnsJsCode2SessionAsync(request, HttpContext.RequestAborted)请求
可以用返回值中的OpenId做相关操作,将OpenId的值返回前端以作登录判断
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。