В апплете электронной коммерции мы обычно предоставляем пользователям функцию корзины покупок, которая может самостоятельно добавлять товары в корзину. Поскольку купленный товар имеет цену за единицу и количество, нам необходимо рассчитать промежуточный итог.
Правило промежуточного итога = цена за единицу * количество
После подсчета промежуточной суммы вам необходимо просуммировать промежуточную сумму купленных товаров для расчета общей цены.
Для реализации функции корзины покупок мы рассмотрели два варианта: один — добавить товар в кеш апплета, а затем работать через кеш. Другое решение — установить источник данных и добавить его к источнику данных, чтобы вычислять результат каждый раз, когда пользователь выбирает продукт.
Вентилятор в соответствии с апплетом электронной коммерции колонки
Во время разработки столкнулись со многими проблемами, ниже приведен наш процесс общения и процесс определения проблемы.
Потратьте некоторое время, чтобы помочь мне увидеть, установлена ли сумма суммирования на 0,
чтобы увидеть, есть ли опечатка в коде,
пожалуйста, дайте мне некоторое руководство, спасибо
На что нам нужно обратить внимание в полях здесь, так это на то, что сначала должно быть поле openid, которое является полем разрешения данных, которое используется для определения того, кому принадлежат данные.
Другое поле промежуточного итога товаров, и формула расчета выбрана в качестве типа. Формула расчета будет рассчитана автоматически по вашему собственному алгоритму
Какое выражение вы используете?
В курсе мы говорили о необходимости посчитать общую сумму корзины через API, а затем использовать переменную для вызова результата расчета API, и привязать результат к компоненту для отображения
Теперь проблема производительности в том, что общая сумма равна 0, и я не знаю, что пошло не так. Самое большое препятствие, с которым сталкиваются обычные новички, заключается в том, что они не знают, как отлаживать программу.Если они обнаруживают, что ожидаемый эффект не получен, они чувствуют, что у них нет возможности начать.
Общая отладка делится на внутреннюю отладку и отладку внешнего интерфейса.Прежде всего, необходимо судить, нормально ли возвращает результат серверная часть, поэтому я попросил его проверить с помощью метода API, чтобы увидеть, нормальный ли результат можно вернуть.
Возвращаемый результат равен 0. Судя по снимку экрана, сначала необходимо отправить параметры, а правильные параметры не указаны.
{
"openid":"这里是示例"
}
Значение параметра по умолчанию является примером здесь. Когда вы делаете тест, вам нужно передать фактическое значение. Значение по умолчанию определенно не сможет найти данные.
Другой - проверить код, чтобы убедиться, что параметры переданы правильно.
Когда мы конструируем входные параметры, левая сторона — это имя параметра, а правая сторона — это значение параметра, которое должно соответствовать синтаксису формата объекта json.
Здесь строится условие запроса, что буквально означает openid=фактическое значение
Здесь есть синтаксис, называемый значением строкового литерала, который обычно заключен в двойные кавычки для формирования значения строкового литерала, тогда ваш фактический эффект запроса становится
openid=params.openid точно не сможет узнать содержимое, на самом деле нам нужно использовать значение входного параметра как условие запроса, поэтому меняем код на
{
"key":"openid",
"rel":"eq",
"val":params.openid
}
После его изменения выясняется, что значение по-прежнему не может быть возвращено. В это время вам нужно проверить свои данные. Здесь
две строки цены за единицу товара. Мы не очень хорошо проверяли, поэтому грязные данные хранился в базе данных.
В реальных проектах нельзя думать, что пользователи будут вводить данные по установленным правилам, либо по неосторожности, либо намеренно вводя, поэтому необходима проверка типа поля.
Еще проблема в том, что несколько кусков данных в openid пустые.Обычно такая ситуация возникает при входе через ПК. Поскольку openid нельзя получить в среде H5, вам необходимо опубликовать программу как небольшую программу для тестирования.
После изменения кода и правильной передачи параметров API может нормально вернуться
После того, как бэкенд вернется правильно и обнаружит, что количество по-прежнему равно 0, нам нужно проверить внешний интерфейс.Мы получаем API через определение переменной, затем открываем инструмент разработки и отладки, вводим путь к переменной и смотрим, страница возвращает данные нормально
Если переменная не возвращается, значит ваши параметры были переданы неправильно, и значение не может быть получено, мы можем его изменить и настроить через API в функции жизненного цикла.Структура кода такая
const result = await app.cloud.callConnector(
{
name:'API标识',
methodName:'方法标识',
params:{
openid:app.auth.currentUser.openId
}
}
)
console.log(result)
После публикации в виде небольшой программы откройте инструмент отладки небольшой программы и наблюдайте за результатами в окне
В повседневной разработке мы должны владеть методами внутренней отладки, внешней отладки и отладки небольших программ, чтобы, когда в программе возникают проблемы, вы могли знать, как их решить.