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自動加載權限
- 商城子帳號
- 云版升級注意事項
- 集群服務