wp rest api 使用心得

偶看最近一直在使用AngularJS,通过RESTful API与后端交换数据。最近在制作Wordpress网站,也想试试RESTful API——WP REST API (WP API)插件(https://wordpress.org/plugins/json-rest-api/)。

WP REST API插件的使用还是非常简单的,在Wordpress后台下载安装好WP REST API插件后,启用插件,注意:要先开启Wordpress的固定链接才行。在网站地址添加/wp-json/即可访问。

WP REST API插件的文档地址 http://wp-api.org/,都是英文,其中基本的应用就是posts,用的比较多的就是filter功能。比如 /wp-json/posts?filter[s]=awesome,”s“代表参数包括:m、p、posts、w、cat、withcomments、withoutcomments、s、search、exact、sentence、calendar、page、paged、more、tb、pb、author、order、orderby、year、monthnum、day、hour、minute、second、name、category_name、tag、feed、author_name、static、pagename、page_id、error、comment、s_popup、attachment、attachment_id、subpost、subpost_id、preview、robots、taxonomy、term、cpage、post_type、posts_per_page。只要熟悉JSON数据的处理,就能够组合出任何想要的内容。

微信内置浏览器对HTML5的支持情况—基于安卓系统

偶看使用的是微信6.1版本,小米4, MIUI6.3.10.0(KXDCNBL)稳定版,安卓版本4.4.4KTU84P,除了MIUI默认的浏览器,没有安装其他浏览器,在html5test的测试结果为 https://html5test.com/s/29f5f0263ff38312.html 。大家也可以在这个网站上测试下自己手机上微信浏览器的支持情况,欢迎留言测试结果,并说明手机的基本情况(微信版本、手机系统版本、是否有安装其他浏览器等)。

wechat-html5test

微信内置浏览器对HTML5支持情况,在满分555分中获得396分,成绩还是非常不错的,因为IE11才336分,而IE8则只有33分(各个浏览器的得分可以查看 https://html5test.com/results/desktop.html )。当然,对比移动端的浏览器,396,也算是中规中矩( https://html5test.com/results/mobile.html )。

从微信内置浏览器对HTML5支持情况的测试来看,主要有以下几个功能完全没有得分,包括:Responsive images、3D Graphics、Peer To Peer、Streams。其他基本的HTML5功能都支持。

Angularjs ui-router使用心得

最新,团队们在使用Angularjs制作一个全新的网站。偶看负责制作的部分是网站管理后台的导航页面。

在路由方面,我们使用Angularjs ui-router,而没有使用Angularjs原生的ng-router,因为Angularjs ui-router功能更强大。

目前第一阶段使用了Angularjs ui-router的一些很基础的功能——state和sub state,例如:

.config(
  [          '$stateProvider', '$urlRouterProvider',
    function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
        .state('index', {
            url: '/',
            templateUrl: 'views/admin/index.html'
        })
            .state('index.welcome', {
                url: "/welcome",
                templateUrl: "views/admin/index/welcome.html",
                })

}]);

在views的html代码为

<div class="row wrap">
<div class="col-md-2 sidebar">
    <ul>
      <li><a ui-sref=".welcome">新手上路</a></li>
    </ul>
</div>
<div class="col-md-10 main">
    <div ui-view></div>
</div>
</div>

偶看是第一次使用Angularjs进行网站制作,还有很多需要学习的。

通过JS将整数拆分为多个整数之和

通过JavaScript将一个整数拆分为多个整数之和,如果是普通需求可以按照以下代码

		var num = 100; //定义整数
		var amount= 7;  //定义多个整数的数量
		var numArr = [];
		while(amount > 1){
		    var rnd = Math.floor(Math.random() * num); //通过JS的随机函数生成随机数
		    num -= rnd;
		    numArr.push(rnd);
		    amount --;
		}
		numArr.push(num);
		console.log(numArr);

可以生成随机数组,例如:[50, 16, 24, 2, 2, 0, 6] 、[66, 14, 4, 4, 8, 1, 3] 等。

通过修改num 和 amount 可以定义不同的整数和需要拆分的整数个数。

新浪云平台服务故障

日志

偶看制作的几个网站有使用新浪云平台的CDN服务(http://lib.sinaapp.com)。可是最近新浪云平台竟然服务故障,而且这故障时间还有点长。偶看只好将前端库的地址修改为360的CDN服务(http://libs.useso.com)。

偶看博客建立数据库连接时出错

偶看刚刚登陆博客的时候,网站出现大大个的提示——建立数据库连接时出错。偶看在想,不应该啊,最近啥也没做。

偶看尝试登陆后台,系统提示“一些数据表不可用。也许需要修复数据库。”,点击”修复数据库“,提示在配置文件添加

(‘WP_ALLOW_REPAIR’, true);

在配置文件添加好以上代码后,点击修复数据库,系统提示:

wp_users数据表正常。

wp_usermeta数据表正常。

wp_posts数据表正常。

wp_comments数据表正常。

wp_links数据表正常。

wp_options数据表正常。

wp_postmeta数据表正常。

wp_terms数据表正常。

wp_term_taxonomy数据表正常。

wp_term_relationships数据表正常。

wp_commentmeta数据表正常。

修复完成。请移除刚刚在wp-config.php中添加的那行代码,以防他人滥用本页面。

define(‘WP_ALLOW_REPAIR’, true);

修复成功,偶看博客已经能够正常访问了。

看来Wordpress的修复还真是简单方便,只是偶看不知道数据库哪里出了问题。

微信平台中关键词回复的四种匹配类型

微信平台中关键词匹配有四种类型:完全匹配、左边匹配、右边匹配和模糊匹配。

微信关键词类型

微信关键词类型

 

注意:关键词区分大小写。

完全匹配:只有在关键词完全等于设置的关键词的时候才会触发,编程中为 == 或 ===

微信关键词设置

微信关键词设置

左边匹配:只要回复关键词中的左边部分与设置的关键词相同时候才会触发,编程中为 like ‘key%’,例如:后台设置关键词“偶看”为左边匹配,内容是“偶看左边匹配”,那么回复“偶看博客”,可以触发回复。

左边匹配

左边匹配

右边匹配:只要回复关键词中的右边部分与设置的关键词相同时候才会触发,编程中为 like ‘%key’,例如:后台设置关键词“oukan”为右边匹配,内容是“oukan右边匹配”,那么回复“hioukan”,可以触发回复。

右边匹配

右边匹配

模糊匹配:只要回复关键词中与设置的关键词的任意位置相同就会触发,编程中为 like ‘%key%’,例如:后台设置关键词“ok”为右边匹配,内容是“OK,模糊匹配又是啥?”,那么回复“I am ok!”,可以触发回复。

模糊匹配

模糊匹配

Joomla百度地图模块——偶看百度地图模块1.0

Joomla的谷歌地图模块有很多,偶看之前有介绍过,详情查看:Joomla Googlemaps Plugin 囧啦谷歌地图插件介绍。对于开发人员来说,可以使用百度地图的开放API来实现百度地图的自定义功能(这个需要KEY)。

为了简便操作,偶看通过http://api.map.baidu.com/lbsapi/creatmap/index.html的相关功能,将其制作成Joomla百度地图模块。

Joomla偶看百度地图模块1.0的主要功能

  • 无需百度地图key,即装即用
  • 通过经度和纬度来定位地图
  • 设置当前地图级别
  • 设置标注的标题和内容
  • 设置地图的高度和宽度

由于是模块,只需将其放置在指定模块位置即可使用。

演示效果:

baidu-map

baidu-map-demo

模块下载:

新浪微盘下载:http://vdisk.weibo.com/s/zoJcnwD8QhwV_

git地址:http://git.oschina.net/oukan/Joomla_module

演示地址:http://www.hec-al.com/service/traffic.html

 

Joomla! 3新手教程中文版 17.Joomla管理后台-扩展(模块、插件、模板、语言管理)

模块管理

Joomla模块管理是用于显示、添加、编辑、复制、发布、取消发布、删除模块。在Joomla中,模块用来显示内容和媒体。

joomla模块管理

新建——允许您在任何位置创建模块。您可以选择下面的模块类型来创建。

joomla新建模块

模块可以用于您网站的前端,也可以用于Joomla管理后端。在左上角,您可以切换查看模块位置。

插件管理

插件是Joomla的扩展。插件提供系统触发相关事件的功能。Joomla核心插件附带了一些事件。这是Joomla框架强大的扩展功能。

插件管理提供了编辑、启用、禁用和签入功能

模板管理

模板管理允许您为网站指定一个Joomla默认模板。

joomla模板管理

模板管理提供了设为默认、编辑、复制和删除功能

Joomla 3 默认有两款前台模板和两款后台模板

joomla默认模板

语言管理

语言管理显示网站上的可用语言。这些语言适用于Joomla核心文件,不会影响任何组件和可能使用的模块。

joomla语言管理

语言管理包含默认语言和安装语言选项。

Joomla! 3新手教程中文版 16.Joomla管理后台-扩展(扩展管理)

Joomla扩展菜单栏包含五个子菜单。在这里允许您安装Joomla网站扩展。使用标准扩展包,来为Joomla添加功能。已经有成千上万的扩展包可用于Joomla 3。

joomla扩展

扩展管理

扩展管理可以安装组件、插件、模块、模板和语言。在左边,您会看到以下七个链接。

joomla扩展管理

安装

安装是扩展管理的主界面。在这里您可以安装Joomla的扩展、插件、组件和模板。Joomla扩展安装可以使用以下三种方法。

上传压缩包文件:通过上传本地文件来安装Joomla功能扩展

从文件夹安装:从文件夹安装,必须是网站目录下的文件件,一般为tmp文件夹

通过网址远程安装:通过网址远程安装

更新

joomla扩展-更新

更新工具条

当扩展可以更新的时候,可以选中扩展点击更新按钮。

管理

joomla扩展-管理

管理工具条

管理界面可以启用、禁用、刷新缓存、卸载网站中的扩展。

检测

在检测界面允许你去检测有没有经过正常的安装过程的扩展。

例如,由于主机配置限制,用Web接口上传对于某些扩展可能文件太大。使用此功能,你可以使用其它一些方式例如FTP或SFTP直接上传扩展文件到你的Web服务器,并把这些扩展文件放到适当的目录。

你可以使用检测功能查找新上传的扩展并在您的 Joomla! 安装管理器激活它。

使用检测操作你还可以同时检测并安装多个扩展。

数据库

在数据库界面显示数据库模式版本、数据库驱动程序和数据库改动的详细信息。让您的数据库出现问题,可以点击“修复”按钮来修复数据库。

如果您的数据库与官方版本不同,将会显示具体的错误信息。

正常情况显示“其他信息”

  • 数据库模式版本(在 #__schemas):3.3.0-2014-04-02。
  • 升级版本(在 #__extensions):3.3.0.beta2。
  • 数据库驱动程序:mysqli.
  • 已成功检测到83处数据库的变动。
  • 137处数据库的变动未涉及数据表结构的变化,因此被跳过。

警告

它将显示安装扩展时的警告。安装扩展的任何问题都可以在这里看到。

安装语言

Joomla语言安装,Joomla 3共有105种语言。

点击“搜索语言”,可以查看相关语言,点击“安装”即可将语言包安装到Joomla网站上。

Joomla! 3新手教程中文版 15.Joomla管理后台-组件

组件是Joomla的一种扩展。组件是Joomla的主要功能单元!它们被视为小应用。

大多数的Joomla组件包含两个部分:administrator和site部分。site部分用于呈现网站页面的正常操作。administrator部分,通过Joomla应用程序管理提供一个接口来配置和管理不同的方面的组件。

Joomla3有一些内置的核心组件,包括:Joomla!升级、友情链接、安装后信息、新闻联播、旗帜广告、智能搜索、标签、站内信息、站内搜索、联系我们和重定向等。

joomla组件

旗帜广告

旗帜广告组件提供网站展示横幅广告的功能。旗帜广告管理器可以编辑、创建和删除广告。您还可以选择发布或者取消发布广告。

联系我们

所有的网站都需要联系表单。联系我们组件可以创建表单,并显示在页面或者链接到菜单上。

让我们创建一个联系表单,并链接到前端网站的菜单栏上。
登陆到Joomla!后台管理界面,点击:组件——联系我们——新建——填写姓名并关联用户,并输入相关信息——保存并关闭
创建新的联系人

现在,我们将新创建的联系人(Buyer)放在首页。

点击:菜单——Top——添加新的菜单项——在菜单类型选择“联系我们-单个联系人”——选择联系人Buyer,在菜单标题输入“Contact”——保存并关闭。

添加新的菜单并链接到联系人

joomla-zj-lxwm

刷新网站首页,可以在Top菜单的位置看到“Contact”菜单项。

joomla-zj-lxwm-bj

Joomla!升级

Joomla!升级组件允许您在线升级网站。

站内信息

站内信息组件允许您发送私人消息给网站的其他用户。在Joomla管理界面可以很方便地联系网站中的用户。

新闻联播

新闻联播组件允许您通过Feeds将其他网站的文章转载发布到您的网站上。

重定向

重定向是一个优秀的组件。它可以将不存在的页面地址重定向到一个有效的页面地址上。它的主要功能是提供一个便于管理员管理重定向WEB页面URL的机制。您必须配置好mod_rewrite模块,并为Joomla开启重定向功能。

智能搜索

智能搜索默认是禁用的,您必须启用它才能使用它。

它的自动完成和“猜测”功能(词干处理)为Joomla核心添加了更灵活和快速的“智能化”搜索引擎。

友情链接

友情链接组件允许您添加、编辑和删除链接到其他网站。您可以将这些链接显示在网站上,也可以让游客添加新的链接。

友情链接的的显示方法有两种:一种是添加一个指定分类的友情链接模块,另一种是创建一个友情链接的菜单。