首页 > 数据库 >SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统(功能包含注册登录、车主首页、停车位列表、停车位申请、故障申请、租金信息、租客列表等)

SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统(功能包含注册登录、车主首页、停车位列表、停车位申请、故障申请、租金信息、租客列表等)

时间:2022-10-30 17:31:15浏览次数:52  
标签:String id 申请 houselist 停车位 import model 列表 public

(博客目录)

SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统

本系统为了解决停车位租赁不透明的难题,提供了一个连接租客和车位主的一个平台,通过不同角色的区分,完成了车位的科学管理,从租客查看车位信息、到车位申请、故障报修、缴费到车位主查看租客、租金查看等一体化管理。 完整源码点击头像查看个人签名

实现功能截图

登录 请添加图片描述 车主首页 请添加图片描述

申请查看车位列表 请添加图片描述 添加停车位 请添加图片描述 添加租赁合同 请添加图片描述 停车位列表 请添加图片描述 我要保障 请添加图片描述 退租申请 请添加图片描述 在租列表 请添加图片描述 已退租列表 请添加图片描述 租客列表 请添加图片描述 租客已缴租金列表 请添加图片描述

系统功能

本系统实现了以下功能: 1、登录 2、车主首页 3、停车位列表 4、添加停车位 5、在租列表 6、退租列表 7、停车位申请 8、故障报修 9、我要收租 10、租客代缴租金 11、待处理故障 12、已处理故障 等

使用技术

数据库:mysql 开发工具:Idea(Myeclispe、Eclipse也可以) 知识点:SSM(spring+springmvc+mybatis)+layUi

代码

实体类 Apply.java

package Pojo;

public class Apply {
private Integer id;
private String house_id;
private String address;
private double area;
private double price;
private Integer userlist_id;
private String status;
private Userlist userlist;
public Userlist getUserlist() {
	return userlist;
}
public void setUserlist(Userlist userlist) {
	this.userlist = userlist;
}
public String getStatus() {
	return status;
}
public void setStatus(String status) {
	this.status = status;
}
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getHouse_id() {
	return house_id;
}
public void setHouse_id(String house_id) {
	this.house_id = house_id;
}
public String getAddress() {
	return address;
}
public void setAddress(String address) {
	this.address = address;
}
public double getArea() {
	return area;
}
public void setArea(double area) {
	this.area = area;
}
public double getPrice() {
	return price;
}
public void setPrice(double price) {
	this.price = price;
}
public Integer getUserlist_id() {
	return userlist_id;
}
public void setUserlist_id(Integer userlist_id) {
	this.userlist_id = userlist_id;
}
@Override
public String toString() {
	return "Apply [id=" + id + ", house_id=" + house_id + ", address=" + address + ", area=" + area + ", price=" + price
			+ ", userlist_id=" + userlist_id + ", status=" + status + ", userlist=" + userlist + "]";
}



}

Houselist.java

package Pojo;

public class Houselist {
  private Integer id;
  private String houseid;
  private String address;
  private double area;
  private double price;
  private String status;
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getHouseid() {
	return houseid;
}
public void setHouseid(String houseid) {
	this.houseid = houseid;
}
public String getAddress() {
	return address;
}
public void setAddress(String address) {
	this.address = address;
}
public double getArea() {
	return area;
}
public void setArea(double area) {
	this.area = area;
}
public double getPrice() {
	return price;
}
public void setPrice(double price) {
	this.price = price;
}
public String getStatus() {
	return status;
}
public void setStatus(String status) {
	this.status = status;
}
  
}

Dao层 ApplyMapper.java

package dao;

import java.util.List;

import Pojo.Apply;
import Pojo.Applyout;

public interface ApplyMapper {
	void insertapply(Apply apply);
	public List<Apply> findapplylist() throws Exception;
	Apply findbyhouse_id(String house_id);
	public void deletebyhouse_id(String house_id);
	public void updateapplyout(Applyout applyout);
}

ApplyMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="dao.ApplyMapper" >
  <resultMap id="ApplyUserlistResultMap" type="Pojo.Apply" >
    <id column="apply_id" property="id" jdbcType="INTEGER" />
    <result column="house_id" property="house_id" jdbcType="VARCHAR" />
    <result column="address" property="address" jdbcType="VARCHAR" />
     <result column="area" property="area" jdbcType="DOUBLE" />
     <result column="price" property="price" jdbcType="DOUBLE" />
     <result column="status" property="status" jdbcType="VARCHAR" />
      <result column="userlist_id" property="userlist_id" jdbcType="INTEGER" />
      <association property="userlist" javaType="Pojo.Userlist">
			<!-- column:userlist表的主键对应的列  property:userlist对象中id属性-->
	<id column="id" property="id"/>		
	<result column="name" property="name" jdbcType="VARCHAR" />
    <result column="idcard" property="idcard" jdbcType="VARCHAR" />
    <result column="phone" property="phone" jdbcType="VARCHAR" />
     <result column="user_id" property="user_id" jdbcType="INTEGER" />
		</association>
      
  </resultMap>
  <insert id="insertapply" parameterType="Pojo.Apply">
	  insert into apply(house_id,address,price,area,status,userlist_id) 
	  values(#{house_id},#{address},#{price},#{area},#{status},#{userlist_id})
	</insert>
	
	<select id="findapplylist" resultMap="ApplyUserlistResultMap">
		SELECT
			a.*,
			u.*
		FROM
			apply a
		JOIN `userlist` u ON u.id = a.userlist_id
	</select>
	<select id="findbyhouse_id" parameterType="string" resultType="Pojo.Apply">
		select * from apply where house_id=#{house_id}
	</select>
	<delete id="deletebyhouse_id" parameterType="String" >
		delete from apply where house_id=#{house_id}
	</delete>
</mapper>

HouselistMapper.java

package dao;

import java.util.List;

import Pojo.Houselist;
import Pojo.QueryVo;

public interface HouselistMapper {
List<Houselist> selectAll();
public Integer findhouselistByVoCount(QueryVo vo);
Houselist findhouseid(String houseid);
void inserthouse(Houselist houselist);
void deletehouse(int id);
Houselist findid(int id);
Houselist findhouseidupdate(Houselist houselist);
void updatehouse(Houselist houselist);
void updatehousestatus(Houselist houselist);
public void deletehousebyhouseid(String house_id);
public void updatestatus(Houselist houselist);
}

HouselistMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="dao.HouselistMapper" >
  <resultMap id="BaseResultMap" type="Pojo.Houselist" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="houseid" property="houseid" jdbcType="VARCHAR" />
    <result column="area" property="area" jdbcType="DOUBLE" />
    <result column="price" property="price" jdbcType="DOUBLE" />
     <result column="status" property="status" jdbcType="VARCHAR" />
  </resultMap>
 <select id="selectAll" resultMap="BaseResultMap">
   select *
    from houselist
    <where>
		
		<if test="houseid!=null and houseid!=''">
		and username=#{houseid}
		</if>
		<if test="address!=null and address!=''">
		and address=#{address}
		</if>
		<if test="area!=null and area!=''">
		and area=#{area}
		</if>
		<if test="price!=null and price!=''">
		and price=#{price}
		</if>
		<if test="status!=null and status!=''">
		and status=#{status}
		</if>
		</where>
		
  </select>
  <select id="findhouselistByVoCount" parameterType="Pojo.QueryVo" resultType="int">
		select count(*)
		from houselist
		<where>
		
		<if test="houseid!=null and houseid!=''">
		and username=#{houseid}
		</if>
		<if test="address!=null and address!=''">
		and address=#{address}
		</if>
		<if test="area!=null and area!=''">
		and area=#{area}
		</if>
		<if test="price!=null and price!=''">
		and price=#{price}
		</if>
		<if test="status!=null and status!=''">
		and status=#{status}
		</if>
		</where>
	</select>
	<select id="findid" parameterType="Integer" resultType="Pojo.Houselist">
		select * from houselist where id=#{id}
	</select>
	<select id="findhouseid" parameterType="String" resultType="Pojo.Houselist">
		select * from houselist where houseid=#{houseid}
	</select>
	<select id="findhouseidupdate" parameterType="Pojo.Houselist" resultType="Pojo.Houselist">
		select * from houselist where houseid=#{houseid} and id!=#{id}
	</select>
	<update id="updatehouse" parameterType="Pojo.Houselist">
		update houselist set houseid=#{houseid},address=#{address},area=#{area},price=#{price},status=#{status}
		where id=#{id}
</update>
<update id="updatehousestatus" parameterType="Pojo.Houselist">
		update houselist set status=#{status}
		where id=#{id}
</update>
<update id="updatestatus" parameterType="Pojo.Houselist">
		update houselist set status=#{status}
		where houseid=#{houseid}
</update>
	
	<insert id="inserthouse" parameterType="Pojo.Houselist">
	  insert into houselist(houseid,address,area,price,status) 
	  values(#{houseid},#{address},#{area},#{price},#{status})
	</insert>
	
	<delete id="deletehouse" parameterType="Integer" >
		delete from houselist where id=#{id}
	</delete>
	<delete id="deletehousebyhouseid" parameterType="String" >
		delete from houselist where houseid=#{houseid}
	</delete>
</mapper>

service层

ApplyoutServiceImpl.java

package service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import Pojo.Applyout;
import Pojo.Checkout;
import Pojo.Houselist;
import Pojo.Zulist;
import dao.ApplyoutMapper;
import dao.CheckoutMapper;
import dao.HetongMapper;
import dao.HouselistMapper;
import dao.ZulistMapper;

@Service
@Transactional
public class ApplyoutServiceImpl implements ApplyoutService {
	
	@Autowired
	private ApplyoutMapper applyoutMapper;
	@Autowired
	private HouselistMapper houselistMapper;
	@Autowired
	private HetongMapper hetongMapper;
	@Autowired
	private CheckoutMapper checkoutMapper;
	@Autowired
	private ZulistMapper zulistMapper;
	@Override
	public void insertapplyout(Zulist zulist) {
		Applyout applyout=new Applyout();
		applyout.setHouse_id(zulist.getHouse_id());
		applyout.setAddress(zulist.getAddress());
		applyout.setStatus("申请中");
		applyout.setUserlist_id(zulist.getUserlist_id());
		applyoutMapper.insertapplyout(applyout);
		
	}
	@Override
	public List<Applyout> findallapplyout() {
		List<Applyout> list=applyoutMapper.findallapplyout();
		return list;
	}
	@Override
	public void updateapplyout(Applyout applyout) {
		
		applyoutMapper.updateapplyout(applyout);
	}
	@Override
	public void agreeapplyout(Integer id) {
		Applyout applyout=applyoutMapper.findbyid(id);
		houselistMapper.deletehousebyhouseid(applyout.getHouse_id());
		hetongMapper.deletehetong(applyout.getHouse_id());
		Checkout checkout=new Checkout();
		checkout.setHouse_id(applyout.getHouse_id());
		checkout.setAddress(applyout.getAddress());
		checkout.setStatus("已退租");
		checkout.setUserlist_id(applyout.getUserlist_id());
		checkoutMapper.insertcheckout(checkout);
		applyout.setStatus("已同意");
		applyoutMapper.updateapplyoutbyhouse(applyout);
		zulistMapper.deletezulist(applyout.getHouse_id());
	}
	@Override
	public void deleteapplyout(Integer id) {
		
		applyoutMapper.deleteapplyout(id);
	}
	
	
}

HouselistServiceImpl.java

package service;

import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import Pojo.Houselist;
import Pojo.QueryVo;
import dao.HouselistMapper;

@Service
public class HouselistServiceImpl implements HouselistService {
	
	@Autowired
	private HouselistMapper houselistMapper;
	
	@Override
	public List<Houselist> selectAll() {
		List<Houselist> houselist=houselistMapper.selectAll();
		return houselist;
	}

	@Override
	public Houselist findhouseid(String houseid) {
		Houselist houselist=houselistMapper.findhouseid(houseid);
		return houselist;
	}

	@Override
	public void inserthouse(Houselist houselist) {
		// TODO Auto-generated method stub
		houselistMapper.inserthouse(houselist);
	}

	@Override
	public void deletehouse(int id) {
		// TODO Auto-generated method stub
		houselistMapper.deletehouse(id);
	}

	@Override
	public Houselist findhouseidupdate(Houselist houselist) {
		Houselist list=houselistMapper.findhouseidupdate(houselist);
		return list;
	}

	@Override
	public void updatehouse(Houselist houselist) {
		houselistMapper.updatehouse(houselist);
		
	}

	@Override
	public Houselist findid(int id) {
		Houselist list=houselistMapper.findid(id);
		return list;
	}

	@Override
	public void updatehousestatus(Houselist houselist) {
		// TODO Auto-generated method stub
		houselistMapper.updatehousestatus(houselist);
	}

	@Override
	public void deletehousebyhouseid(String house_id) {
		houselistMapper.deletehousebyhouseid(house_id);
		
	}

	

}

controller层 ApplyController.java

package controller;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import Pojo.Apply;
import Pojo.Houselist;
import Pojo.User;
import Pojo.Userlist;
import Pojo.Zulist;
import service.ApplyService;
import service.HouselistService;
import service.UserlistService;

@Controller
public class ApplyController {
	@Autowired
	private UserlistService userlistService;
	@Autowired
	private HouselistService houselistService;
	@Autowired
	private ApplyService applyService;
	//申请看停车位
	@RequestMapping("/applycheckuserlist")
	public String applycheckuserlist(HttpSession httpSession,Model model,Integer id){
		User user1= (User) httpSession.getAttribute("user");
		Integer user_id=user1.getId();
		Userlist list=userlistService.findhasuserlist(user_id);
		if(list==null){
			model.addAttribute("error", "applycheck");
			return "redirect:houselist.action";
		}else{
			Houselist houselist=houselistService.findid(id);
			houselist.setStatus("已被申请");
			houselistService.updatehousestatus(houselist);
			Integer userlist_id=list.getId();
			Apply apply=new Apply();
			apply.setHouse_id(houselist.getHouseid());
			apply.setAddress(houselist.getAddress());
			apply.setPrice(houselist.getPrice());
			apply.setArea(houselist.getArea());
			apply.setStatus("申请中");
			apply.setUserlist_id(userlist_id);
			applyService.insertapply(apply);
			model.addAttribute("error", "applysuccess");
			return "redirect:houselist.action";
			
			
		}
		
	}
	//管理员查看申请看停车位列表
	@RequestMapping("/findapplylist")
	public String findapplylist(Model model,@RequestParam(required=false,defaultValue="1") Integer page,
            @RequestParam(required=false,defaultValue="2") Integer pageSize) throws Exception{
		 PageHelper.startPage(page, pageSize);
		List<Apply> applylist=applyService.findapplylist();
		PageInfo<Apply> p=new PageInfo<Apply>(applylist);
		model.addAttribute("applylist",applylist);
		model.addAttribute("p", p);
		model.addAttribute("mainPage","applylist.jsp");
		return "admin/main1";
	}
	
	@RequestMapping("/applychangehousestatus")
	public String applychangehousestatus(HttpSession httpSession,Model model,String house_id)throws Exception{
		User user1= (User) httpSession.getAttribute("user");
		Integer user_id=user1.getId();
		Userlist userlist=userlistService.findhasuserlist(user_id);
		Houselist houselist=houselistService.findhouseid(house_id);
		houselist.setStatus("已租赁");
		houselistService.updatehousestatus(houselist);
		Zulist zulist=new Zulist();
		zulist.setHouse_id(house_id);
		zulist.setPrice(houselist.getPrice());
		zulist.setAddress(houselist.getAddress());
		
		return "";
	}
	//管理员拒绝看停车位申请
	@RequestMapping("/refuseapply")
	public String refuseapply(String house_id,Model model){
		Houselist houselist=new Houselist();
		houselist.setHouseid(house_id);
		houselist.setStatus("未租赁");
		applyService.refuseapply(houselist);
		
		return "redirect:findapplylist.action";
	}
	
	//租客查看自己的 看停车位申请
	@RequestMapping("/getmyapply")
	public String getmyapply(Model model,HttpSession httpSession,@RequestParam(required=false,defaultValue="1") Integer page,
            @RequestParam(required=false,defaultValue="2") Integer pageSize){
		User user1= (User) httpSession.getAttribute("user");
		Userlist userlist=userlistService.findhasuserlist(user1.getId());
		PageHelper.startPage(page, pageSize);
		List<Userlist> list=userlistService.getmyapply(userlist.getId());
		PageInfo<Userlist> p=new PageInfo<Userlist>(list);
		model.addAttribute("userlist", list);
		model.addAttribute("p", p);
		model.addAttribute("mainPage", "myapply.jsp");
		return "zuke/main";
	}
	
	
}

HoustlistController.java

package controller;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import Pojo.Houselist;
import service.HouselistService;
@Controller

public class HoustlistController {
	@Autowired
	private HouselistService houselistService;
	
	@RequestMapping("/houselist")
	public String houselist(Model model ,@RequestParam(required=false,defaultValue="1") Integer page,
            @RequestParam(required=false,defaultValue="10") Integer pageSize){
		
		 PageHelper.startPage(page, pageSize);
		List<Houselist> houselist=houselistService.selectAll();
	PageInfo<Houselist> p=new PageInfo<Houselist>(houselist);
		
				
		model.addAttribute("p", p);
		model.addAttribute("houselist",houselist);
		model.addAttribute("mainPage","houselist.jsp");
		return "zuke/main";
	}
	@RequestMapping("/ahouselist")
	public String ahouselist(Model model ,@RequestParam(required=false,defaultValue="1") Integer page,
            @RequestParam(required=false,defaultValue="10") Integer pageSize){
		
		 PageHelper.startPage(page, pageSize);
		List<Houselist> houselist=houselistService.selectAll();
	PageInfo<Houselist> p=new PageInfo<Houselist>(houselist);
		
				
		model.addAttribute("p", p);
		model.addAttribute("houselist",houselist);
		model.addAttribute("mainPage","ahouselist.jsp");
		return "admin/main1";
	}
	
	@RequestMapping("/addhouse")
	public String addhouse(Model model ,Houselist houselist){
		
		String houseid=houselist.getHouseid();
		Houselist houselist1=houselistService.findhouseid(houseid);
		if(houselist1!=null){
			model.addAttribute("error","该停车位id已存在");
			model.addAttribute("houselist",houselist);
			model.addAttribute("mainPage","addhouse.jsp");
			return "admin/main1";
		}else{
			model.addAttribute("error","添加成功");
			houselistService.inserthouse(houselist);
			model.addAttribute("houselist",houselist);
			model.addAttribute("mainPage","addhouse.jsp");
		return "admin/main1";
	}
		}
	
	@RequestMapping("/toaddhouse")
	public String toaddhoust(Model model){
		model.addAttribute("mainPage","addhouse.jsp");
		
		return "admin/main1";
	}
	@RequestMapping("/deletehouse")
	public String deletehouse(Integer id){
		houselistService.deletehouse(id);
		
		
		return "redirect:ahouselist.action";
	}
	@RequestMapping("/toahouselist")
	public String toahouselist(){
		
		
		
		return "ahouselist.action";
	}
	@RequestMapping("/findid")
	public String findid(Integer id,Model model){
		Houselist list=houselistService.findid(id);
		model.addAttribute("houselist",list);
		model.addAttribute("mainPage", "changehouse.jsp");
		return "admin/main1";
	}
	@RequestMapping("/findhouseidupdate")
	public String findhouseidupdate(Houselist houselist,Model model){
		Houselist list=houselistService.findhouseidupdate(houselist);
		if(list!=null){
			model.addAttribute("houselist",houselist);
			model.addAttribute("mainPage", "changehouse.jsp");
			model.addAttribute("error","该停车位id已存在");
			return "admin/main1";
		}
		else{
			houselistService.updatehouse(houselist);
			model.addAttribute("houselist",houselist);
			model.addAttribute("mainPage", "changehouse.jsp");
			model.addAttribute("error","更新成功");
			return "admin/main1";
		}
	}
	
}

写在最后

完整源码点击头像查看个人签名 觉得有用,记得一键三连哦!

标签:String,id,申请,houselist,停车位,import,model,列表,public
From: https://blog.51cto.com/u_15625185/5807552

相关文章

  • SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的医院在线预约挂号管理系统(功能
    (博客目录)SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的医院在线预约挂号管理系统本系统为了患者线下预约挂号难的问题,打通医院和患者之间的一个渠道,通过在线透......
  • [python笔记]举证二维列表,深浅拷贝,is,in,列表推导式及关于上次博的补充(补)
    〇引言对上篇博客知识的补充,也是个人笔记。现在离开手机简直不能活了,所以把笔记记录在博客上挺方便的。当然这个是纯笔记,没啥观赏性,还请见谅。x=[[1,2,3],[4,5,6],[7,8,9]]f......
  • php 读取 csv 转数组列表
    我们有个文档需要修改,但是文档列太多,以及数量太大,以至于眼睛看起来很吃力,于是我决定做个简单的转化用脚本读取我想要验证的列的内容是否正确.于是就产生了一个这样将csv......
  • HCIA-ICT实战基础08-访问控制列表ACL原理与配置
    HCIA-ICT实战基础-访问控制列表ACL原理与配置目录ACL技术概述ACL的基本概念及其工作原理ACL的基础配置及应用ACL技术概述技术背景:需要一个工具实现流量过滤ACL是......
  • HCIA-ICT实战基础07-访问控制列表ACL进阶
    HCIA-ICT实战基础-访问控制列表ACL进阶目录二层ACL技术及配置高级ACL的扩展使用方法及使用场景1二层ACL技术及配置1.1二层ACL概念使用报文的以太网帧头来定义规则,......
  • 02markdown列表区块
    markdown列表1.markdown支持有序列表和无序列表无序列表使用*,+或-号作为列表标记,标记后面添加一个空格,然后填写内容第一项第二项第一项第二项有序列表使用数字......
  • KeyCode列表
     keycode8=BackSpaceBackSpacekeycode9=TabTabkeycode12=Clearkeycode13=Enterkeycode16=Shift_Lkeycode17=Control_Lkeycode18=Alt_Lkeycode19......
  • antd的update组件自定义上传样式及列表样式
    项目需求按UI设计上传的样式需要把showUploadList={false},自己写上传列表//本次上传的文件const[fileList,setFileList]=useState([]);//初始化时存储之前上传......
  • 3.Markdown列表
    #markdown列表markdown支持有序列表和无序列表##无序列表无序列表使用星号、加号或减号来标记,标记后面需要加一个空格,然后再写内容*第一项*第二项*第三项......
  • 更换微信小程序头像(一年内可申请修改5次)
    (1)电脑端登录“微信公众平台”,网址为“https://mp.weixin.qq.com/” (2)小程序管理员扫码登录,登录之后,点击左侧最下方的“设置” (3)点击“设置-基本设置-小程序头像-......