# mp-mobile **Repository Path**: cstcloud-cnic/mp-mobile ## Basic Information - **Project Name**: mp-mobile - **Description**: 微信小程序-号卡管理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-23 - **Last Updated**: 2025-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中国科技云移动电话服务小程序 基于微信小程序开发的科技云移动电话卡管理应用,支持科技云AAI统一身份认证。 ## 功能特性 - 🔐 科技云AAI统一身份认证 - 📱 流量查询和管理 - 👤 用户账户信息管理 - 🔄 自动Token刷新机制 - 📊 实时数据同步 ## 技术栈 - **框架**: 微信小程序 + Vue Mini - **UI组件**: TDesign WeChat - **状态管理**: Pinia - **认证方式**: 科技云AAI (OpenID Connect) - **开发语言**: TypeScript ## 快速开始 ### 1. 环境准备 - 安装微信开发者工具 - Node.js 16+ - npm 或 yarn ### 2. 项目配置 1. 克隆项目到本地 2. 用微信开发者工具打开项目 3. 配置小程序AppID(测试阶段可使用测试号) ### 3. AAI登录配置 #### 3.1 域名白名单配置 在微信小程序管理后台添加以下域名: **request合法域名:** ``` https://aaiservice.cstcloud.cn https://zhongkun.cstcloud.cn ``` **webview业务域名:** ``` https://aaiservice.cstcloud.cn https://your-domain.com # 替换为你的实际域名 ``` #### 3.2 部署回调页面 1. 将项目根目录的 `mp-callback.html` 部署到你的域名下 2. 确保可以通过 `https://your-domain.com/mp-callback.html` 访问 3. 更新 `miniprogram/store/user.ts` 中的回调URL配置 #### 3.3 本地开发设置 在微信开发者工具中: 1. 打开 "设置" -> "项目设置" 2. 勾选 "不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书" ### 4. 项目结构 ``` miniprogram/ ├── pages/ # 页面文件 │ ├── login/ # 登录页面 │ ├── traffic/ # 流量查询页面 │ ├── account/ # 账户管理页面 │ └── webview/ # webview容器页面 ├── store/ # 状态管理 │ └── user.ts # 用户状态管理 ├── utils/ # 工具类 │ ├── auth.ts # AAI认证工具 │ └── request.ts # HTTP请求工具 ├── config/ # 配置文件 │ └── index.ts # 应用配置 ├── services/ # API服务 └── docs/ # 文档 └── deployment-guide.md # 部署指南 ``` ## AAI登录流程 1. **用户点击登录** → 调用 `startAAILogin()` 2. **获取登录URL** → 请求 `/open/api/AAILogin/askUrl` 3. **跳转AAI登录** → 在webview中打开科技云登录页面 4. **用户输入凭据** → 在AAI页面完成身份验证 5. **接收授权码** → AAI重定向到回调页面,携带授权码 6. **交换Token** → 使用授权码调用 `/open/api/AAILogin/dealCode` 7. **保存用户信息** → 存储Token和用户数据到本地 8. **完成登录** → 跳转到主页面 ## API接口 ### AAI认证相关 - `POST /open/api/AAILogin/askUrl` - 获取登录URL - `POST /open/api/AAILogin/dealCode` - 授权码换Token - `POST /open/api/AAILogin/checkToken` - 验证Token有效性 - `POST /open/api/AAILogin/refreshToken` - 刷新Token - `POST /open/api/AAILogin/loginOutSelf` - 获取退出URL ### 业务接口 - 流量查询接口 - 用户信息接口 - 其他业务接口... ## 开发说明 ### 环境配置 项目支持多环境配置(development/test/production),配置文件位于 `miniprogram/config/index.ts`。 ### 状态管理 使用Pinia进行状态管理,主要包括: - 用户登录状态 - Token管理 - 用户信息缓存 ### HTTP请求 封装了统一的HTTP请求工具,支持: - 自动添加JWT Token - Token过期自动刷新 - 请求失败重试机制 - 统一错误处理 ### 本地存储 使用微信小程序的存储API,存储内容包括: - 访问Token (access_token) - 刷新Token (refresh_token) - 用户信息 (user_info) - 登录状态 (login_state) ## 部署指南 详细的部署说明请参考:[部署指南](miniprogram/docs/deployment-guide.md) ## 常见问题 ### 1. 登录时显示"网页无法打开" - 检查域名是否已添加到小程序业务域名白名单 - 确认回调页面已正确部署且可访问 ### 2. 登录成功但没有跳转回小程序 - 检查webview消息监听机制 - 确认回调页面的JavaScript代码正常执行 ### 3. Token验证失败 - 检查系统时间是否正确 - 确认Token格式和有效期 ### 4. API请求失败 - 检查网络连接 - 确认API地址配置正确 - 查看请求参数格式 ## 开发团队 - 开发者:[您的姓名] - 联系方式:[您的邮箱] ## 许可证 [MIT License](LICENSE) --- **注意事项:** 1. 本项目仅供学习和开发使用 2. 生产环境部署前请仔细阅读安全配置说明 3. 定期更新依赖包以确保安全性 4. 遵守科技云AAI服务的使用条款