二十三 关闭应用调试
打开 application/config.php 配置文件
'app_debug' => Env::get('app.debug', false),

二十四 编辑微信接口

 /**
 * 中药一览
 * @ApiTitle    (中药一览)
 * @ApiMethod   (POST)
 */
public function medic_list()
{
    $name = $this->request->post("name");
    //$request = Config::get('upload');//static固定方法
    //$medic = new Medic();//非固定方法需先实例化对象
    //$request = $medic->index('name',$name);
    $data = Db::table('medic')->where('name', $name)->find();//单条指定数据
    $this->success('success', $data);
}

二十五 测试接口
php think api --force=true
https://访问域名/api.html
https://admin.huchangyi.com/api/api_wechat/medic_list

二十六 小程序中调用接口wx.request
self = this;

    wx.request({
        url: 'https://admin.huchangyi.com/api/api_wechat/medic_list', 
        method: 'POST',
        data: {
            'name': name,
        },
        header: {
          'content-type': 'application/json' // 默认值
        },
        success (res) {
          //console.log(res.data),
          json = res.data.data,
          json = JSON.stringify(json),
          json = JSON.parse(json),
          console.log(json);
          if(json!=null){
            self.setData({
                inputValue: e.detail.value,
                name:json['name'],
                class:json['class'],
                alias:json['alias'],
                form:json['form'],
                habitat:json['habitat'],
                mining:json['mining'],
                chemical:json['chemical'],
                taste:json['taste'],
                effect:json['effect'],
                apply:json['apply'],
                mix:json['mix'],
                pinyin:json['pinyin'],
                phr:json['phr'],
              });
          }
          else{
            self.setData({
                inputValue: e.detail.value,
                name:'无匹配中药名称,请重新输入',
                class:'',
                alias:'',
                form:'',
                habitat:'',
                mining:'',
                chemical:'',
                taste:'',
                effect:'',
                apply:'',
                mix:'',
                pinyin:'',
                phr:'',
              });
          }
        },
        fail (errMsg) {
            console.log(errMsg.data)
          }
      });

十三 json与字符串互相转换
name: '麻黄',
class: '发散风寒药',
alias: '麻黄、龙沙、卑相、卑盐、狗骨、草麻黄、色道麻、洁力根、麻黄、生麻黄、去节麻黄、蜜炙麻黄、炙麻黄、麻黄绒、草麻黄、华麻黄。',
form: '草本状小灌木,高20~40cm。木质茎短,常匍匐;草质茎绿色,长圆柱形。直立,节明显,节间长2~6cm,直径约2mm,有不明显的细纵槽纹。鳞叶膜质鞘状,长3~4mm,下部约1/2合和生,上部2(3)裂,裂片三角状披针形,先端渐尖,常向外反曲。雌雄异株,雄球花3~5聚成复穗状,顶生;雌球花宽卵形,多单生枝端,雌球花成熟时苞片增大,肉质,红色,成浆果状。种子2,卵形。花期5~6月。种子成熟期7~8月。',
habitat: '生于河床、河滩、干草原、固定砂丘。主产河北、山西、新疆、内蒙古。',
mining: '秋季采割绿色的草质茎,晒干。 ',
chemical: '含1-麻黄碱(I-ephedrine)、d-伪麻黄碱(d-pseu-doephedrine)、I-N-甲基麻黄碱、d-N-甲基伪麻黄碱、1-去甲麻黄碱(I-norephedrine)、d-去甲伪麻黄碱,并含麻黄恶嗪(2,3,5,6-tetramethylpyrazine)、苄甲胺等 ',
taste: '辛微苦温,归肺膀胱经.',
effect: '发汗解表,宣肺平喘,利水消肿.',
apply: '1,风寒感冒.2,咳嗽气喘.3,风水水肿.4,有散寒通滞作用,用于风寒痹证,阴疽,痰核. ',
mix: '辛微苦温,归肺膀胱经. 发汗解表,宣肺平喘,利水消肿. 1,风寒感冒.2,咳嗽气喘.3,风水水肿.4,有散寒通滞作用,用于风寒痹证,阴疽,痰核. ',
pinyin: 'MH',
phr: '内服:煎汤(宜先煎,去水面浮沫),0.5-2钱;或入丸、散。',

十四 json转换相关方法
str转json 一般用于前端处理后端数据
var json = JSON.parse(this.data.str);

json转str 一般用于后端request接口数据
JSON.stringify(json)

十五 data中数据的获取与设置
获取
var text=this.data.text
设置
this.setData({

     text:data value
  })  

十六 str转json报错处理 Unexpected token n in JSON at position 1
需注意双引号,正确的格式为
str:'{"name": "麻黄","class": "发散风寒药","alias": "麻黄、龙沙、卑相、卑盐、狗骨、草麻黄、色道麻、洁力根、麻黄、生麻黄、去节麻黄、蜜炙麻黄、炙麻黄、麻黄绒、草麻黄、华麻黄。","form": "草本状小灌木,高20~40cm。木质茎短,常匍匐;草质茎绿色,长圆柱形。直立,节明显,节间长2~6cm,直径约2mm,有不明显的细纵槽纹。鳞叶膜质鞘状,长3~4mm,下部约1/2合和生,上部2(3)裂,裂片三角状披针形,先端渐尖,常向外反曲。雌雄异株,雄球花3~5聚成复穗状,顶生;雌球花宽卵形,多单生枝端,雌球花成熟时苞片增大,肉质,红色,成浆果状。种子2,卵形。花期5~6月。种子成熟期7~8月。","habitat": "生于河床、河滩、干草原、固定砂丘。主产河北、山西、新疆、内蒙古。","mining": "秋季采割绿色的草质茎,晒干。","chemical": "含1-麻黄碱(I-ephedrine)、d-伪麻黄碱(d-pseu-doephedrine)、I-N-甲基麻黄碱、d-N-甲基伪麻黄碱、1-去甲麻黄碱(I-norephedrine)、d-去甲伪麻黄碱,并含麻黄恶嗪(2,3,5,6-tetramethylpyrazine)、苄甲胺等","taste": "辛微苦温,归肺膀胱经.","effect": "发汗解表,宣肺平喘,利水消肿.","apply": "1,风寒感冒.2,咳嗽气喘.3,风水水肿.4,有散寒通滞作用,用于风寒痹证,阴疽,痰核.","mix": "辛微苦温,归肺膀胱经. 发汗解表,宣肺平喘,利水消肿. 1,风寒感冒.2,咳嗽气喘.3,风水水肿.4,有散寒通滞作用,用于风寒痹证,阴疽,痰核. ","pinyin": "MH","phr": "内服:煎汤(宜先煎,去水面浮沫),0.5-2钱;或入丸、散。"}',

十七 后端代码由github切换到gitee
查看如今的远程源
git remote -v

删除远程仓库源
git remote rm origin

注册登录gitee
https://gitee.com/

从github导入仓库
https://gitee.com/projects/import/url

添加码云仓库
git remote add origin git@gitee.com:hu_changyi/fastadmin.git
git remote -v

提交
git commit -m 'test'
git push

push失败,关联本地与远程的分支
git push --set-upstream origin main

push失败,上传公钥git@gitee.com: Permission denied (publickey).
cat ~/.ssh/id_rsa.pub
https://gitee.com/profile/sshkeys

查看本地分支
git branch
git branch -D main

git强制push
git clean -d -fx (删除未被添加到git的路径中的文件,慎用)
git push -f
git pull

十八 导入后台数据库

十九 fastadmin一键curl
生成medic 表的CRUD且一键生成菜单
php think crud -t medic -u 1
php think crud -t medic -u 1 --force=true

删除中药百科表生成的CRUD
php think crud -t 中药百科 -d 1
php think crud -t medicine -d 1

生成的文件有:
/home/www/admin/application/admin/controller/Medic.php
/home/www/admin/application/admin/model/Medic.php
/home/www/admin/application/admin/validate/Medic.php
/home/www/admin/application/admin/view/medic/add.html
/home/www/admin/application/admin/view/medic/edit.html
/home/www/admin/application/admin/view/medic/index.html
/home/www/admin/application/admin/view/medic/recyclebin.html
/home/www/admin/application/admin/lang/zh-cn/medic.php
/home/www/admin/public/assets/js/backend/medic.js

二十 一键生成api文档
php think api --force=true
https://访问域名/api.html

二十一 新建微信接口
新建/home/www/admin/application/api/controller/ApiWechat.php

二十二 控制器
FastAdmin中定义了三个基类控制器,分别位于
application/common/controller/Api.php //API接口基类控制器
application/common/controller/Backend.php //后台基类控制器
application/common/controller/Frontend.php //前台基类控制器

其中后台基类控制器文件路径为application/admin/library/traits/Backend.php

一 注册微信小程序
AppID(小程序ID)
wxe8fd6407da9c0206

二 命名和上传logo
http://yeelogo.com/#/

三 调整配色
https://color.uisdc.com/

四 查询文档
https://developers.weixin.qq.com/miniprogram/dev/framework/

五 目录结构
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
文件 必需 作用
app.js 是 小程序逻辑
app.json 是 小程序公共配置
app.wxss 否 小程序公共样式表

一个小程序页面由四个文件组成,分别是:
文件类型 必需 作用
js 是 页面逻辑
wxml 是 页面结构
json 否 页面配置
wxss 否 页面样式表

六 全局配置app.json
pages、tabBar等配置项

七 微信索引配置sitemap.js
"action": "allow",
"action": "disallow",

八 配置tabbar
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html

九 图标配置
https://www.iconfont.cn/
https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=13720
"iconPath": "images/icon/medic.png",
"selectedIconPath": "images/icon/medic-s.png",

十 app.json中引入weui组件库
https://wechat-miniprogram.github.io/weui/docs/
"useExtendedLib": {

"kbone": true,
"weui": true

}

十一 引入后报错问题
Do not have handler in component
点击编译

十二 确定后台json格式
药名
类别
别名
形态
生长地
采制
化学成分
性味归经
功效
应用
混合
拼音码
用量

<view class="weui-cells__title">药名:{{name}}</view>
<view class="weui-cells__title">类别:{{class}}</view>
<view class="weui-cells__title">别名:{{alias}}</view>
<view class="weui-cells__title">形态:{{form}}</view>
<view class="weui-cells__title">生长地:{{habitat}}</view>
<view class="weui-cells__title">采制:{{Mining}}</view>
<view class="weui-cells__title">化学成分:{{chemical}}</view>
<view class="weui-cells__title">性味归经:{{taste}}</view>
<view class="weui-cells__title">功效:{{effect}}</view>
<view class="weui-cells__title">应用:{{apply}}</view>
<view class="weui-cells__title">混合:{{mix}}</view>
<view class="weui-cells__title">拼音码:{{pinyin}}</view>
<view class="weui-cells__title">用量:{{phr}}</view>