位置: 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初始化 含代码

  • 银行利息支出税前扣除标准
  • 小规模企业开具普通发票月如何做账
  • 直接人工费用属于固定成本吗
  • 没有工会的企业怎么发福利
  • 银行对公回单可以在家打印吗
  • 工程结算可以转什么科目
  • 土地出让金返还政策文件
  • 商品流通企业应将当期已销商品的进价转入当期费用
  • 股权资本成本包括什么
  • 冲减产品成本会计分录
  • 房地产计税毛利率什么意思
  • 所得税汇算清缴调整项目
  • 企业哪些研发费用可以资本化?
  • 简易计税核算方法有哪些
  • 单位给员工发工资要交税吗
  • 行政事业单位国有资产处置收入包括
  • 成品油发票长什么样
  • 作废已开具的普通发票
  • 法人借款可以做到短期借款吗
  • 租房押金收不回来怎么做账
  • efi bios u盘启动
  • 上月有留底税额,这个月有销销没有进项怎么做账
  • 企业开票附加税
  • 没有以前年度损益调整怎么办
  • 企业的营业外收入要交增值税吗
  • php+redis
  • 支付的测试报告怎么查
  • 固定资产拆除怎么处理
  • 高新企业研发费用比例
  • 营改增会计分录
  • 新成立的公司要年报吗?
  • csinsm32.exe是安全的进程吗 csinsm32进程有哪些用处
  • 电子发票查询真伪
  • 作废的普通发票,顾客联拿不回来
  • 金融企业风险资产处理相关税收政策
  • php实现创建微信群聊
  • php正则表达式匹配链接
  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  • html多页面
  • 上下联的方法
  • vant表单验证并提交表单
  • websocket前端vue
  • layui树形下拉框
  • 发票货物或应税劳务名称怎么填写
  • 一般纳税人无票收入怎么报增值税
  • 公司汽车转卖给个人税率
  • 租入厂房再转租新租赁准则如何处理
  • mysql存储引擎的作用
  • 已纳消费税扣除会计分录
  • 外币支付账户
  • 合作社注销麻烦吗
  • 执行迟延履行金的规定
  • 购买产品样品计入什么科目
  • 进项税认证未抵扣怎么做账
  • 外购商品为什么是库存商品
  • 会计的凭证怎么做账
  • sql语句实例大全
  • php 访问数据库
  • mysql获取当前行数
  • 高效内存管理
  • macos safari无法使用
  • linux修改yum
  • win7安装sqlserver2000没反应
  • bios和cmos的区别和联系
  • ubuntu 2021
  • win7winxp双系统怎么装
  • win10快速隐藏窗口
  • 删除同步中心图标
  • Win10 Mobile 10586.122 ROM安装包有多大?
  • ExtJS Grid使用SimpleStore、多选框的方法
  • javascriptz
  • 编程中的python
  • shell中使用变量
  • 山东省省级政务服务区有哪些
  • 为什么发莎
  • 住宿发票税率1%怎么回事
  • 广东省地方税务局
  • 污水处理厂房产税优惠政策
  • 公司有房屋租赁许可证吗
  • 增值税发票开具后多长时间可在查询平台查询到?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设