目錄
一、整體目錄(示範):
文檔含項目技術介紹、E-R圖、資料字典、項目功能介紹與截圖等
二、運作截圖
三、代碼部分(示範):
四、資料庫表(示範):
資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習
五、主要技術介紹:
六、項目調試學習(點選檢視)
七、項目交流
一、整體目錄(示範):
文檔含項目技術介紹、E-R圖、資料字典、項目功能介紹與截圖等
二、運作截圖
三、代碼部分(示範):
商品推薦、内容推薦算法
/**
* 前端智能排序
*/
@IgnoreAuth
@RequestMapping("/autoSort")
public R autoSort(@RequestParam Map<String, Object> params,NaichashangpinEntity naichashangpin, HttpServletRequest request,String pre){
EntityWrapper<NaichashangpinEntity> ew = new EntityWrapper<NaichashangpinEntity>();
Map<String, Object> newMap = new HashMap<String, Object>();
Map<String, Object> param = new HashMap<String, Object>();
Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, 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", "clicknum");
params.put("order", "desc");
PageUtils page = naichashangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, naichashangpin), params), params));
return R.ok().put("data", page);
}
/**
* 協同算法(按使用者購買推薦)
*/
@RequestMapping("/autoSort2")
public R autoSort2(@RequestParam Map<String, Object> params,NaichashangpinEntity naichashangpin, HttpServletRequest request){
String userId = request.getSession().getAttribute("userId").toString();
String goodtypeColumn = "naichafenlei";
List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "naichashangpin").orderBy("addtime", false));
List<String> goodtypes = new ArrayList<String>();
Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
List<NaichashangpinEntity> naichashangpinList = new ArrayList<NaichashangpinEntity>();
//去重
List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();
for(OrdersEntity o1 : orders) {
boolean addFlag = true;
for(OrdersEntity o2 : ordersDist) {
if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {
addFlag = false;
break;
}
}
if(addFlag) ordersDist.add(o1);
}
if(ordersDist!=null && ordersDist.size()>0) {
for(OrdersEntity o : ordersDist) {
naichashangpinList.addAll(naichashangpinService.selectList(new EntityWrapper<NaichashangpinEntity>().eq(goodtypeColumn, o.getGoodtype())));
}
}
EntityWrapper<NaichashangpinEntity> ew = new EntityWrapper<NaichashangpinEntity>();
params.put("sort", "id");
params.put("order", "desc");
PageUtils page = naichashangpinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, naichashangpin), params), params));
List<NaichashangpinEntity> pageList = (List<NaichashangpinEntity>)page.getList();
if(naichashangpinList.size()<limit) {
int toAddNum = (limit-naichashangpinList.size())<=pageList.size()?(limit-naichashangpinList.size()):pageList.size();
for(NaichashangpinEntity o1 : pageList) {
boolean addFlag = true;
for(NaichashangpinEntity o2 : naichashangpinList) {
if(o1.getId().intValue()==o2.getId().intValue()) {
addFlag = false;
break;
}
}
if(addFlag) {
naichashangpinList.add(o1);
if(--toAddNum==0) break;
}
}
}
page.setList(naichashangpinList);
return R.ok().put("data", page);
}
資料庫配置連接配接
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://127.0.0.1:3306/ssmt375d?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false
jdbc_username=root
jdbc_password=123456
#jdbc_url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ssmt375d
#jdbc_username=sa
#jdbc_password=123456
四、資料庫表(示範):
資料庫表有注釋,可以導出資料字典及更新資料庫時間,歡迎交流學習
五、主要技術介紹:
項目技術開發文檔
1.架構說明:
uni-app 是一個使用 Vue.js 開發所有前端應用的架構,開發者編寫一套代碼,可釋出到iOS、Android、Web(響應式)、以及各種小程式(微信/支付寶/百度/頭條/飛書/QQ/快手/釘釘/淘寶)、快應用等多個平台。
DCloud公司擁有900萬開發者、數百萬應用、12億手機端月活使用者、數千款uni-app插件、70+微信/qq群。阿裡小程式工具官方内置uni-app,騰訊課堂官方為uni-app錄制教育訓練課程,開發者可以放心選擇。
2.架構優勢:
uni-app在開發者數量、案例、跨端抹平度、擴充靈活性、性能體驗、周邊生态、學習成本、開發成本等8大關鍵名額上擁有更強的優勢。
2.1開發者/案例數量更多
數百萬應用、uni統計月活12億、70+微信/qq群、更高的百度指數。跨端完善度更高,真正落地的提高生産力
2.2平台能力不受限
在跨端的同時,通過條件編譯+平台特有API調用,可以優雅的為某平台寫個性化代碼,調用專有能力而不影響其他平台。支援原生代碼混寫和原生sdk內建。
2.3性能體驗優秀
加載新頁面速度更快、自動diff更新資料。App端支援原生渲染,可支撐更流暢的使用者體驗。小程式端的性能優于市場其他架構。
2.4周邊生态豐富
插件市場數千款插件。支援NPM、支援小程式元件和SDK。微信生态的各種sdk可直接用于跨平台App。
2.5學習成本低
基于通用的前端技術棧,采用vue文法+微信小程式api,無額外學習成本。
2.6開發成本低
不止開發成本,招聘、管理、測試各方面成本都大幅下降。HBuilderX是高效開發神器,熟練掌握後研發效率至少翻倍(即便隻開發一個平台)。
3.運作環境
運作uni-app項目需要安裝HBuilderX前端開發工具。
浏覽器運作:進入uniapp項目,點選工具欄的運作-運作到浏覽器-選擇浏覽器,即可在浏覽器裡面體驗uni-app 的 H5 版。
真機運作:連接配接手機,開啟USB調試,進入uniapp項目,點選工具欄的運作-真機運作-選擇運作的裝置,即可在該裝置裡面體驗uni-app。
在微信開發者工具裡運作:進入uniapp項目,點選工具欄的運作-運作到小程式模拟器-微信開發者工具,即可在微信開發者工具裡面體驗uni-app。
4.主要功能
uni-app實作了一套代碼,同時運作到多個平台一套代碼,同時運作到iOS模拟器、Android模拟器、H5、微信開發者工具、支付寶小程式Studio、百度開發者工具、位元組跳動開發者工具、QQ開發者工具(底部8個終端頁籤代表8個終端模拟器。
六、項目調試學習(點選檢視)
七、項目交流