Browse Source

手机号+区号防重复

lizhen_gitee 1 year ago
parent
commit
3dece9801d

+ 2 - 1
application/admin/lang/zh-cn/user/user.php

@@ -8,7 +8,8 @@ return [
     'Introcode'              => '邀请码',
     'Password'               => '密码',
     'Salt'                   => '密码盐',
-    'Mobile'                 => '手机号',
+    'Mobile'                 => '区号手机号',
+    'Simplemobile'           => '手机号',
     'Avatar'                 => '头像',
     'Gender'                 => '性别',
     'Gender 1'               => '男',

+ 9 - 0
application/admin/model/User.php

@@ -62,6 +62,15 @@ class User extends Model
                     }
                 }
             }
+            //手机去重
+            if (isset($changed['simplemobile'])) {
+                if($changed['simplemobile']){
+                    $exists = db('user')->where('simplemobile', $changed['simplemobile'])->where('id', '<>', $row->id)->find();
+                    if ($exists) {
+                        abort(500,'手机号已经被使用');
+                    }
+                }
+            }
         });
         self::beforeInsert(function ($row){
             if (isset($row['password'])) {

+ 7 - 0
application/admin/view/user/user/edit.html

@@ -44,6 +44,13 @@
             不需要修改就不填
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Simplemobile')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-simplemobile" class="form-control" name="row[simplemobile]" type="text" value="{$row.simplemobile|htmlentities}">
+            不需要修改就不填,必须和区号手机号同步,并去掉区号
+        </div>
+    </div>
     <!--<div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Avatar')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 1 - 0
public/assets/js/backend/user/user.js

@@ -33,6 +33,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 //                        {field: 'password', title: __('Password'), operate: 'LIKE'},
 //                        {field: 'salt', title: __('Salt'), operate: 'LIKE'},
                         {field: 'mobile', title: __('Mobile'), operate: 'LIKE'},
+                        {field: 'simplemobile', title: __('Simplemobile'), operate: 'LIKE'},
                         {field: 'avatar', title: __('Avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
                         {field: 'gender', title: __('Gender'), searchList: {"1":__('Gender 1'),"0":__('Gender 0')}, formatter: Table.api.formatter.normal},
 //                        {field: 'height', title: __('Height'), operate: 'LIKE'},