基础配置与底层修改

This commit is contained in:
wanyongkang
2020-11-17 10:18:30 +08:00
parent 7fac08ac47
commit cc1bce4672
7 changed files with 140 additions and 39 deletions

View File

@@ -1,11 +1,11 @@
<?php <?php
/* /*
* @Descripttion: * @Descripttion:
* @version: * @version:
* @Author: kangkang * @Author: kangkang
* @Date: 2020-09-30 17:32:46 * @Date: 2020-09-30 17:32:46
* @LastEditors: kangkang * @LastEditors: kangkang
* @LastEditTime: 2020-11-11 17:24:20 * @LastEditTime: 2020-11-17 10:15:51
*/ */
return [ return [
@@ -15,10 +15,10 @@ return [
//根命名空间 //根命名空间
'namespace' => [ 'namespace' => [
'app' => APP_PATH.DIRECTORY_SEPARATOR.'app', 'app' => APP_PATH . DIRECTORY_SEPARATOR . 'app',
'fastphp' => APP_PATH.DIRECTORY_SEPARATOR.'fastphp', 'fastphp' => APP_PATH . DIRECTORY_SEPARATOR . 'fastphp',
'alipay' => APP_PATH.DIRECTORY_SEPARATOR.'alipay', 'alipay' => APP_PATH . DIRECTORY_SEPARATOR . 'alipay',
'enum' => APP_PATH.DIRECTORY_SEPARATOR.'enum', 'enum' => APP_PATH . DIRECTORY_SEPARATOR . 'enum',
], ],
// 数据库连接 // 数据库连接
@@ -27,7 +27,21 @@ return [
'port' => 3306, 'port' => 3306,
'dbname' => 'hualianyun', 'dbname' => 'hualianyun',
'username' => 'root', 'username' => 'root',
'password' => '123456789' 'password' => '123456789',
],
// 线上数据库连接
'formal_db' => [
'host' => '127.0.0.1',
'port' => 3306,
'dbname' => 'hualianyun',
'username' => 'root',
'password' => 'qaz123!@#',
],
//线上地址
'formal_origin' => [
'http://www.juip.com',
'http://juip.com',
'http://hl957admin.juip.com',
], ],
// 跨域请求 // 跨域请求
'origin' => [ 'origin' => [
@@ -42,8 +56,8 @@ return [
'app_id' => '2021002102631089', 'app_id' => '2021002102631089',
'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQAB', 'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQAB',
'private_key' => 'MIIEowIBAAKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQABAoIBADd/TFPAJxN2sFHJNO6dzMAGrlMNxYGZhoa+OK/tb4nun7iW5Yjm1ezoN63PnlANudV61VmpcS2BKMw4PQImvZDuosTFPqFZ22w/yii62E58EpiOy70T+HAWP1KUMNO8w0y9LGR4QoTOZCsEmwUZA5UCYgw4hKUvWYdXncZNlF+PLNNvYIE4oJ8ixwJaBrO0agZszK8Kv8VW86++PGGw7YkP4e27Z7Dk4AwmdJAOrfaf7nHSiUPNB5S2spxsxJC7iU67/YS9amW3GBLLrQ/UKnjEmWlymPAx28Q9iguAQvyEoHUo5Dy4tZVldwWWOB1U9yj22zKpKeNwU135VSa9Hl0CgYEA4Lnth7WlWeTH7su2L4dIBsmTQeqkWl5nsNdfJl7q6Ooi5yvDahLy8ys8rWawkuTvFyGzZHYGnK0zEzUiMGTDxOU8N3E/D+CyarFhAJ7yycYlbOD5ADWy+6Ipq1ya4wIAdAB6dHHXw9yLfvACJTZtbUYSJvHgKIb3wNqcL/Oznm8CgYEAyjg9JvEhoSzAf+nJ+x/9enE/qISgweoNTctcqE+UY4VPn2y7D+UvVhdmPn7hn+fCevl03/JzDDYmmdaWq8HadiubJLEebLKlzDmAefY5fnjEEPR/GeCQWutdsmOAU8xhB3hzO6fDEP7bo7kZb3v7ES9LXaGcah5KCN2Tjfk+l7MCgYEAh+wNHhMg8tEsmGOASxkA2JIdTjY0uC/3eX+anmO0o7HR8I6IwGS7q5aQObUtwXtUnWIV1gKJF0Su6sQtbKXVvwaDuGj3oovefifRKwX4hVAinMsp8BWKryYzG+GEER/J1F/hsQKWZXHEsb9LHOThpMFIA2Qyl3Ci83OGGn7FOmMCgYAoRRjQd3aF/T58epcxfkZhKspNidPlqfFqS5QxJF/djb+0dNevq6lIkLJYwbW2vVV6XdELg+GrTeFUA2rP23Pg0oA7x1XSuaTQzaarIwCCEhShd78T7SdyI6ruCmiUx3+PGEqCV7891DLzILpS/DKcUnnEtJlMfKmrqExpGnh/hwKBgH/iqwvI/gGIqxIpAjl8uSBKCubRIzK4L1HX/jN0uqNHqDEmPenClJekhsaITSgVA/tqfqi6b1XZaDtg4beYX/ZfSWNi1afdqCf1i3ccfNUE6sagoSRBkWKNIqF6U3P505e4N7igMmYBk4ufemJedOAw/HnCiSNOY1yzElmn5bnc', 'private_key' => 'MIIEowIBAAKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQABAoIBADd/TFPAJxN2sFHJNO6dzMAGrlMNxYGZhoa+OK/tb4nun7iW5Yjm1ezoN63PnlANudV61VmpcS2BKMw4PQImvZDuosTFPqFZ22w/yii62E58EpiOy70T+HAWP1KUMNO8w0y9LGR4QoTOZCsEmwUZA5UCYgw4hKUvWYdXncZNlF+PLNNvYIE4oJ8ixwJaBrO0agZszK8Kv8VW86++PGGw7YkP4e27Z7Dk4AwmdJAOrfaf7nHSiUPNB5S2spxsxJC7iU67/YS9amW3GBLLrQ/UKnjEmWlymPAx28Q9iguAQvyEoHUo5Dy4tZVldwWWOB1U9yj22zKpKeNwU135VSa9Hl0CgYEA4Lnth7WlWeTH7su2L4dIBsmTQeqkWl5nsNdfJl7q6Ooi5yvDahLy8ys8rWawkuTvFyGzZHYGnK0zEzUiMGTDxOU8N3E/D+CyarFhAJ7yycYlbOD5ADWy+6Ipq1ya4wIAdAB6dHHXw9yLfvACJTZtbUYSJvHgKIb3wNqcL/Oznm8CgYEAyjg9JvEhoSzAf+nJ+x/9enE/qISgweoNTctcqE+UY4VPn2y7D+UvVhdmPn7hn+fCevl03/JzDDYmmdaWq8HadiubJLEebLKlzDmAefY5fnjEEPR/GeCQWutdsmOAU8xhB3hzO6fDEP7bo7kZb3v7ES9LXaGcah5KCN2Tjfk+l7MCgYEAh+wNHhMg8tEsmGOASxkA2JIdTjY0uC/3eX+anmO0o7HR8I6IwGS7q5aQObUtwXtUnWIV1gKJF0Su6sQtbKXVvwaDuGj3oovefifRKwX4hVAinMsp8BWKryYzG+GEER/J1F/hsQKWZXHEsb9LHOThpMFIA2Qyl3Ci83OGGn7FOmMCgYAoRRjQd3aF/T58epcxfkZhKspNidPlqfFqS5QxJF/djb+0dNevq6lIkLJYwbW2vVV6XdELg+GrTeFUA2rP23Pg0oA7x1XSuaTQzaarIwCCEhShd78T7SdyI6ruCmiUx3+PGEqCV7891DLzILpS/DKcUnnEtJlMfKmrqExpGnh/hwKBgH/iqwvI/gGIqxIpAjl8uSBKCubRIzK4L1HX/jN0uqNHqDEmPenClJekhsaITSgVA/tqfqi6b1XZaDtg4beYX/ZfSWNi1afdqCf1i3ccfNUE6sagoSRBkWKNIqF6U3P505e4N7igMmYBk4ufemJedOAw/HnCiSNOY1yzElmn5bnc',
'app_crt' => APP_PATH.'config/alicrts/appCertPublicKey_2021002102631089.crt', 'app_crt' => APP_PATH . 'config/alicrts/appCertPublicKey_2021002102631089.crt',
'root_crt' => APP_PATH.'config/alicrts/alipayRootCert.crt', 'root_crt' => APP_PATH . 'config/alicrts/alipayRootCert.crt',
'public_crt' => APP_PATH.'config/alicrts/alipayCertPublicKey_RSA2.crt', 'public_crt' => APP_PATH . 'config/alicrts/alipayCertPublicKey_RSA2.crt',
] ],
]; ];

40
enum/user/User.php Normal file
View File

@@ -0,0 +1,40 @@
<?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-10-22 15:35:49
* @LastEditors: kangkang
* @LastEditTime: 2020-11-16 11:42:15
*/
namespace enum\user;
class User
{
// 1待跟进-未购买 2跟进超时-未购买 3待跟进-消费减少 4跟进超时-消费减少 5流失-需求减少 6流失-暂时不用 7流失-价格问题 8流失-产品问题 9流失-也可自定义 10高意向客户 11已完成
public static $FollowStatus = [
1 => '待跟进-未购买',
2 => '跟进超时-未购买',
3 => '待跟进-消费减少',
4 => '跟进超时-消费减少',
5 => '流失-需求减少',
6 => '流失-暂时不用',
7 => '流失-价格问题',
8 => '流失-产品问题',
9 => '流失-也可自定义',
10 => '高意向客户',
11 => '已完成',
];
public static function getFormatList($arr)
{
$format_list = [];
foreach ($arr as $k => $v) {
$data['value'] = $k;
$data['label'] = $v;
$format_list[] = $data;
}
return $format_list;
}
}

View File

@@ -136,7 +136,15 @@ class Fastphp
//配置数据库信息 //配置数据库信息
public function setDbConfig() public function setDbConfig()
{ {
if (isset($this->config['db'])) { $formal_origin = $this->config['formal_origin']; //跨域访问的时候才会存在此字段
$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
if (in_array($origin, $formal_origin)) {
define('DB_HOST', $this->config['formal_db']['host']);
define('DB_PORT', $this->config['formal_db']['port']);
define('DB_NAME', $this->config['formal_db']['dbname']);
define('DB_USER', $this->config['formal_db']['username']);
define('DB_PASS', $this->config['formal_db']['password']);
} else {
define('DB_HOST', $this->config['db']['host']); define('DB_HOST', $this->config['db']['host']);
define('DB_PORT', $this->config['db']['port']); define('DB_PORT', $this->config['db']['port']);
define('DB_NAME', $this->config['db']['dbname']); define('DB_NAME', $this->config['db']['dbname']);

View File

@@ -1,4 +1,12 @@
<?php <?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-09-30 17:32:46
* @LastEditors: kangkang
* @LastEditTime: 2020-11-12 19:17:36
*/
namespace fastphp\base; namespace fastphp\base;
@@ -30,8 +38,12 @@ class Controller
$getPayload=$jwt->verifyToken($token); $getPayload=$jwt->verifyToken($token);
} else { } else {
$jwt = new Jwt('etor_yh_lzh_20f_2020_YES'); if(isset($_SERVER['HTTP_TOKEN'])){
$getPayload=$jwt->verifyToken($_SERVER['HTTP_TOKEN']); $jwt = new Jwt('etor_yh_lzh_20f_2020_YES');
$getPayload=$jwt->verifyToken($_SERVER['HTTP_TOKEN']);
} else {
die;
}
} }

View File

@@ -2,7 +2,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2020-09-30 17:32:46 * @Date: 2020-09-30 17:32:46
* @LastEditTime: 2020-10-26 10:33:22 * @LastEditTime: 2020-11-16 16:09:31
* @LastEditors: kangkang * @LastEditors: kangkang
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /phptest/fastphp/base/Model.php * @FilePath: /phptest/fastphp/base/Model.php
@@ -40,6 +40,16 @@ class Model extends Sql
return $this->field('count(1) as count')->where($where)->fetch(); return $this->field('count(1) as count')->where($where)->fetch();
} }
/**
* @description: 获取所有的列表
* @param {*}
* @return {*}
*/
public function getList($where = [],$fields = '*', $order = 'id desc')
{
return $this->field($fields)->where($where)->order($order)->fetchAll();
}
/** /**
* 按照页数获取数据 * 按照页数获取数据
* @param $fields 'id,count(1)...' * @param $fields 'id,count(1)...'
@@ -59,16 +69,17 @@ class Model extends Sql
*/ */
public function getOne($where = [], $fields = '*') public function getOne($where = [], $fields = '*')
{ {
return $this->field($fields)->where($where)->limit('1')->fetch(); return $this->field($fields)->where($where)->fetch();
} }
/** /**
* @description: 获取最新一条数据 * @description: 获取最新一条数据
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
public function getNewOne($fields = '*'){ public function getNewOne($fields = '*')
return $this->field($fields)->order('id desc')->limit(1)->fetch(); {
return $this->field($fields)->order('id desc')->fetch();
} }
/** /**
* @description: 更新一条数据 * @description: 更新一条数据

View File

@@ -30,7 +30,7 @@ class Sql
{ {
$this->filter .= ''; $this->filter .= '';
if ($where) { if ($where) {
if(!strpos($this->filter,'WHERE') !== false){ if (!strpos($this->filter, 'WHERE') !== false) {
$this->filter .= ' WHERE '; $this->filter .= ' WHERE ';
} else { } else {
$this->filter .= ' AND '; $this->filter .= ' AND ';
@@ -39,14 +39,15 @@ class Sql
$this->filter .= $where; $this->filter .= $where;
} else { } else {
$flag = true; $flag = true;
$ins = ['in', 'IN', 'not in', 'NOT IN'];
foreach ($where as $key => $value) { foreach ($where as $key => $value) {
if ($flag) { if ($flag) {
$flag = false; $flag = false;
if (is_array($value)) { if (is_array($value)) {
if($value[0] == 'in'){ if (in_array($value[0], $ins)) {
$this->filter .= ' `' . $key . '` ' . $value[0] . '('.implode(',',$value[1]).')'; $this->filter .= ' `' . $key . '` ' . $value[0] . '(' . implode(',', $value[1]) . ')';
} else { } else {
$param_key = $this->paramIsExit($key,$this->param); $param_key = $this->paramIsExit($key, $this->param);
$this->filter .= ' `' . $key . '` ' . $value[0] . ' :' . $param_key; $this->filter .= ' `' . $key . '` ' . $value[0] . ' :' . $param_key;
$this->param[$param_key] = $value[1]; $this->param[$param_key] = $value[1];
} }
@@ -56,10 +57,10 @@ class Sql
} }
} else { } else {
if (is_array($value)) { if (is_array($value)) {
if($value[0] == 'in'){ if (in_array($value[0], $ins)) {
$this->filter .= ' AND `' . $key . '` ' . $value[0] . '('.implode(',',$value[1]).')'; $this->filter .= ' AND `' . $key . '` ' . $value[0] . '(' . implode(',', $value[1]) . ')';
} else { } else {
$param_key = $this->paramIsExit($key,$this->param); $param_key = $this->paramIsExit($key, $this->param);
$this->filter .= ' AND `' . $key . '` ' . $value[0] . ' :' . $param_key; $this->filter .= ' AND `' . $key . '` ' . $value[0] . ' :' . $param_key;
$this->param[$param_key] = $value[1]; $this->param[$param_key] = $value[1];
} }
@@ -74,12 +75,13 @@ class Sql
return $this; return $this;
} }
public function paramIsExit($key,$param){ public function paramIsExit($key, $param)
if(!isset($param[$key])){ {
if (!isset($param[$key])) {
return $key; return $key;
} else { } else {
$key .= $key; $key .= $key;
return $this->paramIsExit($key,$param); return $this->paramIsExit($key, $param);
} }
} }
@@ -103,11 +105,11 @@ class Sql
* @return $this * @return $this
* $group=['sex','name'] * $group=['sex','name']
*/ */
public function group($group = []) public function group($group = [], $having = '')
{ {
if ($group) { if ($group) {
$this->filter .= ' GROUP BY '; $this->filter .= ' GROUP BY ';
$this->filter .= ' ' . implode(' ,', $group) . ' '; $this->filter .= ' ' . implode(' ,', $group) . ' ' . $having . ' ';
} }
return $this; return $this;
} }
@@ -159,7 +161,7 @@ class Sql
*/ */
public function fetch() public function fetch()
{ {
$sql = sprintf('SELECT %s FROM `%s` %s', $this->field, $this->table, $this->filter); $sql = sprintf('SELECT %s FROM `%s` %s LIMIT 1', $this->field, $this->table, $this->filter);
$this->filter = ''; $this->filter = '';
$sth = Db::pdo()->prepare($sql); $sth = Db::pdo()->prepare($sql);
$sth = $this->formatParam($sth, $this->param); $sth = $this->formatParam($sth, $this->param);
@@ -176,7 +178,7 @@ class Sql
*/ */
public function delete() public function delete()
{ {
$sql = sprintf('DELETE FROM `%s` %s', $this->table, $this->filter); $sql = sprintf('DELETE FROM `%s` %s LIMIT 1', $this->table, $this->filter);
$this->filter = ''; $this->filter = '';
$sth = Db::pdo()->prepare($sql); $sth = Db::pdo()->prepare($sql);
$sth = $this->formatParam($sth, $this->param); $sth = $this->formatParam($sth, $this->param);
@@ -225,7 +227,7 @@ class Sql
$sql = sprintf('UPDATE `%s` SET %s %s', $this->table, $this->formatUpdate($data), $this->filter); $sql = sprintf('UPDATE `%s` SET %s %s', $this->table, $this->formatUpdate($data), $this->filter);
$this->filter = ''; $this->filter = '';
$sth = Db::pdo()->prepare($sql); $sth = Db::pdo()->prepare($sql);
$sth = $this->formatParam($sth, $data); $sth = $this->formatUpdateParam($sth, $data);
$sth = $this->formatParam($sth, $this->param); $sth = $this->formatParam($sth, $this->param);
$this->param = []; $this->param = [];
$sth->execute(); $sth->execute();
@@ -248,6 +250,20 @@ class Sql
return $sth; return $sth;
} }
/**
* 绑定具体变量值update
* @param PDOStatement $sth
* @param array $params
* @return PDOStatement
*/
public function formatUpdateParam(PDOStatement $sth, $params = [])
{
foreach ($params as $param => &$value) {
$param = ':' . ltrim($param, ':').'update';
$sth->bindParam($param, $value);
}
return $sth;
}
/** /**
* 将数组转化为插入格式的sql语句 * 将数组转化为插入格式的sql语句
* @param $data * @param $data
@@ -295,8 +311,8 @@ class Sql
{ {
$fields = []; $fields = [];
foreach ($data as $key => $value) { foreach ($data as $key => $value) {
$fields[] = sprintf('`%s`=:%s', $key, $key); $fields[] = sprintf('`%s`=:%s', $key, $key.'update');
$this->param[$key] = $value; $this->param[$key.'update'] = $value;
} }
return implode(',', $fields); return implode(',', $fields);
} }

View File

@@ -5,7 +5,7 @@
* @Author: kangkang * @Author: kangkang
* @Date: 2020-09-30 17:32:46 * @Date: 2020-09-30 17:32:46
* @LastEditors: kangkang * @LastEditors: kangkang
* @LastEditTime: 2020-10-16 11:14:25 * @LastEditTime: 2020-11-14 10:35:30
*/ */
/** /**
* 浏览器友好的变量输出 * 浏览器友好的变量输出