Browse Source

修改bug 2023/10/20

Xiahai 11 tháng trước cách đây
mục cha
commit
38dfda79c8

+ 47 - 0
application/api/controller/User.php

@@ -1167,4 +1167,51 @@ class User extends Api
 
         $this->success('', $data);
     }
+
+    /**
+     * 手稿列表
+     *
+     * @return void
+     * @throws \think\Exception
+     * @throws \think\exception\DbException
+     */
+    public function display_submitted()
+    {
+        $author_edit_status = config('site.author_edit_status');
+        $author_comments_status = config('site.author_comments_status');
+        // 构建分页参数
+        $limit = $this->request->param('limit', 10);
+        $status = $this->request->param('status', 'all');
+        $keyword = $this->request->param('keyword');
+        $manuscripts = AuthorManuscript::where(['user_id' => $this->auth->id])
+            ->where(function ($query) use ($keyword, $status) {
+                if ($status != 'all') {
+                    return $query->where(['status' => $status]);
+                }
+                if ($keyword != '') {
+                    return $query->where(['title' => ['like', '%'. $keyword .'%']]);
+                }
+            })->field('id,title,image,createtime,journal,status')
+            ->order('createtime', 'DESC')
+            ->paginate($limit);
+        foreach ($manuscripts as $manuscript) {
+            $manuscript['createtime'] = date('Y-m-d', $manuscript['createtime']);
+            $manuscript['journal'] = Channel::where(['id' => $manuscript['journal']])->value('name') ?? '';
+            $manuscript['is_edit'] = false;
+            $manuscript['is_comments'] = false;
+            $manuscript['is_view_comments'] = false;
+            if (in_array($manuscript['status'], $author_edit_status)) {
+                $manuscript['is_edit'] = true;
+            }
+            if (in_array($manuscript['status'], $author_comments_status)) {
+                $manuscript['is_comments'] = true;
+            }
+            // 查询当前手稿下是否有可查看的审稿意见数量
+            $comment_count = Comments::where(['manuscript_id' => $manuscript['id'], 'type' => 'reviewer', 'is_send' => 'normal'])->count();
+            if ($comment_count > 0) {
+                $manuscript['is_view_comments'] = true;
+            }
+        }
+        $this->success('', $manuscripts);
+    }
 }

+ 12 - 4
application/common/library/Auth.php

@@ -133,6 +133,7 @@ class Auth
      */
     public function register($username, $password, $email = '', $mobile = '', $extend = [])
     {
+        $request = Request::instance();
         // 检测用户名、昵称、邮箱、手机号是否存在
         if (User::getByUsername($username)) {
             $this->setError('Username already exist');
@@ -178,18 +179,20 @@ class Auth
             //设置Token
             $this->_token = Random::uuid();
             Token::set($this->_token, $user->id, $this->keeptime);
+            $user->token = $this->_token;
+            $user->save();
 
             //设置登录状态
 //            $this->_logined = true;
 
             //注册成功的事件
-            Hook::listen("user_register_successed", $this->_user, $data);
+//            Hook::listen("user_register_successed", $this->_user, $data);
 
             //TODO 发送邮件内容
             $email = new Email;
             $email->to($username)
                 ->subject(config('site.mail_title')) // 标题
-                ->message(config('site.mail_content') . 'Please click on the link to login' . '<a href="'. config('site.cdnurl') .'">' . config('site.cdnurl') . '</a>') // 内容  链接地址写死
+                ->message(config('site.mail_content') . 'Please click on the link to login ' . '<a href="'. $request->domain() . '/index/user/login?token=' . $this->_token . '-' . $user->id .'">Address</a>') // 内容  链接地址写死
                 ->send();
 
             Db::commit();
@@ -226,6 +229,11 @@ class Auth
             return false;
         }
 
+        if ($user->is_register != 'normal') {
+            $this->setError('Please go to the email and click on the corresponding address to register');
+            return false;
+        }
+
         //直接登录会员
         return $this->direct($user->id);
     }
@@ -319,15 +327,15 @@ class Auth
                 $this->_user = $user;
 
                 $this->_token = Random::uuid();
-                Token::set($this->_token, $user->id, $this->keeptime);
-
                 $user->token = $this->_token;
                 $user->save();
+                Token::set($this->_token, $user->id, $this->keeptime);
 
                 $this->_logined = true;
 
                 //登录成功的事件
                 Hook::listen("user_login_successed", $this->_user);
+
                 Db::commit();
             } catch (Exception $e) {
                 Db::rollback();

+ 1 - 1
application/extra/site.php

@@ -42,7 +42,7 @@ return array (
     'custom' => 'Custom',
   ),
   'mail_title' => '这是来自Ideal Science 的一封邮件',
-  'mail_content' => '<p>请来这里登录吧!!!</p><p>点击这里<a href="https://www.idscipublishing.com/index/user/login.html" target="_blank">https://www.idscipublishing.com/index/user/login.html</a>进行登录哦</p>',
+  'mail_content' => '<p>请来这里登录吧!!!</p>',
   'workplace' => 
   array (
     'science' => 'science',

+ 14 - 0
application/index/controller/User.php

@@ -171,6 +171,20 @@ class User extends Frontend
     public function login()
     {
         $url = $this->request->request('url', '', 'trim');
+        $token = $this->request->request('token');
+        if ($token) {
+            $token = $this->request->request('token');
+            $uid = explode('-', $token)[5];
+            $user = \app\admin\model\User::get($uid);
+            $user->is_register = 'normal';
+            if ($user->save()) {
+                if ($this->auth->direct($user->id)) {
+                    url('/index/user/index');
+                } else {
+                    url('/');
+                }
+            }
+        }
         if ($this->auth->id) {
             $this->success('You\'ve logged in, do not login again', $url ? $url : url('user/index'));
         }

+ 5 - 4
application/index/view/user/submit_manuscript.html

@@ -476,10 +476,11 @@
                             {else}
                             {foreach name="row.author_content" item="author"}
                             <div class="add-author-item">
-                                <div class="form-group">
-                                    <label class="control-label col-xs-12 col-sm-9">
-                                    </label>
-                                    <div class="author-delete-button text-delete-button mb-3 col-xs-12 col-sm-3">
+                                <div class="form-group author-content-button-item">
+                                    <div class="author-sort-button text-sort-button text-button">
+                                        <i class="fa fa-sort"></i> Sort
+                                    </div>
+                                    <div class="author-delete-button text-delete-button text-button">
                                         <i class="fa fa-trash"></i> Delete
                                     </div>
                                 </div>

+ 1 - 1
public/assets/js/backend/cms/special_issue.js

@@ -10,7 +10,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 extend: {
                     index_url: 'cms/special_issue/index',
                     add_url: '',
-                    edit_url: 'cms/special_issue/edit',
+                    edit_url: '',
                     del_url: 'cms/special_issue/del',
                     multi_url: 'cms/special_issue/multi',
                     table: 'cms_special_issue',