|
|
@@ -775,41 +775,50 @@ title: '添加家庭成员',
|
|
|
})
|
|
|
return lockedApps.concat(candidates.slice(0, remaining))
|
|
|
},
|
|
|
- // 后端返回 myShortcuts(含 locked/sortOrder),无配置时为空数组 → 前端按频度填充
|
|
|
+ // 默认 6 个快捷入口(未配置自定义快捷方式时使用)
|
|
|
+ getDefaultQuickApps: function() {
|
|
|
+ var defaultKeys = ['task', 'interaction', 'tiandi', 'members', 'circle', 'shop']
|
|
|
+ var shown = []
|
|
|
+ defaultKeys.forEach(function(key) {
|
|
|
+ var app = findAppByKey(key)
|
|
|
+ if (app) shown.push({ key: app.key, name: app.name, icon: app.icon, route: app.route, locked: 0 })
|
|
|
+ })
|
|
|
+ return shown
|
|
|
+ },
|
|
|
+ // 后端返回 myShortcuts(含 locked/sortOrder);未配置(myShortcuts 为空)时使用默认 6 个
|
|
|
loadQuickApps: function() {
|
|
|
var self = this
|
|
|
getAppLibrary().then(function(res) {
|
|
|
if (res.code === 200 && res.data) {
|
|
|
self.myShortcuts = res.data.myShortcuts || []
|
|
|
self.appUsage = res.data.usage || {}
|
|
|
- var result = self.computeQuickApps(self.myShortcuts, self.appUsage)
|
|
|
- // 转成展示对象:从应用库取 icon/name/route
|
|
|
var shown = []
|
|
|
- result.forEach(function(item) {
|
|
|
- var appKey = item.appKey
|
|
|
- var app = findAppByKey(appKey)
|
|
|
- if (app) {
|
|
|
- shown.push({
|
|
|
- key: app.key,
|
|
|
- name: app.name,
|
|
|
- icon: app.icon,
|
|
|
- route: app.route,
|
|
|
- locked: item.locked
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
+ if (!self.myShortcuts || self.myShortcuts.length === 0) {
|
|
|
+ // 用户未配置:使用默认 6 个(不按频度重排)
|
|
|
+ shown = self.getDefaultQuickApps()
|
|
|
+ } else {
|
|
|
+ // 已配置:锁定占位 + 频度填充
|
|
|
+ var result = self.computeQuickApps(self.myShortcuts, self.appUsage)
|
|
|
+ result.forEach(function(item) {
|
|
|
+ var appKey = item.appKey
|
|
|
+ var app = findAppByKey(appKey)
|
|
|
+ if (app) {
|
|
|
+ shown.push({
|
|
|
+ key: app.key,
|
|
|
+ name: app.name,
|
|
|
+ icon: app.icon,
|
|
|
+ route: app.route,
|
|
|
+ locked: item.locked
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
self.quickApps = shown
|
|
|
self.quickLoaded = true
|
|
|
}
|
|
|
}).catch(function() {
|
|
|
// 接口失败:回退到默认 6 个
|
|
|
- var defaultKeys = ['task', 'interaction', 'tiandi', 'members', 'circle', 'shop']
|
|
|
- var shown = []
|
|
|
- defaultKeys.forEach(function(key) {
|
|
|
- var app = findAppByKey(key)
|
|
|
- if (app) shown.push({ key: app.key, name: app.name, icon: app.icon, route: app.route, locked: 0 })
|
|
|
- })
|
|
|
- self.quickApps = shown
|
|
|
+ self.quickApps = self.getDefaultQuickApps()
|
|
|
self.quickLoaded = true
|
|
|
})
|
|
|
},
|