更新记录

1.0.0(2026-10-22) 下载此版本

本项目仅开源 uni-app 用户端(基于 Vue3),可在电脑浏览器、手机浏览器、微信小程序、App 等多端运行。用 HBuilderX 导入本目录即可本地体验,供学习研究。


平台兼容性

uni-app(3.8.7)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ √ - - - √ √ -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ - - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
× × √ ×

在线律师 · 用户端

开源说明

本项目仅开源 uni-app 用户端(基于 Vue3),可在电脑浏览器、手机浏览器、微信小程序、App 等多端运行。用 HBuilderX 导入本目录即可本地体验,供学习研究。

这是什么软件

这是一个在线法律咨询平台,口号是「专业法律 · 守护权益」:

  • 有法律问题想咨询 → 你是委托人 / 普通用户:找律师、下单、在线沟通、评价
  • 是执业律师想接单 → 你是律师 / 服务商:入驻认证、接单咨询、管理收益

同一个账号可以在用户端和律师端之间切换(律师认证通过后,可在「我的」进入律师工作台)。

底部有三个主入口:首页、消息、我的(律师身份下,首页会变为「律师工作台」)。


能在哪些地方使用

使用方式 说明
电脑浏览器 用 Chrome 等打开网页即可浏览律师、下单(部分能力如定位、录音在浏览器中有限制)
手机浏览器 普通网页访问;在微信里打开时,可使用微信支付
微信小程序 支持微信一键登录(手机号授权)、微信支付、分享给好友、获取位置
手机 App 支持微信/支付宝 App 支付、定位、相机相册等完整能力(需打包后安装)

对接了哪些第三方

下面列出的是用户能直接感受到的外部服务,用大白话说明「干什么用」:

地图与定位

第三方 / 方式 干什么用
地图逆地理编码服务(由平台后端对接,常见为腾讯地图等) 根据您当前经纬度,自动识别所在城市,用于推荐同城律师;律师入驻时选择所在城市也依赖此能力
IP 定位兜底 当手机 GPS 定位失败时(例如浏览器未授权),平台会尝试根据网络 IP 估算城市
手机 GPS 定位 获取您当前位置,用于自动匹配开城城市。浏览器或小程序会弹出「是否允许获取位置」的提示;拒绝后会使用默认热门城市

文件存储

第三方 / 方式 干什么用
阿里云 OSS 对象存储 您上传的头像、身份证、律师证、聊天图片/语音/视频、举报证据等文件,会先传到平台服务器,再存到云端,供各端访问

支付与资金

第三方 / 方式 干什么用
微信支付 购买图文/电话咨询、开通会员、钱包充值时可用。在微信小程序、微信内打开的网页、App 里分别走对应收银台
支付宝 与微信支付场景相同。在普通手机浏览器、App 里是主要在线支付方式之一
平台零钱(余额) 平台内置钱包,可直接扣款支付咨询订单、会员;余额不足时会提示改用微信或支付宝。充值、咨询收入、退款等也会进入零钱
支付宝账户(提现绑定) 用户零钱提现、律师收益提现时,可绑定支付宝账号和真实姓名,审核通过后打到该支付宝
微信收款码(提现绑定) 律师收益提现时,也可绑定微信收款二维码图片,审核通过后按该方式到账

登录与账号安全

第三方 / 方式 干什么用
手机短信验证码 验证码登录、找回密码时,向手机号发送验证码(由服务端短信通道发出)
手机号 + 密码登录 已注册账号可直接用密码登录
微信登录(小程序) 微信小程序内可「微信一键登录」:先授权手机号,再完成登录;未注册手机号会自动注册
微信公众号 OAuth 在微信内置浏览器里使用微信支付时,需先完成微信授权获取 openId,才能拉起支付

客服与沟通

第三方 / 方式 干什么用
电话客服 后台配置客服电话后,可一键拨打(调用手机拨号功能)
个人微信客服 展示客服***,可扫码添加、长按保存
企业微信客服 展示企业***,可扫码联系
用户即时聊天(WebSocket 长连接) 委托人与律师在咨询订单进行中可一对一发文字、图片、语音、视频;消息实时推送;会话有时效,到期自动关闭
系统通知 平台推送的订单状态、运营公告等消息,在「消息 → 系统通知」中查看

分享与推广

第三方 / 方式 干什么用
微信分享 微信小程序内可把邀请页分享给微信好友或朋友圈
邀请海报 + 二维码 生成带专属邀请码的海报,保存到相册后发给朋友;朋友扫码注册后与您建立邀请关系
链接复制 复制带邀请码的推广文案和链接,发给朋友注册
分销佣金 邀请的好友产生消费后,可在「我的分销 / 收益明细」中查看佣金(具体规则以后台配置为准)

文件与设备能力

能力 干什么用
手机相册 / 相机 上传头像、律师证件、咨询附件、聊天图片、举报证据、收款码等
语音录制 聊天时可按住说话录语音发送(H5 浏览器、小程序、App 均支持,部分浏览器可能不支持)
视频选择与播放 聊天中可发送、播放视频
复制到剪贴板 复制订单号、分享链接等
拨打电话 电话咨询订单中,用户与律师可一键拨打对方***(调用系统拨号)

说明:本用户端未接入 AI 智能法律助手、物流快递、视频通话(仅文字/图片/语音/视频消息,非实时音视频通话)等能力;以当前代码为准。


普通用户(委托人)能做什么

这里的「普通用户」指:有法律问题、想找律师咨询的人。

首页 · 找律师

  • 选择城市:自动定位或手动切换当前城市,只展示该平台已开通城市的律师。
  • 搜索律师:顶部搜索框可输入关键词搜索;也可进入独立搜索页。
  • 轮播广告:首页顶部广告图由后台配置,可点击跳转。
  • 法律分类入口:如婚姻家庭、劳动纠纷、合同纠纷等(以后台配置为准),点进可看该分类下的律师列表。
  • 筛选排序:
    • 推荐方式(综合推荐等)
    • 法律问题类型(多选分类标签)
    • 价格从低到高 / 从高到低
    • 评价从高到低 / 从低到高
  • 浏览律师列表:展示头像、姓名、职称、评分、咨询人数、擅长领域、图文/电话咨询价格等。
  • 下拉刷新、上拉加载更多。

律师详情 · 了解后再下单

  • 查看律师头像、姓名、职称、平台认证标识、是否 VIP 会员。
  • 查看从业年限、服务人数、累计好评。
  • 阅读个人简介、擅长方向、资质证书图片(可放大预览)。
  • 查看委托人评价列表;也可进入「全部评价」页。
  • 查看投诉公示(平台对律师的投诉记录公示,增加透明度)。
  • 关注律师:方便以后在「我的关注」中快速找到。
  • 分享律师主页、举报律师(进入举报中心提交)。
  • 立即咨询:
    • 图文咨询:下单后进入聊天会话,用文字、图片、语音、视频与律师沟通。
    • 电话咨询:下单后可查看/拨打律师***(在平台约定规则内使用)。

下单咨询 · 填写需求并支付

  • 须先登录。
  • 选择咨询方式:图文咨询 或 电话咨询。
  • 选择当事人(可新建档案:姓名、性别、年龄、与本人关系等;也可管理、删除已有档案)。
  • 填写情况描述(至少 10 个字),可上传最多 5 张相关图片(如合同、判决书截图等)。
  • 选择预约时间,或勾选「暂不选择,下单后与律师协商时间」。
  • 选择优惠券(如有可用券可抵扣)。
  • 选择支付方式:零钱 / 微信 / 支付宝(视打开方式而定,见下文汇总)。
  • 支付成功后生成咨询订单,等待律师接单或按预约时间开始服务。

我的订单 · 跟踪每一笔咨询

订单状态大致包括:

状态 您能做什么
待付款 去支付订单
待咨询 已支付,等待律师接单或按预约开始
咨询中 进入会话与律师继续沟通;可查看剩余服务时长提示
待评价 咨询已结束,去给律师打分、写评价、选标签
已完成 查看订单详情和历史评价
已取消 查看详情
退款中 / 已退款 查看退款进度

其他操作:复制订单号、查看咨询描述和附件、进入聊天会话、申请退款、取消订单(视订单状态而定)、拨打律师电话(电话咨询类)。

我的咨询 · 快捷入口

  • 在「我的」可看到咨询次数,进入「我的咨询」列表。
  • 每条记录可快速进入订单详情或聊天会话。

消息

  • 消息列表:展示与各位律师的最近聊天会话;底部 Tab 有未读角标。
  • 搜索:可按联系人、聊天记录关键词搜索会话。
  • 系统通知:平台推送的消息,单独列表查看。
  • 咨询信息:快捷跳转到「我的咨询」或(律师身份下)「累计咨询」。
  • 在线客服:跳转客服中心(电话 / 微信 / 企业微信,以后台配置为准)。
  • 私聊详情页:
    • 文字、图片、语音、视频消息
    • 按住说话发语音
    • 查看对方在线/离线状态(律师端)
    • 关注律师
    • 电话咨询类可一键拨打
    • 服务结束后可「结束服务」
    • 结束后可评价(星级、标签、文字)
    • 可查看与同一律师的历史咨询记录

我的 · 个人中心

账号概览

  • 头像、昵称、VIP 标识、专属邀请码。
  • 钱包余额、我的关注数、我的咨询数、优惠券数量,分别可点击进入详情。

会员

  • 开通 / 续费 VIP:多档套餐,微信 / 支付宝 / 零钱支付。
  • 权益包括:咨询优惠、专属标识等(以后台配置为准)。
  • 查看会员权益说明、会员服务协议。

钱包

  • 我的零钱:查看余额;充值(微信 / 支付宝);提现(绑定支付宝后申请);查看支付明细和提现记录。
  • 零钱可用于支付咨询订单和会员,充值时不能用零钱「充零钱」。

订单快捷入口

  • 待付款、待咨询、待评价、已完成,一键筛选对应订单。

律师入驻入口

  • 未认证律师:显示「律师入驻」,引导填写认证资料。
  • 已认证律师:显示「律师工作台」,一键切换到律师端。

常用工具

工具 做什么
客服中心 电话 / 微信 / 企业微信联系平台客服
我的分销 查看推广收益概览
邀请好友 邀请码、海报、复制文案、微信分享
我的团队 查看我邀请注册的下级用户
举报中心 查看我提交的举报及处理进度
关于我们 查看平台介绍
帮助中心 常见问题列表
意见反馈 向平台提交建议或问题
设置中心 协议、注销、退出登录

社交与资产

  • 我的关注:关注的律师列表,可取消关注。
  • 我的粉丝:(律师身份功能,用户端一般不展示)
  • 优惠券:查看可用 / 已用 / 已过期优惠券。

登录、注册与账号

功能 说明
手机号 + 验证码登录 未注册过的手机号会自动注册
手机号 + 密码登录 账号密码方式
忘记密码 短信验证码重置密码
微信一键登录(小程序) 授权手机号后登录,须先勾选用户协议
用户协议 / 隐私政策 登录前须勾选同意
个人资料 修改头像、昵称等
注销账号 提交注销申请,平台审核通过后不可再登录
邀请码 从分享链接进入会自动带上邀请关系;注册时可填写邀请码

律师能做什么

完成律师入驻认证并通过审核后,可使用律师端相关功能。同一账号在「我的」或首页可切换到律师身份。

律师入驻认证

  • 填写基本信息:头像、真实姓名、身份证号、性别、所在城市、从业年限。
  • 设置服务报价:图文咨询价、电话咨询价(须在平台规定范围内)。
  • 填写个人简介、职称、擅长法律领域(可多选)。
  • 上传资质证书图片(如律师执业证等)。
  • 提交后等待平台审核;可在认证页查看「待审核 / 已通过 / 已驳回」状态。
  • 审核通过后,报价调整需联系平台管理员。

律师工作台(律师身份下的首页)

  • 查看今日待咨询、咨询中、已咨询数量。
  • 查看昨日评价数、昨日收益。
  • 查看近几日预约待办(每日预约人数)。
  • 接单状态开关:切换「在线 / 离线」,用户端律师列表和聊天页会显示对应状态。
  • 工作台轮播图(后台配置)。

预约管理

  • 查看今日及未来几日的预约列表。
  • 查看委托人信息、情况描述、咨询类型、***。
  • 可拨打电话、修改预约时间、开始咨询 / 进入咨询会话。

累计咨询(律师订单)

  • 按状态筛选:待咨询、咨询中、已完成等。
  • 进入订单详情或聊天会话。
  • 查看委托人档案和咨询描述。

我的评价

  • 查看委托人对自己的评价列表。
  • 可按时间范围筛选(如今日、昨日)。

收益与提现

  • 收益余额:查看咨询收入累计。
  • 收益明细:每一笔收入记录。
  • 立即提现:绑定支付宝或微信收款码后申请提现;平台审核通过后到账;可查看提现记录。
  • 管理收款账户:添加、切换支付宝账号或微信收款码。

消息与接单

  • 与用户相同的聊天能力(文字、图片、语音、视频)。
  • 律师视角可看到委托人信息和情况描述。
  • 可主动「结束服务」;收到投诉可在申诉中心提交申诉材料和说明。

律师端「我的」

  • 收益余额、累计咨询、我的评价、我的粉丝。
  • 会员(律师 VIP):开通后可获得流量扶持等权益(以后台配置为准)。
  • 切换到用户端:以委托人身份浏览、下单。
  • 认证资料:查看或补充律师认证信息。
  • 常用工具:客服、分销、邀请、团队、申诉中心、帮助、反馈、设置。

投诉与申诉

角色 功能
用户 在律师主页或平台入口举报律师;在举报中心查看处理进度
律师 在申诉中心查看收到的投诉,对公示内容有异议可提交申诉,补充材料,跟踪复核结果

付钱怎么付(汇总)

不同场景,可选支付方式略有不同:

场景 常见支付方式
购买图文 / 电话咨询 零钱、微信支付、支付宝
开通会员(用户 / 律师) 零钱、微信支付、支付宝
钱包充值 微信支付、支付宝(不用零钱充零钱)

按打开方式:

打开方式 通常可用的支付方式
普通手机浏览器 零钱 + 支付宝
微信内打开的网页 微信公众号支付 + 零钱
微信小程序 微信小程序支付 + 零钱
App 微信支付 + 支付宝 + 零钱

支付前会弹出确认;支付成功后订单 / 会员状态会自动更新(第三方支付会短暂轮询确认结果)。

提现说明:

  • 用户零钱提现:主要支持绑定支付宝收款。
  • 律师收益提现:支持支付宝或微信收款码;提交后进入平台审核,审核通过后到账;可能收取一定比例手续费(以后台配置为准)。

体验地址

线上 API 环境:https://zxls.xianmaxiong.com(本仓库默认已对接,本地运行即可连此环境体验)。


技术栈

端 技术
用户端 uni-app + Vue3 + uview-plus

本地运行

这份代码已对接线上体验环境,默认不用改配置,打开后直接运行即可(API 与 WebSocket 地址见 common/config.js)。

开始前请准备

  1. 一台 Windows 或 Mac 电脑。
  2. 下载安装 HBuilderX(官方开发工具):
    打开 https://www.dcloud.io/hbuilderx.html,下载「正式版」并安装。
  3. 建议安装 Chrome 浏览器,用于运行 H5 页面。

第一步:打开项目文件夹

  1. 找到本仓库里的 uniapp-app-zaixianlvshi 文件夹(里面有 pages.json、App.vue、common 等)。
  2. 记住文件夹路径,后面要在 HBuilderX 里选中这一层目录。

第二步:用 HBuilderX 导入

  1. 打开 HBuilderX → 文件 → 打开目录。
  2. 选中 uniapp-app-zaixianlvshi 文件夹,确定。
  3. 左侧出现文件树即表示成功。

第三步:运行到浏览器

  1. 菜单 运行 → 运行到浏览器 → Chrome。
  2. 首次可能提示安装插件,按提示安装后重试。
  3. 浏览器弹出页面,能看到首页律师列表和底部三个 Tab(首页、消息、我的),即运行成功。
  4. 若提示获取位置,点「允许」,首页才能显示当前城市。
  5. 保持 HBuilderX 不要关闭,否则调试可能中断。

运行到微信小程序(可选)

  1. 菜单 运行 → 运行到小程序模拟器 → 微信开发者工具。
  2. 首次需安装微信开发者工具并登录。
  3. 在微信开发者工具 详情 → 本地设置 中勾选「不校验合法域名……」,否则本地联调可能请求失败。
  4. 小程序内可体验微信一键登录、微信支付流程(需后台商户号配置完整才真正扣款)。

常见情况

现象 处理建议
点了运行没反应 确认打开的是整个 uniapp-app-zaixianlvshi 文件夹,不是单个文件
页面一直转圈 等十几秒;检查网络能否访问 https://zxls.xianmaxiong.com
地图或定位失败 定位依赖 HTTPS 或 localhost;普通 HTTP 地址浏览器会禁止定位,可手动选城市
微信 / 支付宝点支付没反应 需配置商户号,开源代码一般只能看到支付流程
收不到短信验证码 依赖服务端短信账号,界面可点但不一定真发
聊天发不出消息 需登录且存在进行中的咨询订单;WebSocket 需网络可达

第一次验收建议

  1. Chrome 打开后能看到首页律师列表和底部 Tab。
  2. 点「我的」能看到登录入口和钱包区域。
  3. 点任意律师进入详情,能看到图文/电话咨询入口。
  4. 点「消息」未登录会提示登录。

做到以上几点,说明用户端已在本地跑通。


许可证

见本目录下 LICENSE 文件。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below.

  1. Additional Definitions.

    As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License.

    "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below.

    An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

    A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version".

    The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version.

    The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work.

  2. Exception to Section 3 of the GNU GPL.

    You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL.

  3. Conveying Modified Versions.

    If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version:

    a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or

    b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.

  4. Object Code Incorporating Material from Library Header Files.

    The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:

    a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.

    b) Accompany the object code with a copy of the GNU GPL and this license document.

  5. Combined Works.

    You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:

    a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.

    b) Accompany the Combined Work with a copy of the GNU GPL and this license document.

    c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.

    d) Do one of the following:

    0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.

    1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

    e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)

  6. Combined Libraries.

    You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:

    a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.

    b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.

  7. Revised Versions of the GNU Lesser General Public License.

    The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

    Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation.

    If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.

暂无用户评论。