Vue 前端开发微信公众号总结_vue 微信公众号_Bayi·的博客-程序员宅基地

技术标签: vue  前端  

1.vue开发微信公众号页面需要的工具

  • vs code
  • 微信开发者工具,用来调试公众号页面

2.会遇见的坑

  • 用户使用微信公众号需要授权,而授权是需要跳到小程序的授权页面来进行的,用户授权完毕,微信会自动跳回公众号页面
    //local就是完成授权后,微信会跳转的页面
    const local = "http://xxxxx.com";
    
    var wxappid = "wx321321321321";
    var url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${wxappid}&redirect_uri=${local}/&response_type=code&scope=snsapi_userinfo&state=0#wechat_redirect`;
    
    //window.location.replace(url) 将目前浏览器的地址替换掉,调用这个方法的网页,将不会被写入浏览记录
    window.location.replace(url);

    授权流程:前端拿到 返回的code,扔给后端,后端拿code去换取openId等用户信息。

  • // 通过路由守卫判断用户是否授权
    router.beforeEach((to, from, next) => {
        // 如果本地以存有 openId,说明用户已经登录,执行next放行
      let openId = sessionStorage.getItem("openId");
      if (openId) {
        next()
      } else {
        // 如果本地没有openId,就去路由中看看有没有用户授权后返回的code,然后拿code去和服务器换openId
        let code = getUrlKey("code");
        if (code) {
          api.getOpenId(code).then((res) => {
            sessionStorage.setItem("openId", res.openid);
            next()
          });
        } else {
          const local = window.location.href;
          var wxappid = "xxxxxxx";
          var url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${wxappid}&redirect_uri=${encodeURIComponent(local)}&response_type=code&scope=snsapi_userinfo&state=0#wechat_redirect`;
    
          window.location.replace(url);
        }
      }
    })
    // 获取授权后的参数
    function getUrlKey(name2) {
      var reg = new RegExp("(^|&)" + name2 + "=([^&]*)(&|$)");
      let url = window.location.href.split("#")[0];
      let search = url.split("?")[1];
      if (search) {
        var r = search.substr(0).match(reg);
        if (r !== null) return unescape(r[2]);
        return null;
      } else {
        return null;
      }
    }

     

  •  使用vue进行开发,npm run serve 后只会在本地运行,并不能作为上面说的 local 的跳转地址! 非常坑。 十分不利于开发调试,解决办法:让后端同学配置 内网穿透 ,或者模拟登录(假数据,等完成流程打包上线在接入授权步骤),最干脆的办法就是前后端不分离,写完页面扔给后端让他套版去!毕竟公众号的本质就是 H5页面

     

个人经验,如有错误请及时告知。谢谢

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42044542/article/details/115249791

智能推荐

被裁后入职拼多多,年薪50W,网友:感谢公司裁员之恩!-程序员宅基地

阿风是我认识蛮久的一个Java程序员,上半年由于疫情原因被不幸裁员,当时我还安慰他,今年环境不好,各大公司都在缩减编制,想着找工作肯定很难。但出乎意料的是,他准备了两个月,就拿到了拼多多..._拼多多年薪50万算什么水平

autosys start_mins-程序员宅基地

date_conditions: yrun_window: "01:00 - 20:00"days_of_week: mo,tu,we,th,frstart_mins: 02,32

使用logcat让Android应用支持查看实时日志并输出至界面显示功能_android 日志显示view-程序员宅基地

不使用USB线接Android设备连接电脑,也不用电脑上装Android studio和logcat工具,如何查看应用的实时日志呢?方法还是有的。先附图:看这功能是不是很赞?机器强大了就是好啊,有好多创新可以派上用场了。后续继续探索新鲜的新功能。运维的兄弟们可以松口气了,给你们减减压。日志排查获取从此如此简单。甚至可以给手机互通,日志显示到你手机上也能。且日志还是实时输出的..._android 日志显示view

三极管原理_三极管工作原理csdn-程序员宅基地

内容来源为21ic整理,侵权请联系删除。1. 基本结构和类型半导体三极管的结构示意图如图1所示。它有两种类型:NPN型和PNP型。包含三层半导体:基区(相连电极称为基极,用B或b表示); 发射区(相连电极称为发射极,用E或e表示);集电区(相连电极称为集电极,用C或c表示)。 E-B间的PN结称为发射结, C-B间的PN结称为集电结。图1 两类三极管示意图及图形符号2. 电流分配与放大半导体三极管..._三极管工作原理csdn

医院局域网设计方案计算机,某医院无线网络设计方案_兔农农的博客-程序员宅基地

原标题:某医院无线网络设计方案一、项目背景xx医院分院区是一所三级甲等医院,占地面积2万平方米,建筑面积近1.4万平方米,医院拥有高级专业技术人才100余名,开设 床位508张。年门急诊量5.3万人次,年出院患者约9千人次。设置内科14个;外科11个;医技科室6个;省级重点实验室1个;重点打造了四个省级临床医学中心。应院方要求,对院区 综合门诊楼(1-7楼), 2号内科楼(1-3楼), 3号内科楼..._医院局域网设计方案

随便推点

BUG集锦-【org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)】_org.apache.ibatis.binding.bindingexception: type i-程序员宅基地

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.wotelsat.orbcomm.dao.NextUtcMapper.selectNextUTC at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>..._org.apache.ibatis.binding.bindingexception: type interface dao.usersdao is n

台湾TST嘉硕晶体晶振SAW滤波器的介绍和在电路中的应用_晶体滤波器-程序员宅基地

台湾TST嘉硕晶体晶振SAW滤波器的介绍和在电路中的应用_晶体滤波器

linux va list,vsprintf函数以及va_list使用详解-程序员宅基地

今天写AVR单片机程序,看串口通讯函数:void UART1_Printf(char *fmt,...){va_list ap;char string[128];va_start(ap, fmt);vsprintf(string, fmt, ap);UART1_SendString(string);va_end(ap);}不解。查找了一下用法,记录如下:VA_LIST的用法( VA_LIST 是在..._linux va_list

VS2017调用MATLAB打包的DLL文件时,总是出现mwArray或者函数未定义的问题_matlab2018打包dll需要mwarray2.19_H1596355913的博客-程序员宅基地

VS2017调用MATLAB打包的DLL文件时,总是出现mwArray或者函数未定义的问题_matlab2018打包dll需要mwarray2.19

分分钟带你搞定Android开发圆形头像-程序员宅基地

转载:http://blog.csdn.net/kjunchen/article/details/50573326目前在应用开发中,矩形的头像基本没有了,大多是圆形或圆角矩形,本文简简单单轻轻松松帮你搞定圆形或圆角矩形的头像。可以自定义控件实现,而本文使用的是第三方开源控件RoundedImageView,改控件支持圆形、椭圆、圆角矩形等,使用非常方便。添加RoundedImageView依赖使用