reg_config.html 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .layui-form-item .layui-form-checkbox[lay-skin=primary] {
  5. margin-top: 0;
  6. }
  7. .desc{
  8. margin-bottom: 15px;border:1px dashed;padding: 5px 10px;width: 65%;
  9. }
  10. .word-aux{
  11. width: 50%!important;
  12. }
  13. .examples {cursor: pointer; margin-left: 5px; font-weight: 500;}
  14. .layui-carousel {width: 850px !important; height: 580px !important; background: #fff !important;}
  15. .layui-carousel>[carousel-item]>* {background: #fff !important;}
  16. </style>
  17. {/block}
  18. {block name="main"}
  19. <div class="layui-form form-wrap">
  20. <div class="layui-card card-common card-brief">
  21. <div class="layui-card-header">
  22. <div>
  23. <span class="card-title">普通登录注册设置<a onclick="showDemo1()" class="examples text-color">查看示例</a></span>
  24. </div>
  25. </div>
  26. <div class="layui-card-body">
  27. <div class="desc text-color border-color bg-color-diaphaneity">
  28. 设置在非第三方平台(第三方平台是指微信公众号,微信小程序,支付宝小程序等平台内部)或第三方平台自动注册未开启情况下会员的注册登录方式。
  29. </div>
  30. <div class="layui-form-item">
  31. <label class="layui-form-label ">用户名:</label>
  32. <div class="layui-input-block">
  33. <input type="checkbox" name="register" value="username" title="注册" lay-skin="primary" {if condition="!empty($value['register']) && in_array('username', $value['register'])"}checked{/if}>
  34. <input type="checkbox" name="login" value="username" title="登录" lay-skin="primary" {if condition="!empty($value['login']) && in_array('username', $value['login'])"}checked{/if}>
  35. </div>
  36. <div class="word-aux">用户名是指通过用户名加密码的注册登录方式。</div>
  37. </div>
  38. <div class="layui-form-item">
  39. <label class="layui-form-label ">手机号:</label>
  40. <div class="layui-input-block">
  41. <input type="checkbox" name="register" value="mobile" title="注册" lay-skin="primary" {if condition="!empty($value['register']) && in_array('mobile', $value['register'])"}checked{/if}>
  42. <input type="checkbox" name="login" value="mobile" title="登录" lay-skin="primary" {if condition="!empty($value['login']) && in_array('mobile', $value['login'])"}checked{/if}>
  43. </div>
  44. <div class="word-aux">手机号是指通过手机号加动态验证码的注册登录方式。</div>
  45. <div class="word-aux">启用前需配置好“注册验证”,“动态码登录”短信模板,<a href="{:addon_url('shop/message/lists')}" class="text-color" >前去配置</a></div>
  46. </div>
  47. </div>
  48. </div>
  49. <div class="layui-card card-common card-brief ">
  50. <div class="layui-card-header">
  51. <div>
  52. <span class="card-title">第三方平台注册设置<a onclick="showDemo2()" class="examples text-color">查看示例</a></span>
  53. </div>
  54. </div>
  55. <div class="layui-card-body">
  56. <div class="desc text-color border-color bg-color-diaphaneity">
  57. 第三方平台注册是指在微信公众号,微信小程序,支付宝小程序等平台下会员的注册方式.
  58. </div>
  59. <div class="layui-form-item">
  60. <label class="layui-form-label ">允许三方平台自动注册:</label>
  61. <div class="layui-input-block">
  62. <input type="checkbox" name="third_party" value="1" lay-filter="third_party" lay-skin="switch" {if condition="isset($value.third_party) && $value.third_party == 1"} checked {/if} >
  63. </div>
  64. <div class="word-aux">第三方直接注册是指系统通过获取第三方的粉丝信息直接注册会员,会员用户名随机生成,昵称是第三方获取的用户昵称,注册过程中会将第三方平台获取的信息绑定到注册的会员,方便后期直接自动登录。若关闭,系统将按照普通注册方式注册会员。</div>
  65. <div class="word-aux text-color">注∶第三方直接注册会员如果不强制绑定手机情况下会导致在不同第三方平台会员无法统一,如果只是在微信环境(微信公众号与微信小程序),可以通过绑定<a href="https://open.weixin.qq.com/" class="text-color" target="_blank">微信开放平台</a>获取unionid实现账户统一。</div>
  66. </div>
  67. <div class="layui-form-item {if $value.third_party neq 1}layui-hide{/if}" id="bindMobile">
  68. <label class="layui-form-label ">是否强制绑定手机:</label>
  69. <div class="layui-input-block">
  70. <input type="checkbox" name="bind_mobile" value="1" lay-filter="bind_mobile" lay-skin="switch" {if condition="$value.bind_mobile == 1"} checked {/if} >
  71. </div>
  72. <div class="word-aux">为了实现不同的第三方平台用户账户的统一,需要在注册过程中强制绑定用户手机,通过手机实现微信平台与支付宝平台,抖音平台等账号的统一。开启之后在对应会员相关页面会引导会员绑定手机账号。</div>
  73. <div class="word-aux">启用前需配置好“账户绑定”短信模板,<a href="{:addon_url('shop/message/lists')}" class="text-color" >前去配置</a></div>
  74. </div>
  75. </div>
  76. </div>
  77. <div class="layui-card card-common card-brief">
  78. <div class="layui-card-header">
  79. <div>
  80. <span class="card-title">密码设置</span>
  81. </div>
  82. </div>
  83. <div class="layui-card-body">
  84. <div class="layui-form-item">
  85. <label class="layui-form-label ">密码最小长度:</label>
  86. <div class="layui-input-block">
  87. <input type="number" min="0" name="pwd_len" class="layui-input len-short" lay-verify="pwd_lens" value="{$value.pwd_len}">
  88. </div>
  89. <div class="word-aux">新用户注册时密码最小长度,0或不填为不限制</div>
  90. </div>
  91. <div class="layui-form-item">
  92. <label class="layui-form-label ">密码复杂程度设置:</label>
  93. <div class="layui-input-block" id="pwd_complexity">
  94. <input type="checkbox" name="pwd_complexity" value="number" title="数字" lay-skin="primary" {if condition="!empty($value) && in_array('number', $value['pwd_complexity_arr'])"}checked{/if}>
  95. <input type="checkbox" name="pwd_complexity" value="letter" title="小写字母" lay-skin="primary" {if condition="!empty($value) && in_array('letter', $value['pwd_complexity_arr'])"}checked{/if}>
  96. <input type="checkbox" name="pwd_complexity" value="upper_case" title="大写字母" lay-skin="primary" {if condition="!empty($value) && in_array('upper_case', $value['pwd_complexity_arr'])"}checked{/if}>
  97. <input type="checkbox" name="pwd_complexity" value="symbol" title="符号" lay-skin="primary" {if condition="!empty($value) && in_array('symbol', $value['pwd_complexity_arr'])"}checked{/if}>
  98. </div>
  99. <div class="word-aux">根据选项设置密码复杂程度,如果不勾选,则密码无限制</div>
  100. </div>
  101. </div>
  102. </div>
  103. <div class="form-row">
  104. <button type="button" class="layui-btn" lay-submit lay-filter="save">保存</button>
  105. </div>
  106. </div>
  107. {/block}
  108. {block name="script"}
  109. <script>
  110. layui.use(['form','carousel'], function() {
  111. var form = layui.form;
  112. var carousel = layui.carousel;
  113. repeat_flag = false; //防重复
  114. form.render();
  115. form.on('submit(save)', function(data) {
  116. var pwd_complexity_array = [], register = [], login = [];
  117. $("#pwd_complexity input:checked").each(function(){
  118. pwd_complexity_array.push($(this).val())
  119. })
  120. $("[name='register']:checked").each(function(){
  121. register.push($(this).val())
  122. })
  123. $("[name='login']:checked").each(function(){
  124. login.push($(this).val())
  125. })
  126. if (login.length == 0){
  127. layer.msg('请至少启用一种登录方式', {icon: 5})
  128. return false;
  129. }
  130. data.field.register = register.toString();
  131. data.field.login = login.toString();
  132. data.field.pwd_complexity = pwd_complexity_array.toString();
  133. if (repeat_flag) return;
  134. repeat_flag = true;
  135. $.ajax({
  136. url: ns.url("shop/member/regConfig"),
  137. data: data.field,
  138. dataType: 'JSON',
  139. type: 'POST',
  140. success: function(res) {
  141. layer.msg(res.message);
  142. repeat_flag = false;
  143. if (res.code == 0) {
  144. location.reload();
  145. }
  146. }
  147. });
  148. });
  149. form.on('switch(third_party)', function(data) {
  150. if($(data.elem).is(':checked')){
  151. $('#bindMobile').removeClass('layui-hide');
  152. } else {
  153. $('#bindMobile').addClass('layui-hide');
  154. }
  155. });
  156. /**
  157. * 表单验证
  158. */
  159. form.verify({
  160. pwd_lens: function(value, item){ //value:表单的值、item:表单的DOM对象
  161. if(!new RegExp("^[0-9]*$").test(value)){
  162. return '密码长度只能是正整数!';
  163. }
  164. }
  165. });
  166. });
  167. function showDemo1(){
  168. layer.open({
  169. title: '查看示例',
  170. type: 1,
  171. area: ['700px', '660px'],
  172. content: '<img style="margin:20px;" src="SHOP_IMG/reg_login.png">'
  173. })
  174. }
  175. function showDemo2(){
  176. layer.open({
  177. title: '查看示例',
  178. type: 1,
  179. area: ['700px', '660px'],
  180. content: '<img style="margin:20px;" src="SHOP_IMG/other_reglogin.png">'
  181. })
  182. }
  183. </script>
  184. {/block}