perf: 优化项目邀请链接

This commit is contained in:
kuaifan 2025-07-07 20:46:42 +08:00
parent b4101f856a
commit 2a465b5f1d
3 changed files with 9 additions and 7 deletions

View File

@ -424,7 +424,7 @@ class ProjectController extends AbstractController
*/
public function invite()
{
User::auth();
$user = User::auth();
//
$project_id = intval(Request::input('project_id'));
$refresh = Request::input('refresh', 'no');
@ -440,17 +440,17 @@ class ProjectController extends AbstractController
if (empty($projectInvite)) {
$projectInvite = ProjectInvite::createInstance([
'project_id' => $project->id,
'code' => Base::generatePassword(64),
'code' => base64_encode("{$project->id},{$user->userid}," . Base::generatePassword()),
]);
$projectInvite->save();
} else {
if ($refresh == 'yes') {
$projectInvite->code = Base::generatePassword(64);
$projectInvite->code = base64_encode("{$project->id},{$user->userid}," . Base::generatePassword());
$projectInvite->save();
}
}
return Base::retSuccess('success', [
'url' => Base::fillUrl('manage/project/invite?code=' . $projectInvite->code),
'url' => Base::fillUrl('manage/project/invite/' . $projectInvite->code),
'num' => $projectInvite->num
]);
}

View File

@ -6,7 +6,7 @@
</div>
<div v-else class="invite-warp">
<Card v-if="project.id > 0">
<p slot="title">{{project.name}}</p>
<p slot="title" v-html="transformEmojiToHtml(project.name)"></p>
<div v-if="project.desc" class="invite-desc" :title="$L('项目介绍')">{{project.desc}}</div>
<div v-else>{{$L('暂无介绍')}}</div>
<div class="invite-footer">
@ -47,6 +47,7 @@
</style>
<script>
import {mapState} from "vuex";
import transformEmojiToHtml from "../../utils/emoji";
export default {
data() {
@ -65,7 +66,7 @@ export default {
'$route': {
handler(route) {
if (route.name == 'manage-project-invite') {
this.code = route.query ? route.query.code : '';
this.code = route.query?.code || route.params?.inviteId || '';
this.getData();
this.wakeApp();
}
@ -74,6 +75,7 @@ export default {
},
},
methods: {
transformEmojiToHtml,
/**
* 获取邀请信息
*/

View File

@ -103,7 +103,7 @@ export default [
},
{
name: 'manage-project-invite',
path: 'project/invite',
path: 'project/invite/:inviteId?',
component: () => import('./pages/manage/projectInvite.vue'),
},
{