shopnc开发手册-ZX版.doc_第1页
shopnc开发手册-ZX版.doc_第2页
shopnc开发手册-ZX版.doc_第3页
shopnc开发手册-ZX版.doc_第4页
shopnc开发手册-ZX版.doc_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

shopnc开发手册-ZX版版本说明:基于20150202,b2bc2c版本源码的代码分析吸收官方开发说明+网络部分文档+个人开发经验1. 整体架构和目录分析2. 核心类库和重要文件分析2.1 后台权限分析3. 控制器和数据层模型分析4. 逻辑层分析5. 数据库字典6. 本地开发环境安装7. 个人开发经验7.1 API引入实例7.2 后台开发实例7.3 活动专题页面修改实例7.4 一些开发小技巧1. 整体架构和目录分析shopnc流程图Shopnc是基于MVC架构的一个代码比较规范的小的核心框架,有比较清晰的控制器,数据模型(主从和代码层的读写分析),视图,缓存(第三方缓存),逻辑层,语言包等Admin文件夹的tree,把最重要的文件夹做了注释config 伪配置文件control 后台重要的控制器,登陆,核心后台控制器SystemControllanguage zh zh_cnmodules 后台主要开发文件所在地 circle 圈子 control include 左侧的菜单配置文件在这 templates default 视图所在地 cms CMS资讯 control include templates default microshop 微商城 control include templates default mobile 手机WAP control include templates default shop 商城 control include templates default system 系统 control include templates defaultresource 资源文件 font css fonts js cms dialog images jquery-ui i18n images maptemplates 最上面控制调用的视图文件 default css images login member mobile layoutChat文件夹的目录结构config control web_chat.php就是主要的控制器文件language zh_cnresource jstemplates default css imagesCircle文件夹的目录configcontrolframework function function.php处理图片和模板的方法 librarieslanguage zh zh_cnmodelresource js miniditortemplates default css images member-card shareicon smilier layout 请注意每一个模板,在拼接模版内容基本都在这个文件夹,其他的也是一样,如果 你找不到比如footer.php或者header.php请在此仔细寻找,admin后台有些不同configcontrolframework function librarieslanguage zh_cnmodelresource jstemplates default css images attitude dialog shareicon layoutCore目录文件framework 框架核心类 cache 缓存 支持文件缓存,redis,memcache core 核心的路由类 function 一些基类的方法 libraries 库文件shopnc db 数据库驱动 driver 支持mysql 和pdoCrontab文件夹目录configcontrol 执行需要计划任务的脚本Data目录结构,对于开发重要的目录api api文件目录 emay 亿美api,没用过 include nusoaplib snsapi qqweibo qq微博api sinaweibo sina微博api taobao 淘宝API request xs Xunsearch 迅搜api,商品搜索 app lib util skel css imgcache 文件缓存目录,shopnc把部分常用的页面生成文件缓存读取加速访问速度,但是请注意,有部分换所在的数据库信息更改或者增加心内容,一定要先更新缓存。不然访问会出问题 adv index rec_position tplconfig 真正的配置文件,后面会有详细介绍配置文件log 日志文件logic 逻辑文件model 所有的数据模型都在这resource 系统常用的资源类型文件 examples font highcharts js ajaxfileupload colorpicker decoration dialog images fileupload jcarousel skins ie7 personal tango jquery-ui i18n themes smoothnes image ui-lightn image jquery-ui-timepic jquery.imgareasel jquery.Jcrop jquery.nyroModal img styles jquery.raty img map mobile qtip slidesjs smilies images kindeditor 编辑器 attached lang php plugins anchor autoheight baidumap clearhtml code emoticons images filemanager images flash image images insertfile lineheight link map media multiimage images pagebreak plainpaste preview quickformat table template html wordpaste themes common default qq simple phpqrcode bindings tcpdf cache mask_0 mask_1 mask_2 mask_3 mask_4 mask_5 mask_6 mask_7 temp tools wap css web_configsession session文件smilies 表情upload 上传文件夹 admin avatar circle group cms article index_html delivery adv live microshop mobile ad category home special special_html shop activity adv article avatar brand common complain editor groupbuy 1 inform login member membertag pointprod rec_position refund store goods 1 slide voucher watermark waybill剩余的几个都差不多在详细介绍一下shop,我们最常用的文件夹api 引入api ali lib payment alipay chinabank tenpay classes qq comm oauth user sinaconfigcontrolframework function librariesinstall css data images includelanguage zh zh_cnresource font font-awesome css font jstemplates default buy css home images buy member shareicon member-card payment seller login shop sns treetable layout member seller sns style skin01 skin02 skin03 skin04 skin05 skin06 store style default images style1 images style2 images style3 images style4 images style5 imageswap页面目录wap页面都是使用json的数据格式进行交互的,所以js能力在这比较重要,访问的还是控制器的方法,但是controlcssimagesjs config.js这个是很重要的文件 jquery-ui i18n themes smoothness images ui-lightness images tmplorder wxordertemplates default layouttmpl member order2.核心类库和重要文件分析adminmodulessysteminclude/ menu.php这就是后台的菜单文件 平台, child = array ( array( name = $langnc_config, child = array( setting = $langnc_web_set, 控制器的名称就是setting upload = $langnc_upload_set, message = 邮件设置, taobao_api = 淘宝接口, admin = 权限设置, admin_log = $langnc_admin_log, cache = $langnc_admin_clear_cache, ) ), array( name = $langnc_member, child = array( member = $langnc_member_manage, account = $langnc_web_account_syn ) ), array( name = $langnc_website, child = array( article_class = $langnc_article_class, article = $langnc_article_manage, document = $langnc_document, navigation = $langnc_navigation, adv = $langnc_adv_manage, rec_position = $langnc_admin_res_position, goods_position=商品推荐位 ) ) ) );C:wampwwwcodeadminmodulesshopcontrol/setting.php页面访问urlact=setting&op=base,lang=web_set), array(url=act=setting&op=dump,lang=dis_dump), 这个就是 array(url=act=setting&op=search,lang=nc_admin_search_set), ); public function _construct() parent:_construct(); Language:read(setting); public function indexOp() $this-baseOp(); .省略后台的添加心菜单之后一定要清楚缓存,因为在codedatacache生成文件缓存清楚之后ctrl+f5,就可以看到C:wampwwwcodeadmincontrol/control.phpSystemControl是后台的总控制器C:wampwwwcodeadmincontrol/login.phpC:wampwwwcodedataconfig/config.php核心配置文件?php$config = array();$configshop_site_url = http:/shopnc.localhost/shop; $configcms_site_url = http:/shopnc.localhost/cms;$configmicroshop_site_url = http:/shopnc.localhost/microshop;$configcircle_site_url = http:/shopnc.localhost/circle;$configadmin_site_url = http:/shopnc.localhost/admin;$configmobile_site_url = http:/shopnc.localhost/mobile;$configwap_site_url = http:/shopnc.localhost/wap;$configchat_site_url = http:/shopnc.localhost/chat;$confignode_site_url = :8090; node.js支持的服务$configdelivery_site_url = http:/shopnc.localhost/delivery;$configupload_site_url = http:/shopnc.localhost/data/upload; 图片地址,可以使用nfs挂在做图片服务器$configresource_site_url = http:/shopnc.localhost/data/resource;$configversion = 201502029350;$configsetup_date = 2015-04-16 18:13:18;$configgip = 0;$configdbdriver = mysql; 数据库使用的数据库驱动$configtablepre = shopnc_; 数据库前缀$configdbmasterdbhost = localhost; 数据库地址$configdbmasterdbport = 3306; 端口$configdbmasterdbuser = root; 数据库用户名$configdbmasterdbpwd = ; 密码$configdbmasterdbname = tt; 数据库名称$configdbmasterdbcharset = UTF-8; 字符集编码数据库支持主从,读写分离,/ $configdbmasterdbhost = 1; / $configdbmasterdbport = 3306;/ $configdbmasterdbuser = zx;/ $configdbmasterdbpwd = zx123456;/ $configdbmasterdbname = shopnc;/ $configdbmasterdbcharset = UTF-8;$configdbslave = $configdbmaster;$configsession_expire = 3600; session存在时间$configlang_type = zh_cn;$configcookie_pre = 21EA_;$configcache_open = false; 缓存开启redis也支持主从,读写分离$configredisprefix = biaozhun_; redis数据库前缀$configredismasterport = 6379;$configredismasterhost = 1;$configredismasterpconnect = 0;$configredisslave = array();$configdebug = true; 开启调试在试图页面加入这个是封装在dll文件里面,凡是ShopncTpl使用的放都是在dll里面,linux就是.so文件可以看到你使用的数据库模型中拼接的sql语句$configurl_model = false; 默认url模式$configsubdomain_suffix = ;/$configsession_type = redis;/$configsession_save_path = tcp:/:6379;$confignode_chat = true;/流量记录表数量,为110之间的数字,默认为3,数字设置完成后请不要轻易修改,否则可能造成流量统计功能数据错误$configflowstat_tablenum = 3;$configsmsgwUrl = :8080/sdk/SDKService;$configsmsserialNumber = ;$configsmspassword = ;$configsmssessionKey = ;$configqueueopen = false;$configqueuehost = ;$configqueueport = 6379;return $config;主从配置实例$configdbmasterdbhost = ; /数据库主库配置$configdbmasterdbport = ;$configdbmasterdbuser = ;$configdbmasterdbpwd = ;$configdbmasterdbname = ;$configdbmasterdbcharset = ;$configdbslavedbhost = ; /数据库从库配置$configdbslavedbport = ;$configdbslavedbuser = ;$configdbslavedbpwd = ;$configdbslavedbname = ;C:wampwwwcodeshopcontrol/control.php这个是主要的控制器,在这也可以自定义控制器有1300多行,只介绍重要的核心控制器核心控制器HuoDongControl就是自定义的C:wampwwwcodeshoptemplatesdefaulthome/home_layout.php自定义的这个是不继承shopnc的头部和尾部文件2.1后台权限分析后台的权限不是基于传统RBAC的基础,但是shopnc稍微有点不同是基于后台的那个C:wampwwwcodeadminmodulesshopinclude/menu.php里面的菜单数组来划分权限不是基于控制器名称来划分的传统方式,这样方便开发,但是权限划分不详细,不能做到权限细分,对于一些需要复杂业务逻辑的商城来说,就不方便3. 控制器和数据层模型分析控制器里面常用的一些方法数据模型一些常用的方法4.逻辑层分析主要购物车逻辑分析,使用mysql的事物机制才处理购物车系统暂缺!5.数据库字典我手上有一份官方的字典,很详细HTML版本网络下载地址:6.本地开发环境安装本地我使用的wampserver建议使用wampserve 2.6以前版本。php使用5.4以前的版本,在64位系统上使用5.3以上系统会报错,可能是因为我在公司的电脑是在域控制下,权限问题造成的或者是其他原因,默认的数据驱动是mysql,数据库mysql版本没有什么限制,但是最还不要低于5.1,安装完wampserver,在根目录C:wampwww放只文件,打开phpinfo文件看下,因为要对应安装dll扩展,在在php.ini文件里面加入php_shopnc.dll,吧对应的php_shopnc.dll文件复制一份到C:wampbinphpphp5.3.10ext目录下在重启wampserver,在pgpinfo里面可以看到就说明dll扩展成功了,接下来安装本地是可以支持localhost访问的,在host文件里加入 shopnc.localhost在httpd.conf里面开启vhost在httpd-vhosts.conf加入code就是我shopnc的根目录就可以了,这样方便,重启wampserver吧代码复制进code目录,接下就是下一步安装就可以了,mysql的默认账号密码就是账号是root,密码是空 个人开发经验接下是一些个人开发经验,仅供参考7.1 API引入实例支付宝快捷登陆开发用到的文件有支付宝快捷登陆文档,下载地址/order/techService.htm首先你先看下shopnc_member表结构,看下微博快捷登陆和qq快捷登陆的数据库字段我先添加了一下字段ALTER TABLE shopnc_member ADD member_aliop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论