撸了一个知乎小程序【源码开源】

wufei123 发布于 2023-11-20 阅读(473)

最近开发了不少的单子,黑夜白夜的写程序。

后面不错的系统,我会做成教程,快速的掌握小程序的学习本篇文章给大家分享基于SSM仿知乎的小程序的设计与实现源码开源源码开源源码开源……见文章底部希望大家多多点赞、转发,这是对我最大的鼓励 和支持我才有动力去开源更多优质的项目。

一,系统的简介开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9浏览器:谷歌浏览器二,系统实现的主要功能(1)用户管理主要实现了仿知乎微信小程序的用户管理功能(2)标签管理主要实现了仿知乎微信小程序的标签管理功能(3)今日热闻管理主要实现了。

仿知乎微信小程序的今日热闻管理功能。(4)问答模式管理。主要实现了仿知乎微信小程序的问答模式管理功能。(5)文件管理。主要实现了仿知乎微信小程序的文件管理功能。三,系统的界面演示

四,核心代码展示@RestController@RequestMapping("/biaoqianleixing")publicclassBiaoqianleixingController{@Autowired

private BiaoqianleixingService biaoqianleixingService;/**     * 后端列表     */@RequestMapping("/page")public

 R page(@RequestParam Map params,BiaoqianleixingEntity biaoqianleixing,   HttpServletRequest request)

{        EntityWrapper ew = new EntityWrapper();  PageUtils page = biaoqianleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, biaoqianleixing), params), params));

return R.ok().put("data", page);    }/**     * 前端列表     */@RequestMapping("/list")public R list(@RequestParam Map params,BiaoqianleixingEntity biaoqianleixing, 

  HttpServletRequest request){        EntityWrapper ew = new EntityWrapper();

  PageUtils page = biaoqianleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, biaoqianleixing), params), params));

return R.ok().put("data", page);    }/**     * 列表     */@RequestMapping("/lists")public R list( BiaoqianleixingEntity biaoqianleixing)

{        EntityWrapper ew = new EntityWrapper();       ew.allEq(MPUtil.allEQMapPre( biaoqianleixing, 

"biaoqianleixing")); return R.ok().put("data", biaoqianleixingService.selectListView(ew));    }/**     * 查询

     */@RequestMapping("/query")public R query(BiaoqianleixingEntity biaoqianleixing){        EntityWrapper ew = 

new EntityWrapper();   ew.allEq(MPUtil.allEQMapPre( biaoqianleixing, "biaoqianleixing"

));   BiaoqianleixingView biaoqianleixingView =  biaoqianleixingService.selectView(ew);return R.ok("查询标签类型成功"

).put("data", biaoqianleixingView);    }/**     * 后端详情     */@RequestMapping("/info/{id}")public R info

(@PathVariable("id") Long id){        BiaoqianleixingEntity biaoqianleixing = biaoqianleixingService.selectById(id);

return R.ok().put("data", biaoqianleixing);    }/**     * 前端详情     */@RequestMapping("/detail/{id}")public

 R detail(@PathVariable("id") Long id){        BiaoqianleixingEntity biaoqianleixing = biaoqianleixingService.selectById(id);

return R.ok().put("data", biaoqianleixing);    }/**     * 后端保存     */@RequestMapping("/save")public R 

save(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){     biaoqianleixing.setId(

new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(biaoqianleixing);

        biaoqianleixingService.insert(biaoqianleixing);return R.ok();    }/**     * 前端保存     */@RequestMapping

("/add")public R add(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){

     biaoqianleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

//ValidatorUtils.validateEntity(biaoqianleixing);        biaoqianleixingService.insert(biaoqianleixing);

return R.ok();    }/**     * 修改     */@RequestMapping("/update")public R update(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request)

{//ValidatorUtils.validateEntity(biaoqianleixing);        biaoqianleixingService.updateById(biaoqianleixing);

//全部更新return R.ok();    }/**     * 删除     */@RequestMapping("/delete")public R delete(@RequestBody Long[] ids)

{        biaoqianleixingService.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 Map 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));   }  }  Wrapper wrapper = 

new EntityWrapper();if(map.get("remindstart")!=null) {   wrapper.ge(columnName, map.get(

"remindstart"));  }if(map.get("remindend")!=null) {   wrapper.le(columnName, map.get("remindend"));  }

int count = biaoqianleixingService.selectCount(wrapper);return R.ok().put("count", count); }/** * 通用接口

 */@RestControllerpublicclassCommonController{@Autowiredprivate CommonService commonService;@Autowired

private ConfigService configService;privatestatic AipFace client = null;privatestatic String BAIDU_DITU_AK = 

null;@RequestMapping("/location")public R location(String lng,String lat){if(BAIDU_DITU_AK==null) {   BAIDU_DITU_AK = configService.selectOne(

new EntityWrapper().eq("name", "baidu_ditu_ak")).getValue();if(BAIDU_DITU_AK==null) {return

 R.error("请在配置管理中正确配置baidu_ditu_ak");   }  }  Map map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);

return R.ok().put("data", map); }/**  * 人脸比对  *   * @param face1 人脸1  * @param face2 人脸2  * @return  */

@RequestMapping("/matchFace")public R matchFace(String face1, String face2,HttpServletRequest request)

{if(client==null) {/*String AppID = configService.selectOne(new EntityWrapper().eq("name", "AppID")).getValue();*/

   String APIKey = configService.selectOne(new EntityWrapper().eq("name", "APIKey")).getValue();

   String SecretKey = configService.selectOne(new EntityWrapper().eq("name", "SecretKey"

)).getValue();   String token = BaiduUtil.getAuth(APIKey, SecretKey);if(token==null) {return R.error(

"请在配置管理中正确配置APIKey和SecretKey");   }   client = new AipFace(null, APIKey, SecretKey);   client.setConnectionTimeoutInMillis(

2000);   client.setSocketTimeoutInMillis(60000);  }  JSONObject res = null;try {   File file1 = new File(request.getSession().getServletContext().getRealPath(

"/upload")+"/"+face1);   File file2 = new File(request.getSession().getServletContext().getRealPath("/upload"

)+"/"+face2);   String img1 = Base64Util.encode(FileUtil.FileToByte(file1));   String img2 = Base64Util.encode(FileUtil.FileToByte(file2));

   MatchRequest req1 = new MatchRequest(img1, "BASE64");   MatchRequest req2 = new MatchRequest(img2, 

"BASE64");   ArrayList requests = new ArrayList();   requests.add(req1);   requests.add(req2);

   res = client.match(requests);   System.out.println(res.get("result"));  } catch (FileNotFoundException e) {

   e.printStackTrace();return R.error("文件不存在");  } catch (IOException e) {   e.printStackTrace();  } 

return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString())); }/**  * 获取table表中的column列表(联动接口)

  * @param table  * @param column  * @return  */@IgnoreAuth@RequestMapping("/option/{tableName}/{columnName}"

)public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) 

{  Map params = new HashMap();  params.put("table", tableName);  params.put(

"column", columnName);if(StringUtils.isNotBlank(level)) {   params.put("level", level);  }if(StringUtils.isNotBlank(parent)) {

   params.put("parent", parent);  }  List data = commonService.getOption(params);return R.ok().put(

"data", data); }五,源码获取源码获取,关注下面公众号,回复:7878

注意不是在本公众号回复不是在本公众号回复不是在本公众号回复

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻1109