From 9b5c83e0ef310ad35daf15a2d0561a32776b3f28 Mon Sep 17 00:00:00 2001 From: jscyl13849007907 <13849007907@163.com> Date: Fri, 8 May 2026 16:09:31 +0800 Subject: [PATCH] no message --- api/bind.js | 24 ++ api/index.js | 3 +- components/myMain.vue | 583 +++++++++++++++++++++++++++++++++++++++++ pages.json | 65 +++++ pages/person/index.vue | 6 +- root/bind/applyForm.vue | 140 ++++++++++ root/bind/applyList.vue | 229 ++++++++++++++++ root/bind/fensi.vue | 645 ++++++++++++++++++++++++++++++++++++++++++++++ root/bind/inviteList.vue | 508 ++++++++++++++++++++++++++++++++++++ root/bind/more.vue | 144 +++++++++++ root/bind/myMain copy.vue | 511 ++++++++++++++++++++++++++++++++++++ root/bind/order.vue | 500 +++++++++++++++++++++++++++++++++++ root/bind/search.vue | 179 +++++++++++++ root/bind/view.vue | 131 ++++++++++ static/css/iconfont.css | 22 +- utils/common.js | 116 +++++++++ 16 files changed, 3800 insertions(+), 6 deletions(-) create mode 100644 api/bind.js create mode 100644 components/myMain.vue create mode 100644 root/bind/applyForm.vue create mode 100644 root/bind/applyList.vue create mode 100644 root/bind/fensi.vue create mode 100644 root/bind/inviteList.vue create mode 100644 root/bind/more.vue create mode 100644 root/bind/myMain copy.vue create mode 100644 root/bind/order.vue create mode 100644 root/bind/search.vue create mode 100644 root/bind/view.vue diff --git a/api/bind.js b/api/bind.js new file mode 100644 index 0000000..5142294 --- /dev/null +++ b/api/bind.js @@ -0,0 +1,24 @@ +let bindInfo = { + bind_getCode:"/assistant/circle/agency/apply/inviteCode",// 获取邀请码 + bind_getOrderCode:"/yishoudan/user/apply/order/orderDetailsQrCodeImage",// 获取邀请码 + bind_getSubscribeDetail :"/assistant/circle/agency/search/code",// 根据搜索code获取对应关注详情 + bind_subscribeSubmit:"/assistant/circle/agency/apply/subscribe",// 提交关注 + bind_recordList:"/assistant/circle/agency/apply/list",// 申请记录 + bind_recordDetail:"/assistant/circle/agency/apply/info",// 申请记录当前行记录详情 + bind_recordSubmit:"/assistant/circle/agency/apply/agree",// 通过申请提交事件 + bind_enterpriseDetail:"/assistant/circle/agency/detail",// 企业详情 + bind_getAgencyByAdminTel:"/yishoudan/agency/getAgencyByAdminTel",// 根据团队创建人手机号获取团队信息 + + bind_getWaitNum:"/assistant/circle/agency/countPending",// 获取统计处理中的数量 + bind_getApplyNum:"/assistant/circle/agency/countHasNotReadNum",// 获取通过未读的关注数 + bind_isSee:"/assistant/circle/agency/himSee",// 让不让他看 + bind_getGroupDetail:"/assistant/circle/agency/info",// 团队详情 + bind_list:"/assistant/circle/agency/list",// 上下游列表 + bind_getListNum:"/assistant/circle/agency/listCount",// 统计上粉丝数量 + bind_setPeolple:"/assistant/circle/agency/lookHim",// 看不看他 + bind_cancelApply:"/assistant/circle/agency/unsubscribe",// 取消关注 + bind_delApply:"/assistant/circle/agency/removeFans",// 删除粉丝 + bind_getAgencyCorpUsersNum:"/yishoudan/agency/getAgencyCorpUsersNum",// 获取团队成员数 +} + +export default bindInfo; \ No newline at end of file diff --git a/api/index.js b/api/index.js index 63a493e..4995c9b 100644 --- a/api/index.js +++ b/api/index.js @@ -9,6 +9,7 @@ import company from './company.js'; import chatInfo from './chat.js'; import appConfig from './appConfig.js'; import merchantManagement from './merchantManagement.js'; +import bindInfo from './bind.js'; let testInfo = {// 测试接口 testUrl: "/overall/store/job/list",// 来源:稻田 小程序首页列表 } @@ -20,4 +21,4 @@ let baseInfo = {// 公共接口 uploadImage: "/imgs/uploadImage",// 图片上传 } -export default Object.assign(baseInfo, loginInfo, jobInfo, personInfo, wyyxInfo, order, messageInfo, user, company,merchantManagement,chatInfo,appConfig); \ No newline at end of file +export default Object.assign(baseInfo, loginInfo, jobInfo, personInfo, wyyxInfo, order, messageInfo, user, company,merchantManagement,chatInfo,appConfig,bindInfo); \ No newline at end of file diff --git a/components/myMain.vue b/components/myMain.vue new file mode 100644 index 0000000..5fc4f2e --- /dev/null +++ b/components/myMain.vue @@ -0,0 +1,583 @@ + + + + + diff --git a/pages.json b/pages.json index 34ae621..5d65197 100644 --- a/pages.json +++ b/pages.json @@ -653,6 +653,71 @@ } ] }, + { // 上下游二级页面 + "root": "root/bind", + "pages": [ + { + "path": "fensi", + "style": { + "navigationBarTitleText": "" // 申请列表 + } + }, + { + "path": "order", + "style": { + "navigationBarTitleText": "我的关注" // + } + }, + { + "path": "inviteList", + "style": { + "navigationBarTitleText": "" // + } + }, + { + "path": "applyList", + "style": { + "navigationBarTitleText": " ", // 申请列表 + "backgroundColor": "#ededed", + "backgroundColorTop": "#ededed", + "backgroundColorBottom": "#ededed" + } + }, + { + "path": "applyForm", + "style": { + "navigationBarTitleText": "申请关注" + } + }, + { + "path": "search", + "style": { + // #ifdef H5 || APP-PLUS + "navigationStyle": "custom", + // #endif + "navigationBarTitleText": "" + } + }, + { + "path": "view", + "style": { + "navigationBarTitleText": "通过粉丝验证" + } + }, + // { + // "path": "myMain", + // "style": { + // "navigationBarTitleText": "我的名片" + // } + // }, + { + "path": "more", + "style": { + "navigationBarTitleText": "更多操作" + } + } + ] + }, { "root": "root/vip", "pages": [ diff --git a/pages/person/index.vue b/pages/person/index.vue index 0f884ee..c013495 100644 --- a/pages/person/index.vue +++ b/pages/person/index.vue @@ -31,10 +31,12 @@ - + - +
+ +
发展代理 邀请更多代理(粉丝)关注我 diff --git a/root/bind/applyForm.vue b/root/bind/applyForm.vue new file mode 100644 index 0000000..f8485e6 --- /dev/null +++ b/root/bind/applyForm.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/root/bind/applyList.vue b/root/bind/applyList.vue new file mode 100644 index 0000000..b976455 --- /dev/null +++ b/root/bind/applyList.vue @@ -0,0 +1,229 @@ + + + + + \ No newline at end of file diff --git a/root/bind/fensi.vue b/root/bind/fensi.vue new file mode 100644 index 0000000..e8ef19a --- /dev/null +++ b/root/bind/fensi.vue @@ -0,0 +1,645 @@ + + + + + diff --git a/root/bind/inviteList.vue b/root/bind/inviteList.vue new file mode 100644 index 0000000..5ef6b72 --- /dev/null +++ b/root/bind/inviteList.vue @@ -0,0 +1,508 @@ + + + + + diff --git a/root/bind/more.vue b/root/bind/more.vue new file mode 100644 index 0000000..ab1d049 --- /dev/null +++ b/root/bind/more.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/root/bind/myMain copy.vue b/root/bind/myMain copy.vue new file mode 100644 index 0000000..98f6933 --- /dev/null +++ b/root/bind/myMain copy.vue @@ -0,0 +1,511 @@ + + + + + diff --git a/root/bind/order.vue b/root/bind/order.vue new file mode 100644 index 0000000..ab9501c --- /dev/null +++ b/root/bind/order.vue @@ -0,0 +1,500 @@ + + + + + diff --git a/root/bind/search.vue b/root/bind/search.vue new file mode 100644 index 0000000..ceca74b --- /dev/null +++ b/root/bind/search.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/root/bind/view.vue b/root/bind/view.vue new file mode 100644 index 0000000..1712444 --- /dev/null +++ b/root/bind/view.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/static/css/iconfont.css b/static/css/iconfont.css index c791bb0..0dceaba 100644 --- a/static/css/iconfont.css +++ b/static/css/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: 'iconfont'; /* Project id 4374774 */ - src: url('//at.alicdn.com/t/c/font_4374774_yuyedly37t.woff2?t=1778143633935') format('woff2'), - url('//at.alicdn.com/t/c/font_4374774_yuyedly37t.woff?t=1778143633935') format('woff'), - url('//at.alicdn.com/t/c/font_4374774_yuyedly37t.ttf?t=1778143633935') format('truetype'); + src: url('//at.alicdn.com/t/c/font_4374774_663j8f9o04i.woff2?t=1778226227404') format('woff2'), + url('//at.alicdn.com/t/c/font_4374774_663j8f9o04i.woff?t=1778226227404') format('woff'), + url('//at.alicdn.com/t/c/font_4374774_663j8f9o04i.ttf?t=1778226227404') format('truetype'); } .iconfont { @@ -13,6 +13,22 @@ -moz-osx-font-smoothing: grayscale; } +.icon-collapse:before { + content: "\e900"; +} + +.icon-expand:before { + content: "\e902"; +} + +.icon-sisternode:before { + content: "\e903"; +} + +.icon-index:before { + content: "\e90f"; +} + .icon-folder-add:before { content: "\e7d1"; } diff --git a/utils/common.js b/utils/common.js index 2b05e23..8a86866 100644 --- a/utils/common.js +++ b/utils/common.js @@ -1010,6 +1010,122 @@ let data = { return str; }, + drawCenteredText (ctx, x, y, textSegments) { + + // 计算总宽度 + const totalWidth = this.calculateTotalWidth(ctx, textSegments); + // console.log('totalWidth', totalWidth, textSegments); + // 计算起始X坐标(居中位置) + const centerX = x; + const startX = (centerX - totalWidth) / 2; + const centerY = y; + + // 绘制拼接文本 + let currentX = startX; + textSegments.forEach((segment) => { + if (segment) { + ctx.font = `${segment.fontWeight} ${segment.fontSize}px Arial`; + ctx.fillStyle = segment.color; + + // 文本基线设为中间,使垂直方向也居中 + // ctx.textBaseline = "middle"; + + // 绘制当前文本片段 + ctx.fillText(segment.content, currentX, centerY); + + // 更新X坐标,为下一段文本做准备, 文本长度为1的时候,使用字体大小 + currentX += ((ctx.measureText(segment.content).width) + (segment.space || 0)); + } + + }); + }, + calculateTotalWidth (ctx, segments) { + let totalWidth = 0; + segments.forEach((segment) => { + // console.log('segment', segment); + if (segment) { + ctx.font = `${segment.fontWeight} ${segment.fontSize}px Arial`; + totalWidth += ((ctx.measureText(segment.content).width) + (segment.space || 0)); + } + }); + + return totalWidth; + }, + + // 绘制折线 + setZigzag (ctx) { + // 定义折线的点坐标 (形成90度角) + const points = [ + { x: 100, y: 100 }, // 起点 + { x: 200, y: 100 }, // 转折点 + { x: 200, y: 200 } // 终点 + ]; + let cornerRadius = -10 + // 设置线条样式 + ctx.lineWidth = lineWidth; + ctx.strokeStyle = strokeColor; + ctx.lineCap = 'round'; + + // 开始绘制路径 + ctx.beginPath(); + + // 从第一个点开始 + ctx.moveTo(points[0].x, points[0].y); + // 遍历所有点,处理转折点 + for (let i = 1; i < points.length - 1; i++) { + const prev = points[i - 1]; + const curr = points[i]; + const next = points[i + 1]; + + // 计算进入和离开转折点的方向向量 + const inVector = { x: curr.x - prev.x, y: curr.y - prev.y }; + const outVector = { x: next.x - curr.x, y: next.y - curr.y }; + + // 归一化向量 + const inLength = Math.sqrt(inVector.x ** 2 + inVector.y ** 2); + const outLength = Math.sqrt(outVector.x ** 2 + outVector.y ** 2); + + const normalizedIn = { + x: inVector.x / inLength, + y: inVector.y / inLength, + }; + const normalizedOut = { + x: outVector.x / outLength, + y: outVector.y / outLength, + }; + + // 计算拐角的起点和终点(距离转折点cornerRadius的位置) + const start = { + x: curr.x - normalizedIn.x * cornerRadius, + y: curr.y - normalizedIn.y * cornerRadius, + }; + const end = { + x: curr.x + normalizedOut.x * cornerRadius, + y: curr.y + normalizedOut.y * cornerRadius, + }; + + // 绘制到拐角起点 + ctx.lineTo(start.x, start.y); + + // 计算切线方向,绘制贝塞尔曲线作为圆角 + const control1 = { + x: start.x + normalizedOut.x * cornerRadius, + y: start.y + normalizedOut.y * cornerRadius, + }; + const control2 = { + x: end.x - normalizedIn.x * cornerRadius, + y: end.y - normalizedIn.y * cornerRadius, + }; + + ctx.bezierCurveTo(control1.x, control1.y, control2.x, control2.y, end.x, end.y); + } + + // 绘制到最后一个点 + ctx.lineTo(points[points.length - 1].x, points[points.length - 1].y); + + // 描边路径 + ctx.stroke(); + }, } export default data; \ No newline at end of file