Ucenter paycenter shop之间是通过CURL进行通信。
原理及流程:
在各个系统目录configs下有对应的接口配置,如shop_api.ini.php ucenter_api.ini.php paycenter_api.ini.php
都有自己对应的app id,与ucenter admin应用配置是相同的,且要开启。服务网址必须正确。
各系统中都有get_url_with_encrypt 函数。
通过各个对应的app id都会作为参数。
该函数会生成签名,向指定的paycenter shop ucenter中请求。
同时在接收方会有自动验证是否合法。由 `check_url_with_encrypt` 完成签名认证。
具体代码可在
`Shop/shop/controllers/Api/Controller.php`查看。
举例:`Shop/shop/controllers/Api/User/InfoCtl.php`
/**
* 获取修改会员信息
*
* @access public
*/
public function editInfo()
{
$user_id = request_int('user_id');
$order_row['user_id'] = $user_id;
$data = $this->userInfoModel->getUserInfo($order_row);
if ($data)
{
//会员的钱
$key = Yf_Registry::get('shop_api_key');
$formvars = array();
$formvars['user_id'] = $user_id;
$formvars['app_id'] = Yf_Registry::get('shop_app_id');
$money_row = get_url_with_encrypt($key, sprintf('%s?ctl=Api_User_Info&met=getUserResourceInfo&typ=json', Yf_Registry::get('paycenter_api_url')), $formvars);
if ($money_row['status'] == '200')
{
$money = $money_row['data'];
$data['user_cash'] = $money[$user_id]['user_money'];
$data['user_freeze_cash'] = $money[$user_id]['user_money_frozen'];
}
else
{
$data['user_cash'] = 0;
$data['user_freeze_cash'] = 0;
}
$re = $this->userResourceModel->getOne($order_row);
$de = $this->userBaseModel->getOne($order_row);
$data['user_points'] = $re['user_points'];
$data['user_growth'] = $re['user_growth'];
$data['user_delete'] = $de['user_delete'];
}
$this->data->addBody(-140, $data);
}
其中 `get_url_with_encrypt` 为核心CURL函数,在paycenter ucenter shop都是存在的。
自带token请求数据。
三者之间通信通过
get_url_with_encrypt($key, sprintf('%s?ctl=Api_User_Info&met=getUserResourceInfo&typ=json', Yf_Registry::get('paycenter_api_url')), $formvars);
类似这样的请求来完成对相应系统数据的读写。
当商城需要获取用户信息时,
首先是组织接口所需要的数据。
$formvars['user_id'] = $user_id; //需要获取用户的id
$formvars['app_id'] = Yf_Registry::get('shop_app_id'); //当前shop的app_id,在configs/shop_api.ini.php中配置。
当请求完成并返回status为200状态时,则该操作成功。
数据库操作说明
Yf_Model 为数据层,其为Yf_Sql的进一步封装,使用Model层实现基本无需手写SQL实现对数据库的操作。
其中add edit为最常用方法。
sql属性可直接调用Yf_Sql中的方法。
Yf_Sql是对SQL的拼接,是真正直接调用PDO操作数据库的。
- IM api调试接口
- 群主踢人
- 群成员退群
- 用户创建群
- 群主修改群信息
- 群主转换
- 群成员拉好友入群
- 翻译
- 客户端获取手机验证码
- SHOP
- 团队限购
- 常用
- 银联支付
- 多语言
- API配置都对,但接口还是报错,解决方法
- 商品评分
- 图片延时加载
- 买家申请“退款/退货”
- 商家处理“退款/退货”申请
- 平台“退款/退货”审核
- 添加发票
- 提交订单
- 确认订单
- 运费和售卖区域查询
- 购物车商品删除
- 领取代金券
- APP打包H5通用功能
- 首页扫一扫
- 分享事件监听
- 支付事件监听
- SHOP_ADMIN
- 导出xls
- 弹出窗口
- 计划任务
- SOHP_WAP
- 首页聊天消息
- Ucenter
- 弹出窗口
- 微博登录
- 获取会员地址
- 商城配置数据库权限
- 商城后台供应商SQL
- 去分销
- paycenter_ucenter_shop通信说明
- AES
- 红包
- goods_common
- 红包退回
- 微信小程序
- 手机验证码API
- APP充值
- 摄像头cronjob
- WEBPOS自动加载权限
- 商城子帐号
- 云版升级注意事项
- 集群服务