yii2.0配置#开启所有路由重启RewriteEngineon#解决接收不到headerSetEnvIfAuthorization"(.*)"HTTP_AUTHORIZATION=$1#判断文件名是否为真RewriteCond%{REQUEST_FILENAME}!-f#检测固定文件名称是否匹配匹配的话路由至指定文件RewriteRule^oauth\/(.*)$oauth/index.php?%{QUERY_STRING}#判断文件名称存在判断文件夹存在RewriteCond%{SCRIPT_FILENAME}!-fRewriteCond%{SCRIPT_FILENAME}!-d#以上均布存在则跳转index.phpRewriteRule^(.*)$index.php/$1VUE根目录部署<IfModulemod_rewrite.c>RewriteEngineOnRewriteBase/RewriteRule^index\.html$[L]RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule.index.html[L]</IfModule>
this.$store.dispatch()和this.$store.commit()的本质是存取方式的不同,两个方法都是传值给vuex的mutation改变statecommit:同步操作存值this.$store.commit(‘state变量/state方法返回的值’,name)取值this.$store.state.changeValuedispatch:异步操作存值this.$store.dispatch(‘state变量/state方法返回的值’,name)取值this.$store.getters.getlistsdemo示例可以查看如下参考文献demo示例参考vuex详解参考文献如下vuex运行原理详解官方详解
yarn的安装:1、下载node.js,使用npm安装npminstall-gyarn2、安装node.js,下载yarn的安装程序:3、Yarn淘宝源安装,分别复制粘贴以下代码行到黑窗口运行即可yarnconfigsetregistryhttps://registry.npm.taobao.org-gyarnconfigsetsass_binary_sitehttp://cdn.npm.taobao.org/dist/node-sass-gyarn的常用命令:安装yarnnpminstall-gyarn安装成功后,查看版本号:yarn—version创建文件夹yarnmdyarn进入yarn文件夹cdyarn初始化项目yarninit//同npminit,执行输入信息后,会生成package.json文件yarn的配置项:yarnconfiglist//显示所有配置项yarnconfigget//显示某配置项yarnconfigdelete//删除某配置项yarnconfigset[-g|—global]//设置配置项安装包:yarninstall//安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lockyarninstall—flat//安装一个包的单一版本yarninstall—force//强制重新下载所有包yarninstall—production//只安装dependencies里的包yarninstall—no-lockfile//不读取或生成yarn.lockyarninstall—pure-lockfile//不生成yarn.lockyarnadd[package]//在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中yarnadd[package]@[version]//安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数yarnadd[package]@[tag]//安装某个tag(比如beta,next或者latest)yarnadd—dev/-D//加到devDependenciesyarnadd—peer/-P//加到peerDependenciesyarnadd—optional/-O//加到optionalDependenciesyarnadd—exact/-E//安装包的精确版本。例如yarnaddfoo@1.2.3会接受1.9.1版,但是yarnaddfoo@1.2.3—exact只会接受1.2.3版yarnadd—tilde/-T//安装包的次要版本里的最新版。例如yarnaddfoo@1.2.3—tilde会接受1.2.9,但不接受1.3.0yarnpublish移除一个包yarnremove:移除一个包,会自动更新package.json和yarn.lock更新一个依赖yarnupgrade用于更新包到基于规范范围的最新版本运行脚本yarnrun用来执行在package.json中scripts属性下定义的脚本显示某个包的信息yarninfo可以用来查看某个模块的最新版本信息缓存yarncacheyarncachelist#列出已缓存的每个包yarncachedir#返回全局缓存位置
图片问题如果在vue中某个方法请求接口数据的时候数据还没返回来而视图已经加载了,就会导致图片加载到页面失败。此时跟钩子函数无关,created钩子函数已经在页面加载前请求了数据因为是异步请求数据还未返回来视图已经加载完成了所以页面中的图片依然会不显示,解决方法:用v-if判断一下,当图片数据存在时,渲染视图。element-ui,点击el-image组件出现滚动条消失的解决方法在node_modules/element-ui/lib/element-ui.common.js第38219行添加代码if(!this.preview)return;,行号可能不一样,方法名称是一样的,所以对照一下方法名称=》clickHandler:functionclickHandler(){}input表单有时单用标签时会出现文本框禁止编辑的bug,需要配合使用页面传值跳转的方法需要在router.js声明路由其次在页面代码写click方法进行if判断,判断跳转的页面类型然后把需要的值进行传递方法名(type,val){if(type==1){this.$router.push({name:"page",query:{id:val}});},Vue请求接口的方法先import{接口名}from“.路径”;其次写方法方法名(){.then(res=>{接口名({});}).catch(err=>{});}Vue常用钩子函数之created与mounted的区别created是在模板渲染成HTML前调用的,此时data已经准备完毕,el仍是undefined,因为没有渲染成HTML,所以不能操作dom节点,它主要用来初始化一些数据mounted是在模板渲染成HTML之后调用的,此时data,el都已准备好,可以操作html的dom节点,可以通过id什么的来查找页面元素
getUrlKey:function(name){//获取url参数returndecodeURIComponent((newRegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null;}functiongetCodeApi(state){//获取codeleturlNow=encodeURIComponent(window.location.href);letscope='snsapi_base';//snsapi_userinfo//静默授权用户无感知letappid='wx4cc5d5c123123123';leturl=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${urlNow}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`;window.location.replace(url);}created(){letcode=getUrlKey("code");if(code){//调用接口获取openId参考文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842getOpenIdApi(code).then(res=>{letopenId=res.openId;window.location.replace("/#/login");}).catch(res=>{window.location.replace("/#/login");})}else{getCodeApi("123");}}