评论消息title报错

This commit is contained in:
taoser 2023-03-16 22:33:28 +08:00
parent d6d512f54e
commit 9c83c4d0cd
19 changed files with 112 additions and 72 deletions

View File

@ -258,7 +258,7 @@ abstract class BaseController
} else { } else {
$artUrl = (string) url('article_detail', ['id' => $aid]); $artUrl = (string) url('article_detail', ['id' => $aid]);
} }
//halt($indexUrl,$artUrl);
//多应用时,文章所属应用 2022.11.17 //多应用时,文章所属应用 2022.11.17
$app = app('http')->getName(); $app = app('http')->getName();
if(empty($appname)) { if(empty($appname)) {
@ -293,7 +293,7 @@ abstract class BaseController
if($bind_index) { if($bind_index) {
// echo 111; // echo 111;
// index或home前端(非admin应用)域名进行了绑定 // index或home前端(非admin应用)域名进行了绑定
// url = $indexUrl . str_replace($admin . '/','',$artUrl); // $url = $indexUrl . str_replace($admin . '/','',$artUrl);
$url = $indexUrl . $artUrl; $url = $indexUrl . $artUrl;
} else { } else {
if($bind_admin) { if($bind_admin) {
@ -304,11 +304,11 @@ abstract class BaseController
// echo 333; // echo 333;
// var_dump($admin, $appname, $artUrl); // var_dump($admin, $appname, $artUrl);
// admin进行了映射 // admin进行了映射
$url = $indexUrl . str_replace($admin, $appname, $artUrl); $url = $indexUrl . str_replace($admin, $index, $artUrl);
} else { } else {
// echo 444; // echo 444;
// admin未绑定域名 // admin未绑定域名
$url = $indexUrl . str_replace($app, $appname, $artUrl); $url = $indexUrl . str_replace($app, $index, $artUrl);
} }
} }

View File

@ -27,7 +27,7 @@ class AuthGroup extends AdminController
if(Request::isAjax()){ if(Request::isAjax()){
$data = Request::only(['id']); $data = Request::only(['id']);
$map = array_filter($data); $map = array_filter($data);
$role = Db::name('auth_group')->field('id,title,limits,descr,status')->where('status',1)->where($map)->select(); $role = Db::name('auth_group')->field('id,title,limits,descr,status')->where($map)->select();
$count = $role->count(); $count = $role->count();
$res = []; $res = [];
if($count){ if($count){

View File

@ -42,11 +42,15 @@ class User extends AdminController
// //
if(Request::isAjax()){ if(Request::isAjax()){
$data = Request::param(); $data = Request::param();
$result = Db::name('user')->save($data); $data['create_time'] = time();
if($result){ $salt = substr(md5($data['create_time']),-6);
// 默认手机号为密码
$data['password'] = md5(substr_replace(md5($data['phone']),$salt,0,6));
try {
Db::name('user')->save($data);
$res = ['code'=>0,'msg'=>'添加成功']; $res = ['code'=>0,'msg'=>'添加成功'];
}else{ } catch (\Exception $e) {
$res = ['code'=>-1,'msg'=>'添加失败']; $res = ['code'=>-1, 'msg'=>$e->getMessage()];
} }
return json($res); return json($res);
} }
@ -59,6 +63,10 @@ class User extends AdminController
{ {
if(Request::isAjax()){ if(Request::isAjax()){
$data = Request::param(); $data = Request::param();
$user = Db::name('user')->field('create_time')->find($data['id']);
$salt = substr(md5($user['create_time']),-6);
// 默认手机号为密码
$data['password'] = md5(substr_replace(md5($data['phone']),$salt,0,6));
$result = Db::name('user')->update($data); $result = Db::name('user')->update($data);
if($result){ if($result){
$res = ['code'=>0,'msg'=>'编辑成功']; $res = ['code'=>0,'msg'=>'编辑成功'];

View File

@ -25,6 +25,10 @@
<label class="layui-form-label">EN别名</label> <label class="layui-form-label">EN别名</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="ename" lay-verify="required" placeholder="英文名*" autocomplete="off" class="layui-input"> <input type="text" name="ename" lay-verify="required" placeholder="英文名*" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">图标</label>
<div class="layui-input-block">
<input type="text" name="icon" placeholder="图标*" id="iconPicker" lay-filter="iconPicker" style="display:none;" class="layui-input">
</div> </div>
<label class="layui-form-label">详情页模板</label> <label class="layui-form-label">详情页模板</label>
<div class="layui-input-block"> <div class="layui-input-block">
@ -33,10 +37,6 @@
<option value="{$vo}" {if($vo == $cate.detpl)} selected {/if} >{$vo}</option> <option value="{$vo}" {if($vo == $cate.detpl)} selected {/if} >{$vo}</option>
{/volist} {/volist}
</select> </select>
</div>
<label class="layui-form-label">图标</label>
<div class="layui-input-block">
<input type="text" name="icon" placeholder="图标*" id="iconPicker" lay-filter="iconPicker" style="display:none;" class="layui-input">
</div> </div>
<label class="layui-form-label">描述</label> <label class="layui-form-label">描述</label>
<div class="layui-input-block"> <div class="layui-input-block">

View File

@ -55,7 +55,7 @@
//上传头像 //上传头像
upload.render({ upload.render({
elem: '#layuiadmin-upload-useradmin' elem: '#layuiadmin-upload-useradmin'
,url: 'uploadImg' ,url: "{:url('user/uploadImg')}"
,data: {type:'image'} ,data: {type:'image'}
,accept: 'images' ,accept: 'images'
,method: 'get' ,method: 'get'

View File

@ -52,7 +52,7 @@
//上传头像 //上传头像
upload.render({ upload.render({
elem: '#layuiadmin-upload-useradmin' elem: '#layuiadmin-upload-useradmin'
,url: 'uploadImg' ,url: "{:url('user/uploadImg')}"
,data: {type:'image'} ,data: {type:'image'}
,accept: 'images' ,accept: 'images'
,method: 'get' ,method: 'get'

View File

@ -40,7 +40,7 @@ class Arts
* @param string $appname 所属应用名 * @param string $appname 所属应用名
* @return string * @return string
*/ */
public function getRouteUrl(int $aid, string $ename = '', string $appname = '') : string protected function getRouteUrl(int $aid, string $ename = '', string $appname = '') : string
{ {
$indexUrl = $this->getIndexUrl(); $indexUrl = $this->getIndexUrl();
if(config('taoler.url_rewrite.article_as') == '<ename>/'){ if(config('taoler.url_rewrite.article_as') == '<ename>/'){
@ -50,7 +50,7 @@ class Arts
} else { } else {
$artUrl = (string) url('article_detail', ['id' => $aid]); $artUrl = (string) url('article_detail', ['id' => $aid]);
} }
//halt($indexUrl,$artUrl);
//多应用时,文章所属应用 2022.11.17 //多应用时,文章所属应用 2022.11.17
$app = app('http')->getName(); $app = app('http')->getName();
if(empty($appname)) { if(empty($appname)) {
@ -83,24 +83,28 @@ class Arts
$admin = $map_admin ?: 'admin'; // admin应用名 $admin = $map_admin ?: 'admin'; // admin应用名
if($bind_index) { if($bind_index) {
// echo 111;
// index或home前端(非admin应用)域名进行了绑定 // index或home前端(非admin应用)域名进行了绑定
// url = $indexUrl . str_replace($admin . '/','',$artUrl); // $url = $indexUrl . str_replace($admin . '/','',$artUrl);
$url = $indexUrl . $artUrl; $url = $indexUrl . $artUrl;
} else { } else {
if($bind_admin) { if($bind_admin) {
// echo 222;
// admin绑定域名 // admin绑定域名
$url = $indexUrl .'/' . $index . $artUrl; $url = $indexUrl .'/' . $index . $artUrl;
} elseif ($app == 'admin' && isset($map_admin)) { } elseif ($app == 'admin' && isset($map_admin)) {
// echo 333;
// var_dump($admin, $appname, $artUrl);
// admin进行了映射 // admin进行了映射
$url = $indexUrl . str_replace($admin, $appname, $artUrl); $url = $indexUrl . str_replace($admin, $index, $artUrl);
} else { } else {
// echo 444;
// admin未绑定域名 // admin未绑定域名
$url = $indexUrl . str_replace($app, $appname, $artUrl); $url = $indexUrl . str_replace($app, $index, $artUrl);
} }
} }
//halt($url);
return $url; return $url;
} }

View File

@ -220,9 +220,9 @@ class Article extends BaseController
} else { } else {
$receveId = $article['user_id']; $receveId = $article['user_id'];
} }
$data = ['title'=>$title,'content'=>'评论通知','link'=>$link,'user_id'=>$sendId,'type'=>2]; //type=2为评论留言 $data = ['title' => $article['title'], 'content' => '评论通知', 'link' => $link, 'user_id' => $sendId, 'type' => 2]; //type=2为评论留言
Message::sendMsg($sendId, $receveId, $data); Message::sendMsg($sendId, $receveId, $data);
if(Config::get('taoler.config.email_notice')) hook('mailtohook',[$this->showUser(1)['email'],'评论审核通知','Hi亲爱的管理员:</br>用户'.$this->showUser($this->uid)['name'].'刚刚对 <b>'.$title.'</b> 发表了评论,请尽快处理。']); if(Config::get('taoler.config.email_notice')) hook('mailtohook',[$this->showUser(1)['email'],'评论审核通知','Hi亲爱的管理员:</br>用户'.$this->showUser($this->uid)['name'].'刚刚对 <b>' . $article['title'] . '</b> 发表了评论,请尽快处理。']);
$res = ['code'=>0, 'msg'=>$msg]; $res = ['code'=>0, 'msg'=>$msg];
} else { } else {
$res = ['code'=>-1, 'msg'=>'留言失败']; $res = ['code'=>-1, 'msg'=>'留言失败'];

14
composer.lock generated
View File

@ -3272,16 +3272,16 @@
}, },
{ {
"name": "workerman/phpsocket.io", "name": "workerman/phpsocket.io",
"version": "v1.1.14", "version": "v1.1.16",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/walkor/phpsocket.io.git", "url": "https://github.com/walkor/phpsocket.io.git",
"reference": "a5758da4d55b4744a4cc9c956816d88ce385601e" "reference": "f4dc14e69e9d0d8ce69c6180f93b76b7743f2304"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/walkor/phpsocket.io/zipball/a5758da4d55b4744a4cc9c956816d88ce385601e", "url": "https://api.github.com/repos/walkor/phpsocket.io/zipball/f4dc14e69e9d0d8ce69c6180f93b76b7743f2304",
"reference": "a5758da4d55b4744a4cc9c956816d88ce385601e", "reference": "f4dc14e69e9d0d8ce69c6180f93b76b7743f2304",
"shasum": "", "shasum": "",
"mirrors": [ "mirrors": [
{ {
@ -3292,7 +3292,7 @@
}, },
"require": { "require": {
"workerman/channel": ">=1.0.0", "workerman/channel": ">=1.0.0",
"workerman/workerman": ">=3.5.16" "workerman/workerman": ">=4.0.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -3310,7 +3310,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/walkor/phpsocket.io/issues", "issues": "https://github.com/walkor/phpsocket.io/issues",
"source": "https://github.com/walkor/phpsocket.io/tree/v1.1.14" "source": "https://github.com/walkor/phpsocket.io/tree/v1.1.16"
}, },
"funding": [ "funding": [
{ {
@ -3322,7 +3322,7 @@
"type": "patreon" "type": "patreon"
} }
], ],
"time": "2022-02-24T03:33:45+00:00" "time": "2022-11-25T13:00:18+00:00"
}, },
{ {
"name": "workerman/workerman", "name": "workerman/workerman",

View File

@ -47,7 +47,7 @@ class Message
/** /**
* 接收消息 * 接收消息
* @param $uid 接收消息用户ID * @param $uid 接收消息用户ID
* @return \think\Collection * @return array
* @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException * @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException

View File

@ -3288,24 +3288,30 @@
}, },
{ {
"name": "workerman/phpsocket.io", "name": "workerman/phpsocket.io",
"version": "v1.1.14", "version": "v1.1.16",
"version_normalized": "1.1.14.0", "version_normalized": "1.1.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/walkor/phpsocket.io.git", "url": "https://github.com/walkor/phpsocket.io.git",
"reference": "a5758da4d55b4744a4cc9c956816d88ce385601e" "reference": "f4dc14e69e9d0d8ce69c6180f93b76b7743f2304"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/walkor/phpsocket.io/zipball/a5758da4d55b4744a4cc9c956816d88ce385601e", "url": "https://api.github.com/repos/walkor/phpsocket.io/zipball/f4dc14e69e9d0d8ce69c6180f93b76b7743f2304",
"reference": "a5758da4d55b4744a4cc9c956816d88ce385601e", "reference": "f4dc14e69e9d0d8ce69c6180f93b76b7743f2304",
"shasum": "" "shasum": "",
"mirrors": [
{
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
"preferred": true
}
]
}, },
"require": { "require": {
"workerman/channel": ">=1.0.0", "workerman/channel": ">=1.0.0",
"workerman/workerman": ">=3.5.16" "workerman/workerman": ">=4.0.0"
}, },
"time": "2022-02-24T03:33:45+00:00", "time": "2022-11-25T13:00:18+00:00",
"type": "library", "type": "library",
"installation-source": "dist", "installation-source": "dist",
"autoload": { "autoload": {
@ -3323,7 +3329,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/walkor/phpsocket.io/issues", "issues": "https://github.com/walkor/phpsocket.io/issues",
"source": "https://github.com/walkor/phpsocket.io/tree/v1.1.14" "source": "https://github.com/walkor/phpsocket.io/tree/v1.1.16"
}, },
"funding": [ "funding": [
{ {

View File

@ -3,7 +3,7 @@
'name' => 'taoser/taoler', 'name' => 'taoser/taoler',
'pretty_version' => 'dev-master', 'pretty_version' => 'dev-master',
'version' => 'dev-master', 'version' => 'dev-master',
'reference' => '70c9f4a1c46ca50786773a38e86e10cf67fc15aa', 'reference' => 'e3f1590beb50ab5826fd410fd37264870b5967f4',
'type' => 'project', 'type' => 'project',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),
@ -358,7 +358,7 @@
'taoser/taoler' => array( 'taoser/taoler' => array(
'pretty_version' => 'dev-master', 'pretty_version' => 'dev-master',
'version' => 'dev-master', 'version' => 'dev-master',
'reference' => '70c9f4a1c46ca50786773a38e86e10cf67fc15aa', 'reference' => 'e3f1590beb50ab5826fd410fd37264870b5967f4',
'type' => 'project', 'type' => 'project',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),
@ -509,9 +509,9 @@
'dev_requirement' => false, 'dev_requirement' => false,
), ),
'workerman/phpsocket.io' => array( 'workerman/phpsocket.io' => array(
'pretty_version' => 'v1.1.14', 'pretty_version' => 'v1.1.16',
'version' => '1.1.14.0', 'version' => '1.1.16.0',
'reference' => 'a5758da4d55b4744a4cc9c956816d88ce385601e', 'reference' => 'f4dc14e69e9d0d8ce69c6180f93b76b7743f2304',
'type' => 'library', 'type' => 'library',
'install_path' => __DIR__ . '/../workerman/phpsocket.io', 'install_path' => __DIR__ . '/../workerman/phpsocket.io',
'aliases' => array(), 'aliases' => array(),

2
vendor/services.php vendored
View File

@ -1,5 +1,5 @@
<?php <?php
// This file is automatically generated at:2022-11-23 14:02:06 // This file is automatically generated at:2022-12-03 13:32:51
declare (strict_types = 1); declare (strict_types = 1);
return array ( return array (
0 => 'taoser\\addons\\Service', 0 => 'taoser\\addons\\Service',

View File

@ -2,9 +2,9 @@
A server side alternative implementation of [socket.io](https://github.com/socketio/socket.io) in PHP based on [Workerman](https://github.com/walkor/Workerman).<br> A server side alternative implementation of [socket.io](https://github.com/socketio/socket.io) in PHP based on [Workerman](https://github.com/walkor/Workerman).<br>
# Notice # Notice
Only support socket.io v1.3.0 or greater. <br> Only support socket.io >= v1.3.0 and <= v2.x <br>
This project is just translate socket.io by [workerman](https://github.com/walkor/Workerman).<br> This project is just translate socket.io by [workerman](https://github.com/walkor/Workerman).<br>
More api just see http://socket.io/docs/server-api/ More api just see [https://socket.io/docs/v2/server-api/](https://socket.io/docs/v2/server-api/)
# Install # Install
composer require workerman/phpsocket.io composer require workerman/phpsocket.io
@ -138,6 +138,28 @@ $io->on('connection', function ($connection) use ($io) {
Worker::runAll(); Worker::runAll();
``` ```
## Acknowledgement callback
```php
use Workerman\Worker;
use PHPSocketIO\SocketIO;
require_once __DIR__ . '/vendor/autoload.php';
$io = new SocketIO(2021);
$io->on('connection', function ($connection) use ($io) {
$socket->on('message with ack', function ($data, $callback) use ($socket, $io) {
// acknowledgement callback
if ($callback && is_callable($callback)) {
$callback(0);
}
});
});
Worker::runAll();
```
# 手册 # 手册
[中文手册](https://github.com/walkor/phpsocket.io/tree/master/docs/zh) [中文手册](https://github.com/walkor/phpsocket.io/tree/master/docs/zh)

View File

@ -5,7 +5,7 @@
"homepage": "http://www.workerman.net", "homepage": "http://www.workerman.net",
"license" : "MIT", "license" : "MIT",
"require": { "require": {
"workerman/workerman" : ">=3.5.16", "workerman/workerman" : ">=4.0.0",
"workerman/channel" : ">=1.0.0" "workerman/channel" : ">=1.0.0"
}, },
"autoload": { "autoload": {

View File

@ -1,7 +1,7 @@
<?php <?php
namespace PHPSocketIO\Engine; namespace PHPSocketIO\Engine;
use \PHPSocketIO\Event\Emitter; use \PHPSocketIO\Event\Emitter;
use \Workerman\Lib\Timer; use \Workerman\Timer;
use \PHPSocketIO\Debug; use \PHPSocketIO\Debug;
class Socket extends Emitter class Socket extends Emitter
{ {

View File

@ -346,7 +346,7 @@ class Socket extends Emitter
call_user_func($ack, $packet['data']); call_user_func($ack, $packet['data']);
unset($this->acks[$packet['id']]); unset($this->acks[$packet['id']]);
} else { } else {
echo ('bad ack '. packet.id); echo ('bad ack '. $packet['id']);
} }
} }

View File

@ -22,7 +22,7 @@
{/volist} {/volist}
{// 后台自定义头部链接} {// 后台自定义头部链接}
{volist name="headlinks" id="vo"} {volist name="headlinks" id="vo"}
<li class="layui-nav-item"><a href="{$vo.slid_href}"><i class="layui-icon {$vo.slid_img}"></i>{$vo.slid_name}</a></li> <li class="layui-nav-item"><a href="{$vo.slid_href}" target="_blank"><i class="layui-icon {$vo.slid_img}"></i>{$vo.slid_name}</a></li>
{/volist} {/volist}
</ul> </ul>