微信公众号的localStorage的大坑

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

C++ vector和list的主要用法区别

vector可以直接通过下标访问,list不可以1、vectorfor(inti=0;i<userTypes.size();i++){str=userTypes[i].typeName;}2、listfor(plist=list.begin();plist!=list.end();plist++)cout<<*plist<<"";vector拥有一段连续的内存空间,能很好的支持随机存取,因此vector<int>::iterator支持“+”,“+=”,“<”等操作符。list的内存空间可以是不连续,它不支持随机访问,因此list<int>::iterator则不支持“+”、“+=”、“<”等vector<int>::iterator和list<int>::iterator都重载了“++”运算符。...

Baidu UEditor .net 下修改默认上传路径

publicoverridevoidProcess(){byte[]uploadFileBytes=null;stringuploadFileName=null;if(UploadConfig.Base64){uploadFileName=UploadConfig.Base64Filename;uploadFileBytes=Convert.FromBase64String(Request[UploadConfig.UploadFieldName]);}else{varfile=Request.Files[UploadConfig.UploadFieldName];uploadFileName=file.FileName;if(!CheckFileType(uploadFileName)){Result.State=UploadState.TypeNotAllow;WriteResult();return;}if(!CheckFileSize(file.ContentLength)){Result.State=UploadState.SizeLimitExceed;WriteResul...

JS组件系列——Form表单验证神器: BootstrapValidator

前言:做Web开发的我们,表单验证是再常见不过的需求了。友好的错误提示能增加用户体验。博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator。今天就来看看它如何使用吧。介绍它之前,还是给出它的源码以及API的地址吧。bootstrapvalidator源码:https://github.com/nghuuphuoc/bootstrapvalidatorboostrapvalidatorapi:http://bv.doc.javake.cn/api/1、初级用法来看bootstrapvalidator的描述:AjQueryformvalidatorforBootstrap3。从描述中我们就可以知道它至少需要jQuery、bootstrap的支持。我们首先引入需要的js组件  <scriptsrc="~/Scripts/jquery-1.10.2.js"></script><scriptsrc="~/Content/bootstrap/js/bootstrap.min.js"></script>...

CentOS7和Ubuntu18.10下运行Qt Creator出现cannot find -lGL的问题的解决方案

解决方法:缺少相应的opengl的库,需要安装opengl库有两种原因:一种是没有按照libGL库,那么就安装:sudoapt-getinstalllibgl1-mesa-dev一种是装了,但是libGL动态链接库的路径不对,那么就配置一下路径:$locatelibGL/usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0/usr/lib/x86_64-linux-gnu/libGLU.so.1/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1/usr/lib/x86_64-linux-gnu/mesa/li...

WebStorm工具插件下载安装

  在webstorm工具中安装插件,找到File->Setting->Plugins 然后搜索你想要的插件安装即可。例如,我们安装weex插件 ...

Qtcreator中常用快捷键总结

F1       查看帮助F2       跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2   声明和定义之间切换F4       头文件和源文件之间切换Ctrl+1        欢迎模式Ctrl+2       编辑模式Ctrl+3       调试模式Ctrl+4       项目设置模式Ctrl+5       帮助模式   Ctrl+6&n...

C++ vector 的 begin()、end()、front()、back() 区别

 STL中实现源码可见:http://www.cplusplus.com/reference/vector/vector/begin/ 一、begin函数函数原型:iteratorbegin();const_iteratorbegin();功能:返回一个当前vector容器中起始元素的迭代器。 二、end函数函数原型:iteratorend();const_iteratorend();功能:返回一个当前vector容器中末尾元素的迭代器。 三、front函数函数原型:referencefront();const_referencefront();功能:返回当前vector容器中起始元素的引用。 四、back函数函数原型:referenceback();const_referenceback();功能:返回当前vector容器中末尾元素的引用。 可以通过使用*vector.begin()或*vector.end()来获得vector中第一个或最后一个的值;也可以直接使用vector.front()、vector.back()来得...

java.util.concurrent详解(三)ScheduledThreadPoolExecutor

6.ScheduledThreadPoolExecutor   我们先来学习一下JDK1.5API中关于这个类的详细介绍:   "可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求ThreadPoolExecutor具有额外的灵活性或功能时,此类要优于Timer。   一旦启用已延迟的任务就执行它,但是有关何时启用,启用后何时执行则没有任何实时保证。按照提交的先进先出(FIFO)顺序来启用那些被安排在同一执行时间的任务。   虽然此类继承自ThreadPoolExecutor,但是几个继承的调整方法对此类并无作用。特别是,因为它作为一个使用corePoolSize线程和一个无界队列的固定大小的池,所以调整maximumPoolSize没有什么效果。"   在JDK1.5之前,我们关于定时/周期操作都是通过Timer来实现的。但是Timer有以下几种危险[JCIP]a.Timer是基于绝对时间的。容易受系统时钟...

MultiselectItemSelector 多选框

改造自MultiselectItemSelector(http://extjs.com/learn/Extension:Multiselect)。原有代码在关闭该控件以后,会遗留大量无效代码,因此,自己用一个panel+2个grid来实现,暂不支持拖拽。Ext.namespace('Ext.ux')Ext.ux.IconPanel=function(config){Ext.apply(this,config);Ext.ux.IconPanel.superclass.constructor.call(this,config);}Ext.extend(Ext.ux.IconPanel,Ext.Panel,{imagePath:'',drawUpIcon:true,drawDownIcon:true,drawLeftIcon:true,drawRightIcon:true,drawTopIcon:true,drawBotIcon:true,//style:'padding-left:5px;padding-right:5px',initComponent:function(){Ext.ux....
当地较为有名的狠人 当地较为有名的狠人·2020-03-29

全面分析iterator(迭代器)模式,以及具体java实例

先上一个iteratordesignpattern(迭代器模式)的类图。Aggregat是一个抽象的集合体,ConcreteAggregat是Aggregat的一种实现,iterator表示一个迭代器的通用接口。在javaAPI中这个接口的定义为:java.utilinterfaceIterator<E>{booleanhasNext();Enext();voidremove();}ConcreteIterator是针对于ConcreteAggregate这个特定的集合体对Iterator的一个实现。注意ConcreteIterator和ConcreteAggregate的关系是关联,也就是ConcreteIterator中包含一个ConcreteAggregate的实例,而接口函数的实现(implement)正是基于这个实例。反之ConcreteAggregate和ConcreteIterator的关系是依赖,意思就是ConcreteAggregate的一些方法的实现一些功能的实现需要依赖于ConcreteIterator,在具体java语言中这一点体现在classCon...
当地较为有名的狠人 当地较为有名的狠人·2020-03-29

junit调试spring报错org/apache/commons/logging/LogFactory

 如果用junit调试spring报错:"java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory "那么说明缺少了个commons-logging.jar,这个很常见,是使用spring的必备包,用来记录程序运行的日志。  加进去,就ok了!   另外网上有人说用log4j的jar再配置个log4j.properties的话,也可以,但是我试过了,完全不行,还是报错。 ⊙_⊙附件附上commons-logging.jar吧,免得大家到处找。^_^还有什么好方法或者疑问和意见欢迎大家提出来一起讨论!...
当地较为有名的狠人 当地较为有名的狠人·2020-03-29

HTML编辑器FCKeditor使用详解

  本文介绍FCKeditor在Java环境下的使用方法。一、简介功能:所见即所得,支持图片和Flash,工具栏可自由配置,使用简单兼容性:IE5.5+、Firefox1.5+、Safari3.0+、Opera9.50+、Netscape7.1+、Camino1.0+成熟度:使用广泛,被Baidu、CSDN等选用二、下载官方下载首页:http://www.fckeditor.net/download/,当前版本为2.5.1需要下载FCKeditor2.5.1(FCKeditor_2.5.1.zip)和FCKeditor.Java(FCKeditor-2.3.zip)三、部署本例以WebRoot作为应用根路径,部署后的目录结构如下图所示:1、FCKeditor_2.5.1.zip解压,将fckeditor文件夹复制到/WebRoot/下2、FCKeditor-2.3.zip解压,将commons-fileupload.jar和FCKeditor-2.3.jar复制到/WebRoot/WEB-INF/lib/下3、修改/WebRoot/WEB-INF/web.xml文件...
当地较为有名的狠人 当地较为有名的狠人·2020-03-29

thinkphp5使用Markdown编辑器Editor.md并上传图片

Editor.md官网:https://pandao.github.io/editor.md/index.html下载后解压放到项目内,和引入ueditor差不多1、引入项目资源<!--markdown编辑器--><scriptsrc="{$Think.config.__STATIC__}/admin/plus/editormd/jquery.min.js"></script><linkrel="stylesheet"href="{$Think.config.__STATIC__}/admin/plus/editormd/css/editormd.css"/><scriptsrc="{$Think.config.__STATIC__}/admin/plus/editormd/editormd.min.js"></script>2、在自己的页面中加上对应的id<divid="test-editormd"><textarea></textarea></div>3、配置编辑...

phpstorm使用

生成注释快捷键/**+enter注释快捷键ctrl+/...
IT猿 IT猿·2020-03-28
首页上一页...152153154155156...下一页尾页