您的位置:首页 > 其它

SNS基础

2016-04-28 20:59 369 查看
声明:由于本人确实需要这些信息,又担心原网站挂掉,导致我无法维护自己系统,因此复制这些,如有侵权,请告知。感谢系统相关人员:

网址:http://os.opensns.cn/book/index/read/id/2.html

基础

基础知识

1.相关

获取OpenSNS的方式很多,官方网站(http://www.opensns.cn/ )是最好的下载和文档获取来源。

官网提供了稳定版本的下载:http://www.opensns.cn/download.html

如果你希望保持最新的更新,可以通过github获取当前最新的版本(完整版)。

Git获取地址列表(你可以选择一个最快的地址):

Git git@OSChub: http://git.oschina.net/yhtt2020/OpenSNS-V2

OpenSNS基于这些出色的开源项目基础之上,排名不分先后,感谢作者的无私贡献。

前端及后端的UI框架 ZUI(Bootstrap的改进版本) less

PHP框架 (ThinkPHP)

2.开发环境的准备

系统要求:

PHP版本必须是5.3以上,因为框架使用到了namespace命名空间,5.2是不支持的。

Mysql版本5.0即可,一般虚拟空间和VPS搭建的都没有问题。

推荐集成环境:

1.Windows下强烈推荐使用phpstudy搭建集成环境,此外wamp也是不错的选择。编写代码则推荐使用PhpStorm,谁用谁知道~!

2.Linux下建议使用Lumanager,自带集成环境,可以方便地对网站进行管理。

1)PhpStorm破解方式

羞羞羞

安装完phpstudy与PhpStorm后开始安装系统

2)安装系统

下载所需版本的源码

解压文件到phpstudy的www目录下

将phpstudy启动





在浏览器中输入localhost

系统会自动定位到Install模块,开始安装程序。

根据安装向导开始安装程序

详细步骤见下方图解

3)常见问题集锦:





出现这类错误,一般是在安装的时候输入了错误的数据库信息。比如数据库的账号和密码





安装协议





环境监测





数据库及创始人信息填写





安装完成

3.PHP框架

openSNS是基于ThinkPHP框架

所以我们在开发过程之前先要对thinkphp进行一定程度的了解

开发者可以从thinkphp的开发手册(http://document.thinkphp.cn/manual_3_2.html)中详细了解其框架的机制与作用

4.CSS。JS框架

openSNS前端是基于zui框架和less框架完成的,

具体用法请参考zui官方站http://zui.sexy/#/与less官方中文站http://www.lesscss.net//

下面展示如何安装less在phpstorm上

1. 下载winless并安装

http://winless.org/

2. phpstorm- settings- file watchers –添加-less

3. 如图配置

Program :

C:\Program Files\Mark Lagendijk\WinLess\node_modules\.bin\lessc.cmd

Arguments :

"$FileDir$\$FileName$" "$FileDir$\$FileNameWithoutExtension$.css" --clean-css

不勾选 Create output file from stdout

Working directory:

$FileDir$

Output paths to refresh:

$FileDir$\$FileNameWithoutExtension$.css





5.版本控制

作为一个team中的一员,在共同开发一个项目的时候我们开发者是需要经常合作的,那么如何将两个或两个以上的程序员所编写的代码合并呢,我们就需要一个能够让我们合作开发的工具 ,我们选择了TortoiseGit 。

习惯 Tortoise 风格的用户,可以选择 TortoiseGit 安装包,安装后的右键截图安装。TortoiseGit 的下载地址为:http://code.google.com/p/tortoisegit/。

从 Windows 上安装“右键”Git 工具——TortoiseGit






网上tortoise git 的图文教程很多,开发者可以自行查阅。

让Git记住账号密码:

上图的setting(设置)中,编辑全局,加入两行代码,然后保存。

下次输入账号密码的时候,只需要输入一次,第二次就不需要再输入了。









6.重要知识点

1.常用机制:

1)配置项的获取

function modC($key, $default = '', $module = '')

此方法在Application/Common/Common/vendors.php中

* @param string $key 获取模块的配置

* @param string $default 默认值 必须项 后台设置后返回的是后台的值

* @param string $module 模块名,不设置用当前模块名



modC('WEIBO_NUM',140,'WEIBO')

返回





具体模块配置字段可从相应模块中的controller后台配置config方法中找出

例:





2)用户资料的获取

function query_user($fields = null, $uid = null)

* @param $fields array|string 如果是数组,则返回数组。如果不是数组,则返回对应的值

* @param null $uid

此方法在Application/Common/Common/user.php中

用例:

$k['user'] = query_user(array('uid', 'nickname', 'avatar32', 'avatar64', 'avatar128', 'avatar256', 'avatar512', 'space_url', 'icons_html', 'rank_link', 'signature', 'tox_money', 'title', 'weibocount', 'fans', 'following'), $k['uid']);

Query_user方法能返回member表中所有字段和ucenter_member中的所有字段

返回





3)消息机制

public function sendMessage($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)

* @param $to_uids 接收消息的用户们

* @param string $title 消息标题

* @param string $content 消息内容

* @param string $url 消息指向的路径,U函数的第一个参数

* @param array $url_args 消息链接的参数,U函数的第二个参数

* @param int $from_uid 发送消息的用户

* @param int $type 消息类型,0系统,1用户,2应用

此方法在Application/common/Model/MessageModel.class.php中

例:

D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);

public function sendMessageWithoutCheckSelf($to_uids, $title = '您有新的消息', $content = '', $url = '', $url_args = array(), $from_uid = -1, $type = 0)

* @param $to_uids 接收消息的用户们

* @param string $title 消息标题

* @param string $content 消息内容

* @param string $url 消息指向的路径,U函数的第一个参数

* @param array $url_args 消息链接的参数,U函数的第二个参数

* @param int $from_uid 发送消息的用户

* @param int $type 消息类型,0系统,1用户,2应用

此方法在Application/common/Model/MessageModel.class.php中

例:

D('Common/Message')->sendMessage(C('USER_ADMINISTRATOR'), "{$user['nickname']}发布了一个活动,请到后台审核。", $title = '活动发布提醒', U('Admin/Event/verify'), is_login(), 2);

2.常用函数

1)缩略图的获取
此方法在Application/Common/Common/function.php中
其中参数width不填则默认100;

2)发送信息
此方法在Application/Common/Common/vendors.php中

3)发送邮件
此方法在Application/Common/Common/vendors.php中

4)获得具有某个权限节点的全部用户UID数组,一般用于取得有管理权限的相关用户
3.常用Widget

1)Upload上传系列

在Application/Common/Widget文件夹中

UploadFileWidget 上传单个文件组件

UploadImageWidget 上传单个图片组件

UploadMultiFileWidget 上传多个文件组件

UploadMultiImageWidget 上传多个图片组件

用法示例:
调用结果页面显示:





2)调用用户头衔展示

在Application/Common/Widget文件夹中

UserRankWidget.class.php 用户头衔组件
调用结果页面显示:





3)关注

在Application/Common/Widget文件夹中

FollowWidget.class.php 关注组件
调用结果页面显示:





4)分享

在Application/Common/Widget文件夹中

ShareWidget.class.php
调用结果页面显示:





5)菜单

在Application/Common/Widget文件夹中

SubMenuWidget.class.php
调用结果页面显示:





6)编辑器

在Application/Common/Widget文件夹中

UeditorWidget.class.php
调用结果页面显示:





4.二级导航的创建:还没出稿。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: