# 恋爱分析助手 - WebIDE版本

## 📱 项目说明

这是基于 **WebIDE** 打包成APK的版本，使用webapp私有接口实现原生功能。

## 📂 文件结构

```
恋爱分析助手/
├── webapp.json          ← 配置文件（必需）
├── icon.png             ← App图标（必需）
├── index_webide.html    ← 主入口（改名为index.html）
├── result.html          ← 分析结果页面
├── knowledge.html       ← 话术知识库页面
├── app_webide.js        ← 核心逻辑（改名为app.js）
└── style.css            ← 样式文件
```

## 🔧 部署步骤

### 1. 准备文件

```bash
# 重命名文件
mv index_webide.html index.html
mv app_webide.js app.js

# 准备图标（需要自己提供）
# icon.png - 建议尺寸 512x512px
```

### 2. 在WebIDE中打包

1. 打开WebIDE应用
2. 创建新项目
3. 上传所有文件到项目目录
4. 配置 webapp.json
5. 点击"打包APK"

### 3. 安装测试

1. 下载生成的APK
2. 安装到Android设备
3. 打开App测试功能

## 🎯 功能说明

### 已实现功能

1. **登录系统**
   - 用户名/密码登录
   - 使用 `webapp.存储指定文本()` 保存Token
   - 自动登录检查

2. **图片分析**
   - 点击"📷 图片分析"卡片
   - 弹出模态框选择角色
   - 下拉框显示已有角色
   - 输入框创建新角色
   - 使用 `webapp.执行JAVA()` 选择图片
   - 上传到服务器分析

3. **历史记录**
   - 显示最近5条聊天记录
   - 点击查看详细结果
   - 实时更新

4. **话术知识库**
   - 跳转到 knowledge.html
   - 搜索和浏览话术

### 核心技术

#### webapp私有接口使用

```javascript
// 存储数据
webapp.存储指定文本('key', 'value');
webapp.获取指定文本('key', 'default');

// 显示提示
webapp.显示文本提示('提示内容');

// 剪贴板
webapp.设置粘贴内容('复制内容');

// 网络请求（使用JAVA代码）
webapp.执行JAVA(`
    java.net.URL url = new java.net.URL("http://...");
    // ... HTTP请求代码
`);

// 选择图片
webapp.执行JAVA(`
    android.content.Intent intent = new android.content.Intent(
        android.content.Intent.ACTION_PICK
    );
    intent.setType("image/*");
    context.startActivityForResult(intent, 1001);
`);
```

## 🔐 测试账号

- **用户名**: paul2026
- **密码**: paul123456
- **wxid**: wxid_6myarcc3klio22

## 🌐 服务器配置

- **API地址**: http://43.134.43.24:8080
- **登录接口**: POST /api/login
- **历史记录**: GET /api/history
- **角色列表**: GET /api/female_characters
- **图片分析**: POST /api/analyze_image
- **话术知识库**: GET /api/tactics

## 📋 使用流程

### 1. 首次使用

```
打开App
  ↓
显示登录页面
  ↓
输入用户名密码
  ↓
登录成功 → 进入首页
```

### 2. 图片分析

```
点击"📷 图片分析"
  ↓
弹出模态框
  ↓
选择角色（下拉框）或输入新角色
  ↓
点击"选择图片上传"
  ↓
从相册选择图片
  ↓
上传分析（显示"正在分析图片..."）
  ↓
跳转到结果页面
```

### 3. 查看历史

```
首页"最近聊天"列表
  ↓
点击任意记录
  ↓
跳转到结果页面
```

## ⚠️ 注意事项

### 1. 图片选择功能

由于WebIDE的限制，图片选择需要在 `webapp.json` 的"脚本"字段中添加：

```javascript
// 监听Activity返回结果
if (typeof onActivityResult === 'undefined') {
    window.onActivityResult = function(requestCode, resultCode, data) {
        if (requestCode === 1001 && resultCode === -1) {
            // 获取图片URI
            var uri = data.getData();
            // 读取图片并转换为base64
            // ... 代码实现
            // 调用回调
            if (window.onImageSelected) {
                window.onImageSelected(imageBase64);
            }
        }
    };
}
```

### 2. 网络请求

使用 `webapp.执行JAVA()` 实现HTTP请求，因为WebIDE不支持直接的fetch/XMLHttpRequest。

### 3. 权限申请

首次使用需要申请以下权限：
- 存储权限（读取图片）
- 网络权限（API请求）

在 `webapp.json` 中配置或使用：
```javascript
webapp.申请存储权限();
```

## 🐛 已知问题

1. **图片选择功能** - 需要额外配置Activity返回监听
2. **WebSocket推送** - WebIDE不支持WebSocket，需要使用轮询替代
3. **大图片上传** - 可能超时，建议压缩后上传

## 🚀 下一步开发

### 待完成功能

1. **result.html** - 完善分析结果展示
   - 解析API返回的4点分析
   - 添加复制按钮（使用 `webapp.设置粘贴内容()`）
   - 显示相关话术推荐

2. **knowledge.html** - 完善话术知识库
   - 从API加载话术数据
   - 实现搜索功能
   - 分类展示

3. **女性管理页面** - 新建 female.html
   - 显示所有女性角色
   - 查看每个角色的聊天历史
   - 角色画像展示

4. **图片压缩** - 优化上传
   - 使用Canvas压缩图片
   - 减少上传时间

5. **离线缓存** - 提升体验
   - 缓存话术数据
   - 缓存历史记录

## 📞 技术支持

如有问题，请检查：
1. webapp.json 配置是否正确
2. 服务器API是否正常运行
3. 网络连接是否正常
4. 权限是否已授予

---

**版本**: 1.0.0  
**更新日期**: 2026-01-23  
**开发者**: Paul
