<span class="hljs-title function_">tc</span>(<span class="hljs-string">"要跳转的地址"</span>, <span class="hljs-string">"标题"</span>);
```## 一、首页模板指南

演示图上传

请将模板文件的预览图像命名为preview.png并上传。上传后,在后台可以查看到该模板的预览图。

首页模板访问
- 模板访问方式:首页模板支持通过/?s=xxxx的方式直接访问相应文件。例如,通过?s=index访问index.php。如果对应文件不存在,将返回404错误。

- 访问限制:不支持以/?s=head为参数访问主PHP文件。尝试访问时,将显示错误信息。
常量解析

- INDEX_ROOT:表示模板所在的目录,只有在后台选中该目录后,设置才会生效。

- STATIC_ROOT:表示模板样式文件所在的目录,例如:/Template/default/assets/。请确保模板文件组织有序,以便维护。

注意事项
请不要随意更改模板目录中的文件结构,以免引起文件路径错误。感谢您的配合。

二、登录模板指南

演示图上传
- 通用命名:与首页模板相同,登录模板的演示图也请命名为preview.png。
登录模板使用说明

- 访问路径:

- 登录页面:User/login

- 注册页面:User/reg

- 密码找回:User/Retrieve

- 文件支持:仅支持上述三个页面文件。如果相关文件不存在,将返回404错误。
变量与常量

- $name1变量:在注册页面中,$name1用于提示”请输入邮箱验证码”,根据需求决定是否使用。

- $xf_zzurl变量:在找回密码页面,此变量用于显示一句提示语,按需调用。

- 常量:

- INDEX_ROOT:模板目录。

- STATIC_ROOT:样式目录。
- 登录验证请求

- 方法与参数:

- 发送POST或GET请求到Ajax.php。

- 可选参数Login支持极验验证,通过Ajax.php?act=Captcha&t=" + (new Date()).getTime()调用。

- Login1图形验证 调用请参考《Captcha图形验证调用说明》。

- 请求参数:pid(账号),key(密码)。
注册验证码获取

方法与参数:

- 请求发送至ajax.php,使用参数Sendcode或Sendcode1。

- Sendcode1极验验证,Sendcode使用的是 图形验证码 如需调用 参考 《Captcha图形验证调用说明》。

- 请求参数:email(邮箱),user(账号),qq,phone(手机号)。

- 选择邮箱验证时,邮箱参数不能为空;选择短信验证时,手机号参数不能为空。
注册通道

- 方法与参数:

- 请求act=Reg。

- 请求参数:user(账号),pass(密码),qq,email(邮箱),code(注册验证码),phone(手机号)。

- 邮箱和手机号的验证必须与注册验证码一致。
密码找回

- 验证码获取:

- act=_zh_code。

- 请求参数:username(账号),qq。

- 密码更新:

- act=_zh_pwd。

- 请求参数:username(账号),password(新密码),newpass(确认密码),qq,code(验证码)。
注意事项
- 所有请求应使用POST方法,不支持GET请求。
使用极验调用代码示例
```php
$(document).ready(function(){
      $.ajax({
        // 获取id,challenge,success(是否启用failback)
        url: "Ajax.php?act=Captcha&t=" + (new Date()).getTime(), // 加随机数防止缓存
        type: "get",
        dataType: "json",
        success: function (data) {
          console.log(data);
          // 使用initGeetest接口
          // 参数1:配置参数
          // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
          initGeetest({
            width: '100%',
            gt: data.gt,
            challenge: data.challenge,
            new_captcha: data.new_captcha,
            product: "bind", // 产品形式,包括:float,embed,popup。注意只对PC版验证码有效
            offline: !data.success // 表示用户后台检测极验服务器是否宕机,一般不需要关注
            // 更多配置参数请参见:http://www.geetest.com/install/sections/idx-client-sdk.html#config
          }, handlerEmbed);
        }
      });
    });
var handlerEmbed = function (captchaObj) {
      captchaObj.onReady(function () {
        $("#wait").hide();
      }).onSuccess(function () {
        var result = captchaObj.getValidate();
        if (!result) {
          return alert('请完成验证');
        }
        var pid=$("#pid").val();
        var key=$("#key").val();
        var ii = layer.load(2, {shade:[0.1,'#fff']});
        $.ajax({
          type : "POST",
          url : "Ajax.php?act=Login",
          data : {geetest_challenge:result.geetest_challenge,geetest_validate:result.geetest_validate,geetest_seccode:result.geetest_seccode,pid:pid,key:key},
          dataType : 'json',
          success : function(data) {
            layer.close(ii);
            if(data.code == 1){
                layer.alert(data.msg);
              setTimeout(function () {
              location.href="./";
              }, 1000); //延时1秒跳转
            }else{
              layer.alert(data.msg);
              captchaObj.reset();
            }
          },
          error:function(data){
        layer.close(ii);
        layer.msg('服务器错误');
          }
        });
      });
      $('#login').click(function () {
        captchaObj.verify();
      });
    };

三、功能交互JS指南

引入常量与JS文件

常量CommonJs:包含common.js所在的目录路径,确保在使用任何函数前已正确引入。

常量LayerJS:包含Layer.js所在的目录路径,确保在使用任何函数前已正确引入。

常量JQueryJS:包含Jquery.js所在的目录路径,确保在使用任何函数前已正确引入。

常量CaptchaJS:包含captcha.js所在的目录路径,确保在使用任何函数前已正确引入

引入顺序:在调用common.js之前,请确保已经引入layer.js,以支持弹窗功能。

Captcha图形验证调用说明

1、关于captcha.js的调用方法图形注意必须添加 唯一id captcha 会自动刷新验证码 绑定在img里面

2、使用js函数 refreshCaptcha刷新图形验证码

加载图形验证码使用 /api/captcha来加载

函数解析与使用方法

truemsg函数:

功能:显示一个成功提示的弹窗,支持执行回调函数。

调用示例:

<span class="hljs-title function_">truemsg</span>(layer, <span class="hljs-string">"这是一个成功弹窗"</span>, <span class="hljs-keyword">function</span>() {

  <span class="hljs-comment">// 回调内容</span>

  <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">"操作成功!"</span>);

});

falsemsg函数:
功能:与truemsg相似,用于显示失败或错误提示的弹窗。
调用示例:

<span class="hljs-title function_">falsemsg</span>(layer, <span class="hljs-string">"这是一个失败弹窗"</span>, <span class="hljs-keyword">function</span>() {
  <span class="hljs-comment">// 回调内容</span>
  <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(<span class="hljs-string">"操作失败!"</span>);
});

layeralert函数:
功能:生成一个警告弹窗(alert),点击确定后可执行回调函数。
使用方法:与truemsg和falsemsg类似。
tc函数:
功能:使用layer.open打开一个新页面,常用于iframe弹窗。
调用示例:

<span class="hljs-title function_">tc</span>(<span class="hljs-string">"要跳转的地址"</span>, <span class="hljs-string">"标题"</span>);

注意事项

回调函数:确保在使用弹窗功能时,合理配置回调函数以执行相应操作。

文件依赖:注意文件依赖关系,避免因缺少必要的JS文件而导致功能不正常。

调用顺序:严格按照引入顺序进行,先引入layer.js再引入common.js,以确保所有功能正常运作。