# :-: 注意事项说明
*****
#### 1 所有租户的应用在开发的时候,都要继承buwang\\base\\MemberBaseController.php
#### 2 租户应用的API接口都要继承buwang\\base\\Api.php
#### 3 服务端渲染SSR 公众号模板渲染如果需要自动授权登录 ,请继承buwang\\base\\Official.php
SESSION配置REDIS
~~~
return [
// session name
'name' => 'PHPSESSID',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// 驱动方式 支持file cache
'type' => 'cache',
// 存储连接标识 当type使用cache的时候有效 可设置redis
'store' => redis,
// 过期时间
'expire' => 3600,
// 前缀
'prefix' => 'bw_',
];
~~~
#### 4 在类的\_\_constuct()和initialize()方法中不能使用JsonTrait和JumpTrait中的方法,只能throw抛出异常才可以起作用;
#### 5 所有的SAAS框架控制器,需要继承类buwang\base\Manage,里面有各种必须的方法封装,如前后端分离查询参数解析方法
~~~
/**
* 构建请求参数
* @param array $excludeFields 忽略构建搜索的字段
* @return array
*/
protected function buildTableParames($excludeFields = [])
{
$get = $this->request->get('', null, null);
$page = isset($get['page']) && !empty($get['page']) ? $get['page'] : 1;
$limit = isset($get['limit']) && !empty($get['limit']) ? $get['limit'] : 15;
$filters = isset($get['filter']) && !empty($get['filter']) ? $get['filter'] : '{}';
$ops = isset($get['op']) && !empty($get['op']) ? $get['op'] : '{}';
// json转数组
$filters = json_decode($filters, true);
$ops = json_decode($ops, true);
$where = [];
$excludes = [];
// 判断是否关联查询
$tableName = $this->getTableName();
foreach ($filters as $key => $val) {
if (in_array($key, $excludeFields)) {
$excludes[$key] = $val;
continue;
}
$op = isset($ops[$key]) && !empty($ops[$key]) ? $ops[$key] : '%*%';
if ($this->relationSearch && count(explode('.', $key)) == 1) {
$key = "{$tableName}.{$key}";
}
switch (strtolower($op)) {
case '=':
$where[] = [$key, '=', $val];
break;
case 'like':
case '%*%':
$where[] = [$key, 'LIKE', "%{$val}%"];
break;
case '*%':
$where[] = [$key, 'LIKE', "{$val}%"];
break;
case '%*':
$where[] = [$key, 'LIKE', "%{$val}"];
break;
case 'range':
[$beginTime, $endTime] = explode(' - ', $val);
$where[] = [$key, '>=', strtotime($beginTime)];
$where[] = [$key, '<=', strtotime($endTime)];
break;
case 'between':
[$begin, $end] = explode(' - ', $val);
$where[] = [$key, '>=', $begin];
$where[] = [$key, '<=', $end];
break;
case 'in': //增加in类型查询
$where[] = [$key, 'IN', "{$val}"];
break;
default:
$where[] = [$key, $op, "%{$val}"];
}
}
return [$page, $limit, $where, $excludes];
}
/**
* 下拉选择列表
* @return \think\Response
*/
public function selectList()
{
$fields = input('selectFieds');
$data = $this->model
->where($this->selectWhere)
->field($fields)
->select();
return $this->success("获取成功", $data);
}
~~~
#### 6