[TOC]
#### 粉絲信息獲取、使用及更新的規范
由于系統中模塊眾中,如果模塊不按規范及系統提供的方法來操作粉絲信息,很容易會使粉絲信息錯亂、重復,不僅系統會產生很多冗余數據,對于構造統一化的粉絲及會員數據中心也帶來了很大的困難
以下來梳理一下各種情況如何使用系統中的方法來獲取和更新粉絲信息。
<wrap em>注: 模塊中禁止直接插入、更新、刪除操作mapping_fans表,此規范適合于 0.7_20151012 以后的版本</wrap>
#### 粉絲的Openid獲取方法
獲取粉絲的Openid有兩種辦法:
1. 通過回復關鍵字來獲取粉絲的openid信息 此方法適合于沒有任何服務號權限的公眾號,可以通過設置回復關鍵字,在回復的信息中(文本、圖文)中添加鏈接
此鏈接會自動帶上粉絲的Openid數據,進入系統后可通過$_W['openid']和$_W['fans']來查看
2. 通過OAuth接口來獲取粉絲的openid信息 此方法并不需要開發者來主動調用,當公眾號是服務號或是使用了【借用OAuth權項】(管理公眾號 - 功能選項 - 借用OAuth權限)的話 系統會自動在粉絲進入頁面的時候獲取到其openid的信息,使用方法同上,通過$_W['openid']和$_W['fans']來查看
#### 粉絲信息獲取方法
此處討論的通過微信接口獲取粉絲數據是基于服務號的前提//
獲取粉絲信息有多種方法及渠道,總結有以下幾種:
1. 已關注的粉絲從**微信接口**獲取數據數據(昵稱,頭像等)
2. 已關注的粉絲獲取在**微擎系統**資料數據(電話,郵箱,性別等)
3. 未關注的粉絲從微信接口獲取數據數據(昵稱,頭像等)
##### **已關注的粉絲從微信接口獲取昵稱及頭像數據**
已關注的粉絲,當公眾號有獲取信息權限的時候,可直接通過$_W['fans']來得到粉絲的數據 \\ 也可以手動通過 mc_fansinfo($openid) 函數來獲取。注:此數據只是微信端的昵稱,頭像等數據
結構如下:
```
$_W['fans'] = array(
'fanid' => '33790' // 粉絲id
'acid' => '6'
'uniacid' => '6' // 公眾號id
'uid' => '6944' // 用戶id
'openid' => 'oTKzFjv2FQ7EetJGLbxuGY6m0KmY'
'groupid' => '0' // 用戶組id
'salt' => 'FRj8Bffr'
'follow' => '1' // 是否關注
'followtime' => '1444465409' // 關注時間
'unfollowtime' => '0' // 取消關注
'tag' => array(
'subscribe' => '1' // 關注
'openid' => 'oTKzFjv2FQ7EetJGLbxuGY6m0KmY'
'nickname' => '微擎 ' //昵稱
'sex' => '1' // 性別
'language' => 'zh_CN' // 語言
'city' => '北京'// 居住城市
'province' => '北京' // 省份
'country' => '中國' // 國家
'subscribe_time' => '1444465409' // 關注時間
'remark' => ''
'groupid' => '0'
'avatar' => 'http://wx.qlogo.cn/mmopen/GibvHudxmlJYsBJRlWbtSXADlpc0IatIuAjS2Fm9oF6tvIq1GfPMibhyRRcdJdR4ZA0x6CIx3030I37OuGEFf4kg/0'// 頭像
)
'updatetime' => '1444465531' // 更新日期
'nickname' => '微擎' // 昵稱
'unionid' => ''
'from_user' => 'oTKzFjv2FQ7EetJGLbxuGY6m0KmY' // 當前粉絲標識
)
```
##### **已關注的粉絲獲取在微擎系統會員資料數據**
除了可以獲取粉絲在微信端的昵稱等數據外,也可以獲取到其在微擎系統中登記的額外的會員數據資料。\\ 通過 mc_fetch($uid) 函數來獲取。此處的$uid可以是$_W['fans'][uid]也可以是$_W['openid']。
\\ 會員資料數據如下:
```
array(
'uid' => '6944' // 用戶id
'uniacid' => '6' // 公眾號id
'mobile' => // 手機
'email' => 'ab75d41d9679b7742fe3c8a7c9577e2a@we7.cc' // email地址
'password' => 'c1e1d8b8c781f0df6866a495a849f9df' // 密碼
'salt' => 'qefDD454'
'groupid' => '6' // 用戶組id
'credit1' => '0.00' // 積分
'credit2' => '0.00' // 余額
'credit3' => '0.00' // 備用1
'credit4' => '0.00' // 備用2
'credit5' => '0.00' // 備用3
'createtime' => '1444465531' // 創建時間
'realname' => // 真實姓名
'nickname' => '微擎' // 昵稱
'avatar' => 'http://wx.qlogo.cn/mmopen/GibvHudxmlJYsBJRlWbtSXADlpc0IatIuAjS2Fm9oF6tvIq1GfPMibhyRRcdJdR4ZA0x6CIx3030I37OuGEFf4kg/132' //頭像
'qq' => //QQ號
'vip' => '0' // 會員
'gender' => '1' // 性別
'birthyear' => '0' // 出生年
'birthmonth' => '0' // 出生月
'birthday' => '0' // 出生日
'constellation' => // 星座
'zodiac' => '', //生肖
'telephone' => // 手機號
'idcard' => // 身份證號
'studentid' => // 學號
'grade' => // 學籍
'address' => //地址
'zipcode' => //郵政編碼
'nationality' => '中國' // 現居國家
'resideprovince' => '北京'// 現居省分
'residecity' => '北京市' // 現居地市
'residedist' => // 居住地
'graduateschool' => // 畢業院校
'company' => // 公司信息
'education' => // 教育情況
'occupation' => // 職業
'position' => // 所在位置
'revenue' => // 收入情況
'affectivestatus' => // 身高
'lookingfor' => //
'bloodtype' => // 血型
'height' => // 身高
'weight' => // 體重
'alipay' => // 支付寶
'msn' => // msn
'taobao' => // 淘寶號
'site' => // 站點
'bio' =>
'interest' => // 個人興趣
)
```
##### **未關注的粉絲從微信接口獲取數據數據(借用)**
粉絲未關注公眾號獲取資料時,需要彈出確認授權的登錄框,粉絲同意后公眾號才可以獲取到用戶信息,此操作需要手動調動函數來完成。 \\ 通過 mc_oauth_userinfo() 來獲取粉絲信息,如下:
```
if (empty($_W['fans']['nickname'])) {
mc_oauth_userinfo();
}
print_r($_W['fans']);
$_W['fans'] = array(
'uid' => 0,
'openid' => 'oTKzFjv2FQ7EetJGLbxuGY6m0KmY',
'follow' => '0' // 是否關注
'tag' => array(
'subscribe' => '1' // 關注
'openid' => 'oTKzFjv2FQ7EetJGLbxuGY6m0KmY'
'nickname' => '微擎 ' //昵稱
'sex' => '1' // 性別
'language' => 'zh_CN' // 語言
'city' => '北京'// 居住城市
'province' => '北京' // 省份
'country' => '中國' // 國家
'subscribe_time' => '1444465409' // 關注時間
'remark' => ''
'groupid' => '0'
'avatar' => 'http://wx.qlogo.cn/mmopen/GibvHudxmlJYsBJRlWbtSXADlpc0IatIuAjS2Fm9oF6tvIq1GfPMibhyRRcdJdR4ZA0x6CIx3030I37OuGEFf4kg/0'// 頭像
)
)
```
#### 強制粉絲登記擴展信息方法(會員信息)
在使用一些功能時,需要用戶的一些額外信息,比如真實姓名,手機號等,才能使用,需要粉絲進行登記操作,使用 mc_require($uid, $fields) 來讓用戶登錄信息。如下:
```
//注:第一個參數同樣接受Openid或是Uid
//此方法會判斷用戶是否已經填寫過資料,如果填寫過了就會繼續向下執行,如果未填寫,會跳轉到填寫界面
mc_require($_W['fans']['uid'], array('realname', 'mobile'));
```
注: 無論粉絲是否關注公眾號,都可以產生一條uid數據也是通過$_W['fans']['uid']來獲取
#### 更新已關注粉絲擴展信息方法(會員信息)
在模塊功能開發中如果需要更新一些資料信息,比如真實姓名,手機號等,可以使用 mc_update()函數來操作
```
//注:第一個參數同樣接受Openid或是Uid
mc_update($_W['member']['uid'],array('email' => 'test@163.com'));
```
- 入門
- 系統安裝
- 接入公眾平臺
- 關鍵字回復
- 更上一層樓
- 編碼規范
- php編碼規范
- html&css編碼規范
- JavaScript編碼規范
- 系統概述
- 結構概述
- 入口腳本
- 微擎MVC
- URL路由&創建
- $_W&全局變量
- 加載器
- 錯誤處理
- 日志記錄
- 模板
- 模板標簽
- 數據調用
- 常用變量
- 手機端組件
- 概述及依賴
- 圖像上傳
- 彈出選項
- 后臺組件
- 概述及依賴
- 后臺文件上傳
- 富文本編輯器
- 系統鏈接選擇器
- 其它常用組件
- 數據庫
- 參數綁定
- 數據操作
- 主從配置
- 連接其它數據庫
- 緩存
- 配置
- 緩存操作
- Http請求
- 概述及依賴
- GET&POST請求
- 發送郵件
- 會員與積分
- 統一用戶中心
- 借用OAuth
- 積分操作
- 資料操作
- 卡券
- 營銷卡券
- 會員卡
- 消息響應
- 消息概述
- 消息響應
- 微信API
- 公眾號AccessToken
- 共享收貨地址(廢棄)
- 共享收貨地址(新)
- 粉絲標簽
- 客服消息
- 模板消息
- 粉絲信息
- 素材
- 群發
- 二維碼
- 在線支付
- 概述及依賴
- 發起支付(PHP)
- 發起支付(JS)
- 驗證支付
- 模塊
- 設計模塊
- 目錄結構
- module.php
- processor.php
- site.php
- receiver.php
- 模塊高級專題
- 自定義分享
- 智能應答
- 微信卡券
- 遠程附件
- 權限控制
- 特殊事件觸發模塊
- 粉絲信息
- 小程序
- 概述
- Uitl類
- 云服務
- 云API
- 系統接口
- 模塊云配置
- 云短信
- 云短信錯誤代碼
- 云短信發送函數
- 批量群發短信
- 應用推廣
- 懸賞文案
- 折扣碼
- 系統消息
- 開發者等級資料認證
- 應用標簽
- 模塊自動檢測訂閱支持
- 小程序
- 開發實例
- 參數設置
- 常見問題