有趣的事情有肆

封装小程序utils/request.js```

const BASE_URL = 'https://xcx.duolalive.com/apixcx/';
const BASE_METHOD = 'POST';
const DATA_TYPE = 'json';
const TOAST_DURATION = 1500;
let header = {};

//抽象出处理错误信息的公共方法
const handleErrorMsg = (errMsg) => {
  wx.showModal({
    title: '提示',
    content: errMsg,
    showCancel: false,
  });
}

function request(url, params = {}, showMsg = false) {
  // 绑定手机需要携带cookie
  if (params.regist) {
    header['cookie'] = wx.getStorageSync("SESSION_ID")
  }
  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '加载中'
    });
    wx.request({
      data: params,
      url: BASE_URL + url,
      method: params.method ? params.method : BASE_METHOD,
      dataType: DATA_TYPE,
      header: {
        ...header,
        "content-type": params.method ? "application/json" : "application/x-www-form-urlencoded",
      },
      success: ({
        data,
        statusCode,
        errMsg,
        header
      }) => {
        let errStr = '';
        wx.hideLoading();
        let _data = JSON.parse(JSON.stringify(data))
        const { code, msg } = _data
        // 发送验证码需要携带session_id
        if (params.send_code) {
          wx.removeStorageSync('SESSION_ID')
          wx.nextTick(() => {
            wx.setStorageSync("SESSION_ID", header["Set-Cookie"]);
          })
        }
        //增加代码的健壮性
        if (statusCode === 200) {
          if (Number(code) !== 0) { // 接口出错
            errStr = msg
          } else {
            if (!showMsg) {
              return resolve(_data);
            }
            // 展示操作提示
            wx.showToast({
              duration: TOAST_DURATION,
              title: '操作成功',
              icon: 'success',
              complete: () => resolve(_data),
            });
            return;
          }
        } else {
          errStr = errMsg // 小程序方出错
        }
        if (statusCode !== 200 || code !== 0) {
          if (code !== -100) {
            handleErrorMsg(errStr)
          }
          reject(data)
        }
      },
      fail: ({
        statusCode,
        errMsg
      }) => {
        wx.hideLoading();
        handleErrorMsg(`${statusCode}: ${errMsg}`)
        reject({
          statusCode,
          errMsg
        });
      },
    });
  })
}
export default request

获取手机验证码方法

接口://https://xcx.duolalive.com/apixcx/wx_login.php
测试数据://phone:17722486332;send_code: 1

// 60秒后重新获取验证码
this.login(true);
inter = setInterval(function () {
  this.setData({
    smsFlag: true,
    sendColor: '#cccccc',
    sendTime: this.data.snsMsgWait + 's后重发',
    snsMsgWait: this.data.snsMsgWait - 1
  });
  if (this.data.snsMsgWait < 0) {
    clearInterval(inter)
    this.setData({
      sendTime: '获取验证码',
      snsMsgWait: 60,
      smsFlag: false
    });
  }
}.bind(this), 1000);     //注意定时器中的this
},

tomcat配置

在这里插入图片描述

  1. conf/server核心配置修改一下配置,可以修改服务器默认端口和某人主机名
  2. 修改后的默认主机名,要在计算机C:window\System32\deivers\etc\host配置文件中配置
//tomcat默认端口号8080;mysql:3306;http:80;https:443
<Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />
//默认主机名为localhost->127.0.0.1
//默认网址应用存放位置:webapps
<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">
  1. idea中配置tomcat在这里插入图片描述
    在这里插入图片描述
Maven配置
  1. 配置环境变量,和Java配置环境变量一样,cmd下mvn -version出现maven版本表示配置成功在这里插入图片描述
  2. 修改镜像源为阿里云镜像源:conf/setting.xml/mirror
<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror> 
  1. 新建文帝仓储
<localRepository>G:\apache-maven-3.6.3\maven-repo</localRepository>
  1. 修改web.xml为最新代码
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee     http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
</web-app>
  1. 完善maven的结构 main/java&&resource文件包
servlet程序
  1. 编写普通类继承HttpServlet基类
package com.huang.cookies;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

public class SessionDemo2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        resp.setCharacterEncoding("utf-8");
        req.setCharacterEncoding("utf-8");
        HttpSession session = req.getSession();
        String name = (String) session.getAttribute("name");
//        null;大神
        System.out.println(name);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
  1. 编写web.xml中配置servlet映射
<servlet>
     <servlet-name>getSession</servlet-name>
     <servlet-class>com.huang.cookies.SessionDemo2</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>getSession</servlet-name>
     <url-pattern>/getSession</url-pattern>
 </servlet-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值