logo和名称替换
This commit is contained in:
@@ -1,16 +1,27 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hgmj/hj_utils/screen.dart';
|
||||
import 'package:wydj/hj_utils/screen.dart';
|
||||
|
||||
class FeedbackQuestionCategoryView extends StatefulWidget {
|
||||
final Function(String category)? choseCategory;
|
||||
const FeedbackQuestionCategoryView({super.key, this.choseCategory});
|
||||
|
||||
@override
|
||||
State<FeedbackQuestionCategoryView> createState() => _FeedbackQuestionCategoryViewState();
|
||||
State<FeedbackQuestionCategoryView> createState() =>
|
||||
_FeedbackQuestionCategoryViewState();
|
||||
}
|
||||
|
||||
class _FeedbackQuestionCategoryViewState extends State<FeedbackQuestionCategoryView> {
|
||||
final dataSource = ['账号问题', '影视资源', 'APP体验', '播放失败', '播放卡顿', '分类有误', '充值问题', '其他'];
|
||||
class _FeedbackQuestionCategoryViewState
|
||||
extends State<FeedbackQuestionCategoryView> {
|
||||
final dataSource = [
|
||||
'账号问题',
|
||||
'影视资源',
|
||||
'APP体验',
|
||||
'播放失败',
|
||||
'播放卡顿',
|
||||
'分类有误',
|
||||
'充值问题',
|
||||
'其他'
|
||||
];
|
||||
String? selectCategory;
|
||||
|
||||
@override
|
||||
@@ -26,7 +37,10 @@ class _FeedbackQuestionCategoryViewState extends State<FeedbackQuestionCategoryV
|
||||
shrinkWrap: true,
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
||||
crossAxisCount: 4, mainAxisSpacing: 12, crossAxisSpacing: 5, childAspectRatio: 84 / 34),
|
||||
crossAxisCount: 4,
|
||||
mainAxisSpacing: 12,
|
||||
crossAxisSpacing: 5,
|
||||
childAspectRatio: 84 / 34),
|
||||
itemCount: dataSource.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
final category = dataSource[index];
|
||||
@@ -39,13 +53,17 @@ class _FeedbackQuestionCategoryViewState extends State<FeedbackQuestionCategoryV
|
||||
},
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: select ? Color(0xffFFC000) : Colors.white.withValues(alpha: .05),
|
||||
color: select
|
||||
? Color(0xffFFC000)
|
||||
: Colors.white.withValues(alpha: .05),
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Text(
|
||||
category,
|
||||
style: TextStyle(color: select ? const Color(0xff1f2029) : Colors.white, fontSize: 12),
|
||||
style: TextStyle(
|
||||
color: select ? const Color(0xff1f2029) : Colors.white,
|
||||
fontSize: 12),
|
||||
),
|
||||
),
|
||||
);
|
||||
@@ -58,7 +76,8 @@ class InfomationInputView extends StatefulWidget {
|
||||
final String title;
|
||||
final String hint;
|
||||
final TextEditingController controller;
|
||||
const InfomationInputView(this.controller, {super.key, this.title = '', this.hint = ''});
|
||||
const InfomationInputView(this.controller,
|
||||
{super.key, this.title = '', this.hint = ''});
|
||||
|
||||
@override
|
||||
State<InfomationInputView> createState() => _InfomationInputViewState();
|
||||
@@ -76,7 +95,10 @@ class _InfomationInputViewState extends State<InfomationInputView> {
|
||||
width: 90,
|
||||
child: Text(
|
||||
widget.title,
|
||||
style: TextStyle(color: Colors.white.withValues(alpha: 0.9), fontSize: 14, fontWeight: FontWeight.w500),
|
||||
style: TextStyle(
|
||||
color: Colors.white.withValues(alpha: 0.9),
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w500),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
@@ -88,7 +110,8 @@ class _InfomationInputViewState extends State<InfomationInputView> {
|
||||
decoration: InputDecoration(
|
||||
border: InputBorder.none,
|
||||
hintText: widget.hint,
|
||||
hintStyle: TextStyle(color: Color(0xff525252), fontSize: 12),
|
||||
hintStyle:
|
||||
TextStyle(color: Color(0xff525252), fontSize: 12),
|
||||
counterText: '',
|
||||
contentPadding: EdgeInsets.zero,
|
||||
isDense: true),
|
||||
|
||||
@@ -2,10 +2,10 @@ import 'package:dio/dio.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:hgmj/hj_utils/api_service/mine_service.dart';
|
||||
import 'package:hgmj/tools_base/toast.dart';
|
||||
import 'package:hgmj/tools_base/file_upload/file_upload_tool.dart';
|
||||
import 'package:hgmj/tools_base/loading/loading_alert_widget.dart';
|
||||
import 'package:wydj/hj_utils/api_service/mine_service.dart';
|
||||
import 'package:wydj/tools_base/toast.dart';
|
||||
import 'package:wydj/tools_base/file_upload/file_upload_tool.dart';
|
||||
import 'package:wydj/tools_base/loading/loading_alert_widget.dart';
|
||||
|
||||
class MineFeedbackLogic extends GetxController {
|
||||
/// 问题描述
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:hgmj/assets_tool/app_colors.dart';
|
||||
import 'package:hgmj/hj_utils/screen.dart';
|
||||
import 'package:wydj/assets_tool/app_colors.dart';
|
||||
import 'package:wydj/hj_utils/screen.dart';
|
||||
|
||||
import 'feedback_question_category_view.dart';
|
||||
import 'mine_feedback_logic.dart';
|
||||
@@ -19,7 +19,8 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
appBar: AppBar(
|
||||
title: Text('意见反馈'),
|
||||
actions: [
|
||||
InkWell(enableFeedback: false,
|
||||
InkWell(
|
||||
enableFeedback: false,
|
||||
onTap: () => Get.to(() => MineQAPage()),
|
||||
child: Text(
|
||||
'Q&A',
|
||||
@@ -37,7 +38,8 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
children: [
|
||||
Expanded(
|
||||
child: SingleChildScrollView(
|
||||
keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
|
||||
keyboardDismissBehavior:
|
||||
ScrollViewKeyboardDismissBehavior.onDrag,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(left: 10, right: 10, top: 12),
|
||||
child: Column(
|
||||
@@ -58,12 +60,16 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
24.sizeBoxH,
|
||||
Text(
|
||||
'问题描述(必填)',
|
||||
style: TextStyle(color: Colors.white.withValues(alpha: 0.9), fontSize: 18, fontWeight: FontWeight.w600),
|
||||
style: TextStyle(
|
||||
color: Colors.white.withValues(alpha: 0.9),
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
12.sizeBoxH,
|
||||
Container(
|
||||
constraints: BoxConstraints(minHeight: 160),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 11),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 12, vertical: 11),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white.withValues(alpha: .05),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
@@ -72,13 +78,16 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
children: [
|
||||
TextField(
|
||||
maxLines: 8,
|
||||
style: TextStyle(color: Colors.white.withValues(alpha: 0.9), fontSize: 12),
|
||||
style: TextStyle(
|
||||
color: Colors.white.withValues(alpha: 0.9),
|
||||
fontSize: 12),
|
||||
maxLength: 300,
|
||||
controller: controller.inputFeedback,
|
||||
decoration: InputDecoration(
|
||||
border: InputBorder.none,
|
||||
hintText: '请简单描述一下您遇到的问题...',
|
||||
hintStyle: TextStyle(color: Color(0xff525252), fontSize: 12),
|
||||
hintStyle: TextStyle(
|
||||
color: Color(0xff525252), fontSize: 12),
|
||||
counterStyle: TextStyle(fontSize: 8),
|
||||
counter: SizedBox(),
|
||||
contentPadding: EdgeInsets.zero,
|
||||
@@ -93,7 +102,8 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
builder: (_, value, __) => Text(
|
||||
'${value.text.length}/300',
|
||||
style: TextStyle(
|
||||
color: Colors.white.withValues(alpha: 0.5),
|
||||
color:
|
||||
Colors.white.withValues(alpha: 0.5),
|
||||
fontSize: 12,
|
||||
),
|
||||
),
|
||||
@@ -103,14 +113,21 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
14.sizeBoxH,
|
||||
InfomationInputView(controller.areaFeedback, title: '所在地区', hint: '例:浙江杭州'),
|
||||
InfomationInputView(controller.deviceFeedback, title: '设备信息', hint: '例:苹果14'),
|
||||
InfomationInputView(controller.netFeedback, title: '网络运营商', hint: '电信/联通/移动'),
|
||||
InfomationInputView(controller.contactFeedback, title: '联系方式', hint: 'QQ/微信/邮箱等'),
|
||||
InfomationInputView(controller.areaFeedback,
|
||||
title: '所在地区', hint: '例:浙江杭州'),
|
||||
InfomationInputView(controller.deviceFeedback,
|
||||
title: '设备信息', hint: '例:苹果14'),
|
||||
InfomationInputView(controller.netFeedback,
|
||||
title: '网络运营商', hint: '电信/联通/移动'),
|
||||
InfomationInputView(controller.contactFeedback,
|
||||
title: '联系方式', hint: 'QQ/微信/邮箱等'),
|
||||
24.sizeBoxH,
|
||||
Text(
|
||||
'上传图片',
|
||||
style: TextStyle(color: Colors.white.withValues(alpha: 0.9), fontSize: 18, fontWeight: FontWeight.w700),
|
||||
style: TextStyle(
|
||||
color: Colors.white.withValues(alpha: 0.9),
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.w700),
|
||||
),
|
||||
12.sizeBoxH,
|
||||
PhotoManageView(
|
||||
@@ -119,7 +136,8 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
24.sizeBoxH,
|
||||
Text(
|
||||
'以方便我们给您回复,有效的改进建议,有惊喜赠送哟!',
|
||||
style: TextStyle(color: Color(0xff525252), fontSize: 12),
|
||||
style:
|
||||
TextStyle(color: Color(0xff525252), fontSize: 12),
|
||||
),
|
||||
60.sizeBoxH,
|
||||
],
|
||||
@@ -138,7 +156,10 @@ class MineFeedbackPage extends StatelessWidget {
|
||||
),
|
||||
child: Text(
|
||||
'提交意见',
|
||||
style: TextStyle(color: const Color(0xff1f2029), fontSize: 16, fontWeight: FontWeight.w600),
|
||||
style: TextStyle(
|
||||
color: const Color(0xff1f2029),
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -3,14 +3,13 @@ import 'dart:math';
|
||||
import 'package:easy_rich_text/easy_rich_text.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hgmj/assets_tool/app_colors.dart';
|
||||
import 'package:hgmj/config/address.dart';
|
||||
import 'package:hgmj/hj_utils/screen.dart';
|
||||
import 'package:hgmj/routers/jump_router.dart';
|
||||
import 'package:wydj/assets_tool/app_colors.dart';
|
||||
import 'package:wydj/config/address.dart';
|
||||
import 'package:wydj/hj_utils/screen.dart';
|
||||
import 'package:wydj/routers/jump_router.dart';
|
||||
|
||||
///帮助反馈
|
||||
class MineQAPage extends StatefulWidget {
|
||||
|
||||
const MineQAPage({super.key});
|
||||
@override
|
||||
State<StatefulWidget> createState() => _MineQAPageState();
|
||||
@@ -22,7 +21,11 @@ class _MineQAPageState extends State<MineQAPage> {
|
||||
final String url = Address.groundUrl;
|
||||
|
||||
late final questionList = [
|
||||
{"question": "描述文件安装失败?", "answer": "若提示【新的MDM有效负载与旧的有效负载不匹配】,请移除移动设备管理步骤:【设置-通用-设备管理-移动设备管理-移除管理】", 'isOpen': true},
|
||||
{
|
||||
"question": "描述文件安装失败?",
|
||||
"answer": "若提示【新的MDM有效负载与旧的有效负载不匹配】,请移除移动设备管理步骤:【设置-通用-设备管理-移动设备管理-移除管理】",
|
||||
'isOpen': true
|
||||
},
|
||||
{
|
||||
"question": "怎么找回账号?",
|
||||
"answer":
|
||||
@@ -35,8 +38,18 @@ class _MineQAPageState extends State<MineQAPage> {
|
||||
"1.因超时支付无法到账,请重新发起。\n2.每天发起支付不能超过5次,连续发起且未支付,账号可能被加入黑名单。\n3.支付通道在夜间比较忙碌,尝试多次发起,后台会为您自动切换不同支付通道。\n4.若充值成功,用户权益通常会在数分钟内到账,请刷新APP或重启。",
|
||||
'isOpen': false
|
||||
},
|
||||
{"question": "收到手机报毒提醒?", "answer": "本平台有主要收益为广告赞助,且保证APP安全无毒,因平台主要展示内容为色情属于特殊行业,某些杀毒软件会误报毒提醒,如遇此类提醒请忽略继续使用。", 'isOpen': false},
|
||||
{"question": "联系方式?", "answer": "商务合作TG: $tg\n${(email != null && email!.isNotEmpty) ? '官方邮箱: $email\n' : ''}永久下载地址: $url", 'isOpen': false},
|
||||
{
|
||||
"question": "收到手机报毒提醒?",
|
||||
"answer":
|
||||
"本平台有主要收益为广告赞助,且保证APP安全无毒,因平台主要展示内容为色情属于特殊行业,某些杀毒软件会误报毒提醒,如遇此类提醒请忽略继续使用。",
|
||||
'isOpen': false
|
||||
},
|
||||
{
|
||||
"question": "联系方式?",
|
||||
"answer":
|
||||
"商务合作TG: $tg\n${(email != null && email!.isNotEmpty) ? '官方邮箱: $email\n' : ''}永久下载地址: $url",
|
||||
'isOpen': false
|
||||
},
|
||||
];
|
||||
|
||||
@override
|
||||
@@ -63,7 +76,8 @@ class _MineQAPageState extends State<MineQAPage> {
|
||||
Widget _getItem(int index) {
|
||||
final item = questionList[index];
|
||||
final isOpen = item["isOpen"] as bool;
|
||||
return InkWell(enableFeedback: false,
|
||||
return InkWell(
|
||||
enableFeedback: false,
|
||||
onTap: () {
|
||||
item["isOpen"] = !isOpen;
|
||||
setState(() {});
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_pickers/image_pickers.dart';
|
||||
import 'package:hgmj/tools_base/widget/add_media_source_button.dart';
|
||||
import 'package:wydj/tools_base/widget/add_media_source_button.dart';
|
||||
|
||||
class PhotoManageView extends StatefulWidget {
|
||||
final Function(List<String> resources)? resourceOnchanged;
|
||||
|
||||
Reference in New Issue
Block a user