Skip to content

Commit 3e0bee2

Browse files
committed
feat(scrm): contact way and group join way ui
1 parent 9e7dd67 commit 3e0bee2

File tree

30 files changed

+2030
-28
lines changed

30 files changed

+2030
-28
lines changed

src/api/crm/customer-domain/customer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import axios from 'axios';
33
import { Pagination } from '@/types/global';
44
import { PrefixUriAdmin } from '@/api';
55

6-
export const UriCustomerDomain = '/customerdomain';
6+
export const UriCustomerDomain = '/customerDomain';
77

88
export interface CustomerExternalId {
99
openIdInMiniProgram?: string;

src/api/scene.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export interface SceneQRCode {
2+
qId?: string;
3+
name?: string;
4+
realQRCodeLink?: string;
5+
platform?: number;
6+
classify?: number;
7+
sceneLink?: string;
8+
safeThresholdValue?: number;
9+
isAutoActive?: boolean;
10+
cPA?: number;
11+
status?: number;
12+
type?: number;
13+
scene?: number;
14+
style?: number;
15+
desc?: string;
16+
skipVerify?: boolean;
17+
state?: string;
18+
owners?: string[];
19+
party?: number[];
20+
isTemp?: boolean;
21+
expiresIn?: string;
22+
chatExpiresIn?: string;
23+
unionId?: string;
24+
conclusions?: string;
25+
activeQRCodeLink?: string;
26+
}

src/api/scrm/wecom/base.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,8 @@ export const UriWeComUser = '/scrm/wechat/wecom/organization/users';
33
export const UriWeComDepartment = '/scrm/wechat/wecom/organization/departments';
44
export const UriWeComTag = '/scrm/wechat/wecom/tags';
55
export const UriWeComApp = '/scrm/wechat/wecom/apps';
6+
export const UriWeComContactWay = '/scrm/wechat/wecom/qrcodes/contact-way';
7+
export const UriWeComGroupChatJoinWay =
8+
'/scrm/wechat/wecom/qrcodes/list-group-chat-join-way';
9+
export const UriWeComChannelWay = '/scrm/wechat/wecom/qrcodes/channel-way';
10+
export const UriWeComAssistantWay = '/scrm/wechat/wecom/qrcodes/assistant-way';
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/*
2+
* @Description: 企业活码
3+
* @Author: George
4+
* @Date: 2023-06-30 14:00:31
5+
* @LastEditors: George
6+
* @LastEditTime: 2023-08-02 15:53:46
7+
*/
8+
import axios from 'axios';
9+
10+
/**
11+
* @description 客户群活码列表
12+
*/
13+
14+
export interface ReplyList {
15+
list: any[];
16+
total: number;
17+
}
18+
19+
export interface GetQrcodeRequest {
20+
userId?: string;
21+
name?: string;
22+
qid?: string;
23+
state?: number | string;
24+
pageIndex?: number;
25+
pageSize?: number;
26+
GetQrcodeRequest?: number | string;
27+
}
28+
29+
export type GetQrcodeReply = ReplyList;
30+
31+
export function getQrcodeList(request: GetQrcodeRequest) {
32+
return axios.post<GetQrcodeReply>(
33+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/page`,
34+
request,
35+
);
36+
}
37+
38+
/**
39+
* @description 新增客户群活码
40+
*/
41+
42+
export interface CreateQrcodeRequest {
43+
qid?: string;
44+
name: string;
45+
desc: string;
46+
owner: string[];
47+
RealQrcodeLink: string;
48+
sceneLink: string;
49+
expiryDate: number | string;
50+
}
51+
export interface CreateQrcodeReply {
52+
status: number | string;
53+
}
54+
export function createQrcode(request: CreateQrcodeRequest) {
55+
return axios.post<CreateQrcodeReply>(
56+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/create`,
57+
request,
58+
);
59+
}
60+
61+
export function editQrcode(request: CreateQrcodeRequest, qid: string) {
62+
return axios.patch<CreateQrcodeReply>(
63+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/update/${qid}`,
64+
request,
65+
);
66+
}
67+
68+
export function deleteQrcode(qid: string) {
69+
return axios.delete<any>(
70+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/${qid}`,
71+
);
72+
}
73+
74+
export function enableQrcode(qid: string) {
75+
return axios.patch<any>(
76+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/enable/${qid}`,
77+
);
78+
}
79+
export function disableQrcode(qid: string) {
80+
return axios.patch<any>(
81+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/disable/${qid}`,
82+
);
83+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
import axios from 'axios';
2+
import { PrefixUriAdmin } from '@/api';
3+
import { UriWeComContactWay } from '@/api/scrm/wecom/base';
4+
import { Pagination } from '@/types/global';
5+
import { SceneQRCode } from '@/api/scene';
6+
7+
/**
8+
* @description 联系我列表
9+
*/
10+
11+
export const ContactWayUrl = import.meta.env.VITE_BASE_ContactWay_URL;
12+
13+
export interface GetContactWayListRequest {
14+
userId?: string;
15+
name?: string;
16+
qId?: string;
17+
status?: number | string;
18+
pageIndex?: number;
19+
pageSize?: number;
20+
}
21+
22+
export interface GetContactWayListReply extends Pagination {
23+
list: SceneQRCode[];
24+
}
25+
26+
export function getContactWayList(request: GetContactWayListRequest) {
27+
return axios.post<GetContactWayListReply>(
28+
`${PrefixUriAdmin + UriWeComContactWay}/page`,
29+
request,
30+
);
31+
}
32+
33+
/**
34+
* @description 新增客户群活码
35+
*/
36+
37+
export interface CreateContactWayRequest {
38+
qid?: string;
39+
name: string;
40+
desc: string;
41+
owner: string[];
42+
RealContactWayLink: string;
43+
sceneLink: string;
44+
expiryDate: number | string;
45+
}
46+
export interface CreateContactWayReply {
47+
status: number | string;
48+
}
49+
export function createContactWay(request: CreateContactWayRequest) {
50+
return axios.post<CreateContactWayReply>(
51+
`${PrefixUriAdmin + UriWeComContactWay}/create`,
52+
request,
53+
);
54+
}
55+
56+
export function updateContactWay(
57+
request: CreateContactWayRequest,
58+
qid: string,
59+
) {
60+
return axios.patch<CreateContactWayReply>(
61+
`${PrefixUriAdmin + UriWeComContactWay}/update`,
62+
request,
63+
);
64+
}
65+
66+
export function deleteContactWay(qid: string) {
67+
return axios.delete<any>(`${PrefixUriAdmin + UriWeComContactWay}/${qid}`);
68+
}
69+
70+
export function enableContactWay(qid: string) {
71+
return axios.patch<any>(
72+
`${PrefixUriAdmin + UriWeComContactWay}/enable/${qid}`,
73+
);
74+
}
75+
export function disableContactWay(qid: string) {
76+
return axios.patch<any>(
77+
`${PrefixUriAdmin + UriWeComContactWay}/disable/${qid}`,
78+
);
79+
}
80+
81+
export function syncContactWay() {
82+
return axios.post<any>(`${PrefixUriAdmin + UriWeComContactWay}/sync`);
83+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import axios from 'axios';
2+
import { SceneQRCode } from '@/api/scene';
3+
import { Pagination } from '@/types/global';
4+
5+
/**
6+
* @description 加入群聊列表
7+
*/
8+
9+
export interface GetGroupChatJoinWayListRequest {
10+
userId?: string;
11+
name?: string;
12+
qId?: string;
13+
status?: number | string;
14+
pageIndex?: number;
15+
pageSize?: number;
16+
GetGroupChatJoinWayRequest?: number | string;
17+
}
18+
19+
export interface GetGroupChatJoinWayListReply extends Pagination {
20+
list: SceneQRCode[];
21+
}
22+
23+
export function getGroupChatJoinWayList(
24+
request: GetGroupChatJoinWayListRequest,
25+
) {
26+
return axios.post<GetGroupChatJoinWayListReply>(
27+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/page`,
28+
request,
29+
);
30+
}
31+
32+
/**
33+
* @description 新增客户群活码
34+
*/
35+
36+
export interface CreateGroupChatJoinWayRequest {
37+
qid?: string;
38+
name: string;
39+
desc: string;
40+
owner: string[];
41+
RealGroupChatJoinWayLink: string;
42+
sceneLink: string;
43+
expiryDate: number | string;
44+
}
45+
export interface CreateGroupChatJoinWayReply {
46+
status: number | string;
47+
}
48+
export function createGroupChatJoinWay(request: CreateGroupChatJoinWayRequest) {
49+
return axios.post<CreateGroupChatJoinWayReply>(
50+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/create`,
51+
request,
52+
);
53+
}
54+
55+
export function editGroupChatJoinWay(
56+
request: CreateGroupChatJoinWayRequest,
57+
qid: string,
58+
) {
59+
return axios.patch<CreateGroupChatJoinWayReply>(
60+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/update/${qid}`,
61+
request,
62+
);
63+
}
64+
65+
export function deleteGroupChatJoinWay(qid: string) {
66+
return axios.delete<any>(
67+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/${qid}`,
68+
);
69+
}
70+
71+
export function enableGroupChatJoinWay(qid: string) {
72+
return axios.patch<any>(
73+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/enable/${qid}`,
74+
);
75+
}
76+
export function disableGroupChatJoinWay(qid: string) {
77+
return axios.patch<any>(
78+
`/api/v1/admin/scrm/wechat/wecom/qrcodes/group/disable/${qid}`,
79+
);
80+
}

src/locale/en-US.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,10 @@ export default {
6969
'menu.scrm': 'SCRM',
7070
'menu.scrm.wecom': 'Enterprise Wechat',
7171
'menu.scrm.wecom.marketingAcquisition': 'Marketing Acquisition',
72-
'menu.scrm.wecom.marketingAcquisition.enterpriseQR': 'Enterprise QR Code',
73-
'menu.scrm.wecom.marketingAcquisition.groupQR': 'Group QR Code',
72+
'menu.scrm.wecom.marketingAcquisition.contactWay': 'Conact Way',
73+
'menu.scrm.wecom.marketingAcquisition.groupChatJoinWay':
74+
'Group Chat Join Way',
75+
'menu.scrm.wecom.marketingAcquisition.channelWay': 'Channel Way',
7476
'menu.scrm.wecom.marketingAcquisition.assistant': 'Acquisition Assistant',
7577
'menu.scrm.wecom.cms': 'Content Management',
7678
'menu.scrm.wecom.cms.scriptLib': 'Script Library',

src/locale/zh-CN.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ export default {
6969
'menu.scrm': 'SCRM',
7070
'menu.scrm.wecom': '企业微信',
7171
'menu.scrm.wecom.marketingAcquisition': '营销获客',
72-
'menu.scrm.wecom.marketingAcquisition.enterpriseQR': '企微活码',
73-
'menu.scrm.wecom.marketingAcquisition.groupQR': '群活码',
72+
'menu.scrm.wecom.marketingAcquisition.contactWay': '联系我',
73+
'menu.scrm.wecom.marketingAcquisition.groupChatJoinWay': '加入群聊',
74+
'menu.scrm.wecom.marketingAcquisition.channelWay': '渠道活码',
7475
'menu.scrm.wecom.marketingAcquisition.assistant': '获客助手',
7576
'menu.scrm.wecom.cms': '内容管理',
7677
'menu.scrm.wecom.cms.scriptLib': '话术库',

src/router/routes/modules/scrm-wecom.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { DEFAULT_LAYOUT, EMPTY_LAYOUT } from '../base';
22
import { AppRouteRecordRaw } from '../types';
33

4-
const SCRMWecom: AppRouteRecordRaw = {
4+
const SCRMWeCom: AppRouteRecordRaw = {
55
path: '/scrm/wecom',
66
name: 'Scrm WeCom',
77
meta: {
@@ -59,27 +59,40 @@ const SCRMWecom: AppRouteRecordRaw = {
5959
},
6060
children: [
6161
{
62-
path: '/scrm/wecom/marketing-acquisition/enterprise-qr',
63-
name: 'WeComMarketingAcquisitionEnterpriseQR',
62+
path: '/scrm/wecom/marketing-acquisition/contact-way',
63+
name: 'WeComMarketingAcquisitionContactWay',
6464
component: () =>
6565
import(
66-
'@/views/scrm/wecom/marketing-acquisition/enterprise-qr/index.vue'
66+
'@/views/scrm/wecom/marketing-acquisition/contact-way/index.vue'
6767
),
6868
meta: {
69-
locale: 'menu.scrm.wecom.marketingAcquisition.enterpriseQR',
69+
locale: 'menu.scrm.wecom.marketingAcquisition.contactWay',
7070
requiresAuth: true,
7171
roles: ['*'],
7272
},
7373
},
7474
{
75-
path: '/scrm/wecom/marketing-acquisition/user-group-qr',
76-
name: 'WeComMarketingAcquisitionGroupQR',
75+
path: '/scrm/wecom/marketing-acquisition/list-group-chat-join-way',
76+
name: 'WeComMarketingAcquisitionGroupChatJoinWay',
7777
component: () =>
7878
import(
79-
'@/views/scrm/wecom/marketing-acquisition/group-qr/index.vue'
79+
'@/views/scrm/wecom/marketing-acquisition/group-chat-join-way/index.vue'
8080
),
8181
meta: {
82-
locale: 'menu.scrm.wecom.marketingAcquisition.groupQR',
82+
locale: 'menu.scrm.wecom.marketingAcquisition.groupChatJoinWay',
83+
requiresAuth: true,
84+
roles: ['*'],
85+
},
86+
},
87+
{
88+
path: '/scrm/wecom/marketing-acquisition/channel-way',
89+
name: 'WeComMarketingAcquisitionChannelWay',
90+
component: () =>
91+
import(
92+
'@/views/scrm/wecom/marketing-acquisition/channel-way/index.vue'
93+
),
94+
meta: {
95+
locale: 'menu.scrm.wecom.marketingAcquisition.channelWay',
8396
requiresAuth: true,
8497
roles: ['*'],
8598
},
@@ -352,4 +365,4 @@ const SCRMWecom: AppRouteRecordRaw = {
352365
],
353366
};
354367

355-
export default SCRMWecom;
368+
export default SCRMWeCom;

0 commit comments

Comments
 (0)