微信公众号的localStorage的大坑

业务流程是:工厂端分享一个邀请合作的二维码,商户这边用手机扫一扫后,关注微信公众号(已关注的老用户自动进入公众号)然后进入到公众号在面板上收到消息,合作邀请(图文字有点不对,请忽略!)接下来,在点击这个模板消息进入页面的时候需要判断一件事,当前的用户中心是否登陆了账号。第一直觉是直接去根据localStorage判断用户有没登陆。但是其实是拿不到的,通过面板的模板消息点击进入页面拿到的整个localStorage是{}。而账号确确实实是登陆了的呀。那么就说明这是两套体系,模板消息进入的页面与菜单跳转进入的页面不是共通的。上微信公众平台看了下首先我们把微信内置的第三方网页看成是在整个浏览器环境下的想法是错误的,微信这个算不上浏览器,它是用chrome改造做的一套WKwebView,概念上类似是一套组建。百度上也有很多人吐槽这个问题,cookie和session都解决。我的解决方法是在登陆账号的时候设置对应的cookie值,有效时间跟令牌或者token时间大致相同,最好是少一天。这样在外面模板消息点击进入页面时可以通过cookie来判断有没有登陆。 再提一个问题:若是本来没有登陆...

微信获取企业token流程

1、获取服务商Accesstoken(每10分钟企业微信会推送一次,两个小时后过期)2、根据suitid、accesstoken、第三方企业corpid、第三方企业permanentcode,得到第三方企业的的accesstoken(https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token....) ...

TLS调试微信

1、在微信中打开X5调试地址:http://debugx5.qq.com,信息标签,勾选打开TBS内核Inspector调试功能2、在微信中打开 TBS内核安装地址:http://debugx5.qq.com,点击安装线上内核3、https://x5.tencent.com/tbs/guide/debug/faq.html下载adb包,解压,进cmd,到所在目录,命令行运行adbdevices启动检测。4、进入调试  点击inspect就可以看到微信页面了。...
代码星球 代码星球·2020-04-01

企业微信第三方应用中文档中没有公开的两点

1、微信中看不到左下边的Menu按钮,只有一个发送消息按钮。需要让企业微信技术人员回退工作台。2、获取的部门是一串数字,人名是姓+*号,这是由于长时间不登录,权限被收回导致,需要进入企业微信从新启用即可。...

企业微信监听回退事件快速连续点击不执行关闭方法处理

企业微信有自己的jsAPI比如关闭当前网页窗口1、关闭当前网页窗口接口2、监听页面返回事件  3、普通页面一般使用popupstate实现返回,没必要使用wx.onHistoryBack,因为这个函数只有企业微信支持,在微信上不支持。varlistenerBackHandler={param:{isRun:false,returnUrl:""//防止微信返回立即执行popstate事件},//初始化返回事件initBackDirect:function(p_url){listenerBackHandler.param.returnUrl=p_url;listenerBackHandler.param.isRun=true;listenerBackHandler.listenerBack();},listenerBack:function(){varstate={title:"title",url:"#"};window.history.pushState(state,"title","#");window.addEventListener("popstate",fu...

发现一个企业微信第三方应用开发的疑似BUG

1、企业微信两个账号A(超级管理员),账号B(分级管理员),账号B具有创建应用与小程序权限。2、账号B添加一个第三方应用后(创建后能看到第三方应用),使用下图接口登录时回调的agent一直为空,3、超管账号取消账号B的这个第三方应用再添加才可以。 可以暂时使用下面接口判断 ...

企业微信第三方应用开发几个注意点

不知不觉已经搞企业微信开发2年了,公司的产品(慧人力,云报餐)目前和同行比起来算是功能比较齐全的了,平时重心主要在业务上,没有对企业微信授权流程进行笔记整理。关于企业微信API,新手看有点迷糊,如果有人讲一遍就会好很多,下面把第三方应用开发中几个不好理解的地方分享下。 1、服务商平台,创建一个非通讯录应用应用主页指的是手机端登录后访问的第一个页面,业务设置URL指的是后台访问首页(自己开发的后台,不是微信的URL),管理员。数据回调URL一般用不上,指令回调URL一般在授权通讯录变更时会从企业微信服务器回调。例如前往服务商后台页面指的就是业务设置URL 2、获取企业永久授权码当从手机端或者网页台授权时,会直接通过获取到永久授权码,不需要进行预授权码处理。3、通讯录同步  通讯录管理这些方法,不需要开启API接口同步,只需要企业用户授权一个通讯录应用即可,然后通过通讯录应用拿到accesstoken即可操作通讯录。4、没有授权通讯录情况下是无法拿到手机号隐私信息的,特殊需要单独向微信申请(一般需要通不过),之前是可以的。...

手把手教你用Python代码实现微信聊天机器人 -- Python wxpy

关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己。本篇文章同步微信公众号欢迎大家关注我的微信公众号:「醉翁猫咪」实例...

全栈开发工程师微信小程序-中(下)

全栈开发工程师微信小程序-中(下)微信小程序视图层wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元.//绑定数据index.wxml<view>{{message}}<view>index.jsPage({data:({message:'Hello'})})//组件属性//data中的数据绑定到微信小程序组件上<viewid="item-{{id}}"></view>Page({data:{id:0}})<viewwx:if="{{con}}"></view>Page({data:{con:true}})<checkboxchecked="{{false}}"></checkbox><viewhidden="{{flag?true:false}}">hello</view><view>{{a+b}}+{{c}}+d</view>Page({data:{a:1,b:2,c:3}})3+3+d<viewwx:...

全栈开发工程师微信程序-中(中)

全栈开发工程师微信程序-中(中)open-data用于展示微信开放的数据type开放数据类型open-gid当type="groupName"时生效,群idlang当type="user*"时生效,以哪种语言展示userInfo<open-datatype="groupName"open-gid="xxxxxx"></open-data><open-datatype="userAvatarUrl"></open-data><open-datatype="userGender"lang="zh_CN"></open-data>web-viewweb-view组件是一个可以用来承载网页的容器.srcwebview指向网页的链接案例:<web-viewsrc="https://mp.weixin.qq.com/"></web-view><scripttype="text/javascript"src="https://res.wx.qq.com/open/js/jweixin-1.3.2....

微信程序组件化开发框架WePY

wepy-CLI安装npminstall-gwepy-cliwepyinitstandardmy-projecthttps://github.com/Tencent/wepy特性:类Vue开发风格支持自定义组件开发支持引入NPM包支持Promise支持ES2015+特性,如AsyncFunctions支持多种编译器,Less/Sass/Stylus/PostCSS、Babel/Typescript、Pug支持多种插件处理,文件压缩,图片压缩,内容替换等支持Sourcemap,ESLint等小程序细节优化,如请求列队,事件优化等<stylelang="less">@color:#4D926F;.num{color:@color;}</style><template><divclass="container"><divclass="num"@tap="num++">{{num}}</div><div>{{text}}</div><inputv-model="text"></in...

微信小游戏2

创建画布constcanvas=wx.createCanvas()在game.js中输入以上代码并保存[外链图片转存失败(img-Raz17nJS-1564146105342)(https://upload-images.jianshu.io/upload_images/11158618-caa57a30137dbd1b.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]横向居中[外链图片转存失败(img-uK8ya6v8-1564146105344)(https://upload-images.jianshu.io/upload_images/11158618-5a3cdd40830d1041.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]context.fillRect(canvas.width/2-50,0,100,100)创建函数:functiondrawRect(x,y){//作用是每次绘制前都先清除原有矩形context.clearRect(x,y-1,1...
代码星球 代码星球·2020-04-01

微信小游戏

服务类目选择“游戏”子类目选择“休闲游戏”[外链图片转存失败(img-op5gSexF-1564063066158)(https://upload-images.jianshu.io/upload_images/11158618-219024d9349cd9ee.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)][外链图片转存失败(img-2x3HivMC-1564063066162)(https://upload-images.jianshu.io/upload_images/11158618-c48c91bc846706d7.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)][外链图片转存失败(img-2lUrPObG-1564063066163)(https://upload-images.jianshu.io/upload_images/11158618-17f79821c7546bc0.png?imageMogr2/auto-orient/strip|image...
代码星球 代码星球·2020-04-01

微信小程序倒计时实现功能

 onLoad:function(){   varthat=this;   this.data.intervarID=setInterval(function(){     varleftTime=(newDate(2017,6-1,28,17,40,0))-(newDate());//计算剩余的毫秒数     vardays=parseInt(leftTime/1000/60/60/24,10);//计算剩余的天数     varhours=parseInt(leftTime/1000/60/60%24,10);//计算剩余的小时     varminutes=parseInt(leftTime/1000/60%60,10);//计算剩余的分钟     varsecon...

微信程序获取用户信息流程

获取用户信息与其他授权不太一样,其他授权会自动弹出对话框,请求获取用户授权,但获取用户信息不回,需要引导用户点击授权按钮同意授权获取用户基本信息1、前端页面要有授权登录按钮<buttonwx:if="{{canIUse}}"open-type="getUserInfo"bindgetuserinfo="bindGetUserInfo">授权登录</button><viewwx:else>请升级微信版本</view>2、数据canIUsedata:{canIUse:wx.canIUse('button.open-type.getUserInfo')},3、如果用户已经授权则直接显示用户信息,不在显示授权按钮onLoad:function(options){//查看是否授权wx.getSetting({success(res){if(res.authSetting['scope.userInfo']){//已经授权,可以直接调用getUserInfo获取头像昵称wx.getUserInfo({success(res){console.log(...
首页上一页...8889909192...下一页尾页