跳到主要内容

199 篇博文 含有标签「iCoding」

个人简介

查看所有标签

菜单

· 阅读需 2 分钟
Quany
软件工程师
import { Layout, getConventionalMenus, useComponentContext } from '@rc-lib/pc';
import { useEffect, useState } from 'react';
import { t } from '@/locale';
import ajax from '@/commons/ajax';
import Logo from '../logo';
import Header from './Header';
import pageConfig, { conventionalRoutes } from '@/pages/page-configs';

const loop = (nodes) =>
nodes.map((node) => {
const {
name,
path,
meta: { title, icon },
children,
} = node;
return {
path,
key: name || Math.ceil(Math.random() * 1000000000000),
title,
icon,
label: title,
children: children ? loop(children) : undefined,
};
});

export default (props) => {
const { children, ...others } = props;

const [menus, setMenus] = useState([]);
const { loginUser } = useComponentContext();
console.log('layout loginUser', loginUser);

useEffect(() => {
if (loginUser) {
(async () => {
try {
if (window.location.pathname !== '/login') {
const resp = await ajax.get('/login/getRouters?menuType=1');
const msd = loop(resp.data[0].children);
console.log('getRouters', msd);
setMenus(msd);
}
} finally {
// setLoading(false);
}
})();
} else {
const TITLE_MAP = {
system: t('系统管理'),
example: t('示例'),
business: t('发现商机'),
activity: t('销售活动'),
customer: t('客户管理'),
transaction: t('交易查询'),
shopManage: t('店铺管理'),
};
const mss = getConventionalMenus(pageConfig, conventionalRoutes, TITLE_MAP);
setMenus(mss);
}
}, [loginUser]);

return (
<Layout
logo={(c) => <Logo collapsed={c} />}
header={<Header />}
menus={menus}
{...others}
>
{children}
</Layout>
);
};

关键性问题

  1. 微信支付分;

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml

  1. 支付宝芝麻信用;
  2. 地图实现差异;

微信公众号

微信公众号

团队建设

· 阅读需 6 分钟
Quany
软件工程师

任务集

  • 团队建设

  • 运营管理

    • 系统管理:用户,角色,菜单;
  • 小程序:用户端,商家端

    • 登录注册
    • 地图
    • 支付:微信支付分,芝麻信用
    • 订单
  • 官网

    • 静态页面

团队建设

基本要求

通顺畅,逻辑清晰,有同理心,谦虚谨慎;高级的要有责任心;初级的要有学习能力强;

技术要求:

为了保持精力,选择 React 技术生态

  1. react 技术栈;经验上有andt 开发框架;
  2. 有 react native 经验更好;
  3. 有原生(android, ios)开发经验更好;
  4. vue 经验;

前端基础:html/css/js

人员选拔与招聘

明确需求 :首先,要明确项目对前端技术的具体需求。比如,是注重响应式网页设计、跨平台应用开发(如兼容 PC 端、移动端)、图形界面交互效果,还是重视性能优化。然后根据需求制定招聘计划。

技能要求

  • 基础技能 :应聘人员需要熟练掌握 HTML、CSS 和 JavaScript 等前端基础技术,能运用这些技术构建出基本的网页结构和样式,实现网页的基本交互功能。
  • 框架技能 :现在主流前端框架有两种,React 和 Vue。要根据项目的实际需求,招聘掌握相应框架的人才。比如项目的开发倾向于组件化、模块化,并且需要高效的 Virtual DOM(虚拟 DOM)机制来优化性能的话,React 可能更适合。而 Vue 则更注重灵活性,入门上手相对容易,适合项目对开发效率有一定要求的场景。
  • 其他技能 :如果项目对用户体验有较高要求,还需要具备设计感和用户体验嗅觉。例如,了解一些 UI 设计规范,能在开发过程中综合考虑到按钮、文本框等交互元素的位置和样式。
  • 个人特质 :除了技术能力外,个人的学习能力、沟通能力和团队协作精神也很重要。前端技术更新换代快,需要有强大的学习能力来不断掌握新技术。良好的沟通能力可以确保与设计师、后端开发人员以及产品经理等其他角色顺畅交流,团队协作精神能让团队成员在项目开发过程中相互支持,提高整体效率。

团队架构搭建

  • 角色划分 :根据团队规模和技术需求,合理划分角色。一般可以有初级前端工程师、中级前端工程师和高级前端工程师。初级工程师主要负责基础的页面开发,实现简单的功能;中级工程师在基础开发之外,还需要负责部分复杂功能的实现,如一些非普适性业务的技术落地(比如特定业务的自定义组件开发),以及模块的开发和测试;高级工程师则需要在技术选型、架构设计上发挥关键作用,还要指导其他成员解决技术难题。
  • 团队规模 :团队规模的大小要适中。规模太小,可能无法覆盖项目的各种需求,导致技术栈单一,面对复杂项目时会显得力不从心。规模太大,容易产生沟通成本高、协作效率低的问题。一般可以根据项目复杂度和开发周期,保持在 5 - 10 人左右的小型团队比较合适。

技术能力提升

  • 持续学习培训 :鼓励团队成员参加线上线下的学习培训。线上可以利用网易云课堂、极客时间等平台提供的课程,线下可以参加一些技术讲座和技术大会,如知名的前端开发者大会等。通过这些活动,团队成员可以了解到前端技术的最新动态和最佳实践。
  • 搭建内部知识分享平台 :创建一个内部知识库或博客,让团队成员将自己的学习心得、项目经验和优秀案例等记录下来并分享给其他成员。这样不仅能够巩固个人的知识,还能促进团队整体技术能力的提升,形成良好的学习氛围。

项目管理和团队协作

  • 明确项目目标和分工 :在项目启动初期,要明确项目的目标和交付时间。然后根据团队成员的技术能力和项目需求,进行合理分工。每个成员都清楚自己负责的任务和时间节点,这样能避免任务冲突和遗漏,提高工作效率。
  • 协作方式选择 :常用的协作工具有 Jira、Trello、Teambition 等。这些工具可以帮助团队成员对项目的进度进行实时跟踪,方便项目管理者及时发现问题并调整计划。例如,在开发过程中,遇到某些功能模块的实现问题,可以通过工具记录下来,安排相关人员进行解决,确保项目按期推进。

团队文化与激励

  • 营造积极氛围 :通过定期的团队活动,如聚餐、运动、爬山等,增强团队成员之间的沟通和感情。创造了轻松愉快的工作氛围,就能激发成员的工作积极性和创造力。比如,定期组织团建活动可以让成员们在享受乐趣的同时,建立起更强的团队凝聚力。
  • 激励措施 :对于表现优秀的团队成员,给予物质奖励或精神表彰。物质奖励可以是奖金、礼品等,精神表彰可以是颁发优秀员工证书、在团队内部进行公开表扬等。让成员感受到自己的付出得到了认可,从而更积极地投入到工作中。

职业发展规划

  • 晋升机制 :建立清晰的职业晋升通道。例如,初级前端工程师可以通过不断积累经验和技术提升,晋升为中级前端工程师,进而晋升为高级前端工程师、资深前端工程师或前端架构师等。这样可以让员工明确自己的发展方向和目标,激励他们不断提升自己。
  • 个人成长计划 :帮助每个团队成员制定个人成长计划。根据他们的兴趣和能力,安排相应的培训课程和工作任务。比如,一个对移动端开发感兴趣的成员,可以安排他参与移动端项目的开发,并提供相关技术培训,助他们朝着自己的目标前进。

微信公众号

微信公众号

开工大吉

· 阅读需 1 分钟
Quany
软件工程师

任务集

2025-03-022025-03-092025-03-162025-03-232025-03-302025-04-062025-04-132025-04-202025-04-27方案设计 性能优化方案 技术验证 自动化测试覆盖 灰度发布 架构升级效能提升季度技术攻坚计划

微信公众号

微信公众号

阮一峰的网络日志

· 阅读需 1 分钟
Quany
软件工程师

任务集

微信公众号

微信公众号

路在何方

· 阅读需 4 分钟
Quany
软件工程师

任务集


Mintlify 是一个专注于开发者文档的生成和管理平台,旨在帮助开发者和团队创建、维护和发布高质量的技术文档。以下是关于 Mintlify 的一些关键特点和功能介绍:

核心功能

  1. 自动化文档生成

    • 代码注释提取:Mintlify 可以从代码库中自动提取文档注释和信息,生成初始的文档结构。这减少了手动编写文档的工作量,提高了文档的准确性和一致性。
    • 支持多种语言:支持多种编程语言,如 JavaScript、TypeScript、Python、Java 等,能够从这些语言的代码注释中提取信息。
  2. 文档编辑和管理

    • 在线编辑器:提供一个直观的在线编辑器,用户可以在其中轻松编辑和格式化文档内容。支持 Markdown 语法,方便开发者使用。
    • 版本控制:与 Git 仓库集成,支持文档的版本控制和历史记录管理。用户可以查看文档的变更历史,回滚到之前的版本。
    • 团队协作:支持多人协作编辑文档,团队成员可以实时查看和编辑文档内容,提高协作效率。
  3. 文档发布和分发

    • 一键发布:用户可以一键将文档发布到不同的平台,如 GitHub Pages、Netlify 等。发布过程简单快捷,无需复杂的配置。
    • 自定义主题和样式:支持自定义文档的主题和样式,用户可以根据自己的品牌和需求定制文档的外观和布局。
    • 支持多种格式:支持将文档导出为多种格式,如 HTML、PDF、Markdown 等,方便用户在不同场景下使用。
  4. 搜索和导航

    • 强大搜索功能:内置强大的搜索功能,用户可以快速搜索文档中的关键词和内容。支持全文搜索和智能提示,提高查找效率。
    • 自动目录生成:根据文档内容自动生成目录结构,用户可以通过目录快速导航到感兴趣的章节和部分。

应用场景

  • 开发者文档:适用于开发者编写和维护技术文档,如 API 文档、开发指南、代码示例等。帮助开发者更好地理解和使用代码库。
  • 产品文档:用于创建产品文档,如用户手册、安装指南、功能说明等,帮助用户更好地使用产品。
  • 团队协作:在团队开发过程中,用于团队成员之间的文档协作和共享,确保团队成员对项目有统一的理解和认识。

优势

  • 提高效率:自动化文档生成和管理功能减少了手动编写和维护文档的工作量,提高了文档的生成和更新效率。
  • 一致性:通过自动化工具确保文档内容的一致性和准确性,避免手动编写时可能出现的错误和遗漏。
  • 易于使用:提供直观的界面和便捷的功能,用户可以快速上手并高效地管理文档。

安装和使用

  1. 安装

    • 通过 npm 或 yarn 安装 Mintlify CLI:
      npm install -g @mintlify/cli
      或者
      yarn global add @mintlify/cli
  2. 初始化项目

    • 在项目根目录下运行以下命令初始化 Mintlify 项目:
      mintlify init
  3. 编写文档

    • docs 目录下编写 Markdown 文件,Mintlify 会自动解析这些文件生成文档。
  4. 本地预览

    • 运行以下命令在本地预览文档:
      mintlify dev
  5. 发布文档

    • 运行以下命令发布文档到指定平台:
      mintlify deploy

通过以上步骤,您可以在本地编写和预览文档,然后轻松发布到生产环境。Mintlify 通过其强大的功能和便捷的使用体验,帮助开发者和团队更好地创建和维护技术文档,提升开发效率和产品质量。

微信公众号

微信公众号

周四

· 阅读需 1 分钟
Quany
软件工程师

任务集

  • Next.js 的 CRUD,运营后台方案;
  • 大鹅后台运行;

微信公众号

微信公众号