当前位置: 首页 > news >正文

产品网站建设必要性多种郑州网站建设

产品网站建设必要性,多种郑州网站建设,湖南seo网站设计,电影网站建设费用文章目录项目介绍一、项目功能介绍1、用户模块主要功能包括#xff1a;2、商家模块主要功能包括#xff1a;3、管理员模块主要功能包括#xff1a;二、部分页面展示1、用户模块部分功能页面展示2、商家模块部分功能页面展示3、管理员模块部分功能页面展示三、部分源码四、底… 文章目录项目介绍一、项目功能介绍1、用户模块主要功能包括2、商家模块主要功能包括3、管理员模块主要功能包括二、部分页面展示1、用户模块部分功能页面展示2、商家模块部分功能页面展示3、管理员模块部分功能页面展示三、部分源码四、底部获取全部源码项目介绍 基于SpringBoot和Mybatis的农产品销售系统/商城 一、项目功能介绍 本系统分为用户、店家和管理员三种角色 1、用户模块主要功能包括 1、登录/注册2、主页浏览3、商家店铺浏览4、评论浏览5、发表评论6、农产品浏览7、自然风光介绍8、修改个人信息9、查看农产品介绍10、修改个人资料11、查看订单12、编辑收获地址13、收藏农产品和查看收藏14、购买农产品15、查看购物车16、申请退货17、查看农业扶贫信息18、爱心捐赠 2、商家模块主要功能包括 1、修改密码2、修改商家信息3、商品管理4、商品分类管理5、生成地分类管理6、贫困店家申请管理7、订单管理 3、管理员模块主要功能包括 1、修改密码和个人2、用户管理新增用户和删除用户3、商家管理新增商家和删除商家4、店铺管理5、商品管理6、商品分类管理7、生产产地分类管理8、爱心捐赠管理9、贫困店家申请管理10、贫困店家信息管理11、爱心箱管理12、退款申请管理13、轮播图管理14、自然风光管理15、全部订单管理 二、部分页面展示 1、用户模块部分功能页面展示 2、商家模块部分功能页面展示 3、管理员模块部分功能页面展示 三、部分源码 package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth;import com.entity.DianjiaEntity; import com.entity.view.DianjiaView;import com.service.DianjiaService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil;/*** 店家* 后端接口* author * email * date 2021-04-18 15:18:17*/ RestController RequestMapping(/dianjia) public class DianjiaController {Autowiredprivate DianjiaService dianjiaService;Autowiredprivate TokenService tokenService;/*** 登录*/IgnoreAuthRequestMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {DianjiaEntity user dianjiaService.selectOne(new EntityWrapperDianjiaEntity().eq(dianjiaming, username));if(usernull || !user.getMima().equals(password)) {return R.error(账号或密码不正确);}String token tokenService.generateToken(user.getId(), username,dianjia, 管理员 );return R.ok().put(token, token);}/*** 注册*/IgnoreAuthRequestMapping(/register)public R register(RequestBody DianjiaEntity dianjia){//ValidatorUtils.validateEntity(dianjia);DianjiaEntity user dianjiaService.selectOne(new EntityWrapperDianjiaEntity().eq(dianjiaming, dianjia.getDianjiaming()));if(user!null) {return R.error(注册用户已存在);}Long uId new Date().getTime();dianjia.setId(uId);dianjiaService.insert(dianjia);return R.ok();}/*** 退出*/RequestMapping(/logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrUser(HttpServletRequest request){Long id (Long)request.getSession().getAttribute(userId);DianjiaEntity user dianjiaService.selectById(id);return R.ok().put(data, user);}/*** 密码重置*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request){DianjiaEntity user dianjiaService.selectOne(new EntityWrapperDianjiaEntity().eq(dianjiaming, username));if(usernull) {return R.error(账号不存在);}user.setMima(123456);dianjiaService.updateById(user);return R.ok(密码已重置为123456);}/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,DianjiaEntity dianjia,HttpServletRequest request){EntityWrapperDianjiaEntity ew new EntityWrapperDianjiaEntity();PageUtils page dianjiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dianjia), params), params));return R.ok().put(data, page);}/*** 前端列表*/RequestMapping(/list)public R list(RequestParam MapString, Object params,DianjiaEntity dianjia, HttpServletRequest request){EntityWrapperDianjiaEntity ew new EntityWrapperDianjiaEntity();PageUtils page dianjiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dianjia), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list( DianjiaEntity dianjia){EntityWrapperDianjiaEntity ew new EntityWrapperDianjiaEntity();ew.allEq(MPUtil.allEQMapPre( dianjia, dianjia)); return R.ok().put(data, dianjiaService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(DianjiaEntity dianjia){EntityWrapper DianjiaEntity ew new EntityWrapper DianjiaEntity();ew.allEq(MPUtil.allEQMapPre( dianjia, dianjia)); DianjiaView dianjiaView dianjiaService.selectView(ew);return R.ok(查询店家成功).put(data, dianjiaView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id){DianjiaEntity dianjia dianjiaService.selectById(id);return R.ok().put(data, dianjia);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id){DianjiaEntity dianjia dianjiaService.selectById(id);return R.ok().put(data, dianjia);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody DianjiaEntity dianjia, HttpServletRequest request){dianjia.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dianjia);DianjiaEntity user dianjiaService.selectOne(new EntityWrapperDianjiaEntity().eq(dianjiaming, dianjia.getDianjiaming()));if(user!null) {return R.error(用户已存在);}dianjia.setId(new Date().getTime());dianjiaService.insert(dianjia);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody DianjiaEntity dianjia, HttpServletRequest request){dianjia.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dianjia);DianjiaEntity user dianjiaService.selectOne(new EntityWrapperDianjiaEntity().eq(dianjiaming, dianjia.getDianjiaming()));if(user!null) {return R.error(用户已存在);}dianjia.setId(new Date().getTime());dianjiaService.insert(dianjia);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody DianjiaEntity dianjia, HttpServletRequest request){//ValidatorUtils.validateEntity(dianjia);dianjiaService.updateById(dianjia);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){dianjiaService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/RequestMapping(/remind/{columnName}/{type})public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) {map.put(column, columnName);map.put(type, type);if(type.equals(2)) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Calendar c Calendar.getInstance();Date remindStartDate null;Date remindEndDate null;if(map.get(remindstart)!null) {Integer remindStart Integer.parseInt(map.get(remindstart).toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate c.getTime();map.put(remindstart, sdf.format(remindStartDate));}if(map.get(remindend)!null) {Integer remindEnd Integer.parseInt(map.get(remindend).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate c.getTime();map.put(remindend, sdf.format(remindEndDate));}}WrapperDianjiaEntity wrapper new EntityWrapperDianjiaEntity();if(map.get(remindstart)!null) {wrapper.ge(columnName, map.get(remindstart));}if(map.get(remindend)!null) {wrapper.le(columnName, map.get(remindend));}int count dianjiaService.selectCount(wrapper);return R.ok().put(count, count);}} package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth;import com.entity.OrdersEntity; import com.entity.view.OrdersView;import com.service.OrdersService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil;/*** 订单* 后端接口* author * email * date 2021-04-18 15:18:17*/ RestController RequestMapping(/orders) public class OrdersController {Autowiredprivate OrdersService ordersService;/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,OrdersEntity orders,HttpServletRequest request){if(!request.getSession().getAttribute(role).toString().equals(管理员)) {orders.setUserid((Long)request.getSession().getAttribute(userId));}EntityWrapperOrdersEntity ew new EntityWrapperOrdersEntity();PageUtils page ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));return R.ok().put(data, page);}/*** 前端列表*/RequestMapping(/list)public R list(RequestParam MapString, Object params,OrdersEntity orders, HttpServletRequest request){EntityWrapperOrdersEntity ew new EntityWrapperOrdersEntity();PageUtils page ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list( OrdersEntity orders){EntityWrapperOrdersEntity ew new EntityWrapperOrdersEntity();ew.allEq(MPUtil.allEQMapPre( orders, orders)); return R.ok().put(data, ordersService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(OrdersEntity orders){EntityWrapper OrdersEntity ew new EntityWrapper OrdersEntity();ew.allEq(MPUtil.allEQMapPre( orders, orders)); OrdersView ordersView ordersService.selectView(ew);return R.ok(查询订单成功).put(data, ordersView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id){OrdersEntity orders ordersService.selectById(id);return R.ok().put(data, orders);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id){OrdersEntity orders ordersService.selectById(id);return R.ok().put(data, orders);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody OrdersEntity orders, HttpServletRequest request){orders.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(orders);orders.setUserid((Long)request.getSession().getAttribute(userId));ordersService.insert(orders);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody OrdersEntity orders, HttpServletRequest request){orders.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(orders);ordersService.insert(orders);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody OrdersEntity orders, HttpServletRequest request){//ValidatorUtils.validateEntity(orders);ordersService.updateById(orders);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){ordersService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/RequestMapping(/remind/{columnName}/{type})public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) {map.put(column, columnName);map.put(type, type);if(type.equals(2)) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Calendar c Calendar.getInstance();Date remindStartDate null;Date remindEndDate null;if(map.get(remindstart)!null) {Integer remindStart Integer.parseInt(map.get(remindstart).toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate c.getTime();map.put(remindstart, sdf.format(remindStartDate));}if(map.get(remindend)!null) {Integer remindEnd Integer.parseInt(map.get(remindend).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate c.getTime();map.put(remindend, sdf.format(remindEndDate));}}WrapperOrdersEntity wrapper new EntityWrapperOrdersEntity();if(map.get(remindstart)!null) {wrapper.ge(columnName, map.get(remindstart));}if(map.get(remindend)!null) {wrapper.le(columnName, map.get(remindend));}if(!request.getSession().getAttribute(role).toString().equals(管理员)) {wrapper.eq(userid, (Long)request.getSession().getAttribute(userId));}int count ordersService.selectCount(wrapper);return R.ok().put(count, count);}} package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth;import com.entity.ShangpinEntity; import com.entity.view.ShangpinView;import com.service.ShangpinService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil;/*** 商品* 后端接口* author * email * date 2021-04-18 15:18:17*/ RestController RequestMapping(/shangpin) public class ShangpinController {Autowiredprivate ShangpinService shangpinService;/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,ShangpinEntity shangpin,HttpServletRequest request){String tableName request.getSession().getAttribute(tableName).toString();if(tableName.equals(dianjia)) {shangpin.setDianjiaming((String)request.getSession().getAttribute(username));}EntityWrapperShangpinEntity ew new EntityWrapperShangpinEntity();PageUtils page shangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpin), params), params));return R.ok().put(data, page);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params,ShangpinEntity shangpin, HttpServletRequest request){EntityWrapperShangpinEntity ew new EntityWrapperShangpinEntity();PageUtils page shangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpin), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list( ShangpinEntity shangpin){EntityWrapperShangpinEntity ew new EntityWrapperShangpinEntity();ew.allEq(MPUtil.allEQMapPre( shangpin, shangpin)); return R.ok().put(data, shangpinService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(ShangpinEntity shangpin){EntityWrapper ShangpinEntity ew new EntityWrapper ShangpinEntity();ew.allEq(MPUtil.allEQMapPre( shangpin, shangpin)); ShangpinView shangpinView shangpinService.selectView(ew);return R.ok(查询商品成功).put(data, shangpinView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id){ShangpinEntity shangpin shangpinService.selectById(id);shangpin.setClicktime(new Date());shangpinService.updateById(shangpin);return R.ok().put(data, shangpin);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id){ShangpinEntity shangpin shangpinService.selectById(id);shangpin.setClicktime(new Date());shangpinService.updateById(shangpin);return R.ok().put(data, shangpin);}/*** 赞或踩*/RequestMapping(/thumbsup/{id})public R vote(PathVariable(id) String id,String type){ShangpinEntity shangpin shangpinService.selectById(id);if(type.equals(1)) {shangpin.setThumbsupnum(shangpin.getThumbsupnum()1);} else {shangpin.setCrazilynum(shangpin.getCrazilynum()1);}shangpinService.updateById(shangpin);return R.ok(投票成功);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody ShangpinEntity shangpin, HttpServletRequest request){shangpin.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(shangpin);shangpinService.insert(shangpin);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody ShangpinEntity shangpin, HttpServletRequest request){shangpin.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(shangpin);shangpinService.insert(shangpin);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody ShangpinEntity shangpin, HttpServletRequest request){//ValidatorUtils.validateEntity(shangpin);shangpinService.updateById(shangpin);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){shangpinService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/RequestMapping(/remind/{columnName}/{type})public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) {map.put(column, columnName);map.put(type, type);if(type.equals(2)) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Calendar c Calendar.getInstance();Date remindStartDate null;Date remindEndDate null;if(map.get(remindstart)!null) {Integer remindStart Integer.parseInt(map.get(remindstart).toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate c.getTime();map.put(remindstart, sdf.format(remindStartDate));}if(map.get(remindend)!null) {Integer remindEnd Integer.parseInt(map.get(remindend).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate c.getTime();map.put(remindend, sdf.format(remindEndDate));}}WrapperShangpinEntity wrapper new EntityWrapperShangpinEntity();if(map.get(remindstart)!null) {wrapper.ge(columnName, map.get(remindstart));}if(map.get(remindend)!null) {wrapper.le(columnName, map.get(remindend));}String tableName request.getSession().getAttribute(tableName).toString();if(tableName.equals(dianjia)) {wrapper.eq(dianjiaming, (String)request.getSession().getAttribute(username));}int count shangpinService.selectCount(wrapper);return R.ok().put(count, count);}/*** 前端智能排序*/IgnoreAuthRequestMapping(/autoSort)public R autoSort(RequestParam MapString, Object params,ShangpinEntity shangpin, HttpServletRequest request,String pre){EntityWrapperShangpinEntity ew new EntityWrapperShangpinEntity();MapString, Object newMap new HashMapString, Object();MapString, Object param new HashMapString, Object();IteratorMap.EntryString, Object it param.entrySet().iterator();while (it.hasNext()) {Map.EntryString, Object entry it.next();String key entry.getKey();String newKey entry.getKey();if (pre.endsWith(.)) {newMap.put(pre newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre . newKey, entry.getValue());}}params.put(sort, clicktime);params.put(order, desc);PageUtils page shangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpin), params), params));return R.ok().put(data, page);}} 四、底部获取全部源码
http://www.dnsts.com.cn/news/158662.html

相关文章:

  • 长春建个网站需要多少钱?深圳html5网站开发
  • 深圳开发的相亲网站旅游网站设计内容
  • 中国建设银行河北省门户网站网站做什么推广好
  • 天津市建设工程造价管理协会网站一级a做爰片免费网站迅雷下载
  • seo sem 外贸建站 网站建设 文化墙设计网上书城网站建设总结
  • 微信端网站设计规范长沙网红小吃
  • 做网站下面会有小广告全网有哪些网站可以做淘客
  • 百度收录网站图片审计局网站建设管理
  • 部队网站模板做自己卖东西的网站
  • iis 搭建网站WordPress登录插件哪个好
  • 网站用的是建站公司的系统动态型网站建设哪里便宜
  • 做网站需要好多图片封面设计模板
  • 四川省的建设厅注册中心网站房产网站制作找哪家
  • 北京光辉网站建设虚拟主机的概念和功能
  • 建立企业网站的费用商务网站建设实训心得
  • 成都建好的网站出租政务网站集约化建设
  • 网站做app服务端外卖网站开发背景
  • 天津网站优化首页wordpress 虎嗅 2017
  • 新乡网站优化5050众筹网站开发
  • 福州云建站模版艺梵科技 网站建设
  • 网站开发 搜索wordpress绿色框
  • 长春网站推广公司wordpress中文书
  • 抚州律师网站建设哪个网站可以做c 的项目
  • 聊城做手机网站北京怎样建网站
  • 华为云云速建站免费做图素材网站有哪些
  • 做网站模版与定制的区别wordpress 谷歌加速插件
  • 网站排名快速提升工具中国优秀企业网站
  • 做我女朋友的网站wordpress留言系统
  • 专业行业网站建站报价网站开发售后服务协议
  • 微信导航网站如何建设东莞常平镇地图全图