最土二次开发参考手册.docx_第1页
最土二次开发参考手册.docx_第2页
最土二次开发参考手册.docx_第3页
最土二次开发参考手册.docx_第4页
最土二次开发参考手册.docx_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

最土二次开发参考手册数据字典1最土收货人信息功能分析7最土代金券功能分析9最土邀请返利润功能分析11最土团购程序注册功能扩展12最土代金券功能分析15最土程序商品图片调用分析16最土后台导航功能分析17最土项目录入功能分析18最土增加新闻模块思路19如何增加最土后台操作栏分析20最土程序保存系统配置功能分析21最土程序短信接口和短信发送功能22最土如何开发API最土团购api23最土团购数据库连接分析25最土api接口程序分析26最土团购程序分类管理分析28最土程序的购买流程分析28最土程序后台登陆原理分析29最土程序短信功能发送分析30最土程序支付插件分析31最土程序的ajax应用分析32最土程序的api接口开发分析32最土程序邮件订阅功能分析34最土程序商户管理分析35最土程序优惠卷发送机制36最土程序Session类的分析38最土程序二次开发后台会手机号码搜索会员39最土团购程序一些常见的数据库操作39最土程序配置文件configure.php分析41最土收货人信息功能分析42数据字典代金券card id 代金券ID code 识别码 partner_id 商户ID team_id 商品ID order_id 订单ID credit 代金券金额 consume 是否使用过 ip 时候时候的IP begin_time 有效期开始时间 end_time 有效期结束时间分类表category分类的id: id分类类型: zone分类的分组: czone分类名称: name分类的英文名称: ename分类的名称首字:letter分类的排序:sort_order是否显示首页:display订单表order订单id: idpay_id: 支付编号,也就是订单编号buy_id: 购买会员的IDservice: 支付方式会员ID:user_id管理员id: admin_id,判断是否管理员项目ID: team_id城市ID: city_id代金券ID: card_id支付状态: state商品数量: quantity真实姓名: realname手机号码: mobile邮政编码: zipcode收货地址: address是否选择快递:express快递编号: express_id快递单编码: express_no商品价格: price已支付金额: money订单总价格: origin积分获取: credit使用优惠券金额:card商品属性:condbuy购买备注:remark下单时间:create_time支付时间:pay_time评论内容:comment_content评论显示:comment_display评论级别:comment_grade评论时间:comment_time商家ID: partner_id短信通知:sms_express最土数据库优惠券表coupon优惠卷ID: id会员的ID: user_id商户的ID: partner_id项目的ID: team_id订单编号ID:order_id类型: type获得积分: credit优惠卷密码:secret是否使用过:consume使用优惠卷时的ip:ip是否成功发送短信:sms优惠券过期时间:expire_time短信发送时间:sms_time该项目下的购买次序:buy_id最土数据库商家信息partner表商户ID: id商户用户名: username商户密码:password商户名称:title商户商品分类:group_id商户网站地址:homepage商户城市id: city_id商户银行帐户名称:bank_name商户银行帐户帐号:bank_no商户用户名: bank_user商户所处位置: location商户联系人: contact商户图片:image商户图片1:image1商户图片2:image2商户电话号码:phone商户联系地址:address商户其他信息:other商户手机号码:mobile商户展示:open商户会员id:user_id商户建立时间:create_time是否显示首页:display对商户评论满意数量:comment_good对商户评论一般数量:comment_none对商户评论失望数量:comment_bad最土数据库管理员日志表logger_admin结构日志编号: id 操作管理员ID: user_id 操作管理员的邮件:user_email 操作类型: type 操作描述: operation 相关数据: relate_data 操作时间: create_on最土会员user表结构会员id: id会员邮件: email会员名称: username会员真实名: realname会员密码: password会员头项: avatar性别: gender手机号码: mobile联系QQ: qq帐户余额: money帐户积分: score邮政编码: zipcode联系地址: address所在城市ID: city_id是否通过邮件验证:enable是否为管理员:manager邮件验证的密钥:secret修改密码的密钥种子:recode登陆时IP地址: ip最后登陆时间: login_time注册时间: create_time最土数据库友情链接表friendlink友情连接ID: id 友情链接标题:title 友情链接地址:url 友情链接logo: logo 排序: sort_order 是否显示首页:display最土数据库邀请返利表invite 邀请id: id 邀请人ID: user_id 处理邀请的管理员: admin_id 邀请注册时IP: user_ip 被邀请人ID: other_user_id 项目ID: team_id 是否支付:pay 获得的返利: credit 购买时间: buy_time 写入记录时间: create_time最土数据库问题反馈表feedback留言编号: id 城市id: city_id留言用户id: user_id留言类型: category 称呼: title 联系email : contact 留言内容: conent 留言时间: create_time最土数据库提问答疑ask表提问ID: id 提问用户UID: user_id团购项目id: team_id 提问所在城市id: city_id 提问类型: type 提问内容: content 回复内容:comment 提问时间: create_time最土积分兑换商品数据库goods表积分商品id: id 积分商品标题: titie 兑换所需要的积分:score 积分商品的图片: image 积分商品创建时间: time 排序字段: sort_order 已经兑换数量:consume 是否显示: display最土数据库邮件订阅表subscribe订阅ID: id订阅邮件:email 订阅所在的城市ID: city_id 订阅时候的密钥: secret最土数据库手机号码订阅表smssubscribe订阅编号: id订阅的手机号: mobile 城市ID: city_id 手机订阅的密钥:secret 状态: enable 订阅时间:create_time最土收货人信息功能分析 我们在使用和研究最土程序的时候。就必须知道和了解最土收货人信息功能,我们在在最土后台录入最土项目的时候,在填写配送信息的时候,我们可以选择使用优惠券,当然也可以为该商品选择对应的物流。那么他就是记录在express字段中。 首先我们看购买信息填写页面,当录入该商品的时候。选择了物流信息。那么在购买该商品的时候,就必须填写收货人信息和地址。首先我们找到对应的模板。 $nl2br(htmlspecialchars($teamexpress)快递信息收件人收件人请与有效证件姓名保持一致,便于收取物品手机号码 手机号码是我们联系您最重要的方式,请准确填写收件地址为了能及时收到物品,请按照格式填写:_省_市_县(区)_ 当我们填写完信息最土的订单信息之后,我们可以将数据提交到数据库表order中去。具体的代码参考以下。$insert = array(user_id, team_id, city_id, state, express_id,fare, express, origin, price,address, zipcode, realname, mobile, quantity, create_time, remark, condbuy,);if ($flag = $table-update($insert) $order_id = abs(intval($table-id);/* 插入订单来源 */$dataorder_id = $order_id;$datauser_id = $login_user_id;$datareferer = $_COOKIEreferer;$datacreate_time = time();DB:Insert(referer, $data);redirect(WEB_ROOT./order/check.php?id=$order_id);邮政编码 当最土的订订单提交后,我们就可以通过后台查看订单的详细信息。具体的代码。可以参考以下代码。else if ( orderview = $action) $order = Table:Fetch(order, $id);$user = Table:Fetch(user, $orderuser_id);$team = Table:Fetch(team, $orderteam_id);$orderreferer = Table:Fetch(referer, $id);if ($teamdelivery = express) $option_express = option_category(express);$orderexpress_name = $option_express$orderexpress_id;$payservice = array(alipay = 支付宝,tenpay = 财付通,chinabank = 网银在线,credit = 余额付款,cash = 线下支付,);$paystate = array(unpay = 未付款,pay = 已付款,);$option_refund = array(credit = 退款到账户余额,online = 其他途径已退款,);$html = render(manage_ajax_dialog_orderview);json($html, dialog);最土代金券功能分析我们在录入最土项目的时候,我们可以选择该商品最多能使用多少代金券,比如你录入是10,商品价格是20。那么你手上有最土的代金券的话。你只需要支付10元就可以。非常方便。我们在后台可以生成代金券,具体的在最土后台代金券管理里面。 最土后台生成代金券之后,他是存储在最土数据库card表里面。主要占据id字段。里面存储着使用期限。 我们在购买的时候,当填写完最土的收货人信息之后,会进入支付页面,这个时候如果该商品允许使用最土代金券的话。你就可以直接输入代金券。抵消部分余额 。当我们点输入代金券的时候,将触发以下JS X.misc.cardcode = function() var oid = jQuery(#cardcode-order-id).attr(value);var cid = jQuery(#cardcode-card-id).attr(value);if(oid&cid) return !X.get(WEB_ROOT + /ajax/order.php?action=cardcode&id=+oid+&cid=+cid); 该方法调用ajax/order.php来返回逻辑数据流。 elseif ( $action = cardcode) $cid = strval($_GETcid);$order = Table:Fetch(order, $order_id);if ( !$order ) json(订单记录不存在, alert);$ret = ZCard:UseCard($order, $cid);if ( true = $ret ) json(array(array(data = 代金券使用成功, type=alert),array(data = null, type=refresh), ), mix);$error = ZCard:Explain($ret);json($error, alert);我们看到,当我们输入代金券的时候,将返回一定的提示。他就是通过 ZCard:Explain($ret);方式来返回提示信息的。该函数代码如下。 static public function Explain($errno) switch($errno) case self:ERR_NOCARD : return 代金券不存在;case self:ERR_TEAM : return 代金券不可用于本单;case self:ERR_CREDIT : return 代金券面额受限;case self:ERR_EXPIRE : return 不在有效期内;case self:ERR_USED : return 代金券已被使用;case self:ERR_ORDER: return 每单只能用一张代金券;return 未知错误;最土邀请返利润功能分析研究最土有很长时间,对最土二次开发也有不少接触.最近朋友常常要求对最土返利功能进行分析.首先我们在个人中心里面。可以获取自己的邀请链接,其实他就是指向r.php的一个链接,在该页面记录_rid的cookie变量为3天。 我们可以看到注册页面有以下代码,就是注册的时候判断如果存在邀请.也就是$_COOKIE_rid存在,那么记录当前注册会员的推荐人为cookie里面的值. $_rid = abs(intval(cookieget(_rid);if ($_rid & $user_rowid) $r_user = Table:Fetch(user, $_rid);if ( $r_user ) ZInvite:Create($r_user, $user_row);ZCredit:Invite($r_userid); 然后我们可以看到在invite表里面增加了一条邀请记录. user_id = $ruserid,user_ip = $ruserip,other_user_id = $newuserid,other_user_ip = $newuserip,create_time = time(),);return DB:Insert(invite, $invite); 如果后台设置了最土邀请送积分的话。我们还可以看到会员的帐户积分和积分表明晰里面的积分记录将增加一条,通过该代码实现的。将数据写入最土邀请最土邀请返利表invite$user = Table:Fetch(user, $user_id);Table:UpdateCache(user, $user_id, array(score = array( score+$score ),);$u = array(user_id = $user_id,admin_id = 0,score = $score,action = $action,detail_id = $detail_id,create_time = time(),);return DB:Insert(credit, $u);最土团购程序注册功能扩展我们在使用和研究最土二次开发的时候,需要对最土的注册功能进行改进和调整,比如对最土注册功能进行扩展,在最土程序的注册功能里面,增加几个注册字段。下面我们将结合最土的注册程序,来谈谈注册功能扩展. 1:alter table user add column usercard varchar(64) , add column intid int(1) default 02:ajax/validator.php增加以下代码elseif ( signupcard = $n ) $slength = strlen($v);if ($slength $v, );if($exists)Output:Json(null, 1);Output:Json(0); 3:include/template/account_signup.html 身份证号 请填写正确的身份证编码 邀请人帐户ID 填写4-16个字符,一个汉字为两个字符 4:include/library/Utility.class.phpstatic public function ValiUsercard($card) $regexp = /(d15$|d18$|d17(d|X|x)$/;if ( preg_match($regexp, $card) )return true;return false;5:account/signup.php$uusercard = strval($_POSTusercard);$uintid = intval($_POSTintid);if (!Utility:ValiUsercard($uusercard) Session:Set(error, 您输入的身份证号码格式不对);redirect( WEB_ROOT . /account/signup.php);$exists1 = Table:Count(user, array(usercard = $uusercard,);if ($exists1) Session:Set(error, 注册失败,该身份证号已经使用);redirect( WEB_ROOT . /account/signup.php);6:include/class/ZUser.class.php的Create()if($user_rowintid)$_rid = abs(intval($user_rowintid);else$_rid = abs(intval(cookieget(_rid);7:include/template/account_loginup.html 身份证号 请填写正确的身份证编码 邀请人帐户ID 填写4-16个字符,一个汉字为两个字符 最土代金券功能分析我们在录入最土项目的时候,我们可以选择该商品最多能使用多少代金券,比如你录入是10,商品价格是20。那么你手上有最土的代金券的话。你只需要支付10元就可以。非常方便。我们在后台可以生成代金券,具体的在最土后台代金券管理里面。 最土后台生成代金券之后,他是存储在最土数据库card表里面。主要占据id字段。里面存储着使用期限。 我们在购买的时候,当填写完最土的收货人信息之后,会进入支付页面,这个时候如果该商品允许使用最土代金券的话。你就可以直接输入代金券。抵消部分余额 。当我们点输入代金券的时候,将触发以下JS X.misc.cardcode = function() var oid = jQuery(#cardcode-order-id).attr(value);var cid = jQuery(#cardcode-card-id).attr(value);if(oid&cid) return !X.get(WEB_ROOT + /ajax/order.php?action=cardcode&id=+oid+&cid=+cid); 该方法调用ajax/order.php来返回逻辑数据流。 elseif ( $action = cardcode) $cid = strval($_GETcid);$order = Table:Fetch(order, $order_id);if ( !$order ) json(订单记录不存在, alert);$ret = ZCard:UseCard($order, $cid);if ( true = $ret ) json(array(array(data = 代金券使用成功, type=alert),array(data = null, type=refresh), ), mix);$error = ZCard:Explain($ret);json($error, alert);我们看到,当我们输入代金券的时候,将返回一定的提示。他就是通过 ZCard:Explain($ret);方式来返回提示信息的。该函数代码如下。 static public function Explain($errno) switch($errno) case self:ERR_NOCARD : return 代金券不存在;case self:ERR_TEAM : return 代金券不可用于本单;case self:ERR_CREDIT : return 代金券面额受限;case self:ERR_EXPIRE : return 不在有效期内;case self:ERR_USED : return 代金券已被使用;case self:ERR_ORDER: return 每单只能用一张代金券;return 未知错误;最土程序商品图片调用分析在研究最土程序的时候,我们常常要研究最土商品录入和图片调用问题。比如在最土的api接口中也常常需要调用最土商品图片最土程序商品图片调用分析由此显示的格外重要了。 首先我们应该去了解最土的商品数据库结构我们找到最土商品数据team表。里面有image,image1,image2字段。分别存储着最土商品的三张图片。我们在最土过往团购和现在团购的列表中。我们可以发现一点一般都是通过调用image字段来显示图片的。 最土商品的图片有两个概念,一个是存储在static/team文件夹里面。是最土商品录入的时候上传的。也有一种方式,通过最土的image图片来动态生成一张新的商品缩略图片来获得 我们看最土商品图片函数 function team_image($image=null, $index=false) global $INI;if (!$image) return null;if ($index) $path = WWW_ROOT . /static/ . $image;$image = preg_replace(#(d+).(w+)$#, 1_index.2, $image); $dest = WWW_ROOT . /static/ . $image;if (!file_exists($dest) & file_exists($path) ) Image:Convert($path, $dest, 200, 120, Image:MODE_SCALE);return $INIsystemimgprefix/static/$image;在这里我们不难发现,第一个参数是商品图片地址,第二个参数是表示显示原始图片还是显示动态生成的缩略图如果$index为false就表示商品调用原始图片否则就动态的通过最土图片处理函数来动态生成 如果要输出原始图片:team_image($oneimage, false); 要输出动态生成缩略图:team_image($oneimage, true);最土后台导航功能分析 最后后台导航功能,其实有些代码写的还是很好的我们在做最土二次开发的时候。常常看到最土有些代码写的不错。最土后台导航功能选择中高亮,其实也是可以给我们一个参考的。 我们可以看到最土后台导航功能的模板,十分简洁$biz_mcurrent_team($selector)这个意思是十分简单的。意思就是后台选中了当前项目导航。我们再看看最土函数biz_mcurrent_team(); function biz_mcurrent_team($selector=null) $a = array(/biz/team/index.php = 当前项目,/biz/team/success.php = 成功项目,/biz/team/failure.php = 失败项目,/biz/team/edit.php = 编辑项目,);$l = /biz/team/$selector.php;return current_link($l,$a,true); 很显然最土要做一个导航选择的时候,必须将该导航数据放在一个数组中,当某个选择的动作被执行十,动作的名称其实就是和文件名称一样,就可以使用$l = /biz/team/$selector.php;方式来取得当前被选中高亮的导航那么current_link()函数也是分精妙他对比传递过来的参数,如果导航数组中的值也当前被选中的值一样。那么就默认该导航被选中,而且高亮 function current_link($link, $links, $span=false) $html = ;$span = $span ? : ;foreach($links AS $l=$n) if (trim($l,/)=trim($link,/) $html .= $n$span;else $html .= $n$span;return $html;最土后台导航功能分析之后,发现十分简单,十分容易。我们必须掌握该技巧,就很容易自己封装出自己的新导航。最土项目录入功能分析最土程序的最土项目录入功能,其实是对最土二次开发必须知道的。我们常常对最土项目功能修改。中间最重要的就是最土的项目录入功能修改已经和最土项目录入相关的功能。 要谈最土项目录入功能分析,首先必须知道最土的项目是存储在team表中,他有三种形态。团购,热卖和秒杀在最土数据库中字段值分别为normal,goods,seconds如果我们要对最土项目录入的功能进行修改。首先必须熟悉这个。 最土不但可以编辑项目基本信息,最土项目的基本问题大概包括以下几个内容。首先是商品基本信息,然后是商品杂项信息,然后是商品SEO信息最土的基本信息包括商品的价格,商品的图片和描述等。最土的杂项信息包括本商品项目相关的代金券,邀请返利,免运费的数量等。最土商品的seo优化项目。主要是为了让最土项目更加适合seo的需求。对标题进行处理。设置seo标题,seo关键字以及seo相关的描述如果你想更深入的了解最土项目操作,必须知道项目的具体某些字段的意思:seo_title 表示seo的标题 :seo_keyword表示seo的关键字:seo_description表示seo的描述 :card表示代金券 :bonus邀请返利,赠送 :credit消费返利 最土项目录入的时候,还有商户的概念,在最土后台可以管理和增加商户,在录入项目的时候,如果存在商户,就必须选择商户他是通过partner_id字段来和商户数据联系起来的。 最土项目发布之后,我们还需要通过最土api接口。将数据对外共享,这个时候就必须有完整的商户信息,以及针对该最土项目seo优化的优化信息。最土增加新闻模块思路最近很多使用最土程序的朋友,都提出个最土程序二次开发需求。就是给最土程序增加个新闻模块我的思路很简单就是对最土分类进行扩展,结合最土商品发布机制,在最土数据库中增加个新闻表。对应的增加最土新闻模块的处理以下是思路。1:incudefunctioncommon.php (587) function get_zones($zone=null) 增加以下内容article =新闻分类,2:includefunctioncurrent.php (21) function current_backend() 增加以下内容/manage/article/index.php = 新闻,3:新增文章表create table article(id int(1) not null primary key auto_increment,group_id int(1) default 0,title varchar(255),keyword varchar(255),content text,addtime int(1),user_id int(1),click_count int(1),sort_type int(1) default 0);4:includefunctioncurrent.php (21)function mcurrent_article($selector=null) $a = array(/manage/article/index.php = 新闻列表,/manage/article/create.php = 文章发布,);$l = /manage/article/$selector.php;return current_link($l,$a,true);如何增加最土后台操作栏分析很多朋友提到过如何增加最土后台操作栏,该如何操作呢。在对最土程序二次开发的过程中。我们应该很仔细的发现。最土的后台自定义操作栏目的增加,其实也是非常容易的。 首先我们找到最土系统第一的模板,我们可以发现里面有以下代码。 $mcurrent_system(de) 我们可以查看mcurrent_system()函数的内容。function mcurrent_system($selector=null) $a = array

温馨提示

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

评论

0/150

提交评论