diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 8d3868b73..8746f3590 100755 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -3074,6 +3074,11 @@ task_createmodel=`created new model %s` task_c2netnputrainjob=`created NPU training task %s` task_c2netgputrainjob=`created CPU/GPU training task %s` +binded_wechat=binded WeChat +dataset_recommended=`created dataset %s was set as recommended dataset` +create_image=`committed image %s` +image_recommended=`committed image %s was set as recommended image` +update_user_avatar=updated avatar [tool] ago = %s ago diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index b02600803..95710d09d 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -3091,6 +3091,11 @@ task_createmodel=`导入了新模型 %s` task_c2netnputrainjob=`创建了NPU类型训练任务 %s` task_c2netgputrainjob=`创建了CPU/GPU类型训练任务 %s` +binded_wechat=绑定微信 +dataset_recommended=`创建的数据集%s被设置为推荐数据集` +create_image=`提交了镜像%s` +image_recommended=`提交的镜像%s被设置为推荐镜像` +update_user_avatar=更新了头像 [tool] ago=%s前 diff --git a/public/home/home.js b/public/home/home.js index 70b9d7253..4127362c0 100755 --- a/public/home/home.js +++ b/public/home/home.js @@ -163,6 +163,21 @@ document.onreadystatechange = function () { html += recordPrefix + actionName; html += " " + record.RefName + "" } + else if(record.OpType == "35"){ + var datasetLink = ''; + actionName.replace('{dataset}', datasetLink); + html += recordPrefix + actionName; + } + else if(record.OpType == "36"){ + var imageLink = ''; + actionName.replace('{image}', imageLink); + html += recordPrefix + actionName; + } + else if(record.OpType == "37"){ + var imageLink = ''; + actionName.replace('{image}', imageLink); + html += recordPrefix + actionName; + } else{ continue; } @@ -354,7 +369,10 @@ var actionNameZH={ "30":"导入了新模型", "31":"创建了CPU/GPU类型训练任务", "32":"创建了NPU类型训练任务", - "33":"创建了CPU/GPU类型训练任务" + "33":"创建了CPU/GPU类型训练任务", + "35":"创建的数据集 {dataset} 被设置为推荐数据集", + "36":"提交了镜像 {image}", + "37":"提交的镜像 {image} 被设置为推荐镜像", }; var actionNameEN={ @@ -382,7 +400,10 @@ var actionNameEN={ "30":" created new model", "31":" created CPU/GPU type training task", "32":" created NPU type training task", - "33":" created CPU/GPU type training task" + "33":" created CPU/GPU type training task", + "35":" created dataset {dataset} was set as recommended dataset", + "36":"committed image {image}", + "37":"committed image {image} was set as recommended image", }; var repoAndOrgZH={ diff --git a/templates/reward/point/rule.tmpl b/templates/reward/point/rule.tmpl index adc074faa..6e7a0a8cc 100644 --- a/templates/reward/point/rule.tmpl +++ b/templates/reward/point/rule.tmpl @@ -27,79 +27,79 @@ 上限值 奖励细节澄清 - + 完成微信扫码验证 - 累计积分获取上限 - 1、首次完成微信扫码验证,即获取积分。
2、同个账号,更换微信号码再验证不重复给积分。
3、同一个微信,绑定第一个账号时奖励积分,下次绑定其他账号时不再奖励。 - + 创建或Fork公开项目 - 每日积分获取上限 - 请注意项目质量,请勿复制粘贴或者重复公开项目,任何非常规的以公开项目去获取积分的行为将被认定为积分舞弊,将扣除所有积分。 - + 每日提出PR - 每日积分获取上限 - - + 每日commit - 每日积分获取上限 - 通过前台界面和后台命令行方式commit,都可获得奖励积分。 - + 每日提出任务 - 每日积分获取上限 - - + 发表评论 - 每日积分获取上限 - 禁止空评论或评论后马上删除等非正常获取积分的方式,一经发现将扣除所有积分。 - + 上传数据集文件 - 每日积分获取上限 - 请注意数据集质量,请勿复制粘贴或者重复公开数据集,任何非常规的以公开数据集去获取积分的行为将被认定为积分舞弊,将扣除所有积分。 - + 数据集被平台推荐 - 每日积分获取上限 - 仅统计属于个人的数据集,属于组织的数据集暂不统计。 - + 导入新模型 - 每日积分获取上限 - 请注意模型质量,请勿重复导入相同模型,任何非常规的以导入新模型去获取 积分的行为将被认定为积分舞弊,将扣除所有积分。 - + 每日运行云脑任务 - 每日积分获取上限 - 每日运行调试、训练、推理、评测中任何一种任务,即可获得。 - + 提交新公开镜像 - 每日积分获取上限 - - + 镜像被平台推荐 - 每日积分获取上限 - - + 首次更换头像 - 累计积分获取上限 - diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl index e43191470..f3ec10c4a 100755 --- a/templates/user/dashboard/feeds.tmpl +++ b/templates/user/dashboard/feeds.tmpl @@ -90,6 +90,16 @@ {{$.i18n.Tr "action.task_c2netnputrainjob" .GetRepoLink .Content .RefName | Str2html}} {{else if eq .GetOpType 33}} {{$.i18n.Tr "action.task_c2netgputrainjob" .GetRepoLink .Content .RefName | Str2html}} + {{else if eq .GetOpType 34}} + {{$.i18n.Tr "action.binded_wechat"}} + {{else if eq .GetOpType 35}} + {{$.i18n.Tr "action.dataset_recommended" .GetRepoLink | Str2html}} + {{else if eq .GetOpType 36}} + {{$.i18n.Tr "action.create_image" .GetRepoLink | Str2html}} + {{else if eq .GetOpType 37}} + {{$.i18n.Tr "action.image_recommended" .GetRepoLink | Str2html}} + {{else if eq .GetOpType 38}} + {{$.i18n.Tr "action.update_user_avatar"}} {{end}}

{{if or (eq .GetOpType 5) (eq .GetOpType 18)}} diff --git a/web_src/vuepages/const/index.js b/web_src/vuepages/const/index.js index fe133fb87..4051dbb17 100644 --- a/web_src/vuepages/const/index.js +++ b/web_src/vuepages/const/index.js @@ -3,8 +3,8 @@ import { i18n } from '~/langs'; export const SOURCE_TYPE = [{ k: 'ACCOMPLISH_TASK', v: i18n.t('accomplishTask') }, { k: 'ADMIN_OPERATE', v: i18n.t('adminOperate') }, { k: 'RUN_CLOUDBRAIN_TASK', v: i18n.t('runCloudBrainTask') }]; export const CONSUME_STATUS = [{ k: 'OPERATING', v: i18n.t('operating') }, { k: 'SUCCEEDED', v: i18n.t('succeeded') }]; export const POINT_ACTIONS = [ - { k: 1, v: i18n.t('createPublicProject') }, { k: 6, v: i18n.t('dailyPutforwardTasks') }, { k: 7, v: i18n.t('dailyPR') }, { k: 10, v: i18n.t('comment') }, { k: 24, v: i18n.t('uploadDatasetFile') }, { k: 30, v: i18n.t('importNewModel') }, { k: 34, v: i18n.t('completeWechatCodeScanningVerification') }, - { k: 35, v: i18n.t('dailyRunCloudbrainTasks') }, { k: 36, v: i18n.t('datasetRecommendedByThePlatform') }, { k: 37, v: i18n.t('submitNewPublicImage') }, { k: 38, v: i18n.t('imageRecommendedByThePlatform') }, { k: 39, v: i18n.t('firstChangeofAvatar') }, { k: 40, v: i18n.t('dailyCommit') }, + { k: 'CreatePublicRepo', v: i18n.t('createPublicProject') }, { k: 'CreateIssue', v: i18n.t('dailyPutforwardTasks') }, { k: 'CreatePullRequest', v: i18n.t('dailyPR') }, { k: 'CommentIssue', v: i18n.t('comment') }, { k: 'UploadAttachment', v: i18n.t('uploadDatasetFile') }, { k: 'CreateNewModelTask', v: i18n.t('importNewModel') }, { k: 'BindWechat', v: i18n.t('completeWechatCodeScanningVerification') }, + { k: 'CreateCloudbrainTask', v: i18n.t('dailyRunCloudbrainTasks') }, { k: 'DatasetRecommended', v: i18n.t('datasetRecommendedByThePlatform') }, { k: 'CreateImage', v: i18n.t('submitNewPublicImage') }, { k: 'ImageRecommend', v: i18n.t('imageRecommendedByThePlatform') }, { k: 'ChangeUserAvatar', v: i18n.t('firstChangeofAvatar') }, { k: 'PushCommits', v: i18n.t('dailyCommit') }, ]; export const JOB_TYPE = [{ k: 'DEBUG', v: i18n.t('debugTask') }, { k: 'TRAIN', v: i18n.t('trainTask') }, { k: 'INFERENCE', v: i18n.t('inferenceTask') }, { k: 'BENCHMARK', v: i18n.t('benchmarkTask') }]; diff --git a/web_src/vuepages/langs/config/en-US.js b/web_src/vuepages/langs/config/en-US.js index f306adb2a..dafb374d4 100644 --- a/web_src/vuepages/langs/config/en-US.js +++ b/web_src/vuepages/langs/config/en-US.js @@ -69,6 +69,9 @@ const en = { setAsRecommendedImage: ' was set as recommended image', updatedAvatar: 'updated avatar', pushedBranch: 'pushed to {branch} at ', + deleteBranch: 'deleted branch {branch} from {repo}', + pushedTag: ' pushed tag {tag} to ', + deleteTag: ' deleted tag {tag} from {repo}', dailyMaxTips: `can't get full points when reach the daily upper limit`, memory: 'Memory', sharedMemory: 'Shared Memory', diff --git a/web_src/vuepages/langs/config/zh-CN.js b/web_src/vuepages/langs/config/zh-CN.js index 83a1a9343..f190a77b3 100644 --- a/web_src/vuepages/langs/config/zh-CN.js +++ b/web_src/vuepages/langs/config/zh-CN.js @@ -69,6 +69,9 @@ const zh = { setAsRecommendedImage: '被设置为推荐镜像', updatedAvatar: '更新了头像', pushedBranch: '推送了{branch}分支代码到', + deleteBranch: '从{repo}删除分支{branch}', + pushedTag: '推送了标签{tag}到', + deleteTag: '从{repo}删除了标签{tag}', dailyMaxTips: '达到每日上限积分,不能拿满分', memory: '内存', sharedMemory: '共享内存', diff --git a/web_src/vuepages/pages/reward/point/utils.js b/web_src/vuepages/pages/reward/point/utils.js index c26862aa6..96e78a137 100644 --- a/web_src/vuepages/pages/reward/point/utils.js +++ b/web_src/vuepages/pages/reward/point/utils.js @@ -79,7 +79,7 @@ export const getRewardPointRecordInfo = (record) => { duration: record?.Cloudbrain?.Duration || '--', taskName: record?.Cloudbrain?.DisplayJobName || '--', taskId: record?.Cloudbrain?.ID, - action: record?.Action?.OpType ? getPointAction(record.Action.OpType) : '--', + action: record?.Action?.TaskType ? getPointAction(record.Action.TaskType) : '--', remark: record.Remark, amount: record.Amount, }; @@ -87,49 +87,72 @@ export const getRewardPointRecordInfo = (record) => { if (record.SourceType === 'ADMIN_OPERATE') { out.remark = record.Remark; } else if (record.SourceType === 'ACCOMPLISH_TASK') { - switch (record?.Action?.OpType) { - case 1: // 创建公开项目 - 创建了项目OpenI/aiforge + switch (record?.Action?.TaskType) { + case 'CreatePublicRepo': // 创建公开项目 - 创建了项目OpenI/aiforge out.remark = `${i18n.t('createdRepository')}${record.Action.ShortRepoFullDisplayName}`; break; - case 6: // 每日提出任务 - 创建了任务PCL-Platform.Intelligence/AISynergy#19 + case 'CreateIssue': // 每日提出任务 - 创建了任务PCL-Platform.Intelligence/AISynergy#19 out.remark = `${i18n.t('openedIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`; break; - case 7: // 每日提出PR - 创建了合并请求OpenI/aiforge#1 + case 'CreatePullRequest': // 每日提出PR - 创建了合并请求OpenI/aiforge#1 out.remark = `${i18n.t('createdPullRequest')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`; break; - case 10: // 发表评论 - 评论了任务PCL-Platform.Intelligence/AISynergy#19 + case 'CommentIssue': // 发表评论 - 评论了任务PCL-Platform.Intelligence/AISynergy#19 out.remark = `${i18n.t('commentedOnIssue')}${record.Action.ShortRepoFullDisplayName}#${record.Action.IssueInfos[0]}`; break; - case 24: // 上传数据集文件 - 上传了数据集文件MMISTData.zip + case 'UploadAttachment': // 上传数据集文件 - 上传了数据集文件MMISTData.zip out.remark = `${i18n.t('uploadDataset')}${record.Action.RefName}`; break; - case 30: // 导入新模型 - 导入了新模型resnet50_qx7l + case 'CreateNewModelTask': // 导入新模型 - 导入了新模型resnet50_qx7l out.remark = `${i18n.t('createdNewModel')}${record.Action.RefName}`; break; - case 34: // 完成微信扫码验证 - 首次绑定微信奖励 + case 'BindWechat': // 完成微信扫码验证 - 首次绑定微信奖励 out.remark = `${i18n.t('firstBindingWechatRewards')}`; break; - case 35: // 每日运行云脑任务 - 创建了(CPU/GPU/NPU)类型(调试/训练/推理/评测)任务tangl202204131431995 + case 'CreateCloudbrainTask': // 每日运行云脑任务 - 创建了(CPU/GPU/NPU)类型(调试/训练/推理/评测)任务tangl202204131431995 out.remark = `${i18n.t('created')}${record.Action?.Cloudbrain?.ComputeResource}${i18n.t('type')}${getJobType(record.Action?.Cloudbrain?.JobType)} ${record.Action.RefName}`; break; - case 36: // 数据集被平台推荐 - 数据集XXX被设置为推荐数据集 + case 'DatasetRecommended': // 数据集被平台推荐 - 数据集XXX被设置为推荐数据集 out.remark = `${i18n.t('dataset')}${record.Action.Content && record.Action.Content.split('|')[1]}${i18n.t('setAsRecommendedDataset')}`; break; - case 37: // 提交新公开镜像 - 提交了镜像jiangxiang_ceshi_tang03 + case 'CreateImage': // 提交新公开镜像 - 提交了镜像jiangxiang_ceshi_tang03 out.remark = `${i18n.t('committedImage')}${record.Action.Content && record.Action.Content.split('|')[1]}`; break; - case 38: // 镜像被平台推荐 - 镜像XXX被设置为推荐镜像 + case 'ImageRecommend': // 镜像被平台推荐 - 镜像XXX被设置为推荐镜像 out.remark = `${i18n.t('image')}${record.Action.Content && record.Action.Content.split('|')[1]}${i18n.t('setAsRecommendedImage')}`; break; - case 39: // 首次更换头像 - 更新了头像 + case 'ChangeUserAvatar': // 首次更换头像 - 更新了头像 out.remark = `${i18n.t('updatedAvatar')}`; break; - case 40: // 每日commit - 推送了xxxx分支的代码到OpenI/aiforge - const words = record.Action.RefName.split('/'); - const branch = words[words.length - 1]; - out.remark = `${i18n.t('pushedBranch', { - branch: `${branch}` - })}${record.Action.ShortRepoFullDisplayName}`; + case 'PushCommits': // 每日commit - 推送了xxxx分支的代码到OpenI/aiforge + const opType = record.Action.OpType; + if (opType == 5) { + const words = record.Action.RefName.split('/'); + const branch = words[words.length - 1]; + out.remark = `${i18n.t('pushedBranch', { + branch: `${branch}` + })}${record.Action.ShortRepoFullDisplayName}`; + } else if (opType == 9) { + const words = record.Action.RefName.split('/'); + const tag = words[words.length - 1]; + out.remark = `${i18n.t('pushedTag', { + tag: `${tag}` + })}${record.Action.ShortRepoFullDisplayName}`; + } else if (opType == 16) { + const words = record.Action.RefName.split('/'); + const tag = words[words.length - 1]; + out.remark = `${i18n.t('deleteTag', { + repo: `${record.Action.ShortRepoFullDisplayName}`, + tag: tag, + })}`; + } else if (opType == 17) { + const words = record.Action.RefName.split('/'); + const branch = words[words.length - 1]; + out.remark = `${i18n.t('deleteBranch', { + repo: `${record.Action.ShortRepoFullDisplayName}`, + branch: branch, + })}`; + } break; default: break; @@ -147,13 +170,7 @@ export const getRewardPointRecordInfo = (record) => { } else if (record.SourceType === 'ACCOMPLISH_TASK') { // } else if (record.SourceType === 'RUN_CLOUDBRAIN_TASK') { - out.taskName = `${record?.Cloudbrain?.DisplayJobName}`; - // if (record?.Cloudbrain?.ComputeResource === 'CPU/GPU') { - // const resourceSpec = record?.Cloudbrain?.ResourceSpec?.ResourceSpec; - // out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【GPU: ${resourceSpec?.gpu}, CPU: ${resourceSpec?.cpu}, ${i18n.t('memory')}: ${(resourceSpec?.memMiB / 1024).toFixed(2)}GB, ${i18n.t('sharedMemory')}: ${(resourceSpec?.shareMemMiB / 1024).toFixed(2)}GB】`; - // } else { - // out.remark = `【${getJobType(record?.Cloudbrain?.JobType)}】【${record?.Cloudbrain?.ComputeResource}】【${record?.Cloudbrain?.ResourceSpec.FlavorInfo.desc}】`; - // } + out.taskName = `${record?.Cloudbrain?.DisplayJobName}`; const resourceSpec = record?.Cloudbrain?.ResourceSpec; if (resourceSpec) { resourceSpec.workServerNumber = record?.Cloudbrain?.WorkServerNumber || 1;