index.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. use common\helpers\Url;
  3. use common\helpers\Html;
  4. use yii\widgets\ActiveForm;
  5. $this->title = '二维码生成';
  6. $this->params['breadcrumbs'][] = ['label' => $this->title];
  7. ?>
  8. <?php $form = ActiveForm::begin([
  9. 'id' => 'qr',
  10. 'fieldConfig' => [
  11. 'template' => "<div class='row'><div class='col-sm-3 text-right'>{label}</div><div class='col-sm-9'>{input}\n{hint}\n{error}</div></div>",
  12. ]
  13. ]); ?>
  14. <div class="row">
  15. <div class="col-12">
  16. <div class="box">
  17. <div class="box-header with-border">
  18. <h3 class="box-title"><?= Html::encode($this->title) ?></h3>
  19. </div>
  20. <div class="box-body">
  21. <div class="row">
  22. <div class="col-6">
  23. <?= $form->field($model, 'content')->textInput(); ?>
  24. <?= $form->field($model, 'size')->textInput(); ?>
  25. <?= $form->field($model, 'margin')->textInput(); ?>
  26. <?= $form->field($model, 'error_correction_level')->radioList([
  27. 'low' => '低',
  28. 'medium' => '中等',
  29. 'quartile' => '高',
  30. 'high' => '超高',
  31. ]); ?>
  32. <?= $form->field($model, 'foreground')->widget(kartik\color\ColorInput::class, [
  33. 'options' => [
  34. 'placeholder' => '请选择颜色',
  35. 'readonly' => true
  36. ],
  37. ]);?>
  38. <?= $form->field($model, 'background')->widget(kartik\color\ColorInput::class, [
  39. 'options' => [
  40. 'placeholder' => '请选择颜色',
  41. 'readonly' => true
  42. ],
  43. ]);?>
  44. </div>
  45. <div class="col-6">
  46. <?= $form->field($model, 'logo')->widget('common\widgets\webuploader\Files', [
  47. 'themeConfig' => [
  48. 'select' => false,// 选择在线图片
  49. ],
  50. 'config' => [
  51. 'pick' => [
  52. 'multiple' => false,
  53. ],
  54. 'accept' => [
  55. 'extensions' => ['png', 'jpeg', 'jpg'],
  56. ],
  57. 'formData' => [
  58. 'drive' => 'local',
  59. ],
  60. 'fileSingleSizeLimit' => 1024 * 500,// 图片大小限制
  61. 'independentUrl' => true,
  62. ]
  63. ])->hint('只支持 png/jpeg/jpg 格式,大小不超过为500K'); ?>
  64. <?= $form->field($model, 'logo_size')->textInput(); ?>
  65. <?= $form->field($model, 'label')->textInput(); ?>
  66. <?= $form->field($model, 'label_size')->textInput(); ?>
  67. <?= $form->field($model, 'label_location')->radioList([
  68. 'left' => '左边',
  69. 'center' => '居中',
  70. 'right' => '右边',
  71. ]); ?>
  72. </div>
  73. <div class="box">
  74. <div class="box-body text-center">
  75. <span class="btn btn-primary" id="change">立即创建</span>
  76. <input type="reset" name="button" class="btn btn-white" value="重置" />
  77. </div>
  78. <!-- /.box-body -->
  79. <div class="box-footer">
  80. <div class="col-sm-12 text-center hide">
  81. <img src="<?= Url::to(['qr', 'shortUrl' => Yii::$app->request->hostInfo]) ?>" id="qrcode">
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <?php ActiveForm::end(); ?>
  91. <script>
  92. $(document).ready(function () {
  93. // create();
  94. });
  95. $('#change').click(function () {
  96. create();
  97. $("#qrcode").parent().removeClass('hide');
  98. });
  99. function create() {
  100. var data = $('#qr').serializeArray();
  101. var len = data.length;
  102. var str = '';
  103. for (let i = 0; i < len; i++) {
  104. str += data[i]['name'] + '=' + data[i]['value'] + '&'
  105. }
  106. str = str.replace(/\#/g, "%23"); //"#"
  107. var img_url = "<?= Url::to(['create']) ?>";
  108. $('#qrcode').attr('src', img_url + '?' + str);
  109. }
  110. </script>
粤ICP备19079148号