位置: IT常识 - 正文

微信小程序获取用户openid(微信小程序获取手机号失败)

编辑:rootadmin
微信小程序获取用户openid 小程序端直接获取:

推荐整理分享微信小程序获取用户openid(微信小程序获取手机号失败),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序获取手机号失败,微信小程序获取地理位置,微信小程序获取地理位置失败,微信小程序获取地理位置,微信小程序获取地理位置,微信小程序获取手机号,微信小程序获取手机号,微信小程序获取手机号上限怎么办,内容如对您有帮助,希望把文章链接给更多的朋友!

实现代码:直接简单

wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ //这里填你自己的appid 和 wxspSecret url: "https://api.weixin.qq.com/sns/jscode2session?appid=" + wxspAppid+"&secret=" + wxspSecret + "&js_code=" + res.code + "&grant_type=authorization_code" , method: "POST", success(res){//获取成功要执行的动作}, fail(data){//失败要执行的动作 } }) } else {console.log('登录失败!' + res.errMsg)} } })

问题: 前端直接暴露appid和appsecret

最开始使用这种方式,到了小程序发布的阶段,因为直接暴露自己的appid和appsecret在前端,经过反编译小程序会直接获取到你的这些信息,并且不改的话也发布不了。。。之后就改成云函数获取了

云函数获取oppenid

方便并且没有暴露信息的风险:

微信小程序获取用户openid(微信小程序获取手机号失败)

步骤1:创建云函数

打开云开发控制台: 选择云函数,创建一个函数,函数名为get

步骤2:建立一个云函数,命名为刚刚的get

步骤3: index.js

// 云函数入口函数exports.main = async (event, context) => { const wxContext = cloud.getWXContext() console.log("OPENID",wxContext.OPENID); return { event, openid: wxContext.OPENID, appid: wxContext.APPID, unionid: wxContext.UNIONID, }}

config.json

{ "permissions": { "openapi": [ ] }}

在你需要获取的地方直接调用即可,比如在app.js中

getOpenid() { let that = this; wx.cloud.callFunction({ name: 'get', complete: res => { //你想要完成的功能,比如存储openid到全局 that.globalData.openid = res.result.openid; } }) },

上线两个星期左右,云函数收费了。。。 后面还是使用后端完成openid的获取

后端获取openid小程序端wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: "你的接口"+res.code, method: "POST", success(res){//成功后的逻辑处理 } }) } else { wx.showToast({ title: '出现错误', icon: 'fail', duration: 5000 }) console.log('出现错误!' + res.errMsg) } } })后端(springboot)@PostMapping("你的接口") public Response decodeOpenid(HttpServletResponse response, @RequestParam String code){ response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("utf-8"); String wxspAppid = "你的appid"; String wxspSecret = "你的密钥"; try { Map<String, String> map = new HashMap<>(); // 授权(必填)固定 String grant_type = "authorization_code"; // 发送请求 String res = HttpRequest.post("https://api.weixin.qq.com/sns/jscode2session") .form("appid",wxspAppid) .form("secret",wxspSecret) .form("js_code",code) .form("grant_type",grant_type) .execute().body(); // 解析相应内容(转换成json对象) JSONObject json = JSONObject.parseObject(res); log.info("解析code请求结果:"+json.toString()); //获取openid String openid = json.getString("openid"); log.info("openid:"+openid); return Response.success(openid); } catch (Exception e) { e.printStackTrace(); return Response.fail("openId生成失败"); } }

需要导入hutools工具包和slf4j的依赖

ps: 微信小程序如果要发布的话是需要进行域名购买和备案的,以及后端https的配置。

本文链接地址:https://www.jiuchutong.com/zhishi/300431.html 转载请保留说明!

上一篇:万字长文:Stable Diffusion 保姆级教程(万字长文护国安是谁写的)

下一篇:深度学习参数初始化(二)Kaiming初始化 含代码

  • 增值税发票阅读器干什么用的
  • 法人个人账户收款是否属于公司业务
  • 股份公司解散是什么?
  • 结算备付金会计分录
  • 购入安装设备的专用材料分录
  • 电子承兑提示付款
  • 支付宝企业账户的钱怎么取出来
  • 冲减成本怎么做会计分录
  • 工会经费有关的增值税能否抵扣?
  • 个体工商户上月开发票超额了 ,定额改查账征收了
  • 加油站的印花税计税金额
  • 预售 首付
  • 会务费税前扣除比例
  • 2017年事业单位b类真题及答案
  • 会计调账必须写说明吗
  • 公司体检如何入账
  • 上月未结账
  • linux如何将命令结果输出到文件
  • 房产税存在往期未申报信息怎么处理
  • 固定资产合计等于固定资产账面价值吗
  • win7电脑怎么样
  • 京东预付卡怎么做账
  • php中字符串函数
  • thinkphp框架流程原理
  • php初学
  • 支付赊购材料款怎么入账
  • 目前超频最高几ghz
  • 残疾人取得房屋所有权
  • 税控减免怎么做账
  • php处理excel
  • 详解Yii2高级版引入bootstrap.js的一个办法
  • php数组实现
  • php列表
  • 小规模拍卖公司怎么开票
  • 偿还应付账款会使得资产报酬率增加吗
  • 做毕业设计,前景如何
  • php的基本知识
  • php数据库搭建
  • 合伙企业分红怎么做账
  • 红字发票开错可以重开吗
  • 2000元以内最强二手游戏笔记本
  • 子公司可以吸收母公司吗
  • 勾稽关系怎么算
  • 普票需要填写全额发票吗
  • 新办企业装修会计分录
  • 股票股利怎么理解
  • 固定制造费用属于固定成本吗
  • 对外支付代扣代缴税费
  • 会员退费怎么算
  • 当月业务的发票可以次月开吗
  • 工业企业制造费用具体怎么摊
  • 太阳能发票图片
  • 火车退票费如何开票
  • 净资产越来越少会有什么风险
  • 车船税税金及附加
  • 收到电费发票做账怎么做
  • 传媒公司的骗局把戏
  • 支付水电费会计等式
  • 收到垫付款计入什么科目
  • 上期留抵税额可以留多久
  • 试运行成本会计分录
  • 金蝶凭证做错了已经入账怎么更正
  • 流动比率越高越好吗
  • mysql爆破字典
  • sql中的非逻辑
  • 比较简单的字
  • vmmem进程是什么
  • win8安装ie8
  • win7系统安装虚拟机
  • win10每周更新
  • 电脑照片应用使用不了
  • awk指令指定脚本程序
  • css回到页面顶部
  • won10安装
  • 公共配套设施如何计算成本
  • 云南省国家税务总局
  • 核定征收申报表填写
  • 跪式服务礼仪规范图片
  • 苹果官网手机号码无效
  • 增值税网上申报步骤可以在手机上申报吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设