今天又遇到一个问题

使用apisauce进行post请求时,PHP端接收到的POST为空

=================

解决啦! 就是apisauce是用的axios来进行 http 通信的,axios的 post 其实是传的payload,根据一些巴拉巴拉的原因,不能传标准的POST数据吧,我是这么理解的吧,anyway,php中这样获取

by the way post这时候是 stdClass类型的,不是数组,不是数组,不是数组!

react-router的动态参数问题

今天遇到一个问题,就是我有一个route 是这样的

好了,我在这个Newlist控件中, 使用fid 来获取数据,然后空间中有Link 到其他的fid 的 Newlist 元素。

问题出现了,点击后 页面不会变,至少看上去是这样。

这其实是params 改变了,但是没有触发控件的update事件。

解决方法就是我们手动刷新控制一下

这样就行了。

参照ignite丰富构建了react工程

 

react+redux+saga+apisauce

saga 主要作用在redux 的 thunk的中间件上,替换了redux-thunk中间件。

监听action 处理。

redux 的存储+ saga 写成了这样。

 

saga部分这样写

这个某一个saga文件

 

一些ignite的注释我都没有去除,有时候还需要看一下。

react-router 这块还没怎么研究透彻。

未完待续……

搭建React项目工程方法(ES6)

主要是这么几个点:npm、webpack、webpack-dev-server、

 

 

准备build/ index.html文件

 

在package.json 文件中添加

 

webpack.config.js 文件这么写

 

在项目目录下新建index.js 文件

 

然后运行 npm run dev

这样就可以愉快的写写写了,需要什么库就npm install –save 即可,当然目录结构还不是很好,自己的情况自己再安排一下就好。

打包的时候 执行此命令:
npm run build -p

VIM-配置文件

这个是我在windows 上配置 gvim的配置文件,包括了一些插件的设置,命令行使用的时候注意去除或者做相应的 gui判断。

” disable VI’s compatible mode..
set nocompatible
set encoding=utf-8
set fileencodings=utf-8,gbk,default,latin1
“set gui options
if has(“gui_running”)
set guifont=DejaVu_Sans_Mono:h12
” set color schema
colorscheme cobalt
endif
set ff=unix
” Enable syntax highlight
syntax enable
syntax on
” Show line number
set nu
” show matching bracets
set showmatch
” Basic editing options
set expandtab
set shiftwidth=2
au FileType html,python,vim,javascript setl shiftwidth=2
au FileType html,python,vim,javascript setl tabstop=2
au FileType java,php setl shiftwidth=4
au FileType java,php setl tabstop=4
set smarttab
set lbr
set tw=0
“Auto indent
set ai
” Smart indet
set si
” C-style indeting
set cindent
” Wrap lines
set wrap

“let Tlist_Show_One_File=1
“let Tlist_Exit_OnlyWindow=1

let g:winManagerWindowLayout=’FileExplorer|TagList’
nmap wm :WMToggle<cr>

let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

set backspace=indent,start
set so=15

“””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
” => Plugin configuration
“””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
” taglist
let Tlist_Auto_Highlight_Tag = 1
let Tlist_Auto_Open = 1
let Tlist_Auto_Update = 1
let Tlist_Close_On_Select = 0
let Tlist_Compact_Format = 0
let Tlist_Display_Prototype = 0
let Tlist_Display_Tag_Scope = 1
let Tlist_Enable_Fold_Column = 0
let Tlist_Exit_OnlyWindow = 0
let Tlist_File_Fold_Auto_Close = 0
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Inc_Winwidth = 0
let Tlist_Max_Submenu_Items = 1
let Tlist_Max_Tag_Length = 30
let Tlist_Process_File_Always = 0
let Tlist_Show_Menu = 0
let Tlist_Show_One_File = 0
let Tlist_Sort_Type = “order”
let Tlist_Use_Horiz_Window = 0
let Tlist_Use_Right_Window = 1
let Tlist_WinWidth = 40
let tlist_php_settings = ‘php;c:class;i:interfaces;d:constant;f:function’

React-Native 开发App 默认情况不能连网的说明

在Info.plist文件中有一个设置,设置app可以链接哪些网络,

默认是只有localhost ,别的没有设置 那么就是不能链接了

我们可以简单粗暴的添加

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

或者研究针对某一个域名的网络链接

4分钟内做一个网页设计

https://github.com/jgthms/web-design-in-4-minutes

body {
margin: 0 auto;
max-width: 50em;
font-family: “Helvetica”, “Arial”, sans-serif;
line-height: 1.5;
padding: 4em 1em;
color: #566b78;
}

h2 {
margin-top: 1em;
padding-top: 1em;
}

h1,
h2,
strong {
color: #333;
}
code,
pre {
background: #eee;
}

code {
padding: 2px 4px;
vertical-align: text-bottom;
}

pre {
padding: 1em;
}
a {
color: #e81c4f;
}

code,
pre {
background: #f5f7f9;
border-bottom: 1px solid #d8dee9;
color: #a7adba;
}

pre {
border-left: 2px solid #69c;
}

header {
background-color: #263d36;
background-image: url(“header.jpg”);
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
line-height: 1.2;
padding: 10vw 2em;
text-align: center;
}
header img {
display: inline-block;
height: 120px;
vertical-align: top;
width: 120px;
}

header h1 {
color: white;
font-size: 2.5em;
font-weight: 300;
}

header a {
border: 1px solid #e81c4f;
border-radius: 290486px;
color: white;
font-size: 0.6em;
letter-spacing: 0.2em;
padding: 1em 2em;
text-transform: uppercase;
text-decoration: none;
transition: none 200ms ease-out;
transition-property: color, background;
}

header a:hover {
background:  #e81c4f;
color: white;
}

简单一点就是 这些css 放到网页里,样子很好看

利用let’sencrypt给owncloud加https

搭建owncloud并不想多说
https://doc.owncloud.org/server/9.0/admin_manual/installation/nginx_owncloud_9x.html 官网文档看一看

使用let’sencrypt 更多的是使用 certbot

certbot 安装过程中遇到了 python installing package…… 卡住的问题,后来使用了 pip 国内镜像解决,又是GFW的锅 !

certbot安装好以后,就可以生成证书以及相关文件了,由于owncloud的配置的坑,我最终使用的手动方式为owncloud生成

大概就是这样,一开始有问题主要是验证不能通过,是nginx 配置文件中rewrite的原因,

配置文件中有一条

看到那个点了吗? 就是它 把它先删除一下,然后.well-known/acme-challenge 就可以访问的到啦,验证通过。

生成的证书在 /etc/letsencrypt/live下面

然后参照 https://s.how/nginx-ssl/ 这里 把nginx 相关的配置都完善完善就可以了。

啊,这个证书是三月的,还牵扯续签问题,续签就直接在crontab中加入一条

/path/to/certbot-auto renew 就可以了

脚本会自己判断是否过期,所以这个脚本你每天每月执行都没关系啦