Требование: пользователь импортирует таблицу Excel в апплет, и после синтаксического анализа данные в таблице отображаются на странице интерфейса.
Сначала разберем процесс по требованиям:
- Выберите лист Excel и загрузите
- Анализируется облачной функцией и сохраняется в облачной базе данных
- Чтение данных из базы данных и возврат во внешний интерфейс для рендеринга
Начало
1. Подготовка
- Откройте облачный сервис через инструмент разработчика WeChat (проверьте документ самостоятельно)
- Откройте интерфейс облачной разработки => база данных: создайте новую коллекцию пользователей.(PS: имя свободно коллекция)
- Апплет, на котором находится под корневым каталогомproject.config.jsonФайл изменен следующим образом:
2. Создайте папку облачных функций
Создайте новую папку по пути, указанному на рисунке выше (рекомендуется в корневом каталоге) (имя совпадает с именем пути на рисунке выше). После создания папки щелкните правой кнопкой мыши, чтобы открыть ее, и настройте текущую окружающая обстановка
3. Создайте облачную функцию:
- Щелкните правой кнопкой мыши папку облачных функций cloudfunctions,Создайте новую облачную функцию node.js, имя пользовательской функции, предварительноеupLoadExcel;
- Четыре файла будут автоматически сгенерированы в upLoadExcel,index.jsвходной файл
- Напишите облачные функции (здесь нужно установить две зависимости:npm install --save wx-server-sdk@latest,npm install node-xlsx)
4. Написать логическое тело облачной функции (разобрать и сохранить в базе данных)
5. На этом облачные функции завершены, щелкните правой кнопкой мыши папку cloudfunctions => синхронизируйте список облачных функций, щелкните правой кнопкой мыши папку upLoadExcel => загрузите и разверните: зависимости установки облака
6. Откройте интерфейс облачной разработки => облачная функция и увидите, что в списке появляется upLoadExcel, все готово.
4. Напишите логику на стороне апплета
- Прежде всего, для инициализации добавьте следующий код в app.js
2. Откройте страницу реализации требований, определите базу данных и коллекцию
const db = wx.cloud.database({})
const users = db.collection('users')
3. Напишите основную логику
4. Проверка
5. Оптимизация
Во избежание большого объема данных в коллекции, каждый раз при загрузке нового excel исходные данные в коллекции очищаются (идея отличная, давайте сделаем)
- Так же, как первые три шага третьего шага, создайте облачную функцию с именем deleteExcel.
- Добавьте функцию тела (Терминал облачной функции можно удалять пакетами, а терминал апплета можно удалять только по отдельности.)
3. Пишем ОК, разворачиваем 4. На стороне апплета добавьте следующий код
Проверил, работает нормально
визуализация
Давайте посмотрим на данные в коллекции облачной базы данных: убедитесь, что только данные в таблице, загружаемой каждый раз, в порядке.