新增 有家相册 uni-app 前端(uniapp/youjiala,H5 / 微信小程序 / App 三端)

从旧 WebVue 移植的地基部分:
- 登录页(RSA+MD5 密码加密、redirect 回跳、中英文切换)与登录后落地页
- 401 / 403 / 404 错误页 + error-panel 通用外壳(文案走 ErrorPage 语言包)
- 登录守卫双链路:uni.addInterceptor 拦站内跳转,页面级 onShow 复核冷启动深链
- 单一请求链路 common/http.interceptor:JWT 唯一来源、401 并发刷新单例、
  业务异常识别、HTTP 403 跳无权限页
- H5 干净短地址:initRouter 前向 __uniRoutes 追加克隆记录(router/h5-clean-url)
- 路由登记表 router/routes.ts(PAGE_PATHS / pageUrl / PAGE_PERMISSIONS)
  与新增页面四步登记约定(src/md/page-routing.md)
- i18n:uView Pro 语言包 + 后端词条合并,双取值(后端 zh-cn/en,包名 zh-CN/en-US)
- 后端接口层 service/ 与数据模型 data/auto/ 为生成器产物,不手改

不入库的内容:
- 摘除脚手架残留的 Harmony 签名密码(manifest.json signingConfigs 与
  harmony-configs/build-profile.json5 的 keyPassword / storePassword 已置空)
- 忽略 node_modules、dist、unpackage、.hbuilderx、.agents、pnpm-lock.yaml
  及根目录临时截图
This commit is contained in:
owenchen committed 2026-10-13 08:27:34 +08:00
1 parent 74757f9eb4
commit 6a8258ac4b
274 files changed
+30291

No files matched your search

+272
View File
@@ -0,0 +1,272 @@
<!-- 语言切换按钮 -->
<p align="right" style="margin-top: 10px;">
<a href="README.en.md" style="padding: 6px 16px; background: #2979ff; color: #fff; border-radius: 6px; text-decoration: none; font-weight: bold;">English</a>
<span style="padding: 6px 16px; background: #ededed; color: #333; border-radius: 6px; margin-left: 8px; font-weight: bold;">中文</span>
</p>
<p align="center">
<img alt="logo" src="https://ik.imagekit.io/anyup/uview-pro/common/logo-new.png" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin: 30px 0 30px;font-weight: bold;font-size:40px;">uView Pro</h3>
<h3 align="center">uni-app Vue3 多平台快速开发的 UI 框架</h3>
<div align="center">
[![star](https://gitee.com/anyup/uView-Pro/badge/star.svg?theme=gvp)](https://gitee.com/anyup/uView-Pro)
[![fork](https://gitee.com/anyup/uView-Pro/badge/fork.svg?theme=gvp)](https://gitee.com/anyup/uView-Pro)
[![stars](https://img.shields.io/github/stars/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![forks](https://img.shields.io/github/forks/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![issues](https://img.shields.io/github/issues/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro/issues)
[![npm version](https://img.shields.io/npm/v/uview-pro)](https://www.npmjs.com/package/uview-pro)
[![Website](https://img.shields.io/badge/uView%20Pro-docs-blue?style=flat-square)](https://uviewpro.cn)
[![node version](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org/)
[![pnpm version](https://img.shields.io/badge/pnpm-%3E%3D7.30-green)](https://pnpm.io/)
[![license](https://img.shields.io/github/license/anyup/uView-Pro?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License)
</div>
## 说明
`uView UI`,是 [uni-app](https://uniapp.dcloud.io/) 生态优秀的 UI 框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。
`uView Pro`,是全面支持 Vue3.0、TypeScript 的 uni-app 生态框架,uView Pro 的基线版本是基于 uView 1.8.8 修改,使用 TypeScript 完全重构,目前已全面支持 uni-app Vue3.0。
## [组件库文档:https://uviewpro.cn](https://uviewpro.cn)
## [快速启动模板:https://starter.uviewpro.cn](https://starter.uviewpro.cn)
## 特性
- 兼容安卓,iOS,微信小程序,H5,QQ 小程序,百度小程序,支付宝小程序,头条小程序
- 70+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用
- 众多贴心的 JS 利器,让您飞镖在手,召之即来,百步穿杨
- 众多的常用页面和布局,让您专注逻辑,事半功倍
- 详尽的文档支持,现代化的演示效果
- 按需引入,精简打包体积
## 鸿蒙预览
🎉🎉 uView Pro 鸿蒙端应用已正式上线华为鸿蒙应用市场,为您提供完整的业务场景演示平台,包含组件库、模板示例、场景案例等,支持一键复制下载,帮助开发者快速上手并体验组件的实际应用价值!
> 系统要求:仅支持 HarmonyOS 5.0 及以上版本设备
<table>
<tr align="center">
<td><img src="https://ik.imagekit.io/anyup/images/social/qr_harmony.png" width="180" height="180" ></td>
</tr>
<tr>
<td align="center"><strong>鸿蒙应用</strong><br>(浏览器扫码)</td>
</tr>
</table>
## 手机预览
您可以通过**微信**或**手机浏览器**扫描以下二维码,查看最佳的演示效果。
<table class="table">
<tr>
<td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_wx.jpg" width="150" height="150" ></td>
<td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_alipay.png" width="150" height="150" ></td>
<td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_h5.png" width="150" height="150" ></td>
<td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_android.png" width="150" height="150" ></td>
</tr>
<tr>
<td align="center"><strong>微信小程序</strong><br>(微信扫码)</td>
<td align="center"><strong>支付宝小程序</strong><br>(支付宝扫码)</td>
<td align="center"><strong>H5</strong><br>(浏览器扫码)</td>
<td align="center"><strong>Android</strong><br>(浏览器扫码)</td>
</tr>
</table>
运行示例工程,请[下载源码](https://github.com/anyup/uview-pro)后,在项目根目录执行以下命令:
```bash
pnpm install
pnpm dev
```
更多运行和构建命令参考:[pnpm 运行指南](README-pnpm.md)
## 链接
- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [官方文档](https://uviewpro.cn)
- [更新日志](https://github.com/anyup/uView-Pro/blob/master/src/uni_modules/uview-pro/changelog.md)
## 交流反馈
`uView Pro` 微信交流群: [点击进入](https://uviewpro.cn/zh/resource/about.html)
`uView Pro` QQ 交流群: [点击进入](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=98nSVDldWEbDdq4lxiP4aL7uATfMSlI6&authKey=G2yQJ5MQiKzMldaxBsIfKt17NuJuUw8Fr6zdKLggc6NZXgw4BVbqkU2U3EE994yd&noverify=0&group_code=811732166)
<table class="table">
<tr>
<td><img src="https://ik.imagekit.io/anyup/images/social/weixin-chat-cl.png" width="250" height="345" ></td>
<td><img src="https://ik.imagekit.io/anyup/images/social/qq-chat.png" width="250" height="345" ></td>
</tr>
<tr>
<td align="center"><strong>微信群</strong><br></td>
<td align="center"><strong>QQ群</strong><br></td>
</tr>
</table>
## 关于 PR
我们非常乐意接受各位的优质 PR,但在此之前我希望您了解 `uView Pro` 是一个需要兼容多个平台的(小程序、h5、iOS App、Android App)包括 nvue 页面、vue 页面。
所以希望在您修复 bug 并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢!
## 安装配置
`uView Pro` 支持 `npm` 和 `uni_modules` 两种主流安装方式,配置方式高度一致。无论采用哪种方式,均可通过 `easycom` 实现组件自动引入,极大提升开发效率。以下为统一的配置说明:
### 1. 安装 uView Pro
- npm 安装:
```bash
npm install uview-pro
# 或
yarn add uview-pro
# 或
pnpm add uview-pro
```
- uni_modules 安装:
通过 HBuilderX 插件市场或手动下载,将 uView Pro 放入 `uni_modules` 目录。
[插件市场:https://ext.dcloud.net.cn/plugin?id=24633](https://ext.dcloud.net.cn/plugin?id=24633)
### 2. 引入 uView Pro 主库
在 `main.ts` 中引入并注册 uView Pro:
```js
// npm 方式
import uViewPro from 'uview-pro'
import { createSSRApp } from 'vue'
// uni_modules 方式
// import uViewPro from "@/uni_modules/uview-pro";
export function createApp() {
const app = createSSRApp(App)
app.use(uViewPro)
return {
app
}
}
```
### 3. 引入全局样式
在 `uni.scss` 中引入主题样式:
```scss
/* npm 方式 */
@import 'uview-pro/theme.scss';
/* uni_modules 方式 */
/* @import "@/uni_modules/uview-pro/theme.scss"; */
```
在 `App.vue` 首行引入基础样式:
```scss
<style lang="scss">
/* npm 方式 */
@import "uview-pro/index.scss";
/* uni_modules 方式 */
/* @import "@/uni_modules/uview-pro/index.scss"; */
</style>
```
### 4. 配置 easycom 自动引入组件
在 `pages.json` 中配置 `easycom` 规则,实现组件自动引入:
```json
{
"easycom": {
"autoscan": true,
"custom": {
// npm 方式
"^u-(.*)": "uview-pro/components/u-$1/u-$1.vue"
// uni_modules 方式
// "^u-(.*)": "@/uni_modules/uview-pro/components/u-$1/u-$1.vue"
}
},
"pages": []
}
```
**温馨提示**
- 1.修改 `easycom` 规则后需重启 HX 或重新编译项目。
- 2.请确保 `pages.json` 中只有一个 easycom 字段,否则请自行合并多个规则。
- 3.一定要放在 `custom` 内,否则无效。
### 5. Volar 类型提示支持
如需在 `CLI` 项目中获得 `Volar` 的全局类型提示,请在 `tsconfig.json` 中添加:
```json
{
"compilerOptions": {
// npm 方式
"types": ["uview-pro/types"]
// uni_modules 方式
// "types": ["@/uni_modules/uview-pro/types"]
}
}
```
> HBuilderX 项目暂不支持 `tsconfig.json` 的 `types` 配置,`CLI` 项目推荐配置以获得最佳 `TS` 体验。
### 6. 组件使用
配置完成后,无需 `import` 和 `components` 注册,可直接在 `SFC` 中使用 `uView Pro` 组件:
```vue
<template>
<u-button type="primary">
按钮
</u-button>
</template>
```
请通过[快速上手](https://uviewpro.cn/zh/components/quickstart.html)了解更详细的内容
## 捐赠 uView Pro
`uView Pro` 文档内容和框架源码基于 `uView UI` 二次开发,因此全部开源免费,如果您认为 `uView Pro` 帮到了您的开发工作,您可以捐赠 `uView Pro` 的研发工作,捐赠无门槛,哪怕是一杯可乐也好(相信这比打赏主播更有意义)。
<table class="table">
<tr>
<td><img src="https://ik.imagekit.io/anyup/images/social/wechat-pay.png" width="250" height="345" ></td>
<td><img src="https://ik.imagekit.io/anyup/images/social/ali-pay.png" width="250" height="345" ></td>
</tr>
<tr>
<td align="center"><strong>微信</strong><br></td>
<td align="center"><strong>支付宝</strong><br></td>
</tr>
</table>
## 贡献者
<a href="https://github.com/anyup/uView-Pro/graphs/contributors">
<img alt="Contributors" src="https://contrib.rocks/image?repo=anyup/uView-Pro" />
</a>
## 版权信息
`uView Pro` 遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将 `uView Pro` 应用到您的产品中。
## 鸣谢
再次感谢 `uView UI` 开发团队,以及所有为 `uView UI` 的贡献者,以及所有为 `uView Pro` 的贡献者。
- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [uView UI 1.0](https://github.com/umicro/uView)
- [uView UI 2.0](https://github.com/umicro/uView2.0)