摘要:最近很郁悶,一個女粉絲找我要開發一個系統。但是后來,越扯越嚴重上升到塊要開發一個知乎的高度。主要實現了仿知乎微信小程序的文件管理功能。點擊下面,回復小程序
最近很郁悶,一個女粉絲找我要開發一個系統。說是很著急。
?
但是費用不高,說自己沒錢。
?
我平時事也很多,又不是很想接。
?
說了一大堆苦情的話,然后說自己的要求不高,沒有ui要求,
?
我就接了。
?
但是后來,越扯越嚴重……上升到600塊要開發一個知乎的高度。這讓我想起了預算茅草屋的價格,想要別墅的效果。
?
扯皮扯的很累,項目我已經遠程調試好了,也講解了。最后全部退款了。
?
?
關鍵是我還整理了很多講解的說明:
?
?
既然退款,項目就不是你的了,我開發的就是我的,項目的源碼就開源吧。
兄弟們,給個三連安慰下我。源碼是你們的了。在文章底部。
首先看一下這個項目演示,值不值600塊?評論區告訴我
?
?
開發語言:Java
框架:ssm
JDK版本:JDK1.8
服務器:tomcat7
數據庫:mysql 5.7(一定要5.7版本)
數據庫工具:Navicat11
開發軟件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
瀏覽器:谷歌瀏覽器
二,系統實現的主要功能
(1)用戶管理。主要實現了仿知乎微信小程序的用戶管理功能。
(2)標簽管理。主要實現了仿知乎微信小程序的標簽管理功能。
(3)今日熱聞管理。主要實現了仿知乎微信小程序的今日熱聞管理功能。
(4)問答模式管理。主要實現了仿知乎微信小程序的問答模式管理功能。
(5)文件管理。主要實現了仿知乎微信小程序的文件管理功能。
@RestController@RequestMapping("/biaoqianleixing")public?class?BiaoqianleixingController?{????@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);?}?
/**?*?通用接口?*/@RestControllerpublic?class?CommonController{?@Autowired?private?CommonService?commonService;??@Autowired?private?ConfigService?configService;??private?static?AipFace?client?=?null;??private?static?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);?}
這個項目搞的恨不痛快,以后這樣的再也不接了。開始的時候就要確認好需求。源碼給你了。
點擊下面,回復:小程序666
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123064.html
摘要:接私活對程序員這個圈子來說是一個既公開又隱私的話題,不說全部,應該大多數程序員都有過想要接私活的想法,當然,也有部分得道成仙的不主張接私活。 接私活 對程序員這個圈子來說是一個既公開又隱私的話題,不說全部,應該大多數程序員都有過想要接私活的想法,當然,也有部分得道成仙的不主張接私活。但是很少...
摘要:多端統一開發框架優秀學習資源匯總官方資源項目倉庫官方文檔項目倉庫官方文檔微信小程序官方文檔百度智能小程序官方文檔支付寶小程序官方文檔字節跳動小程序官方文檔文章教程不敢閱讀包源碼帶你揭秘背后的哲學從到構建適配不同端微信小程序等的應用小程序最 Awesome Taro 多端統一開發框架 Taro 優秀學習資源匯總 showImg(https://segmentfault.com/img/r...
閱讀 992·2023-04-25 14:20
閱讀 1868·2021-11-24 10:20
閱讀 3765·2021-11-11 16:55
閱讀 2905·2021-10-14 09:42
閱讀 3466·2019-08-30 15:56
閱讀 1142·2019-08-30 15:55
閱讀 1063·2019-08-30 15:44
閱讀 771·2019-08-29 11:28